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 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 ..