[Nix-dev] Re: DVCS - what we care about?

Peter Simons simons at cryp.to
Fri Aug 13 12:02:44 CEST 2010


Hi Yury,

 >> I'm not sure what you mean. On what occasion does Git throw away history?
 >
 > Michael means that git has no "branch" concept, only "branch head"
 > concept.

I'm not sure whether I follow. Given a branch head, the corresponding
"branch" is the sequence of ancestors from that head. Where is the
problem? And how is Git supposed to be different in that regard from
other DCVS, like monotone?


 > Suppose that you have two branches, "master" and "stdenv". As usual,
 > you merge master->stdenv every day or two and you merge
 > stdenv->master every month or two. Then it is not possible to search
 > for commits that first appeared in stdenv.

Actually, that is no problem at all. I use that exact setup every day to
maintain the various ~/dot.something files for my home directories on
different machines. There are plenty of ways to accomplish what you
describe. Simply run "git cherry -v stdenv master"; that will give you
the desired information with fairly high accuracy.

An alternative and arguably superior solution is to run:

  git rebase master stdenv

Then you'll have a stdenv branch that consists of exactly those patches
that are unique to stdenv.

Last but not least, there are at least two different front-ends to Git
that accomplish the same thing in an even more sophisticated fashion.

Anyway, I don't see how any of this equates to "Git throws away
history". That sounds like an exaggeration, at best.

Take care,
Peter




More information about the nix-dev mailing list