On Mon, 19 Aug 2019 at 18:30, Aaron Miller <aaronkmiller@xxxxxxxxx> wrote: > > Hi all, > > Is it possible to `git p4 clone --detect-branches` from a Perforce > path which contains bidirectional integrations? > > I've tried a bunch of things to get this to work, but here's an > example which hopefully illustrates what I'm trying to accomplish > and the issue I'm having. I have to admit I don't use the detect-branches code myself. It's possible that running with "-v" might give a bit more information. Can you write a test case, or even just a shell script, that might help figure out what's going on. Unfortunately Perforce doesn't really know about branches, so git-p4 has to make a guess! > > Perforce setup, assuming PWD is mapped to //depot/... in your client spec: > > 1. mkdir -p testing/master > 2. touch testing/master/test1 && p4 add testing/master/test1 && p4 submit > 3. p4 integrate //depot/testing/master/... > //depot/testing/staging/... && p4 submit > 3. touch testing/staging/test2 && p4 add testing/staging/test2 && p4 submit > 4. p4 integrate //depot/testing/staging/... > //depot/testing/master/... && p4 submit > > Now try to clone with git-p4: > > 1. git init p4_git_test && cd p4_git_test > 2. git config git-p4.branchList master:staging > 3. git config --add git-p4.branchList staging:master > 4. git p4 clone //depot/testing/...@all --detect-branches . > > You end up with a failure like: > > Importing from //depot/testing/...@all into . > Reinitialized existing Git repository in /home/amiller/p4_git_test/.git/ > Importing revision 1205832 (25%) > Importing new branch testing/master > > Resuming with change 1205832 > fatal: ambiguous argument 'refs/remotes/p4/testing/staging': unknown > revision or path not in the working tree. > Use '--' to separate paths from revisions, like this: > 'git <command> [<revision>...] -- [<file>...]' > Command failed: ['git', 'rev-list', '--reverse', '--no-merges', > 'refs/remotes/p4/testing/staging'] > > I'm using Git 2.22.1. > > Thanks, > Aaron