##// END OF EJS Templates
phabricator: warn if unable to amend, instead of aborting after posting...
phabricator: warn if unable to amend, instead of aborting after posting There was a divergence in behavior here between obsolete and strip based amending. I first noticed the abort when testing outside of the test harness, but then had trouble recreating it here after reverting the code changes. It turns out, strip based amend was successfully amending the public commit after it was posted! It looks like the protection is in the `commit --amend` command, not in the underlying code that it calls. I considered doing a preflight check and aborting. But the locks are only acquired at the end, if amending, and this is too large a section of code to be wrapped in a maybe-it's-held-or-not context manager for my tastes. Additionally, some people do post-push reviews, and amending is the default behavior, so they shouldn't see a misleading error message. The lack of a 'Differential Revision' entry in the commit message breaks a {phabreview} test, so it had to be partially conditionalized.

File last commit:

r41028:1de33643 default
r41198:0101a35d default
Show More
test-obsolete-tag-cache.t
122 lines | 4.6 KiB | text/troff | Tads3Lexer
/ tests / test-obsolete-tag-cache.t
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 $ cat >> $HGRCPATH << EOF
> [extensions]
Gregory Szorc
tags: change format of tags cache files...
r24760 > blackbox=
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 > rebase=
Gregory Szorc
tags: change format of tags cache files...
r24760 > mock=$TESTDIR/mockblackbox.py
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 >
Yuya Nishihara
tests: filter out uninteresting log events...
r41028 > [blackbox]
> track = command, commandfinish, tagscache
>
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 > [experimental]
Boris Feld
config: use 'experimental.evolution.create-markers'...
r34867 > evolution.createmarkers=True
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 > EOF
Create a repo with some tags
$ hg init repo
$ cd repo
$ echo initial > foo
$ hg -q commit -A -m initial
$ hg tag -m 'test tag' test1
$ echo first > first
$ hg -q commit -A -m first
$ hg tag -m 'test2 tag' test2
$ hg -q up -r 0
$ echo newhead > newhead
$ hg commit -A -m newhead
adding newhead
created new head
Gregory Szorc
tags: change format of tags cache files...
r24760 $ hg tag -m 'test head 2 tag' head2
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144
$ hg log -G -T '{rev}:{node|short} {tags} {desc}\n'
Gregory Szorc
tags: change format of tags cache files...
r24760 @ 5:2942a772f72a tip test head 2 tag
|
o 4:042eb6bfcc49 head2 newhead
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 |
| o 3:c3cb30f2d2cd test2 tag
| |
| o 2:d75775ffbc6b test2 first
| |
| o 1:5f97d42da03f test tag
|/
o 0:55482a6fb4b1 test1 initial
Gregory Szorc
tags: change format of tags cache files...
r24760 Trigger tags cache population by doing something that accesses tags info
$ hg tags
tip 5:2942a772f72a
head2 4:042eb6bfcc49
test2 2:d75775ffbc6b
test1 0:55482a6fb4b1
Gregory Szorc
tags: write a separate tags cache file for unfiltered repos...
r24762 $ cat .hg/cache/tags2-visible
Gregory Szorc
tags: change format of tags cache files...
r24760 5 2942a772f72a444bef4bef13874d515f50fa27b6
042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1
d75775ffbc6bca1794d300f5571272879bd280da test2
Gregory Szorc
tags: change format of tags cache files...
r24760 Hiding a non-tip changeset should change filtered hash and cause tags recompute
$ hg debugobsolete -d '0 0' c3cb30f2d2cd0aae008cc91a07876e3c5131fd22 -u dummyuser
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144
Gregory Szorc
tags: change format of tags cache files...
r24760 $ hg tags
tip 5:2942a772f72a
head2 4:042eb6bfcc49
test1 0:55482a6fb4b1
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144
Gregory Szorc
tags: write a separate tags cache file for unfiltered repos...
r24762 $ cat .hg/cache/tags2-visible
Gregory Szorc
tags: change format of tags cache files...
r24760 5 2942a772f72a444bef4bef13874d515f50fa27b6 f34fbc9a9769ba9eff5aff3d008a6b49f85c08b1
042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144 55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1
Gregory Szorc
tags: change format of tags cache files...
r24760
timeless
blackbox: flush output file descriptor...
r28025 $ hg blackbox -l 5
timeless
blackbox: log working directory version...
r28245 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> tags
1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> 2/2 cache hits/lookups in * seconds (glob)
1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> writing .hg/cache/tags2-visible with 2 tags
timeless
blackbox: store the blackbox ui object instead of the log file...
r28247 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> tags exited 0 after * seconds (glob)
timeless
blackbox: log working directory version...
r28245 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> blackbox -l 5
Gregory Szorc
tags: change format of tags cache files...
r24760
Hiding another changeset should cause the filtered hash to change
$ hg debugobsolete -d '0 0' d75775ffbc6bca1794d300f5571272879bd280da -u dummyuser
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Gregory Szorc
tags: change format of tags cache files...
r24760 $ hg debugobsolete -d '0 0' 5f97d42da03fd56f3b228b03dfe48af5c0adf75b -u dummyuser
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Gregory Szorc
tests: add test showing tags cache drops filtered heads (issue4550)...
r24144
Gregory Szorc
tags: change format of tags cache files...
r24760 $ hg tags
tip 5:2942a772f72a
head2 4:042eb6bfcc49
Gregory Szorc
tags: write a separate tags cache file for unfiltered repos...
r24762 $ cat .hg/cache/tags2-visible
Gregory Szorc
tags: change format of tags cache files...
r24760 5 2942a772f72a444bef4bef13874d515f50fa27b6 2fce1eec33263d08a4d04293960fc73a555230e4
042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
timeless
blackbox: flush output file descriptor...
r28025 $ hg blackbox -l 5
timeless
blackbox: log working directory version...
r28245 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> tags
1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> 1/1 cache hits/lookups in * seconds (glob)
1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> writing .hg/cache/tags2-visible with 1 tags
timeless
blackbox: store the blackbox ui object instead of the log file...
r28247 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> tags exited 0 after * seconds (glob)
timeless
blackbox: log working directory version...
r28245 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> blackbox -l 5
Gregory Szorc
tags: write a separate tags cache file for unfiltered repos...
r24762
Resolving tags on an unfiltered repo writes a separate tags cache
$ hg --hidden tags
tip 5:2942a772f72a
head2 4:042eb6bfcc49
test2 2:d75775ffbc6b
test1 0:55482a6fb4b1
$ cat .hg/cache/tags2
5 2942a772f72a444bef4bef13874d515f50fa27b6
042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2
55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1
d75775ffbc6bca1794d300f5571272879bd280da test2
timeless
blackbox: flush output file descriptor...
r28025 $ hg blackbox -l 5
timeless
blackbox: log working directory version...
r28245 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> --hidden tags
1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> 2/2 cache hits/lookups in * seconds (glob)
1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> writing .hg/cache/tags2 with 3 tags
timeless
blackbox: store the blackbox ui object instead of the log file...
r28247 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> --hidden tags exited 0 after * seconds (glob)
timeless
blackbox: log working directory version...
r28245 1970/01/01 00:00:00 bob @2942a772f72a444bef4bef13874d515f50fa27b6 (5000)> blackbox -l 5