[katello-devel] Proposal: Breaking up Codebase

Miroslav Suchy msuchy at redhat.com
Sat Aug 4 06:57:22 UTC 2012


On 4.8.2012 03:58, Eric Helms wrote:
> Prior to using Github for source control management, the project had one logical repository available that made sense for keeping the various components of Katello contained within.  As the project has grown, and as our community efforts increase I propose we break out code base elements from our mainline repository for the following reasons:
>
> 1) Reduces the overall size of the project repository.
> 2) Provides smaller, logical components that users and developers can work from and on.  This makes it easier for the community to contribute as they can work on components that are important to them, that they are more comfortable working on and are smaller (a.k.a less imposing due to size).
> 3) Decreases "tag-mania" on the mainline repository and lets the tags and the packages they are associated with live on their own.  Provides direct connection between package and repository (e.g. katello-cli.rpm is derived from katello-cli git repository)
> 4) Some components just have no logical reason to be contained within the same repository.  (e.g. I don't need the CLI code to run and work on Katello)
> 5) The Github Organization concept with multiple repositories makes it easy to manage multiple applications and pull requests associated with each.


I do no like it.

ad 1) I will have to have checkout of all repositories anyway, so the 
total size will be same anyway. Our project is in fact not so big. When 
I switch branch, I never waited more then faction of one second.

ad 2) I do not see how it make easier to contribute. Those packages are 
tightly related to each other. You could not work on katello-configure 
without knowledge of katello itself and vice versa.

ad 3) I do not understand what you mean by "tag-mania"?
In fact having one package per one git repositories means more 
maintenance, because you have to manage more /rel-eng/ directories and 
keep them in sync.

ad 4) When we are delivering Katello, we deliver all components. If you 
do not need for your work CLI, that does not mean that you have to be 
aware of its presence. You should not make change in CLI, which breaks 
katello and vice versa. Having these package in one repo, is IMO good 
thing because it keeps you thinking about all other components.

Mirek




More information about the katello-devel mailing list