From: Alex Riesen <raa.lkml@gmail.com>
To: Sam Vilain <sam@vilain.net>
Cc: Jakub Narebski <jnareb@gmail.com>,
Arnaud Bailly <abailly@oqube.com>,
git@vger.kernel.org
Subject: Re: From P4 to Git
Date: Mon, 3 Aug 2009 10:47:29 +0200 [thread overview]
Message-ID: <81b0412b0908030147i34a7440dg982c7a6e7dc51bca@mail.gmail.com> (raw)
In-Reply-To: <4A76967B.7080502@vilain.net>
On Mon, Aug 3, 2009 at 09:49, Sam Vilain<sam@vilain.net> wrote:
> 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.
Sounds dangerous. And interesting...
Is it an import-once tool, or can the process be restarted? (because it looks
like the script needs a complicated setup).
Can it be used from a client machine? And more importantly:
can the branches be found from incomplete history,
restricted by path and changelist range? (because, in a corporate
setup, clients seldom have full access to all data).
next prev parent reply other threads:[~2009-08-03 8:48 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
2009-08-03 8:47 ` Alex Riesen [this message]
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=81b0412b0908030147i34a7440dg982c7a6e7dc51bca@mail.gmail.com \
--to=raa.lkml@gmail.com \
--cc=abailly@oqube.com \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
--cc=sam@vilain.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).