On Sat, Aug 20, 2011 at 00:28, Frank Lanitz frank@frank.uvena.de wrote:
On Fri, 19 Aug 2011 15:08:16 -0700 Matthew Brush mbrush@codebrainz.ca wrote:
On 08/19/2011 02:11 PM, Frank Lanitz wrote:
On Fri, 19 Aug 2011 08:57:36 -0500 Joshjoshua.rh@comcast.net wrote:
@Lex: That makes sense. After this weekend I'll still have time, but it'll be more sparse. I'd like to be a part of it; so let me know what we/I need to do to get this going. Thanks!
1st step: We need to check for points the new system needs to offer (just because github is cool at the moment, I would have a bad feeling if we don't think about what we need before doing anything) and which system might could solve them.
According to the long drawn-out discussions we've had for some time on this topic, I felt the overwhelming opinion was to use Git for version control. As for your concerns about GitHub, it's important to remember that it's just a server to host one of the repositories. They could go offline a week after switching and we would still have all of our code and history. The main reasons people are mentioning GitHub is because it's extremely popular, developer friendly, and a lot of open source projects are hosting their code there.
There is at least github, gitourios and google code if we just have a
Nope, I think it's just GitHub and Gitorious if we want contributor-friendly Git project hosting. I don't think Google Projects does Git at all.
I understand this. But, and maybe I'm a bit to demanding here, I would really like to see some clean collection at which somebody really thought about this. I was seeing to many things on FLOSS and related projects, where some decision was made by some feeling from mailinglist and at the end nobody felt responsible or nobody remembering the reasons. I want to prevent this at a point where we do have a chance to.
Well, in my opinion the whole topic of git transition is over-discussed. The reason why I haven't been very active on Geany's mailing list are exactly these endless discussions which lead nowhere. To your steps:
1 and 2: GitHub or Gitorious are the only options if you want personal repositories (which is the main reason I want the git switch). It's not a crucial decision at all which one you chose - if you pick GitHub and realize it stinks, you can always move the repository to Gitorious. The only problem is that contributors would have to move their personal clones too, but it's not a big deal.
3. I have been playing with git transition from svn quite a bit - there are several scripts which you can use - I've tried svn2git and the scripts from here:
http://blog.woobling.org/2009/06/git-svn-abandon.html
I think I prefer the result of svn2git but I don't like it makes mini-branches for every tag - I think these should be manually rebased to remove them. You need the svn authors file to import committers into git correctly and after the import you should set the merge points using git grafts file to make the history nice. I would also suggest that all personal branches are removed from the main repository - personal branches should be only in personal clones of contributors.
As I said several times before, I'll be happy to help with this part as I've already tried it a few times. I may need some help with setting the proper commits for merge points using grafts but it can be done even later after the migration (it doesn't change the SHA commit checksums).
4. The plan is very simple - agree on the date when the switch should be performed, freeze the svn repository so nobody makes any commits there, get (3) done, upload it to GitHub, assign committers, announce the new repository URL and start using it. This should all take one afternoon - probably much less man-hours compared to the effort spent on these discussions.
In my opinion, there are only 3 questions to discuss and all of them have answers by now:
1. Switch to DVCS from svn? (There have been many emails written about advantages of DVCS over svn on this mailing list and it seems most people wish the switch)
2. Use git, hg, or something else? (git is used by majority of open-source projects and nobody here is really familiar with anything else, so the answer seems to be clear too)
3. Which website to use for the repository? (I suggest GitHub for now, and if it doesn't work well, it's no problem to change it for something else later)
Cheers,
Jiri
P.S. I agree the switch should be done after the release - changing development tools isn't good in the stabilisation period.