1 |
On Sat, Apr 29, 2006 at 03:02:46PM +0300, Dan Armak wrote: |
2 |
> On Friday 28 April 2006 23:42, Ryan Phillips wrote: |
3 |
> > svn |
4 |
> > + Atomic Commits |
5 |
> > + Merging/tagging/brancing is a simple "copy" operation |
6 |
> > http://svnbook.red-bean.com/en/1.1/ch04.html |
7 |
> > + lots of benefits |
8 |
> > http://svnbook.red-bean.com/nightly/en/svn.intro.features.html |
9 |
> > there is more I'm sure people can come up with |
10 |
> > - 2x Drive space |
11 |
> |
12 |
> - No changeset/merge tracking |
13 |
> |
14 |
> If we have a lot of active branches and a lot of merging between them, |
15 |
> changeset tracking could be a major plus. I've never used git but I've heard |
16 |
> that it, and other distributed development-style SCMs, have changeset/merge |
17 |
> tracking features that are really helpful. Could someone who's used them |
18 |
> comment on this? |
19 |
|
20 |
Yes, Git tracks merges unless the merge is trivial (aka fast-forward). |
21 |
|
22 |
When you merge branch 'a' into branch 'b' and 'b' is a strict subset of |
23 |
'a' we call that a fast-forward, since there is no merge anywhere: |
24 |
|
25 |
o---o---o "b" |
26 |
\ |
27 |
x---x---x "a" |
28 |
|
29 |
If you merge 'a' into 'b' (git checkout b ; git pull . a) the result is: |
30 |
|
31 |
o---o---o---x---x---x "a" = "b" |
32 |
|
33 |
However in the following case, a proper merge is required: |
34 |
|
35 |
o---o---o---#---# "b" |
36 |
\ |
37 |
x---x---x "a" |
38 |
|
39 |
'b' is not a strict subset of 'a' because the commits marked with # do |
40 |
not exist in 'a', so the thing ends up being: |
41 |
|
42 |
o---o---o---#---#---@ "b" |
43 |
\ / |
44 |
x---x---x "a" |
45 |
|
46 |
The commit marked with @ is a special comit called a 'merge'. |
47 |
|
48 |
I hope that clarifies the merge tracking part. |
49 |
|
50 |
However I don't know what do you mean with 'changeset tracking'. |
51 |
|
52 |
Cheers, |
53 |
Ferdy |
54 |
|
55 |
-- |
56 |
Fernando J. Pereda GarcimartÃn |
57 |
Gentoo Developer (Alpha,net-mail,mutt,git) |
58 |
20BB BDC3 761A 4781 E6ED ED0B 0A48 5B0C 60BD 28D4 |