[katello-devel] Codebase Split-up

Justin Sherrill jsherril at redhat.com
Mon Apr 8 14:06:13 UTC 2013


On 04/08/2013 07:12 AM, Petr Chalupa wrote:
> Personally, I would keep one repository, for reasons mentioned by 
> Mirek and Jan. I would also like to have only one issues. There is 
> also a issue of compatibility:
> - it won't be clear anymore which versions will work together
Is that any more clear today (other than HEAD of master?)  Breaking it 
up keeps that roughly the same, doesn't it?  (HEAD of master should 
generally work together).

> - a developer can easily have checkouted wrong versions
> - pull-requests fixing a bug in two different repositories depending 
> on each other will create incompatible window when one is merged
I think this is a fair critique but one that is not too terrible in 
practice.  We manage it with runcible already.  If an update is needed 
in runcible and katello, you simply make a change to runcible, get it 
accepted, and tag it, then make the change to katello and as part of 
that change bump the requirement for runcible in the spec file.

It does require a little more work, but makes things more explicit :)

-Justin


>
>
> On 05.04.13 19:36, Eric D Helms wrote:
>> The idea of splitting our codebase up into more logical repositories has
>> come about again as we head towards our 1.3 release.  This is a topic
>> that we have broached in the past, see
>> https://www.redhat.com/archives/katello-devel/2012-August/msg00243.html
>>
>> The potential places for splitting out repos:
>>
>> cli/
>> agent/
>> certs-tools/
>> katello-configure/
>> katello-utils/
>> selinux/
>> repos/
>> src/ (a.k.a Katello)
>>
>> The direct benefits I see:
>>
>> - Travis can run smaller focused test suites and run faster (mostly for
>> the CLI (python based) and the Web App (ruby based))
>
> AFAIK Travis cannot run more tests over one repository, but we could 
> check if last commit changed source in a directory (e.g. cli/) and 
> skip tests from the directory.
>
>> - Clearer distinction about where a particular chunk of code lives (e.g.
>> configuration lives with katello-configure)
>> - Cleaner distinction between the application itself and the tooling
>> that surrounds it
>
> Since this is mainly about organization of our code, we could improve 
> it inside one repository:
> - better directory structure
> - better documentation what is what
> - define some rules what goes where
> - cleanup or unify scripts and src/scripts
> - etc.
>
> I think separate repos would make sense if they were developed 
> separately as sub-projects but this is not our case.
>
> Petr
>
>>
>> Please add comments, concerns, justifications for or against as well as
>> ideas on how we'd tackle parts like packaging.
>>
>>
>> -Eric
>>
>>
>> _______________________________________________
>> katello-devel mailing list
>> katello-devel at redhat.com
>> https://www.redhat.com/mailman/listinfo/katello-devel
>>
>
> _______________________________________________
> katello-devel mailing list
> katello-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/katello-devel




More information about the katello-devel mailing list