On OS X, if the local p4 workspace root doesn't exist, then git-p4 can
fail on submit. The error message looks like this:
Synchronizing p4 checkout...
Git submit failed!
shell-init: error retrieving current directory: getcwd: cannot
access parent directories: No such file or directory
fatal: Unable to read current working directory: No such file or directory
Command failed: ['git', 'rev-list', '--no-merges',
'remotes/p4/master..master']
The problem is in the function 'run()' around line 1957. The logic in
the code is:
1. Detect if the clientPath exists;
2. If the clientPath doesn't exist, set the 'new_client_dir'
variable to 'True';
3. chdir() to the clientPath; then,
4. If 'new_client_dir' is 'True', then p4_sync("...", True).
On my system, the call to `p4 sync -f` leaves the clientPath directory
that git-p4 had chdir()'d into an orphan, so the call to 'git rev-list
...' a few lines fails because the call to getcwd() fails (the
directory has no parents).
I can make the problem "go away" by moving the location of the call to
'chdir(self.clientPath, is_client_path=True)' after the call to
`p4_sync()`, but I'm not sure if that's really fixing the issue, or
not.
Thanks!
-j.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html