Mercurial > hg
view tests/test-rhg-sparse-narrow.t @ 49836:3d7bf111f01e stable
packaging: add dependencies to the PyOxidizer build on macOS
Otherwise, we get a bunch of test failures for missing things like pygments, or
tests skipped entirely. The input file is a copy/paste from the equivalent
Windows file, but with dulwich, pygit2, and pytest-vcr commented out because
the build process errors out with them, flagging them as incompatible with
loading from memory. I have no idea if that's actually true or not, because
I've noticed that if I don't `make clean` after every build, the next build
flags the watchman stuff as incompatible with loading from memory.
The remaining failures are:
Failed test-alias.t: output changed
Failed test-basic.t: output changed
Failed test-check-help.t: output changed
Failed test-commit-interactive.t: output changed
Failed test-extension.t: output changed
Failed test-help.t: output changed
Failed test-i18n.t: output changed
Failed test-log.t: output changed
Failed test-qrecord.t: output changed
Failed test-share-safe.t: output changed
Most of the issues seem related to loading help for disabled extensions from
`hgext.__index__`, namely the full extension help being unavailable, not being
able to resolve what commands are provided by what extension, and not having the
command level help available.
test-log.t, test-commit-interactive.t, and test-i18n.t look like i18n (or lack
thereof) issues.
test-basic.t is just odd:
@@ -55,7 +55,7 @@
On Python 3, stdio may be None:
$ hg debuguiprompt --config ui.interactive=true 0<&-
- abort: Bad file descriptor (no-rhg !)
+ abort: response expected
abort: response expected (rhg !)
[255]
$ hg version -q 0<&-
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 06 Dec 2022 17:12:59 -0500 |
parents | 7c93e38a0bbd |
children | 2f2682f40ea0 |
line wrap: on
line source
#require rhg $ NO_FALLBACK="env RHG_ON_UNSUPPORTED=abort" Rhg works well when sparse working copy is enabled. $ cd "$TESTTMP" $ hg init repo-sparse $ cd repo-sparse $ cat > .hg/hgrc <<EOF > [extensions] > sparse= > EOF $ echo a > show $ echo x > hide $ mkdir dir1 dir2 $ echo x > dir1/x $ echo y > dir1/y $ echo z > dir2/z $ hg ci -Aqm 'initial' $ hg debugsparse --include 'show' $ ls -A .hg show $ tip=$(hg log -r . --template '{node}') $ $NO_FALLBACK rhg files -r "$tip" dir1/x dir1/y dir2/z hide show $ $NO_FALLBACK rhg files show $ $NO_FALLBACK rhg cat -r "$tip" hide x $ cd .. We support most things when narrow is enabled, too, with a couple of caveats. $ . "$TESTDIR/narrow-library.sh" $ real_hg=$RHG_FALLBACK_EXECUTABLE $ cat >> $HGRCPATH <<EOF > [extensions] > narrow= > EOF $ hg clone --narrow ./repo-sparse repo-narrow --include dir1 requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 2 changes to 2 files new changesets 6d714a4a2998 updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd repo-narrow $ $NO_FALLBACK rhg cat -r "$tip" dir1/x x $ "$real_hg" cat -r "$tip" dir1/x x TODO: bad error message $ $NO_FALLBACK rhg cat -r "$tip" hide abort: invalid revision identifier: 6d714a4a2998cbfd0620db44da58b749f6565d63 [255] $ "$real_hg" cat -r "$tip" hide [1] A naive implementation of [rhg files] leaks the paths that are supposed to be hidden by narrow, so we just fall back to hg. $ $NO_FALLBACK rhg files -r "$tip" unsupported feature: rhg files -r <rev> is not supported in narrow clones [252] $ "$real_hg" files -r "$tip" dir1/x dir1/y Hg status needs to do some filtering based on narrow spec $ mkdir dir2 $ touch dir2/q $ "$real_hg" status $ $NO_FALLBACK rhg --config rhg.status=true status Adding "orphaned" index files: $ (cd ..; cp repo-sparse/.hg/store/data/hide.i repo-narrow/.hg/store/data/hide.i) $ (cd ..; mkdir repo-narrow/.hg/store/data/dir2; cp repo-sparse/.hg/store/data/dir2/z.i repo-narrow/.hg/store/data/dir2/z.i) $ "$real_hg" verify checking changesets checking manifests crosschecking files in changesets and manifests checking files checked 1 changesets with 2 changes to 2 files $ "$real_hg" files -r "$tip" dir1/x dir1/y # TODO: even though [hg files] hides the orphaned dir2/z, [hg cat] still shows it. # rhg has the same issue, but at least it's not specific to rhg. # This is despite [hg verify] succeeding above. $ $NO_FALLBACK rhg cat -r "$tip" dir2/z z $ "$real_hg" cat -r "$tip" dir2/z z