git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: David Brown <git@davidb.org>
To: Sam Vilain <sam@vilain.net>
Cc: Git <git@vger.kernel.org>
Subject: Re: State of Perforce importing.
Date: Tue, 18 Sep 2007 08:49:18 -0700	[thread overview]
Message-ID: <20070918154918.GA19106@old.davidb.org> (raw)
In-Reply-To: <46EF7DD1.9090301@vilain.net>

On Tue, Sep 18, 2007 at 07:27:13PM +1200, Sam Vilain wrote:

>I'm pretty close to giving a newer one a spin, that actually imports
>from the raw perforce back-end files without needing the perforce
>server.  I am hoping that this should give a very clean import and will
>be very fast and efficient, sending files that share ancestry to gfi in
>sequence so that the on-the-fly delta system works.

Unfortunately, this isn't something I'm going to be able to use.  The
Perforce server will remain live, and resides on a machine I don't have
access to.

>It could possibly be adapted to use the p4 client (though I'd expect
>that to be relatively slow per-revision), and possibly be extended to be
>bidirectional as all of the upstream change number information is
>recorded, a la git-svn.

I was able to get 'git-p4' to work a lot better by using @all, but it still
has some problems, at least bad interactions with P4.

   - It doesn't use any client spec.  Our P4 server space is a complete
     mismash and has to be fixed up to get a sane directory layout.  For
     example, some revisions have hundred-MB tar files sitting in the root
     directory and I don't want that in the repo.  I also need to exclude
     directories, and in some cases completely rearrange the directory
     layout.

   - Our P4 server is set to be case insensitive.  'git-p4' ignores paths
     that come back from the server that are specified using a different
     case.  Unfortunately, this means that a handful of files just get
     randomly dropped from each revision.

     I tried importing a client path instead of a depot path, but the names
     that come back from 'p4 files' are depot based so none ever match.  I
     end up with a nice revision history of entirely empty trees.

I'm probably going to end up writing an importer that uses an actual client
workspace to let Perforce do the client mapping.  I'm also going to have to
put some work into some code to clean up the log messages, since most of
our changes have as a first line "New Features:", which makes for a rather
uninformative shortlog.

But, I did learn about 'p4 -G' from git-p4 so that will help in getting
information from the repository.

Thanks,
David

  reply	other threads:[~2007-09-18 15:49 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-17 19:30 State of Perforce importing David Brown
2007-09-18  6:58 ` Simon Hausmann
2007-09-18  7:27 ` Sam Vilain
2007-09-18 15:49   ` David Brown [this message]
2007-09-18 17:53     ` Reece Dunn
2007-09-18 23:19       ` David Brown
2007-09-19  0:20         ` Sam Vilain
2007-09-19  0:26           ` David Brown
2007-09-19  0:23       ` Sam Vilain
2007-09-19 21:20         ` Reece Dunn
2007-09-20  6:12     ` Dmitry Kakurin
2007-09-18 23:37 ` David Brown
2007-09-19  0:23   ` Sam Vilain
2007-09-19  0:27     ` David Brown
2007-09-19  6:19   ` Simon Hausmann
2007-09-19 17:12     ` David Brown
2007-09-19 18:23       ` Reece Dunn
2007-09-19 18:25         ` David Brown
2007-09-19 18:56           ` Reece Dunn

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070918154918.GA19106@old.davidb.org \
    --to=git@davidb.org \
    --cc=git@vger.kernel.org \
    --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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).