Re: git: uh-oh - Mailing list pgsql-hackers

From Michael Haggerty
Subject Re: git: uh-oh
Date
Msg-id 4C6C07E8.6030806@alum.mit.edu
Whole thread Raw
In response to Re: git: uh-oh  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: git: uh-oh
List pgsql-hackers
Tom Lane wrote:
> Michael Haggerty <mhagger@alum.mit.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


pgsql-hackers by date:

Previous
From: Michael Haggerty
Date:
Subject: Re: git: uh-oh
Next
From: Alvaro Herrera
Date:
Subject: Re: git: uh-oh