[dev] Git repo splitting
Jan Schneider
jan at horde.org
Sun Aug 17 13:21:28 UTC 2014
Zitat von Michael J Rubinsky <mrubinsk at horde.org>:
> Quoting Michael M Slusarz <slusarz at horde.org>:
>
>> Now that the x.2 releases have been made, and several months of
>> bugfixes have occurred, we need to turn our attention to starting
>> to plan the git repo split.
>>
>> The straw that broke the camels back (or at least my back) is that
>> as of right now Travis is completely unusable - at least from a
>> practical perspective. You make a small change in Horde_Foo, and
>> Travis returns an error because of a completely unrelated SQL error
>> in Horde_Bar. This error may very well be tied into the fact that
>> we are running such a monster PHPUnit test that is stressing their
>> setup too badly. (Another issue: I commit something that breaks
>> Horde_Foo. Other devs should not have to worry about this broken
>> behavior if they later commit something to Horde_Bar).
>>
>> So this is brainstorming on the proper path to do this.
>>
>> I have (mostly) finished the script necessary to do the actual
>> splitting of any given repository. It correctly filters the repo
>> and transfers all tags - and it rewrites the tags to the form used
>> by Composer. Currently it only transfers the master branch. Need
>> to add support so that applications automatically keep FRAMEWORK_*
>> branches also. And add option to allow additional branches to be
>> kept since we have a few of those lying around.
So, do I understand correctly that the tag names are rewritten, but
the branch names keep the same?
>> I'm really not too concerned about developer checkout. We can
>> worry/talk about things like git subtree later IMHO. The most
>> important tool will be something to update all git repos at once,
>> but this is something that can be written in 5 minutes. And even
>> that is not critical.
>
> IMO, the developer checkout/setting up the working directories
> etc... are THE most critical thing to get right before we officially
> split.
Yes, I agree.
>> I'm picturing a base "horde-development" git project that will host
>> scripts/tools. We just keep a static file of libraries/apps in
>> there.
We should rather use horde-support for that. Maybe split
developer-tools from maintainer-tools, or simply rename it. That's
where the repo-split script should go too btw.
>> Updating horde-components is more important. Shouldn't be any
>> problems regarding packaging layout, since it already works on a
>> per-directory basis. The composer module will need to be altered
>> though to change composer install location from pear.horde.org to
>> our packagist install location.
Should be simple enough.
>> E-mails are probably the biggest change. This kind of hinges on
>> whether we want to use GitHub as our official repository. If so,
>> we push to github - you can set up hooks there to trigger remote
>> events on a push action. So we would still need to run a mail
>> server to send these messages. But I'm probably a +1 on
>> eliminating the need for our "master" repository to run on
>> dev.horde.org - although I'm not going to fight too hard if others
>> disagree on this point.
>
> For me, having it on dev.horde.org was a nice psychological security
> blanket - knowing we had full control over everything, knowing we
> had a "backup" repo on github, keeping a level of separation between
> our active repo and the "public" one. That being said, I think given
> our limited resources it makes a lot of sense to move completely to
> github.
I'm all for sticking with GitHub for the repository hosting *completely*.
>> Same thing with GitHub's bug reporting. As someone who has zero
>> time or interest to contribute to Whups, I have no problems using
>> github's built in reporting. In my view, that is just one less
>> thing to have to worry about from an admin perspective. Again -
>> I'm not going to fight if others disagree and/or have a more
>> personal stake in continuing to use Whups.
>
> I'm slightly torn about this one. It makes sense if we go to github
> for our master repo to just move everything. OTOH, I'm not ready to
> abandon Whups as a product. Moving away from it will send a message
> that we don't thing it's worth using. More practically, I'm
> wondering how easy it would be to do things like move a ticket from
> one "queue" to another on GitHub. As we all know, there are plenty
> of times that tickets are created under the wrong queue. Also, there
> are some queues, like the Synchronization queue that would span
> multiple repos. It's nice having the ability to create queues
> on-demand that satisfy some need.
I'm torn too exactly for the same reasons. I tend to stick with Whups though.
--
Jan Schneider
The Horde Project
http://www.horde.org/
https://www.facebook.com/hordeproject
More information about the dev
mailing list