git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pete Wyckoff <pw@padd.com>
To: Thomas Berg <merlin66b@gmail.com>
Cc: Arthur <a.foulon@amesys.fr>, git@vger.kernel.org
Subject: Re: git-p4 clone @all error
Date: Sat, 3 Nov 2012 19:13:05 -0400	[thread overview]
Message-ID: <20121103231305.GB11267@padd.com> (raw)
In-Reply-To: <CABYiQp=1HEW=53U2Rck5vckhq0PB3C9iuanoXeVvNG6Xv5+oHg@mail.gmail.com>

merlin66b@gmail.com wrote on Wed, 31 Oct 2012 15:01 +0100:
> On Tue, Oct 30, 2012 at 11:44 AM, Arthur <a.foulon@amesys.fr> wrote:
> > The problem :
> >
> > Importing revision 7727 (100%)Traceback (most recent call last):
> >   File "/usr/bin/git-p4", line 3183, in <module>
> >     main()
> >   File "/usr/bin/git-p4", line 3177, in main
> >     if not cmd.run(args):
> >   File "/usr/bin/git-p4", line 3048, in run
> >     if not P4Sync.run(self, depotPaths):
> >   File "/usr/bin/git-p4", line 2911, in run
> >     self.importChanges(changes)
> >   File "/usr/bin/git-p4", line 2618, in importChanges
> >     self.initialParent)
> >   File "/usr/bin/git-p4", line 2198, in commit
> >     epoch = details["time"]
> > KeyError: 'time'
> 
> Are you permanently converting a project, or are you planning to
> continue submitting to perforce with git-p4?
> 
> I have seen similar bugs myself when using the --detect-branches
> option.

I hope --detect-branches is unrelated to any problems related to
p4 describe, because it is used identically both with and without
the option.  But you never know.

> The branch detection in git-p4 is flaky anyway: it is limited
> what it can handle, and it used to require correct perforce branch
> specs at least, so I would recommend not using it unless you know what
> it is doing under the hood.

It relies on heuristics because the git idea of branches doesn't
have a direct analog in p4, even though p4 users will organize
their files and directories in ways that suggest branches.  The
way it works is described in the BRANCH DETECTION part of the
git-p4.1 man page.

The man page also explains how you can use a config variable
to explicitly define the branch relationships.  This might help:

git-p4.branchList::
        List of branches to be imported when branch detection is
        enabled.  Each entry should be a pair of branch names separated
        by a colon (:).  This example declares that both branchA and
        branchB were created from main:

	git config       git-p4.branchList main:branchA
	git config --add git-p4.branchList main:branchB

It still only works for branches at the same "level" of the
depot path.

> Instead I would just clone a single branch at a time (drop the
> --detect-branches) and work on that.
> 
> I do this even in the rare cases when I need more than one perforce
> branch in the same git repo - there are other ways to achieve the same
> thing.

Yep, that should alway works.

		-- Pete

  reply	other threads:[~2012-11-03 23:13 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-30 10:44 git-p4 clone @all error Arthur
2012-10-31 13:18 ` Arthur
2012-10-31 14:01 ` Thomas Berg
2012-11-03 23:13   ` Pete Wyckoff [this message]
2012-11-05 10:02     ` Arthur
2012-11-05 22:12       ` Pete Wyckoff
2012-11-06  0:25         ` Vitor Antunes
2012-11-06  8:55           ` Arthur
2012-11-06 13:54             ` Vitor Antunes
2012-11-06 14:20               ` Arthur
2012-11-06 18:35                 ` Vitor Antunes
2012-11-06 14:03             ` Arthur
2012-11-03 14:09 ` Pete Wyckoff
2012-11-03 23:07   ` [PATCH] git p4: catch p4 describe errors Pete Wyckoff
2012-11-03 23:12     ` Matt Arsenault

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=20121103231305.GB11267@padd.com \
    --to=pw@padd.com \
    --cc=a.foulon@amesys.fr \
    --cc=git@vger.kernel.org \
    --cc=merlin66b@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 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).