From: | Michael Haggerty <mhagger(at)alum(dot)mit(dot)edu> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Magnus Hagander <magnus(at)hagander(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: git: uh-oh |
Date: | 2010-08-18 16:18:48 |
Message-ID: | 4C6C07E8.6030806@alum.mit.edu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
> Michael Haggerty <mhagger(at)alum(dot)mit(dot)edu> writes:
>> The "exclusive" possibility is to ignore the fact that some of the
>> content of B4 came from trunk and to pretend that FILE1 just appeared
>> out of nowhere in commit B4 independent of the FILE1 in TRUNK:
>
>> T0 -- T1 -- T2 -------- T3 -- T4 TRUNK
>> \
>> B1 -- B2 -- B3 -- B4 BRANCH1
>
>> This is also wrong, because it doesn't reflect the true lineage of FILE1.
>
> Maybe not, but that *is* how things appeared in the CVS history, [...]
I forgot to point out that "the CVS history" looks nothing like this,
because the CVS history is only defined file by file. So the CVS
history of FILE0 might look like this:
1.0 - 1.1 ------ 1.2 ----------------- 1.3 ----- 1.4 TRUNK
\
1.1.2.1 -- 1.1.2.2 -- 1.1.2.3 -- 1.1.2.4 BRANCH1
whereas the history of FILE1 probably looks more like this:
1.1 ----------------- 1.2 ----- 1.3 TRUNK
\
1.2.2.1 -- 1.2.2.2 BRANCH1
(here I've tried to put corresponding commits in the same relative
location) and there might be a FILE2 that looks like this:
1.0 ------------ 1.1 --------------------------- 1.2 TRUNK
\
*no commit here* BRANCH1
Perhaps this makes it clearer why creating a single git history requires
some compromises.
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2010-08-18 16:26:49 | Re: git: uh-oh |
Previous Message | Michael Haggerty | 2010-08-18 16:09:17 | Re: git: uh-oh |