a git plan, long term
Brent Putman
putmanb at georgetown.edu
Thu Aug 8 18:01:36 EDT 2013
On 8/7/13 1:07 PM, Ian Young wrote:
> Under a centralised SCM, you have to choose between checking in half-baked stuff you might regret and losing source control altogether.
Well, unless you use feature branches, task branches, etc. See next item.
>
> The other thing is the branching model, of course. We *never* branch in Subversion, as a matter of policy, except when establishing a new minor release line.
Historically true, but only because we just haven't. Chad and I
discussed several times the desirability to using branches more
effectively. There's absolutely no technical reason, and no policy
reason (other than what we decide) to preclude us branching like crazy.
> Let's just say that "native" Git users branch a lot more than once every couple of years, perhaps as often as for every new piece of work (i.e., potentially even more than once a day). Many of those branches evaporate away so that a central repository doesn't necessarily make that visible.
I'll take your word for how it re: Git users work, but many Subversion
users branch that way too. That's the so-called "stable trunk" model,
where nothing every goes on the trunk unless it's "done" and
releasable. So by definition any body of work which is going to span
more than one commit is done on a (possibly short-lived) task or feature
branch, and then merged to trunk in one go when it's ready.
> Properly understanding how Git-based projects use branches would probably be an important part of any migration.
I admittedly don't understand branching in Git (or anything else in Git
for that matter), but at least wrt to frequency of branching I don't see
any particular advantage with Git.
> You may be right that it's not likely to be a net win over the V3 timeline. You obviously think it would have value for your workflow, though, so whether it extends our timeline or not is obviously a question of balancing that benefit against the cost. The balance will probably be different for each of us.
As a general statement: At this point I have close to zero
knowledge/experience with Git, so that obviously colors my opinion.
Mainly, I'm still trying to understand what the "get" with Git would be,
other than it being the cool, shiny new toy that all the kids are
using. The offline capabilities seem not useful to me personally. The
local branching is interesting, but only an advantage over svn if you
really don't want others to see your branching activity in the central
repo. The main thing that puzzles me is: Git may be better if you're
really using it as a *distributed* SCM - but most people seem to wind up
just using it with GitHub or other centralized repo. I'm sure there's
more to it than that, but I welcome enlightenment.
I just coincidentally earlier this week got an invite for this webinar
from Collabnet:
http://visit.collab.net/Webinar_Gitvs.SubversionAnExecutiveDecisionGuide.html
I thought it might possibly be Subversion-biased b/c it's from
Collabnet, but looks like they do Git support and hosting too, so maybe
not, we'll see.
More information about the dev
mailing list