##// END OF EJS Templates
convert: test for shell injection in git calls (SEC)...
convert: test for shell injection in git calls (SEC) CVE-2016-3069 (5/5) Before recent refactoring we were not escaping calls to git at all which made such injections possible. Let's have a test for that to avoid this problem in the future. Reported by Blake Burkhart.

File last commit:

r22485:efedda4a default
r28663:ae279d4a 3.7.3 stable
Show More
test-impexp-branch.t
81 lines | 1.9 KiB | text/troff | Tads3Lexer
/ tests / test-impexp-branch.t
Patrick Mezard
patch: be more tolerant with "Parent" header (issue3356)...
r16475 $ echo '[extensions]' >> $HGRCPATH
Martin Geisler
tests: use strip extension instead of mq where it makes sense...
r20115 $ echo 'strip =' >> $HGRCPATH
Patrick Mezard
patch: be more tolerant with "Parent" header (issue3356)...
r16475
Nicolas Dumazet
tests: unify test-impexp-branch
r12119 $ cat >findbranch.py <<EOF
> import re, sys
>
> head_re = re.compile('^#(?:(?:\\s+([A-Za-z][A-Za-z0-9_]*)(?:\\s.*)?)|(?:\\s*))$')
>
> for line in sys.stdin:
> hmatch = head_re.match(line)
> if not hmatch:
> sys.exit(1)
> if hmatch.group(1) == 'Branch':
> sys.exit(0)
> sys.exit(1)
> EOF
Nicolas Dumazet
tests: export patches only once in test-impexp-branch
r14126
Nicolas Dumazet
tests: unify test-impexp-branch
r12119 $ hg init a
$ cd a
$ echo "Rev 1" >rev
$ hg add rev
$ hg commit -m "No branch."
$ hg branch abranch
marked working directory as branch abranch
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Nicolas Dumazet
tests: unify test-impexp-branch
r12119 $ echo "Rev 2" >rev
$ hg commit -m "With branch."
Nicolas Dumazet
tests: export patches only once in test-impexp-branch
r14126
$ hg export 0 > ../r0.patch
$ hg export 1 > ../r1.patch
$ cd ..
$ if python findbranch.py < r0.patch; then
Nicolas Dumazet
tests: unify test-impexp-branch
r12119 > echo "Export of default branch revision has Branch header" 1>&2
> exit 1
> fi
Nicolas Dumazet
tests: export patches only once in test-impexp-branch
r14126
$ if python findbranch.py < r1.patch; then
Nicolas Dumazet
tests: unify test-impexp-branch
r12119 > : # Do nothing
> else
> echo "Export of branch revision is missing Branch header" 1>&2
> exit 1
> fi
Make sure import still works with branch information in patches.
$ hg init b
$ cd b
Nicolas Dumazet
tests: export patches only once in test-impexp-branch
r14126 $ hg import ../r0.patch
applying ../r0.patch
$ hg import ../r1.patch
applying ../r1.patch
Nicolas Dumazet
tests: unify test-impexp-branch
r12119 $ cd ..
Nicolas Dumazet
tests: export patches only once in test-impexp-branch
r14126
$ hg init c
$ cd c
Matt Mackall
import: let --exact 'work' with --no-commit (issue4376)
r22485 $ hg import --exact --no-commit ../r0.patch
applying ../r0.patch
warning: can't check exact import with --no-commit
$ hg st
A rev
$ hg revert -a
forgetting rev
$ rm rev
Nicolas Dumazet
tests: export patches only once in test-impexp-branch
r14126 $ hg import --exact ../r0.patch
applying ../r0.patch
$ hg import --exact ../r1.patch
applying ../r1.patch
Patrick Mezard
patch: be more tolerant with "Parent" header (issue3356)...
r16475
Test --exact and patch header separators (issue3356)
$ hg strip --no-backup .
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>>> import re
>>> p = file('../r1.patch', 'rb').read()
>>> p = re.sub(r'Parent\s+', 'Parent ', p)
>>> file('../r1-ws.patch', 'wb').write(p)
$ hg import --exact ../r1-ws.patch
applying ../r1-ws.patch
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..