On Sat, Apr 29, 2006 at 03:02:46PM +0300, Dan Armak wrote:
> On Friday 28 April 2006 23:42, Ryan Phillips wrote:
> > svn
> >  + Atomic Commits
> >  + Merging/tagging/brancing is a simple "copy" operation
> >    http://svnbook.red-bean.com/en/1.1/ch04.html
> >  + lots of benefits
> >    http://svnbook.red-bean.com/nightly/en/svn.intro.features.html
> >    there is more I'm sure people can come up with
> >  - 2x Drive space
> 
> - No changeset/merge tracking
> 
> If we have a lot of active branches and a lot of merging between them, 
> changeset tracking could be a major plus. I've never used git but I've heard 
> that it, and other distributed development-style SCMs, have changeset/merge 
> tracking features that are really helpful. Could someone who's used them 
> comment on this?

Yes, Git tracks merges unless the merge is trivial (aka fast-forward).

When you merge branch 'a' into branch 'b' and 'b' is a strict subset of
'a' we call that a fast-forward, since there is no merge anywhere:

 o---o---o "b"
          \
           x---x---x "a"

If you merge 'a' into 'b' (git checkout b ; git pull . a) the result is:

 o---o---o---x---x---x "a" = "b"

However in the following case, a proper merge is required:

 o---o---o---#---# "b"
          \
           x---x---x "a"

'b' is not a strict subset of 'a' because the commits marked with # do
not exist in 'a', so the thing ends up being:

 o---o---o---#---#---@ "b"
          \         /
           x---x---x "a"

The commit marked with @ is a special comit called a 'merge'.

I hope that clarifies the merge tracking part.

However I don't know what do you mean with 'changeset tracking'.

Cheers,
Ferdy

-- 
Fernando J. Pereda Garcimartín
Gentoo Developer (Alpha,net-mail,mutt,git)
20BB BDC3 761A 4781 E6ED  ED0B 0A48 5B0C 60BD 28D4

Attachment: pgpeQGlULeJE4.pgp
Description: PGP signature

Reply via email to