Posted by anarcat on February 19, 2011 at 4:43pm
Aegir migrated away from Drupal.org more than a year ago because it needed git magic to do proper maintenance of its code (but also wanted to merge the modules in the install profile to simplify maintenance). Now that Drupal.org is migrating to git (yaaaay! thank you!), we're reconsidering that decision, and have opened the discussions on our forum to see if that would be a good idea: http://community.aegirproject.org/node/369
My main questions to you guys are those two:
- Would we be able to import our history since the CVS switchover? I hate to think what would happen if we would push more than a year of commits to git.drupal.org...
- Can we host modules and themes within profiles now? One of the major pain in the butts for us was to maintain 4 distinct projects that don't really make any sense on their own. Our solution was to merge the hosting module and eldir theme into the hostmaster profile, something that was forbidden on cvs.drupal.org back then. Is it allowed on git.drupal.org? (Note that I have read through the FAQ and this handbook page, which hints that this could be possible but confirmation would be useful...)
Thanks for any feedback, and sorry if this is not the right place to ask. ;)
PS: I am sorry I wasn't able to help out more with the migration, but if we migrate back, we'll be good testers. ;)

Comments
Push history, sure
You can definitely push any commits into it. People will be pushing forks of the Drupal project into the sandboxes for some projects... A git clone --mirror followed by a git push --all to git.drupal.org should make things come out OK. Of course, tags with existing releases won't work, and there may be branch conflicts, and there will be duplicate objects (between your git history and your converted CVS history). But I would think it would all be manageable.
As far as hosting modules and themes, that's not a technical issue. (Is it a policy issue?) ALL projects are now peers. There is no separate organization of themes, modules, profiles, etc. Each is just a git repo in /project.
Yep, there are no
Yep, there are no restrictions whatsoever on the content you can push into d.o git repos. So you can have modules, themes, etc. in your profiles. You've actually been able to do this for a few months, already.
If y'all would prefer, I could toss out the contents of the migrated git repos and just clone from a URL you provide...
I too see no reason why you
I too see no reason why you couldn't just push your history to d.o. In terms of modules and themes in the install profile, there won't be any technical limitations on such arrangement, but I would suggest checking out the support for packaged install profiles that let you include a drush make file and bundles modules and themes with your profile. This may work better than you think since it actually requires a specific revision/tag of the sub project for the packaging to even work. (I'm not sure if this feature was in place when you migrated away from d.o).
@mikey_p we rely on some
@mikey_p we rely on some third party libraries such as jquery_ui, unless something's changed I believe this means the drupal.org stub makefile is out of the question..
@sdboyer that sounds like a plan (tossing out the existing stuff, cloning ours in). One other thing: we have, and have still been using all this time, the issue queues tied to the existing project nodes Hostmaster, Hosting, Provision and Eldir, on drupal.org
We'd be stripping it down (git-wise) to Hostmaster and Provision. Hosting and Eldir are a module/theme respectively inside the hostmaster profile.
In order to blow away the old Hosting/Eldir projects, we'd (probably?) lose our issues (current and historical) for those projects: what would the chances be of doing a bulk modification of all Hosting/Eldir tickets into the Hostmaster project. Maybe something for a d.o admin to reply if it's possible.. (not sure if you are).
I'll wait for anarcat anyway as he may have a better idea of how to handle the issue queue stuff.
Looked for you guys in IRC,
Looked for you guys in IRC, but it seems you may have already turned in for the night. Lemme just copy that in:
[23:28:44] <sdboyer> anarcat mig5: ping[23:30:00] <sdboyer> anarcat mig5: i wanna get info re: http://groups.drupal.org/comment/reply/128479/417444 ASAP b/c we're coming down for rebuilds tomorrow, and if i'm gonna write the special cases then i want to do it before then so that they get a good test run
[23:31:32] <sdboyer> basically i just need clone uris for hostmaster and provision
[23:34:49] <sdboyer> as for moving the issues around - i'm not actually deleting any project nodes, so there's nothing to be concerned about wrt losing issues. as for moving them, it'd be nice if there's a batched way to do it, but i dunno that there is
[23:35:01] <sdboyer> basically you just need to move them from one queue to another
[23:36:09] <sdboyer> i do have d.o super cow powers, but it doesn't make much difference b/c there's a bunch of state change that happens when an issue gets moved from queue to queue, so i don't think there's a bulk interface for it. which leaves just manually moving things...which you can do with normal d.o powers. so i'll leave that to you :)
I believe you got them in the
I believe you got them in the end, but for the record in case someone else needs them:
git clone git://git.aegirproject.org/provision
git clone git://git.aegirproject.org/hostmaster
As for the issues, http://drupal.org/node/1057820
As for the issues, http://drupal.org/node/1057820
I go by Josh The Geek.
Drupal.org
GitHub
You guys are amazing. I was
You guys are amazing. I was really not expecting such an incredible response, it looks like we'll be migrating back to Drupal.org with the git switchover! With this commit, we are now part of the privileged few that see their git history blown up and replaced by a git clone:
https://github.com/sdboyer/drupalorg-git/commit/4c410d7c7e7f1c20b8586bf8...
That is really cool. I'll make the preparations on our side.
I don't think we need to move issues around, so don't worry about that.
Maybe we'd like to rewrite our history to fix the commit authors so that people are properly credited, but I'm actually worried about that, since it would mean some disruptions for people already using git - they would have to clear their .git and redo a clone, right?
Oh, and there's one other thing - what about tag/branch naming standards? Is a drupal core version enforced on those now? We would like to have the provision module be "core-neutral" (ie. not have a 6.x- prefix in tags and branches...) Is that possible?
Great work, people, it's really incredible!
You can have any branch name you want
You can now make any branch or tag name you want, for any purpose.
Release branches and nodes must be according to formula. 7.x-1.x, 7.x-1.1, etc.
(Never thought about this before, but you could have 6.x-3.0 and 7.x-3.0 on the same commit. Not the same as a generic tag, but cheap and easy.)
Thanks for the feedback
Thanks for the feedback Randy! I guess that's a bit of a problem for us to go back to that annoying naming convention for our backend, as it's core-neutral (like Drush, it can happily run on Drupal 5, 6 or 7). I have taken that discussion into what I was told was the right issue here: http://drupal.org/node/322626
Adding additional modules to be cloned from elsewhere?
Would it be possible to get a few of my modules added to that list of modules to build by cloning? I maintain OG Mailinglist mostly on Github so have maybe 5-6 commits into CVS vs. 100s on Github.
https://github.com/KyleAMathews/og_mailinglist
Kyle Mathews
Sorry, I have really just no
Sorry, I have really just no time left right now, and this does mean extra work. Truth be told I probably shouldn't have even offered for Aegir; I really only did because I've been expecting to do it for a long time.
Once we've launched, if you ping me and want to replace a project, AND there are no releases in the project, then I can just delete the project node for you and you can recreate it. At that point you'll have a fresh repo you can push into. You can also push it into a sandbox right away while you wait for me to get to deleting it, then promote the sandbox once I have.
No worries
I've already made a number of releases so this wouldn't work. But no worries. It'll suck losing the history but that'll be more than compensated by never having to see / touch CVS ever again.
Kyle Mathews
Aegir migrates back to git.drupal.org
See this announcement: http://community.aegirproject.org/node/384
We also have extensive documentation for our users here: http://community.aegirproject.org/node/385