Mercurial > hg
comparison tests/test-fix.t @ 44574:5205b46bd887
fix: add a -s option to format a revision and its descendants
`hg fix -r abc123` will format that commit but not its
descendants. That seems expected given the option name (`-r`), but
it's very rarely what the user wants to do. The problem is that any
descendants of that commit will not be formatted, leaving them as
orphans that are hard to evolve. They are hard to evolve because the
new parent will have formatting changes that the orphan doesn't have.
I talked to Danny Hooper (who wrote most of the fix extension) about
the problem and we agreed that deprecating `-r` in favor of a new `-s`
argument (mimicing rebase's `-s`) would be a good way of reducing the
risk that users end up with these hard-to-evolve orphans. So that's
what this patch implements.
Differential Revision: https://phab.mercurial-scm.org/D8287
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 13 Mar 2020 12:16:00 -0700 |
parents | 84a0102c05c7 |
children | a6ef1e8e2f6d |
comparison
equal
deleted
inserted
replaced
44573:9f5e94bbc606 | 44574:5205b46bd887 |
---|---|
102 | 102 |
103 (use 'hg help -e fix' to show help for the fix extension) | 103 (use 'hg help -e fix' to show help for the fix extension) |
104 | 104 |
105 options ([+] can be repeated): | 105 options ([+] can be repeated): |
106 | 106 |
107 --all fix all non-public non-obsolete revisions | 107 --all fix all non-public non-obsolete revisions |
108 --base REV [+] revisions to diff against (overrides automatic selection, | 108 --base REV [+] revisions to diff against (overrides automatic selection, |
109 and applies to every revision being fixed) | 109 and applies to every revision being fixed) |
110 -r --rev REV [+] revisions to fix | 110 -r --rev REV [+] revisions to fix |
111 -w --working-dir fix the working directory | 111 -s --source REV [+] fix the specified revisions and their descendants |
112 --whole always fix every line of a file | 112 -w --working-dir fix the working directory |
113 --whole always fix every line of a file | |
113 | 114 |
114 (some details hidden, use --verbose to show complete help) | 115 (some details hidden, use --verbose to show complete help) |
115 | 116 |
116 $ hg help -e fix | 117 $ hg help -e fix |
117 fix extension - rewrite file content in changesets or working copy | 118 fix extension - rewrite file content in changesets or working copy |