* [PATCHv1] git-p4: workaround p4 removal of client directory @ 2016-04-29 7:40 Luke Diamand 2016-04-29 7:40 ` Luke Diamand 0 siblings, 1 reply; 4+ messages in thread From: Luke Diamand @ 2016-04-29 7:40 UTC (permalink / raw) To: git; +Cc: Jacob Smith, Lars Schneider, Stefan Beller, Luke Diamand This is a proposed fix for the problem reported by Jacob on OSX where "p4 sync -f" removes the client directory. http://www.spinics.net/lists/git/msg274356.html I tried just moving the "cd", but lots of the tests then fail as the "p4 sync" needs to be in the correct directory. Luke Diamand (1): git-p4: workaround p4 removal of client directory git-p4.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -- 2.8.1.218.gd2cea43.dirty ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCHv1] git-p4: workaround p4 removal of client directory 2016-04-29 7:40 [PATCHv1] git-p4: workaround p4 removal of client directory Luke Diamand @ 2016-04-29 7:40 ` Luke Diamand 2016-04-29 7:39 ` Luke Diamand 0 siblings, 1 reply; 4+ messages in thread From: Luke Diamand @ 2016-04-29 7:40 UTC (permalink / raw) To: git; +Cc: Jacob Smith, Lars Schneider, Stefan Beller, Luke Diamand 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 <luke@diamand.org> --- 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 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCHv1] git-p4: workaround p4 removal of client directory 2016-04-29 7:40 ` Luke Diamand @ 2016-04-29 7:39 ` Luke Diamand [not found] ` <1A001D64-FAEA-49DA-9C2D-12DA04AA5F29@gmail.com> 0 siblings, 1 reply; 4+ messages in thread From: Luke Diamand @ 2016-04-29 7:39 UTC (permalink / raw) To: Git Users; +Cc: Lars Schneider, Stefan Beller, Luke Diamand, Jacob Smith Adding correct email for Jacob. On 29 April 2016 at 08:40, Luke Diamand <luke@diamand.org> 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 <luke@diamand.org> > --- > 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 > ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <1A001D64-FAEA-49DA-9C2D-12DA04AA5F29@gmail.com>]
[parent not found: <CAE5ih7_V_ZNmouUGyi_NLgzjOGt_ZvNfj3K9a_+7LRyn6m8cNw@mail.gmail.com>]
[parent not found: <0F0D8F8A-47CB-44E3-90A6-13047D5A71F5@gmail.com>]
* Re: [PATCHv1] git-p4: workaround p4 removal of client directory [not found] ` <0F0D8F8A-47CB-44E3-90A6-13047D5A71F5@gmail.com> @ 2016-04-29 20:47 ` Luke Diamand 0 siblings, 0 replies; 4+ messages in thread From: Luke Diamand @ 2016-04-29 20:47 UTC (permalink / raw) To: Jacob Smith, Git Users, Junio C Hamano [+Git, Junio] On 29 April 2016 at 15:10, Jacob Smith <jaroslov@gmail.com> 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 <luke@diamand.org> wrote: >> >>> On 29 April 2016 at 13:34, Jacob Smith <jaroslov@gmail.com> 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 <luke@diamand.org> wrote: >>>> >>>> Adding correct email for Jacob. >>>> >>>>> On 29 April 2016 at 08:40, Luke Diamand <luke@diamand.org> 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 <luke@diamand.org> >>>>> --- >>>>> 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 >>>>> ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-04-29 20:47 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-04-29 7:40 [PATCHv1] git-p4: workaround p4 removal of client directory Luke Diamand 2016-04-29 7:40 ` Luke Diamand 2016-04-29 7:39 ` Luke Diamand [not found] ` <1A001D64-FAEA-49DA-9C2D-12DA04AA5F29@gmail.com> [not found] ` <CAE5ih7_V_ZNmouUGyi_NLgzjOGt_ZvNfj3K9a_+7LRyn6m8cNw@mail.gmail.com> [not found] ` <0F0D8F8A-47CB-44E3-90A6-13047D5A71F5@gmail.com> 2016-04-29 20:47 ` Luke Diamand
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).