Patchwork D11851: update: properly overwrite `check` config with `--no-` variants

login
register
mail settings
Submitter phabricator
Date Dec. 3, 2021, 2:10 p.m.
Message ID <differential-rev-PHID-DREV-b4bkjnlifrjikv3yovz3-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/50177/
State Superseded
Headers show

Comments

phabricator - Dec. 3, 2021, 2:10 p.m.
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  Before this change `--merge` override `commands.update.check=abort/noconflict`,
  and `--check` "override" `commands.update.check=none/linear`. However the
  `--no-merge` and `--no-check` version where not doing anything.
  
  The `--no-` two flags now behave properly.

REPOSITORY
  rHG Mercurial

BRANCH
  default

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

AFFECTED FILES
  mercurial/commands.py
  relnotes/next
  tests/test-update-branches.t

CHANGE DETAILS




To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel

Patch

diff --git a/tests/test-update-branches.t b/tests/test-update-branches.t
--- a/tests/test-update-branches.t
+++ b/tests/test-update-branches.t
@@ -226,6 +226,11 @@ 
   parent=2
   M foo
 
+  $ revtest '--merge none dirty linear' dirty 1 2 --no-check
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  parent=2
+  M foo
+
   $ revtest 'none dirty linear' dirty 1 2 --clean
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   parent=2
@@ -247,6 +252,11 @@ 
   parent=1
   M foo
 
+  $ revtest 'none dirty linear' dirty 1 2 --no-merge
+  abort: uncommitted changes
+  parent=1
+  M foo
+
   $ revtest 'none dirty linear' dirty 1 2 --clean
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   parent=2
diff --git a/relnotes/next b/relnotes/next
--- a/relnotes/next
+++ b/relnotes/next
@@ -11,6 +11,7 @@ 
 
 == Bug Fixes ==
 
+The `--no-check` and `--no-merge` now properly overwrite the behavior from `commands.update.check`.
 
 == Backwards Compatibility Changes ==
 
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -7832,9 +7832,9 @@ 
         raise error.InputError(_(b"you can't specify a revision and a date"))
 
     updatecheck = None
-    if check:
+    if check or merge is not None and not merge:
         updatecheck = b'abort'
-    elif merge:
+    elif merge or check is not None and not check:
         updatecheck = b'none'
 
     with repo.wlock():