Mercurial > hg
view tests/test-mq-qrename.t @ 46495:5aac1a1a5beb
tagcache: distinguish between invalid and missing entries
The TortoiseHg repo has typically not had a newly applied tag accessible by name
for recent releases, for unknown reasons. Deleting and rebuilding the tag cache
doesn't fix it, though deleting the cache and running `hg log -r $new_tag` does.
Eventually the situation does sort itself out for new clones from the server.
In an effort to figure out what the issue is, Pierre-Yves David suggested
listing these entries in the debug output more specifically.
This isn't complete yet- the second test change that says "missing" is more like
"invalid", since it was truncated. The problem there is the code that reads the
raw array truncates any partial records and then fills it with 0xFF, which
signifies that it is missing. As a side note, that means the check for the
length when validating an existing entry never fails.
Differential Revision: https://phab.mercurial-scm.org/D9811
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Thu, 24 Dec 2020 11:21:23 -0500 |
parents | 2963d5c9d90b |
children |
line wrap: on
line source
$ echo "[extensions]" >> $HGRCPATH $ echo "mq=" >> $HGRCPATH $ hg init a $ cd a $ echo 'base' > base $ hg ci -Ambase adding base $ hg qnew -mmqbase mqbase $ hg qrename mqbase renamed $ mkdir .hg/patches/foo $ hg qrename renamed foo $ hg qseries foo/renamed $ ls .hg/patches/foo renamed $ mkdir .hg/patches/bar $ hg qrename foo/renamed bar $ hg qseries bar/renamed $ ls .hg/patches/bar renamed $ hg qrename bar/renamed baz $ hg qseries baz $ ls .hg/patches/baz .hg/patches/baz $ hg qrename baz new/dir $ hg qseries new/dir $ ls .hg/patches/new/dir .hg/patches/new/dir $ cd .. Test patch being renamed before committed: $ hg init b $ cd b $ hg qinit -c $ hg qnew x $ hg qrename y $ hg qcommit -m rename $ cd .. Test overlapping renames (issue2388) $ hg init c $ cd c $ hg qinit -c $ echo a > a $ hg add adding a $ hg qnew patcha $ echo b > b $ hg add adding b $ hg qnew patchb $ hg ci --mq -m c1 $ hg qrename patchb patchc $ hg qrename patcha patchb $ hg st --mq M patchb M series A patchc R patcha $ cd .. Test renames with mq repo (issue2097) $ hg init issue2097 $ cd issue2097 $ hg qnew p0 $ (cd .hg/patches && hg init) $ hg qren p0 p1 $ hg debugstate --mq $ hg ci --mq -mq0 nothing changed [1] $ cd .. Test renaming to a folded patch (issue3058) $ hg init issue3058 $ cd issue3058 $ hg init --mq $ echo a > a $ hg add a $ hg qnew adda $ echo b >> a $ hg qnew addb $ hg qpop popping addb now at: adda $ hg ci --mq -m "save mq" $ hg qfold addb $ hg qmv addb $ cat .hg/patches/addb # HG changeset patch # Parent 0000000000000000000000000000000000000000 diff -r 000000000000 a --- /dev/null * (glob) +++ b/a * (glob) @@ -0,0 +1,2 @@ +a +b $ cd ..