histedit: don't swallow errors that happen when updating the working copy
authorMartin von Zweigbergk <martinvonz@google.com>
Fri, 18 Jun 2021 13:55:45 -0700
changeset 47435 e9fbf8fd5f33
parent 47434 5eb52edc08bd
child 47436 6ecd0980d7f9
histedit: don't swallow errors that happen when updating the working copy Commit 34165875fa5d (histedit: limit updated and merging output to important updates, 2016-02-03) added a call to `ui.pushbuffer(labeled=True, errors=True)`. I don't know if there was a reason for the `errors=True` (nor the `labeled=True` bit, which I removed in the previous commit). It seems bad to just discard the errors, so let's not do that. By not doing that, we can also remove a workaround for the lack of errors from `test-removeemptydirs.t`. Differential Revision: https://phab.mercurial-scm.org/D10882
hgext/histedit.py
tests/test-removeemptydirs.t
--- a/hgext/histedit.py	Fri Jun 18 13:44:05 2021 -0700
+++ b/hgext/histedit.py	Fri Jun 18 13:55:45 2021 -0700
@@ -575,7 +575,7 @@
         parentctx, but does not commit them."""
         repo = self.repo
         rulectx = repo[self.node]
-        repo.ui.pushbuffer(error=True)
+        repo.ui.pushbuffer()
         hg.update(repo, self.state.parentctxnode, quietempty=True)
         repo.ui.popbuffer()
         stats = applychanges(repo.ui, repo, rulectx, {})
--- a/tests/test-removeemptydirs.t	Fri Jun 18 13:44:05 2021 -0700
+++ b/tests/test-removeemptydirs.t	Fri Jun 18 13:55:45 2021 -0700
@@ -117,18 +117,9 @@
   > EOF
   $ cd $TESTTMP/hghistedit/somedir
   $ hg --config extensions.histedit= histedit -q --commands ../histedit_commands
+  current directory was removed
+  (consider changing to repo root: $TESTTMP/hghistedit)
 
-histedit doesn't output anything when the current diretory is removed. We rely
-on the tests being commonly run on machines where the current directory
-disappearing from underneath us actually has an observable effect, such as an
-error or no files listed
-#if linuxormacos
-  $ isfile foo
-  no
-#endif
-  $ cd $TESTTMP/hghistedit/somedir
-  $ isfile foo
-  yes
 
   $ cd $TESTTMP/hghistedit
   $ cat > histedit_commands <<EOF
@@ -181,6 +172,8 @@
   > pick ff70a87b588f 0 add foo
   > fold 9992bb0ac0db 2 add baz
   > EOF
+  current directory was removed
+  (consider changing to repo root: $TESTTMP/issue5826_withrm)
   abort: $ENOENT$
   [255]