Re: BUG on OSX `git p4 submit` can fail when the workspace root doesn't exist locally.
On 27 April 2016 at 21:53, Stefan Bellerwrote: > On Wed, Apr 27, 2016 at 11:06 AM, Jacob Smith wrote: >> I debugged the issue using the script here: >> https://github.com/git/git/blob/master/git-p4.py >> I'm not sure how close to the main repo that is. >> >> On Wed, Apr 27, 2016 at 11:28 AM, Stefan Beller wrote: >>> On Wed, Apr 27, 2016 at 9:15 AM, Jacob Smith wrote: On OS X, >>> >>> Do you use the Git as provided from OS X? In that case you better report >>> the bug >>> to Apple, as their version of Git is slightly different (not close on >>> upstream, by both >>> having additional patches as well as not following the upstream closely >>> IIUC). > > In that case, I have cc'd Luke and Lars, who work on p4 Which version of p4 are you using? Your suggested fix looks plausible though. Possibly it needs both chdirs() so that "p4 sync" will work if the caller is using a .p4config file in the p4 client directory to set the P4CLIENT. Thanks! Luke -- 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
Re: BUG on OSX `git p4 submit` can fail when the workspace root doesn't exist locally.
On Wed, Apr 27, 2016 at 11:06 AM, Jacob Smithwrote: > I debugged the issue using the script here: > https://github.com/git/git/blob/master/git-p4.py > I'm not sure how close to the main repo that is. > > On Wed, Apr 27, 2016 at 11:28 AM, Stefan Beller wrote: >> On Wed, Apr 27, 2016 at 9:15 AM, Jacob Smith wrote: >>> On OS X, >> >> Do you use the Git as provided from OS X? In that case you better report the >> bug >> to Apple, as their version of Git is slightly different (not close on >> upstream, by both >> having additional patches as well as not following the upstream closely >> IIUC). In that case, I have cc'd Luke and Lars, who work on p4 -- 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
Re: BUG on OSX `git p4 submit` can fail when the workspace root doesn't exist locally.
I debugged the issue using the script here: https://github.com/git/git/blob/master/git-p4.py I'm not sure how close to the main repo that is. On Wed, Apr 27, 2016 at 11:28 AM, Stefan Bellerwrote: > On Wed, Apr 27, 2016 at 9:15 AM, Jacob Smith wrote: >> On OS X, > > Do you use the Git as provided from OS X? In that case you better report the > bug > to Apple, as their version of Git is slightly different (not close on > upstream, by both > having additional patches as well as not following the upstream closely IIUC). -- 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
Re: BUG on OSX `git p4 submit` can fail when the workspace root doesn't exist locally.
On Wed, Apr 27, 2016 at 9:15 AM, Jacob Smithwrote: > On OS X, Do you use the Git as provided from OS X? In that case you better report the bug to Apple, as their version of Git is slightly different (not close on upstream, by both having additional patches as well as not following the upstream closely IIUC). -- 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
BUG on OSX `git p4 submit` can fail when the workspace root doesn't exist locally.
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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html