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