From: Luke Diamand Date: Fri, 29 Apr 2016 07:40:26 GMT Subject: [PATCHv1] git-p4: workaround p4 removal of client directory Message-ID: <1461915626-10250-2-git-send-email-luke@diamand.org> In-Reply-To: <1461915626-10250-1-git-send-email-luke@diamand.org> On some platforms, "p4 sync -f" will remove the workspace directory after we have just created it; on some it won't. This causes problems later when git finds itself in an orphaned directory. Workaround this by cd'ing back to the directory after the "p4 sync -f". Signed-off-by: Luke Diamand --- git-p4.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/git-p4.py b/git-p4.py index 527d44b..2b75a61 100755 --- a/git-p4.py +++ b/git-p4.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # # git-p4.py -- A tool for bidirectional operation between a Perforce depot and git. # @@ -1956,6 +1956,9 @@ class P4Submit(Command, P4UserMap): if new_client_dir: # old one was destroyed, and maybe nobody told p4 p4_sync("...", "-f") + + # sometimes p4 will unlink the directory and recreate it + chdir(self.clientPath, is_client_path=True) else: p4_sync("...") self.check() -- 2.8.1.218.gd2cea43.dirty