This revision was automatically updated to reflect the committed changes. Closed by commit rHG7b7ca9ba2de5: commands: don't violate storage abstractions in `manifest --all` (authored by indygreg, committed by ).
REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D3119?vs=7760&id=7844 REVISION DETAIL https://phab.mercurial-scm.org/D3119 AFFECTED FILES mercurial/commands.py tests/test-convert-git.t tests/test-manifest.t CHANGE DETAILS diff --git a/tests/test-manifest.t b/tests/test-manifest.t --- a/tests/test-manifest.t +++ b/tests/test-manifest.t @@ -68,9 +68,9 @@ l $ hg manifest --all - a (no-reposimplestore !) - b/a (no-reposimplestore !) - l (no-reposimplestore !) + a + b/a + l The next two calls are expected to abort: diff --git a/tests/test-convert-git.t b/tests/test-convert-git.t --- a/tests/test-convert-git.t +++ b/tests/test-convert-git.t @@ -878,7 +878,7 @@ $ hg convert -q git-repo6 no-submodules --config convert.git.skipsubmodules=True $ hg -R no-submodules manifest --all - .gitmodules-renamed (no-reposimplestore !) + .gitmodules-renamed convert using a different remote prefix $ git init git-repo7 diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -3491,19 +3491,13 @@ if rev or node: raise error.Abort(_("can't specify a revision with --all")) - res = [] - # TODO this is a massive layering violation. It assumes the repo is - # backed by revlogs with a well-defined naming scheme. - prefix = "data/" - suffix = ".i" - plen = len(prefix) - slen = len(suffix) - with repo.lock(): - for fn, b, size in repo.store.datafiles(): - if size != 0 and fn[-slen:] == suffix and fn[:plen] == prefix: - res.append(fn[plen:-slen]) + res = set() + for rev in repo: + ctx = repo[rev] + res |= set(ctx.files()) + ui.pager('manifest') - for f in res: + for f in sorted(res): fm.startitem() fm.write("path", '%s\n', f) fm.end() To: indygreg, #hg-reviewers, durin42 Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel