D449: merge: pass wctx to premerge, filemerge

2017-09-12 Thread phillco (Phil Cohen)
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGc0ce60459d84: merge: pass wctx to premerge, filemerge 
(authored by phillco, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D449?vs=1670=1768

REVISION DETAIL
  https://phab.mercurial-scm.org/D449

AFFECTED FILES
  hgext/largefiles/overrides.py
  mercurial/filemerge.py
  mercurial/merge.py
  tests/failfilemerge.py

CHANGE DETAILS

diff --git a/tests/failfilemerge.py b/tests/failfilemerge.py
--- a/tests/failfilemerge.py
+++ b/tests/failfilemerge.py
@@ -9,7 +9,8 @@
 )
 
 def failfilemerge(filemergefn,
-  premerge, repo, mynode, orig, fcd, fco, fca, labels=None):
+  premerge, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=None):
 raise error.Abort("^C")
 return filemergefn(premerge, repo, mynode, orig, fcd, fco, fca, labels)
 
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -495,12 +495,14 @@
 f.close()
 else:
 wctx[dfile].remove(ignoremissing=True)
-complete, r, deleted = filemerge.premerge(self._repo, self._local,
-  lfile, fcd, fco, fca,
+complete, r, deleted = filemerge.premerge(self._repo, wctx,
+  self._local, lfile, fcd,
+  fco, fca,
   labels=self._labels)
 else:
-complete, r, deleted = filemerge.filemerge(self._repo, self._local,
-   lfile, fcd, fco, fca,
+complete, r, deleted = filemerge.filemerge(self._repo, wctx,
+   self._local, lfile, fcd,
+   fco, fca,
labels=self._labels)
 if r is None:
 # no real conflict
diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py
--- a/mercurial/filemerge.py
+++ b/mercurial/filemerge.py
@@ -626,7 +626,7 @@
 
 return b, c
 
-def _filemerge(premerge, repo, mynode, orig, fcd, fco, fca, labels=None):
+def _filemerge(premerge, repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
 """perform a 3-way merge in the working directory
 
 premerge = whether this is a premerge
@@ -750,11 +750,13 @@
 def _workingpath(repo, ctx):
 return repo.wjoin(ctx.path())
 
-def premerge(repo, mynode, orig, fcd, fco, fca, labels=None):
-return _filemerge(True, repo, mynode, orig, fcd, fco, fca, labels=labels)
+def premerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
+return _filemerge(True, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=labels)
 
-def filemerge(repo, mynode, orig, fcd, fco, fca, labels=None):
-return _filemerge(False, repo, mynode, orig, fcd, fco, fca, labels=labels)
+def filemerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
+return _filemerge(False, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=labels)
 
 def loadinternalmerge(ui, extname, registrarobj):
 """Load internal merge tool from specified registrarobj
diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py
--- a/hgext/largefiles/overrides.py
+++ b/hgext/largefiles/overrides.py
@@ -545,10 +545,10 @@
 
 # Override filemerge to prompt the user about how they wish to merge
 # largefiles. This will handle identical edits without prompting the user.
-def overridefilemerge(origfn, premerge, repo, mynode, orig, fcd, fco, fca,
+def overridefilemerge(origfn, premerge, repo, wctx, mynode, orig, fcd, fco, 
fca,
   labels=None):
 if not lfutil.isstandin(orig) or fcd.isabsent() or fco.isabsent():
-return origfn(premerge, repo, mynode, orig, fcd, fco, fca,
+return origfn(premerge, repo, wctx, mynode, orig, fcd, fco, fca,
   labels=labels)
 
 ahash = lfutil.readasstandin(fca).lower()



To: phillco, #hg-reviewers, quark
Cc: quark, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D449: merge: pass wctx to premerge, filemerge

2017-09-08 Thread quark (Jun Wu)
quark accepted this revision.
quark added a comment.


  This looks safe to me.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D449

To: phillco, #hg-reviewers, quark
Cc: quark, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D449: merge: pass wctx to premerge, filemerge

2017-09-07 Thread phillco (Phil Cohen)
phillco added a comment.


  I thought this wasn't needed, but it is.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D449

To: phillco, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D449: merge: pass wctx to premerge, filemerge

2017-09-07 Thread phillco (Phil Cohen)
phillco updated this revision to Diff 1670.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D449?vs=1298=1670

REVISION DETAIL
  https://phab.mercurial-scm.org/D449

AFFECTED FILES
  hgext/largefiles/overrides.py
  mercurial/filemerge.py
  mercurial/merge.py
  tests/failfilemerge.py

CHANGE DETAILS

diff --git a/tests/failfilemerge.py b/tests/failfilemerge.py
--- a/tests/failfilemerge.py
+++ b/tests/failfilemerge.py
@@ -9,7 +9,8 @@
 )
 
 def failfilemerge(filemergefn,
-  premerge, repo, mynode, orig, fcd, fco, fca, labels=None):
+  premerge, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=None):
 raise error.Abort("^C")
 return filemergefn(premerge, repo, mynode, orig, fcd, fco, fca, labels)
 
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -495,12 +495,14 @@
 f.close()
 else:
 wctx[dfile].remove(ignoremissing=True)
-complete, r, deleted = filemerge.premerge(self._repo, self._local,
-  lfile, fcd, fco, fca,
+complete, r, deleted = filemerge.premerge(self._repo, wctx,
+  self._local, lfile, fcd,
+  fco, fca,
   labels=self._labels)
 else:
-complete, r, deleted = filemerge.filemerge(self._repo, self._local,
-   lfile, fcd, fco, fca,
+complete, r, deleted = filemerge.filemerge(self._repo, wctx,
+   self._local, lfile, fcd,
+   fco, fca,
labels=self._labels)
 if r is None:
 # no real conflict
diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py
--- a/mercurial/filemerge.py
+++ b/mercurial/filemerge.py
@@ -626,7 +626,7 @@
 
 return b, c
 
-def _filemerge(premerge, repo, mynode, orig, fcd, fco, fca, labels=None):
+def _filemerge(premerge, repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
 """perform a 3-way merge in the working directory
 
 premerge = whether this is a premerge
@@ -750,11 +750,13 @@
 def _workingpath(repo, ctx):
 return repo.wjoin(ctx.path())
 
-def premerge(repo, mynode, orig, fcd, fco, fca, labels=None):
-return _filemerge(True, repo, mynode, orig, fcd, fco, fca, labels=labels)
+def premerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
+return _filemerge(True, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=labels)
 
-def filemerge(repo, mynode, orig, fcd, fco, fca, labels=None):
-return _filemerge(False, repo, mynode, orig, fcd, fco, fca, labels=labels)
+def filemerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
+return _filemerge(False, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=labels)
 
 def loadinternalmerge(ui, extname, registrarobj):
 """Load internal merge tool from specified registrarobj
diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py
--- a/hgext/largefiles/overrides.py
+++ b/hgext/largefiles/overrides.py
@@ -545,10 +545,10 @@
 
 # Override filemerge to prompt the user about how they wish to merge
 # largefiles. This will handle identical edits without prompting the user.
-def overridefilemerge(origfn, premerge, repo, mynode, orig, fcd, fco, fca,
+def overridefilemerge(origfn, premerge, repo, wctx, mynode, orig, fcd, fco, 
fca,
   labels=None):
 if not lfutil.isstandin(orig) or fcd.isabsent() or fco.isabsent():
-return origfn(premerge, repo, mynode, orig, fcd, fco, fca,
+return origfn(premerge, repo, wctx, mynode, orig, fcd, fco, fca,
   labels=labels)
 
 ahash = lfutil.readasstandin(fca).lower()



To: phillco, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D449: merge: pass wctx to premerge, filemerge

2017-09-04 Thread phillco (Phil Cohen)
phillco requested review of this revision.
phillco added a comment.


  It's now back in the stack.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D449

To: phillco, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D449: merge: pass wctx to premerge, filemerge

2017-08-25 Thread phillco (Phil Cohen)
phillco planned changes to this revision.
phillco added a comment.


  Will reintroduce later, closer to changes further up the stack.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D449

To: phillco, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D449: merge: pass wctx to premerge, filemerge

2017-08-25 Thread phillco (Phil Cohen)
phillco updated this revision to Diff 1298.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D449?vs=1236=1298

REVISION DETAIL
  https://phab.mercurial-scm.org/D449

AFFECTED FILES
  hgext/largefiles/overrides.py
  mercurial/filemerge.py
  mercurial/merge.py
  tests/failfilemerge.py

CHANGE DETAILS

diff --git a/tests/failfilemerge.py b/tests/failfilemerge.py
--- a/tests/failfilemerge.py
+++ b/tests/failfilemerge.py
@@ -9,7 +9,8 @@
 )
 
 def failfilemerge(filemergefn,
-  premerge, repo, mynode, orig, fcd, fco, fca, labels=None):
+  premerge, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=None):
 raise error.Abort("^C")
 return filemergefn(premerge, repo, mynode, orig, fcd, fco, fca, labels)
 
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -495,12 +495,14 @@
 f.close()
 else:
 wctx[dfile].remove(ignoremissing=True)
-complete, r, deleted = filemerge.premerge(self._repo, self._local,
-  lfile, fcd, fco, fca,
+complete, r, deleted = filemerge.premerge(self._repo, wctx,
+  self._local, lfile, fcd,
+  fco, fca,
   labels=self._labels)
 else:
-complete, r, deleted = filemerge.filemerge(self._repo, self._local,
-   lfile, fcd, fco, fca,
+complete, r, deleted = filemerge.filemerge(self._repo, wctx,
+   self._local, lfile, fcd,
+   fco, fca,
labels=self._labels)
 if r is None:
 # no real conflict
diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py
--- a/mercurial/filemerge.py
+++ b/mercurial/filemerge.py
@@ -586,7 +586,7 @@
 "o": " [%s]" % labels[1],
 }
 
-def _filemerge(premerge, repo, mynode, orig, fcd, fco, fca, labels=None):
+def _filemerge(premerge, repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
 """perform a 3-way merge in the working directory
 
 premerge = whether this is a premerge
@@ -728,11 +728,12 @@
 
 return r
 
-def premerge(repo, mynode, orig, fcd, fco, fca, labels=None):
+def premerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
 return _filemerge(True, repo, mynode, orig, fcd, fco, fca, labels=labels)
 
-def filemerge(repo, mynode, orig, fcd, fco, fca, labels=None):
-return _filemerge(False, repo, mynode, orig, fcd, fco, fca, labels=labels)
+def filemerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
+return _filemerge(False, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=labels)
 
 def loadinternalmerge(ui, extname, registrarobj):
 """Load internal merge tool from specified registrarobj
diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py
--- a/hgext/largefiles/overrides.py
+++ b/hgext/largefiles/overrides.py
@@ -545,10 +545,10 @@
 
 # Override filemerge to prompt the user about how they wish to merge
 # largefiles. This will handle identical edits without prompting the user.
-def overridefilemerge(origfn, premerge, repo, mynode, orig, fcd, fco, fca,
+def overridefilemerge(origfn, premerge, repo, wctx, mynode, orig, fcd, fco, 
fca,
   labels=None):
 if not lfutil.isstandin(orig) or fcd.isabsent() or fco.isabsent():
-return origfn(premerge, repo, mynode, orig, fcd, fco, fca,
+return origfn(premerge, repo, wctx, mynode, orig, fcd, fco, fca,
   labels=labels)
 
 ahash = lfutil.readasstandin(fca).lower()



To: phillco, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D449: merge: pass wctx to premerge, filemerge

2017-08-23 Thread phillco (Phil Cohen)
phillco updated this revision to Diff 1236.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D449?vs=1235=1236

REVISION DETAIL
  https://phab.mercurial-scm.org/D449

AFFECTED FILES
  hgext/largefiles/overrides.py
  mercurial/filemerge.py
  mercurial/merge.py
  tests/failfilemerge.py

CHANGE DETAILS

diff --git a/tests/failfilemerge.py b/tests/failfilemerge.py
--- a/tests/failfilemerge.py
+++ b/tests/failfilemerge.py
@@ -9,7 +9,8 @@
 )
 
 def failfilemerge(filemergefn,
-  premerge, repo, mynode, orig, fcd, fco, fca, labels=None):
+  premerge, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=None):
 raise error.Abort("^C")
 return filemergefn(premerge, repo, mynode, orig, fcd, fco, fca, labels)
 
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -495,12 +495,14 @@
 f.close()
 else:
 wctx[dfile].remove(ignoremissing=True)
-complete, r, deleted = filemerge.premerge(self._repo, self._local,
-  lfile, fcd, fco, fca,
+complete, r, deleted = filemerge.premerge(self._repo, wctx,
+  self._local, lfile, fcd,
+  fco, fca,
   labels=self._labels)
 else:
-complete, r, deleted = filemerge.filemerge(self._repo, self._local,
-   lfile, fcd, fco, fca,
+complete, r, deleted = filemerge.filemerge(self._repo, wctx,
+   self._local, lfile, fcd,
+   fco, fca,
labels=self._labels)
 if r is None:
 # no real conflict
diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py
--- a/mercurial/filemerge.py
+++ b/mercurial/filemerge.py
@@ -586,7 +586,7 @@
 "o": " [%s]" % labels[1],
 }
 
-def _filemerge(premerge, repo, mynode, orig, fcd, fco, fca, labels=None):
+def _filemerge(premerge, repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
 """perform a 3-way merge in the working directory
 
 premerge = whether this is a premerge
@@ -728,11 +728,13 @@
 
 return r
 
-def premerge(repo, mynode, orig, fcd, fco, fca, labels=None):
-return _filemerge(True, repo, mynode, orig, fcd, fco, fca, labels=labels)
+def premerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
+return _filemerge(True, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=labels)
 
-def filemerge(repo, mynode, orig, fcd, fco, fca, labels=None):
-return _filemerge(False, repo, mynode, orig, fcd, fco, fca, labels=labels)
+def filemerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
+return _filemerge(False, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=labels)
 
 def loadinternalmerge(ui, extname, registrarobj):
 """Load internal merge tool from specified registrarobj
diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py
--- a/hgext/largefiles/overrides.py
+++ b/hgext/largefiles/overrides.py
@@ -545,10 +545,10 @@
 
 # Override filemerge to prompt the user about how they wish to merge
 # largefiles. This will handle identical edits without prompting the user.
-def overridefilemerge(origfn, premerge, repo, mynode, orig, fcd, fco, fca,
+def overridefilemerge(origfn, premerge, repo, wctx, mynode, orig, fcd, fco, 
fca,
   labels=None):
 if not lfutil.isstandin(orig) or fcd.isabsent() or fco.isabsent():
-return origfn(premerge, repo, mynode, orig, fcd, fco, fca,
+return origfn(premerge, repo, wctx, mynode, orig, fcd, fco, fca,
   labels=labels)
 
 ahash = lfutil.readasstandin(fca).lower()



To: phillco, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D449: merge: pass wctx to premerge, filemerge

2017-08-23 Thread phillco (Phil Cohen)
phillco updated this revision to Diff 1235.
phillco edited the summary of this revision.
phillco retitled this revision from "merge: pass `wctx` object to `premerge()` 
and `filemerge`" to "merge: pass wctx to premerge, filemerge".

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D449?vs=1083=1235

REVISION DETAIL
  https://phab.mercurial-scm.org/D449

AFFECTED FILES
  hgext/largefiles/overrides.py
  mercurial/filemerge.py
  mercurial/merge.py
  tests/failfilemerge.py

CHANGE DETAILS

diff --git a/tests/failfilemerge.py b/tests/failfilemerge.py
--- a/tests/failfilemerge.py
+++ b/tests/failfilemerge.py
@@ -9,7 +9,8 @@
 )
 
 def failfilemerge(filemergefn,
-  premerge, repo, mynode, orig, fcd, fco, fca, labels=None):
+  premerge, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=None):
 raise error.Abort("^C")
 return filemergefn(premerge, repo, mynode, orig, fcd, fco, fca, labels)
 
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -495,12 +495,14 @@
 f.close()
 else:
 wctx[dfile].remove(ignoremissing=True)
-complete, r, deleted = filemerge.premerge(self._repo, self._local,
-  lfile, fcd, fco, fca,
+complete, r, deleted = filemerge.premerge(self._repo, wctx,
+  self._local, lfile, fcd,
+  fco, fca,
   labels=self._labels)
 else:
-complete, r, deleted = filemerge.filemerge(self._repo, self._local,
-   lfile, fcd, fco, fca,
+complete, r, deleted = filemerge.filemerge(self._repo, wctx,
+   self._local, lfile, fcd,
+   fco, fca,
labels=self._labels)
 if r is None:
 # no real conflict
diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py
--- a/mercurial/filemerge.py
+++ b/mercurial/filemerge.py
@@ -586,7 +586,7 @@
 "o": " [%s]" % labels[1],
 }
 
-def _filemerge(premerge, repo, mynode, orig, fcd, fco, fca, labels=None):
+def _filemerge(premerge, repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
 """perform a 3-way merge in the working directory
 
 premerge = whether this is a premerge
@@ -728,11 +728,12 @@
 
 return r
 
-def premerge(repo, mynode, orig, fcd, fco, fca, labels=None):
+def premerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
 return _filemerge(True, repo, mynode, orig, fcd, fco, fca, labels=labels)
 
-def filemerge(repo, mynode, orig, fcd, fco, fca, labels=None):
-return _filemerge(False, repo, mynode, orig, fcd, fco, fca, labels=labels)
+def filemerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
+return _filemerge(False, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=labels)
 
 def loadinternalmerge(ui, extname, registrarobj):
 """Load internal merge tool from specified registrarobj
diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py
--- a/hgext/largefiles/overrides.py
+++ b/hgext/largefiles/overrides.py
@@ -545,10 +545,10 @@
 
 # Override filemerge to prompt the user about how they wish to merge
 # largefiles. This will handle identical edits without prompting the user.
-def overridefilemerge(origfn, premerge, repo, mynode, orig, fcd, fco, fca,
+def overridefilemerge(origfn, premerge, repo, wctx, mynode, orig, fcd, fco, 
fca,
   labels=None):
 if not lfutil.isstandin(orig) or fcd.isabsent() or fco.isabsent():
-return origfn(premerge, repo, mynode, orig, fcd, fco, fca,
+return origfn(premerge, repo, wctx, mynode, orig, fcd, fco, fca,
   labels=labels)
 
 ahash = lfutil.readasstandin(fca).lower()



To: phillco, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D449: merge: pass wctx to premerge, filemerge

2017-08-18 Thread phillco (Phil Cohen)
phillco added a comment.


  Not sure if I phabsent this correctly, but this shouldn't have any 
dependencies.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D449

To: phillco, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D449: merge: pass wctx to premerge, filemerge

2017-08-18 Thread phillco (Phil Cohen)
phillco created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D449

AFFECTED FILES
  hgext/largefiles/overrides.py
  mercurial/filemerge.py
  mercurial/merge.py
  tests/failfilemerge.py

CHANGE DETAILS

diff --git a/tests/failfilemerge.py b/tests/failfilemerge.py
--- a/tests/failfilemerge.py
+++ b/tests/failfilemerge.py
@@ -9,7 +9,8 @@
 )
 
 def failfilemerge(filemergefn,
-  premerge, repo, mynode, orig, fcd, fco, fca, labels=None):
+  premerge, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=None):
 raise error.Abort("^C")
 return filemergefn(premerge, repo, mynode, orig, fcd, fco, fca, labels)
 
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -495,12 +495,14 @@
 f.close()
 else:
 wctx[dfile].remove(ignoremissing=True)
-complete, r, deleted = filemerge.premerge(self._repo, self._local,
-  lfile, fcd, fco, fca,
+complete, r, deleted = filemerge.premerge(self._repo, wctx,
+  self._local, lfile, fcd,
+  fco, fca,
   labels=self._labels)
 else:
-complete, r, deleted = filemerge.filemerge(self._repo, self._local,
-   lfile, fcd, fco, fca,
+complete, r, deleted = filemerge.filemerge(self._repo, wctx,
+   self._local, lfile, fcd,
+   fco, fca,
labels=self._labels)
 if r is None:
 # no real conflict
diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py
--- a/mercurial/filemerge.py
+++ b/mercurial/filemerge.py
@@ -598,7 +598,7 @@
 "o": " [%s]" % labels[1],
 }
 
-def _filemerge(premerge, repo, mynode, orig, fcd, fco, fca, labels=None):
+def _filemerge(premerge, repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
 """perform a 3-way merge in the working directory
 
 premerge = whether this is a premerge
@@ -740,11 +740,12 @@
 
 return r
 
-def premerge(repo, mynode, orig, fcd, fco, fca, labels=None):
+def premerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
 return _filemerge(True, repo, mynode, orig, fcd, fco, fca, labels=labels)
 
-def filemerge(repo, mynode, orig, fcd, fco, fca, labels=None):
-return _filemerge(False, repo, mynode, orig, fcd, fco, fca, labels=labels)
+def filemerge(repo, wctx, mynode, orig, fcd, fco, fca, labels=None):
+return _filemerge(False, repo, wctx, mynode, orig, fcd, fco, fca,
+  labels=labels)
 
 # tell hggettext to extract docstrings from these functions:
 i18nfunctions = internals.values()
diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py
--- a/hgext/largefiles/overrides.py
+++ b/hgext/largefiles/overrides.py
@@ -545,10 +545,10 @@
 
 # Override filemerge to prompt the user about how they wish to merge
 # largefiles. This will handle identical edits without prompting the user.
-def overridefilemerge(origfn, premerge, repo, mynode, orig, fcd, fco, fca,
+def overridefilemerge(origfn, premerge, repo, wctx, mynode, orig, fcd, fco, 
fca,
   labels=None):
 if not lfutil.isstandin(orig) or fcd.isabsent() or fco.isabsent():
-return origfn(premerge, repo, mynode, orig, fcd, fco, fca,
+return origfn(premerge, repo, wctx, mynode, orig, fcd, fco, fca,
   labels=labels)
 
 ahash = lfutil.readasstandin(fca).lower()



To: phillco, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel