D6165: fix: allow fixing untracked files when given as arguments
hooper (Danny Hooper)
phabricator at mercurial-scm.org
Fri Mar 22 02:57:05 UTC 2019
hooper created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
It's more useful to fix the file than to silently avoid it when the user does
this:
hg fix --working-dir untracked-file
We will still do nothing to ignored files, even if they are specified. This may
be safer, given that such files can unexpectedly slip into the arguments via a
shell glob or fileset.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D6165
AFFECTED FILES
hgext/fix.py
tests/test-fix.t
CHANGE DETAILS
diff --git a/tests/test-fix.t b/tests/test-fix.t
--- a/tests/test-fix.t
+++ b/tests/test-fix.t
@@ -354,6 +354,10 @@
$ printf "modified!!!\n" > modified.whole
$ printf "added\n" > added.whole
+
+Listing the files explicitly causes untracked files to also be fixed, but
+ignored files are still unaffected.
+
$ hg fix --working-dir *.whole
$ hg status --all
@@ -366,13 +370,12 @@
I ignored.whole
C .hgignore
-It would be better if this also fixed the unknown file.
$ cat *.whole
ADDED
CLEAN
ignored
MODIFIED!!!
- unknown
+ UNKNOWN
$ cd ..
diff --git a/hgext/fix.py b/hgext/fix.py
--- a/hgext/fix.py
+++ b/hgext/fix.py
@@ -282,8 +282,6 @@
match = scmutil.match(fixctx, pats, opts)
for path in pathstofix(ui, repo, pats, opts, match, basectxs[rev],
fixctx):
- if path not in fixctx:
- continue
fctx = fixctx[path]
if fctx.islink():
continue
To: hooper, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list