Git, Mercurial, github, bitbucket
I want to spin off a new post from the log of last night's IRC developer meeting. The topic of GitHub came up in the meeting, and some concerns with that idea have been raised in the comments of the previous post.
vlion's concerns largely address the difference between mercurial and git, whereas
karelia's concerns also address that difference but touch incidentally on the hypothetical benefit of working in the more public environment of Github.
I was talking to
allen and he pointed out that there are really two different issues in play here, because we can go to a shared, public, relatively popular, FLOSS-friendly environment without ever leaving mercurial, namely, Bitbucket.
I'd actually say there are three questions:
Actually, we should probably add a fourth question, which is "would any of our needs be better served by using mercurial more in the fashion for which it was intended?"
Keep in mind when I write these questions that I use github for other projects and like it,and I have never used mercurial intensely enough to have strong feelings about it either way. Personally I fell in love with Perforce at an early date and find all other VCS systems to be it pale yet free imitations. But I do think that if we make a switch like this, these are the questions we need to answer.
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
![[profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
I was talking to
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
I'd actually say there are three questions:
- Are there benefits to git over mercurial, and if so, are those benefits enough to outweigh the cost of switching to a new source control system?
- Would we like to move our source control management to a public, shared, FLOSS-friendly environment? If so, why? Do we think it would be more friendly to our current developers, do we think it would make it easier to bring in new developers, some combination of the two, or something else?
- If we want to move to a shared environment, do we feel that there is a strong reason that it should be Github? What are those reasons, if so? If we think git is worse than mercurial, but we do think there's a benefit to moving to Github, which reason should prevail?
Actually, we should probably add a fourth question, which is "would any of our needs be better served by using mercurial more in the fashion for which it was intended?"
Keep in mind when I write these questions that I use github for other projects and like it,and I have never used mercurial intensely enough to have strong feelings about it either way. Personally I fell in love with Perforce at an early date and find all other VCS systems to be it pale yet free imitations. But I do think that if we make a switch like this, these are the questions we need to answer.
no subject
The flip side of embarrassing history out there is that embarrassing dangerous code in a small chunk where the chunks are distributed out over several weeks is easier to notice and correct than embarrassing dangerous code hidden in one big chunk that's just come out. Also, I... man hopefully if I make a mistake, and correct it, that makes it easier for someone newer to the project to not worry so much about their own mistakes, because mistakes happen, even among senior devs.
I'd like to pick your brain about branching if you don't mind. Do you have any experience with mercurial branching? One big reason I'm gravitating toward Git (personal opinion right now, not to be construed as DW's official direction) is that we've had a lot of trouble getting the Mercurial branching to work for relatively long-lived, but not permanent, feature branches for large projects which will eventually get merged back into the main branch.
The most common suggestion I've seen has been to clone a new repository and do all the work there, but it's not easy to switch which repository's code will be used by the web server. I can see how the cloned repo thing would work for, say, a command line tool but I'm having a harder time figuring out how to apply it to DW code/environment. (The pending death of cvsreport.pl *may* make this point moot? But I think it won't)
no subject
Clone branches are, imo, mega-sketchy due to a variety of issues. hg bookmarks are very similar to git branches.
Let's find each other on im and chat about it.
vlion.geek@aim, online evenings pacific time usa
no subject
no subject
I'm open to other ways too of course.
no subject
no subject
no subject
no subject
. I was simply hoping to feed fu info quickly and let her digest it.
Perhaps a post in dw dev would be most appropriate, given your concerns and the varying timespans we are each awake and available?
no subject
no subject
no subject
no subject
It would be nice, afterwards, if someone can summarize and/or put the succinct details on this post, though!
no subject
no subject