Patchwork rebase: use repository root as cwd (issue4869)

login
register
mail settings
Submitter timeless@mozdev.org
Date Sept. 30, 2015, 5:15 p.m.
Message ID <ed767d90c2f28543df57.1443633309@waste.org>
Download mbox | patch
Permalink /patch/10707/
State Rejected
Headers show

Comments

timeless@mozdev.org - Sept. 30, 2015, 5:15 p.m.
# HG changeset patch
# User timeless@mozdev.org
# Date 1443633252 14400
#      Wed Sep 30 13:14:12 2015 -0400
# Node ID ed767d90c2f28543df5768ab7638ebf4ef7029b9
# Parent  46af0adb5c375cc51ce0d29cbdcd8ba843a33425
rebase: use repository root as cwd (issue4869)
Pierre-Yves David - Sept. 30, 2015, 8:46 p.m.
On 09/30/2015 10:15 AM, timeless@mozdev.org wrote:
> # HG changeset patch
> # User timeless@mozdev.org
> # Date 1443633252 14400
> #      Wed Sep 30 13:14:12 2015 -0400
> # Node ID ed767d90c2f28543df5768ab7638ebf4ef7029b9
> # Parent  46af0adb5c375cc51ce0d29cbdcd8ba843a33425
> rebase: use repository root as cwd (issue4869)

Meh, this will likely confuse merge tools and human while the state will 
likely only be transient.
Pierre-Yves David - Oct. 2, 2015, 10:40 p.m.
On 09/30/2015 01:46 PM, Pierre-Yves David wrote:
>
>
> On 09/30/2015 10:15 AM, timeless@mozdev.org wrote:
>> # HG changeset patch
>> # User timeless@mozdev.org
>> # Date 1443633252 14400
>> #      Wed Sep 30 13:14:12 2015 -0400
>> # Node ID ed767d90c2f28543df5768ab7638ebf4ef7029b9
>> # Parent  46af0adb5c375cc51ce0d29cbdcd8ba843a33425
>> rebase: use repository root as cwd (issue4869)
>
> Meh, this will likely confuse merge tools and human while the state will
> likely only be transient.

What does other people think> should we drop this?
Augie Fackler - Oct. 7, 2015, 7:15 p.m.
> On Oct 2, 2015, at 18:40, Pierre-Yves David <pierre-yves.david@ens-lyon.org> wrote:
> 
> 
> 
> On 09/30/2015 01:46 PM, Pierre-Yves David wrote:
>> 
>> 
>> On 09/30/2015 10:15 AM, timeless@mozdev.org wrote:
>>> # HG changeset patch
>>> # User timeless@mozdev.org
>>> # Date 1443633252 14400
>>> #      Wed Sep 30 13:14:12 2015 -0400
>>> # Node ID ed767d90c2f28543df5768ab7638ebf4ef7029b9
>>> # Parent  46af0adb5c375cc51ce0d29cbdcd8ba843a33425
>>> rebase: use repository root as cwd (issue4869)
>> 
>> Meh, this will likely confuse merge tools and human while the state will
>> likely only be transient.
> 
> What does other people think> should we drop this?

I don't feel super-strongly. It's enough of a BC that it makes me nervous.

> 
> -- 
> Pierre-Yves David
Matt Mackall - Oct. 7, 2015, 7:45 p.m.
On Wed, 2015-10-07 at 15:15 -0400, Augie Fackler wrote:
> > On Oct 2, 2015, at 18:40, Pierre-Yves David <pierre-yves.david@ens-lyon.org> wrote:
> > 
> > 
> > 
> > On 09/30/2015 01:46 PM, Pierre-Yves David wrote:
> >> 
> >> 
> >> On 09/30/2015 10:15 AM, timeless@mozdev.org wrote:
> >>> # HG changeset patch
> >>> # User timeless@mozdev.org
> >>> # Date 1443633252 14400
> >>> #      Wed Sep 30 13:14:12 2015 -0400
> >>> # Node ID ed767d90c2f28543df5768ab7638ebf4ef7029b9
> >>> # Parent  46af0adb5c375cc51ce0d29cbdcd8ba843a33425
> >>> rebase: use repository root as cwd (issue4869)
> >> 
> >> Meh, this will likely confuse merge tools and human while the state will
> >> likely only be transient.
> > 
> > What does other people think> should we drop this?
> 
> I don't feel super-strongly. It's enough of a BC that it makes me nervous.

The discussion on the bug is that we should back out the change to use
multiprocessing.

Patch

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -194,6 +194,7 @@ 
 
     lock = wlock = None
     try:
+        initialcwd = os.getcwd()
         wlock = repo.wlock()
         lock = repo.lock()
 
@@ -396,6 +397,7 @@ 
         sortedstate = sorted(state)
         total = len(sortedstate)
         pos = 0
+        os.chdir(repo.root)
         for rev in sortedstate:
             ctx = repo[rev]
             desc = '%d:%s "%s"' % (ctx.rev(), ctx,
@@ -539,6 +541,10 @@ 
 
     finally:
         release(lock, wlock)
+        try:
+            os.chdir(initialcwd)
+        except:
+            pass
 
 def externalparent(repo, state, targetancestors):
     """Return the revision that should be used as the second parent