wrote on Wed, 31 Oct 2012 15:01 +0100:
> On Tue, Oct 30, 2012 at 11:44 AM, Arthur <> 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
> >   File "/usr/bin/git-p4", line 3048, in run
> >     if not, 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:

        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
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to