$ git p4 sync --detect-branches --import-labels //main@all
... Lots of useful information elided
fatal: ambiguous argument 'git-p4-tmp/8031': unknown revision or path not in
the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Command failed: ['git', 'diff-tree',
If I re-run the command, it works the second time. Of course there are
73000+ commits. This is gonna take a while.
I've done some debugging. It appears there is a timing problem between
git-p4 and git.
The failure occurs in P4Sync.searchParent(). Even though a checkpoint is
sent to git (for fast-import) just prior to the call to searchParent() in
importChanges(), the file does not yet exist. I used pdb, paused the program
just before the call to diff-tree and the file was missing. After the
program exits due to the error the file exists (i.e. the OS flushed the
file). This is why re-running continues to work, there is an "old" file with
basically the same information laying around (dangerous).
How can I get git (fast-import) to flush the file at the right time?
$ git --version
git version 18.104.22.168
$ python --version
OS: GNU/Linux 2.6.32-431.el6.x86_64
View this message in context:
Sent from the git mailing list archive at Nabble.com.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html