changeset 40578:db61a18148a4

merge with stable
author Yuya Nishihara <yuya@tcha.org>
date Sat, 10 Nov 2018 12:07:26 +0900
parents 157f0e29eaa3 (current diff) 6107d4549fcc (diff)
children aca09df32819
files mercurial/commands.py mercurial/ui.py tests/test-resolve.t
diffstat 5 files changed, 28 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py	Fri Nov 09 10:47:24 2018 -0800
+++ b/mercurial/commands.py	Sat Nov 10 12:07:26 2018 +0900
@@ -4959,7 +4959,7 @@
         if hasconflictmarkers:
             ui.warn(_('warning: the following files still have conflict '
                       'markers:\n  ') + '\n  '.join(hasconflictmarkers) + '\n')
-            if markcheck == 'abort' and not all:
+            if markcheck == 'abort' and not all and not pats:
                 raise error.Abort(_('conflict markers detected'),
                                   hint=_('use --all to mark anyway'))
 
--- a/mercurial/help/internals/config.txt	Fri Nov 09 10:47:24 2018 -0800
+++ b/mercurial/help/internals/config.txt	Sat Nov 10 12:07:26 2018 +0900
@@ -99,10 +99,11 @@
 then stay in use until compatibility with Mercurial 4.2 is dropped.
 
 As reminder, here are the default values for each config type:
-- config:      None
-- configbool:  False
-- configbytes: 0
-- configdate:  None
-- configint:   None
-- configlist:  []
-- configpath:  None
+
+    - config:      None
+    - configbool:  False
+    - configbytes: 0
+    - configdate:  None
+    - configint:   None
+    - configlist:  []
+    - configpath:  None
--- a/mercurial/hgweb/request.py	Fri Nov 09 10:47:24 2018 -0800
+++ b/mercurial/hgweb/request.py	Sat Nov 10 12:07:26 2018 +0900
@@ -540,6 +540,12 @@
             yield self._bodybytes
         elif self._bodygen:
             for chunk in self._bodygen:
+                # PEP-3333 says that output must be bytes. And some WSGI
+                # implementations enforce this. We cast bytes-like types here
+                # for convenience.
+                if isinstance(chunk, bytearray):
+                    chunk = bytes(chunk)
+
                 yield chunk
         elif self._bodywillwrite:
             self._bodywritefn = write
--- a/mercurial/ui.py	Fri Nov 09 10:47:24 2018 -0800
+++ b/mercurial/ui.py	Sat Nov 10 12:07:26 2018 +0900
@@ -67,9 +67,6 @@
 update.check = noconflict
 # Show conflicts information in `hg status`
 status.verbose = True
-# Refuse to perform `hg resolve --mark` on files that still have conflict
-# markers
-resolve.mark-check = abort
 
 [diff]
 git = 1
--- a/tests/test-resolve.t	Fri Nov 09 10:47:24 2018 -0800
+++ b/tests/test-resolve.t	Sat Nov 10 12:07:26 2018 +0900
@@ -445,6 +445,19 @@
   $ hg resolve -l
   R file1
   R file2
+Test with marking an explicit file as resolved, this should not abort (since
+there's no --force flag, we have no way of combining --all with a filename)
+  $ hg resolve --unmark
+  $ hg resolve -l
+  U file1
+  U file2
+(This downgrades to a warning since an explicit file was specified).
+  $ hg --config commands.resolve.mark-check=abort resolve -m file2
+  warning: the following files still have conflict markers:
+    file2
+  $ hg resolve -l
+  U file1
+  R file2
 Testing the --re-merge flag
   $ hg resolve --unmark file1
   $ hg resolve -l