From: Luke Diamand Date: Fri, 29 Apr 2016 20:47:29 GMT Subject: Re: [PATCHv1] git-p4: workaround p4 removal of client directory Message-ID: In-Reply-To: <0F0D8F8A-47CB-44E3-90A6-13047D5A71F5@gmail.com> [+Git, Junio] On 29 April 2016 at 15:10, Jacob Smith wrote: > That's the identical patch I'm maintaining internally; it appears to work. Thanks, I think that counts as a "Tested-by" then. Luke > > Sent from my iPhone > >> On Apr 29, 2016, at 8:52 AM, Luke Diamand wrote: >> >>> On 29 April 2016 at 13:34, Jacob Smith wrote: >>> Thank you, Luke! I'll raise a radar so (hopefully) it gets integrated into Apple's distribution. >> >> Can you check if it works for you? I can't reproduce it here. >> >> Thanks! >> Luke >> >> >> >> >>> >>>> On Apr 29, 2016, at 2:39 AM, Luke Diamand wrote: >>>> >>>> Adding correct email for Jacob. >>>> >>>>> On 29 April 2016 at 08:40, Luke Diamand wrote: >>>>> 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 >>>>>