Mercurial > hg-stable
changeset 38591:f068495a1c28
fix: add test case that shows why --whole with --base is useful
Differential Revision: https://phab.mercurial-scm.org/D3894
author | Danny Hooper <hooper@google.com> |
---|---|
date | Fri, 06 Jul 2018 12:47:02 -0700 |
parents | 91618801d5c3 |
children | be441eb65f09 |
files | hgext/fix.py tests/test-fix.t |
diffstat | 2 files changed, 29 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/fix.py Fri Jul 06 16:45:44 2018 -0700 +++ b/hgext/fix.py Fri Jul 06 12:47:02 2018 -0700 @@ -385,7 +385,9 @@ """Returns a map of the base contexts for each revision The base contexts determine which lines are considered modified when we - attempt to fix just the modified lines in a file. + attempt to fix just the modified lines in a file. It also determines which + files we attempt to fix, so it is important to compute this even when + --whole is used. """ # The --base flag overrides the usual logic, and we give every revision # exactly the set of baserevs that the user specified.
--- a/tests/test-fix.t Fri Jul 06 16:45:44 2018 -0700 +++ b/tests/test-fix.t Fri Jul 06 12:47:02 2018 -0700 @@ -1027,3 +1027,29 @@ $ cd .. +The --base flag affects the set of files being fixed. So while the --whole flag +makes the base irrelevant for changed line ranges, it still changes the +meaning and effect of the command. In this example, no files or lines are fixed +until we specify the base, but then we do fix unchanged lines. + + $ hg init basewhole + $ cd basewhole + $ printf "foo1\n" > foo.changed + $ hg commit -Aqm "first" + $ printf "foo2\n" >> foo.changed + $ printf "bar\n" > bar.changed + $ hg commit -Aqm "second" + + $ hg fix --working-dir --whole + $ cat *.changed + bar + foo1 + foo2 + + $ hg fix --working-dir --base 0 --whole + $ cat *.changed + BAR + FOO1 + FOO2 + + $ cd ..