deborah: The management regrets that it was unable to find a Gnomic Utterance that was suitably irrelevant. (gnomic)
deborah ([personal profile] deborah) wrote in [site community profile] dw_dev2012-04-29 02:40 pm
Entry tags:

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. [personal profile] vlion's concerns largely address the difference between mercurial and git, whereas [profile] 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 [personal profile] 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:
  1. 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?
  2. 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?
  3. 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.
fu: Close-up of Fu, bringing a scoop of water to her mouth (Default)

[personal profile] fu 2012-05-03 10:45 am (UTC)(link)
I would like to switch to a more branch-y model. You're right we haven't been using mercurial as a DVCS, or at least we haven't as much as we could. And we really should!

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)


vlion: cut of the flammarion woodcut, colored (Default)

[personal profile] vlion 2012-05-03 03:11 pm (UTC)(link)
Yes, we branch very heavily at my job.

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
pauamma: Cartooney crab wearing hot pink and acid green facemask holding drink with straw (Default)

[personal profile] pauamma 2012-05-03 03:41 pm (UTC)(link)
Actually, I'd much rather that discussion stay public, if you don't mind.
vlion: cut of the flammarion woodcut, colored (Default)

[personal profile] vlion 2012-05-03 03:51 pm (UTC)(link)
I would vastly prefer to do it in a real-time environment. Irc is fine too, but it's hard to know when someone is available to talk without being a pest. Hence aim.


I'm open to other ways too of course.
pauamma: Cartooney crab wearing hot pink and acid green facemask holding drink with straw (Default)

[personal profile] pauamma 2012-05-03 03:52 pm (UTC)(link)
Fair enough. Can you wait until the next IRC volunteer meeting then?
vlion: cut of the flammarion woodcut, colored (Default)

[personal profile] vlion 2012-05-03 04:03 pm (UTC)(link)
Maybe? When is that?
pauamma: Cartooney crab wearing hot pink and acid green facemask holding drink with straw (Default)

[personal profile] pauamma 2012-05-03 05:15 pm (UTC)(link)
Not set yet (guessing late May?), but that's beside the point IMO. I missed the initial discussion because it was set for a time I couldn't stay awake until, and I'd rather not miss the rest of the discussion because one of the participants (and only one AFAIK) wants to take it private.
vlion: cut of the flammarion woodcut, colored (Default)

[personal profile] vlion 2012-05-03 05:38 pm (UTC)(link)
I don't actually care if it is private. I don't particularly always have a very free schedule either. As a matter of fact, i have no idea if I can make the next meeting. That's why I asked. :p

. 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?
pauamma: Cartooney crab wearing hot pink and acid green facemask holding drink with straw (Default)

[personal profile] pauamma 2012-05-03 06:06 pm (UTC)(link)
I agree dw-dev is a good place for this discussion. But then, I'm not he one who suggested to move it away. :-)
fu: Close-up of Fu, bringing a scoop of water to her mouth (Default)

[personal profile] fu 2012-05-08 07:57 am (UTC)(link)
Did an impromptu real-time chat in #dreamwidth-dev, will put it up on this community in a bit.
pauamma: Cartooney crab wearing hot pink and acid green facemask holding drink with straw (Default)

[personal profile] pauamma 2012-05-08 01:41 pm (UTC)(link)
Thanks.
mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)

[staff profile] mark 2012-05-06 07:47 pm (UTC)(link)
IMO, doing it real-time with [personal profile] fu would be great. Since ultimately she is going to be supporting whichever direction we go, it would really help to get her familiar with it in whatever way works best for you both.

It would be nice, afterwards, if someone can summarize and/or put the succinct details on this post, though!
pauamma: Cartooney crab wearing hot pink and acid green facemask holding drink with straw (Default)

[personal profile] pauamma 2012-05-06 10:46 pm (UTC)(link)
I'd rather have the complete log than a summary, if it has to be a private discussion.
mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)

[staff profile] mark 2012-05-06 10:55 pm (UTC)(link)
Awesome, if someone wants to post it, but I'd also appreciate a summary. I don't have the time to read through tons of conversation and distill it myself.