From: Sam Vilain <sam@vilain.net>
To: Alex Riesen <raa.lkml@gmail.com>
Cc: Jakub Narebski <jnareb@gmail.com>,
Arnaud Bailly <abailly@oqube.com>,
git@vger.kernel.org
Subject: Re: From P4 to Git
Date: Mon, 03 Aug 2009 19:49:15 +1200 [thread overview]
Message-ID: <4A76967B.7080502@vilain.net> (raw)
In-Reply-To: <81b0412b0907310414x7157fecey947da960ff8be1cc@mail.gmail.com>
Alex Riesen wrote:
>> So it looks like you wouldn't _need_ to split source tree into separate
>> smaller repositories for performance reasons. Still it might be good
>> idea to put separate (sub)projects into separate repositories. But
>> I guess you can do that even at later time (although it would be best
>> to do this upfront).
>>
>
> It looks like they use P4 branches. Which are NOT branches as Git
> understands it (a line of history). The P4 "branches" are just directories
> with some metadata regarding recording where the data in the directory
> were before an act of "branching" (just a server-side recursive copy).
>
> In this case (and this must be, as there are no other branches in P4),
> they'll have to split their repository.
p4's branches are 'close enough'. My tool travels through the history
of the repository forwards, detects paths where new content was placed
and calls those roots. When branching is detected (recorded
file-by-file in perforce), it puts the branch source as a new parent.
When branches are 'integrated', it makes a fuzzy decision based on the
number of outstanding merges it thinks are due, also based on a merge
base calculation on the current view of the derived history. It allows
manual correction of this fuzzy information, and arbitrary grafting
along the way. Discrepancies between the fuzzy decision and the actual
integration records are recorded in the commit log along with other
metadata including the commit ID.
Sam
next prev parent reply other threads:[~2009-08-03 7:49 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-28 20:14 From P4 to Git Arnaud Bailly
2009-07-28 20:32 ` david
2009-07-28 21:10 ` Jakub Narebski
[not found] ` <85r5vxbd8e.fsf@oqube.com>
2009-07-31 9:22 ` Jakub Narebski
2009-07-31 11:14 ` Alex Riesen
2009-08-03 7:49 ` Sam Vilain [this message]
2009-08-03 8:47 ` Alex Riesen
2009-08-03 11:30 ` Sam Vilain
2009-08-03 13:50 ` Alex Riesen
2009-08-03 20:32 ` Sam Vilain
2009-08-03 21:51 ` Alex Riesen
2009-08-04 0:29 ` Sam Vilain
2009-08-02 7:16 ` Sam Vilain
2009-08-04 12:31 ` Arnaud Bailly
2009-08-04 12:35 ` Peter Baumann
2009-08-03 21:37 ` John Tapsell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A76967B.7080502@vilain.net \
--to=sam@vilain.net \
--cc=abailly@oqube.com \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
--cc=raa.lkml@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.