Mercurial > hg
annotate tests/test-check-execute.t @ 31976:e0b6421b2fc5
obsolescence: add test for the "branch replacement" logic during push, case A3
Mercurial checks for the introduction of new heads on push. Evolution comes
into play to detect if existing branches on the server are being replaced by
some of the new one we push.
The current code for this logic is very basic (eg: issue4354) and was poorly
tested. We have a better implementation coming in the evolve extension fixing
these issues and with more serious tests coverage. In the process of upstreaming
this improved logic, we start with adding the test case that are already passing
with the current implementation. Once they are all in, we'll upstream the better
implementation and the extra test case.
See inline documentation for details about the test case added in this
changeset.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Thu, 13 Apr 2017 16:23:18 +0200 |
parents | 3c9066ed557c |
children | 6c113a7dec52 |
rev | line source |
---|---|
27569 | 1 #require test-repo execbit |
2 | |
29219
3c9066ed557c
tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents:
27569
diff
changeset
|
3 $ . "$TESTDIR/helpers-testrepo.sh" |
27569 | 4 $ cd "`dirname "$TESTDIR"`" |
5 | |
6 look for python scripts without the execute bit | |
7 | |
8 $ hg files 'set:**.py and not exec() and grep(r"^#!.*?python")' | |
9 [1] | |
10 | |
11 look for python scripts with execute bit but not shebang | |
12 | |
13 $ hg files 'set:**.py and exec() and not grep(r"^#!.*?python")' | |
14 [1] | |
15 | |
16 look for shell scripts with execute bit but not shebang | |
17 | |
18 $ hg files 'set:**.sh and exec() and not grep(r"^#!.*(ba)?sh")' | |
19 [1] | |
20 | |
21 look for non scripts with no shebang | |
22 | |
23 $ hg files 'set:exec() and not **.sh and not **.py and not grep(r"^#!")' | |
24 [1] |