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
pgpeQGlULeJE4.pgp
Description: PGP signature
