Sat, 16 Nov 2013 15:46:29 -0500 tests: introduce test for rebasing on named branches with closed heads
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:46:29 -0500] rev 20251
tests: introduce test for rebasing on named branches with closed heads
Sat, 16 Nov 2013 15:46:29 -0500 rebase: remove old code for handling empty rebaseset
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:46:29 -0500] rev 20250
rebase: remove old code for handling empty rebaseset
Sun, 17 Nov 2013 18:21:58 -0500 rebase: improve error message for --base being empty or causing emptiness
Mads Kiilerich <madski@unity3d.com> [Sun, 17 Nov 2013 18:21:58 -0500] rev 20249
rebase: improve error message for --base being empty or causing emptiness Before it just said 'nothing to rebase'. Now 'if "base" is an empty set: abort: empty "base" revision set - can't compute rebase set If the set of changesets to rebase can't be found from "base", it will fail as before but with more explanation of what the problem was. The name of the "base" option is not obvious - it is more like "samples identifying the branch to rebase". The error messages for problems with the specified "base" value will use that term and might thus also not be obvious, but at least they are consistent with the option name. The name "base" will not be used if the base only was specified implicitly as the working directory parent.
Sun, 17 Nov 2013 18:21:58 -0500 rebase: improve error message for empty --source set
Mads Kiilerich <madski@unity3d.com> [Sun, 17 Nov 2013 18:21:58 -0500] rev 20248
rebase: improve error message for empty --source set Before, it just said 'nothing to rebase' in this case. Now, it aborts mentioning the reason: 'empty "source" revision set'. Specifying revisions that cannot be rebased is a 'soft' error, but specifying an empty set deserves an abort that explains exactly what the problem is.
Sat, 16 Nov 2013 15:46:29 -0500 rebase: improve error message for empty --rev set
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:46:29 -0500] rev 20247
rebase: improve error message for empty --rev set Before, it just said 'nothing to rebase' in this case. Now, it aborts mentioning the reason: 'empty "rev" revision set'. Specifying revisions that cannot be rebased is a 'soft' error, but specifying an empty set deserves an abort that explains exactly what the problem is.
Sun, 17 Nov 2013 18:21:58 -0500 rebase: test for empty dest revision
Mads Kiilerich <madski@unity3d.com> [Sun, 17 Nov 2013 18:21:58 -0500] rev 20246
rebase: test for empty dest revision
Thu, 21 Nov 2013 15:17:18 -0500 help: branch names primarily denote the tipmost unclosed branch head
Mads Kiilerich <madski@unity3d.com> [Thu, 21 Nov 2013 15:17:18 -0500] rev 20245
help: branch names primarily denote the tipmost unclosed branch head Was the behavior correct and the description wrong so it should be updated as in this patch? Or should the code work as the documentation says? Both ways could make some sense ... but none of them are obvious in all cases. One place where it currently cause problems is when the current revision has another branch head that is closer to tip but closed. 'hg rebase' refuses to rebase to that as it only see the tip-most unclosed branch head which is the current revision. /me kind of likes named branches, but no so much how branch closing works ...
Sun, 12 Jan 2014 23:28:21 +0100 util: introduce util.debugstacktrace for showing a stack trace without crashing
Mads Kiilerich <madski@unity3d.com> [Sun, 12 Jan 2014 23:28:21 +0100] rev 20244
util: introduce util.debugstacktrace for showing a stack trace without crashing This is often very handy when hacking/debugging. Calling util.debugstacktrace('hey') from a place in hg will give something like: hey at: ./hg:38 in <module> /home/user/hgsrc/mercurial/dispatch.py:28 in run /home/user/hgsrc/mercurial/dispatch.py:65 in dispatch /home/user/hgsrc/mercurial/dispatch.py:88 in _runcatch /home/user/hgsrc/mercurial/dispatch.py:740 in _dispatch /home/user/hgsrc/mercurial/dispatch.py:514 in runcommand /home/user/hgsrc/mercurial/dispatch.py:830 in _runcommand /home/user/hgsrc/mercurial/dispatch.py:801 in checkargs /home/user/hgsrc/mercurial/dispatch.py:737 in <lambda> /home/user/hgsrc/mercurial/util.py:472 in check ...
Tue, 07 Jan 2014 22:29:57 +0100 check-code: print debug output when an ignore pattern matches
Simon Heimberg <simohe@besonet.ch> [Tue, 07 Jan 2014 22:29:57 +0100] rev 20243
check-code: print debug output when an ignore pattern matches
Tue, 07 Jan 2014 22:29:51 +0100 check-code: drop now unused check-code-ignore
Simon Heimberg <simohe@besonet.ch> [Tue, 07 Jan 2014 22:29:51 +0100] rev 20242
check-code: drop now unused check-code-ignore Using check-code-ignore to skip the failures on a line has several disadvantages: * It skips all check-code failures on a line, not only the one it was created for. * It does not give any hint for which rule it was added, making it difficult to see when it is not needed anymore. So drop this pragma in favor of better alternatives promoted before.
Tue, 07 Jan 2014 22:29:44 +0100 check-code: explain what to do when a check-code rule mismatches
Simon Heimberg <simohe@besonet.ch> [Tue, 07 Jan 2014 22:29:44 +0100] rev 20241
check-code: explain what to do when a check-code rule mismatches In the past several approaches were used when a check-code rule triggered without a good reason. Not all of them looked nice, some were even wrong. Suggest some good practices which should be used instead.
Tue, 07 Jan 2014 22:29:39 +0100 cleanup: Remove the only ever used skip-check-code pragma
Simon Heimberg <simohe@besonet.ch> [Tue, 07 Jan 2014 22:29:39 +0100] rev 20240
cleanup: Remove the only ever used skip-check-code pragma Use the work-around suggested by the rule instead
Tue, 07 Jan 2014 22:29:15 +0100 check-code: always report when a file is skipped by "no-check-code"
Simon Heimberg <simohe@besonet.ch> [Tue, 07 Jan 2014 22:29:15 +0100] rev 20239
check-code: always report when a file is skipped by "no-check-code" Skipping an entire file generally from checking is an important event, so report it always. Do not tell the check name because skipping does not depend on it. Directly skip the entire file instead of checking more patterns and skip again. The pragma no-check-code was introduced by accident in the past. (Fixed in e033a7d444ac and ee07f9d142c9.) This now is prevented because the files to skip have to be listed in the test output of test-check-code-hg.t.
Tue, 07 Jan 2014 22:28:45 +0100 check-code: do not skip entire file, skip only one match instead
Simon Heimberg <simohe@besonet.ch> [Tue, 07 Jan 2014 22:28:45 +0100] rev 20238
check-code: do not skip entire file, skip only one match instead Skipping of the entire file has been introduced in bc3b48b0f5c8.
Sat, 16 Nov 2013 15:46:29 -0500 bisect: --command without --noupdate should flag the parent rev it tested
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:46:29 -0500] rev 20237
bisect: --command without --noupdate should flag the parent rev it tested 14913fcb30c6 not only introduced the 'bisect(current)' revset predicate, it also changed how the 'current' revision is used in combination with --command. The new behaviour might be ok for --noupdate where the working directory and its revision shouldn't be used, but it also did that when --command is used to run a command on the currently checked out revision then it could register the test result on the wrong revision. An example: Before, bisect with --command could use the wrong revision when recording the test result: $ hg up -qr 0 $ hg bisect --command "python \"$TESTTMP/script.py\" and some parameters" changeset 31:58c80a7c8a40: bad abort: inconsistent state, 31:58c80a7c8a40 is good and bad Now it works as before and as expected and uses the working directory revision for the --command result: $ hg up -qr 0 $ hg bisect --command "python \"$TESTTMP/script.py\" and some parameters" changeset 0:b99c7b9c8e11: bad ...
(0) -10000 -3000 -1000 -300 -100 -15 +15 +100 +300 +1000 +3000 +10000 +30000 tip