test-impexp-branch.t
83 lines
| 2.0 KiB
| text/troff
|
Tads3Lexer
/ tests / test-impexp-branch.t
Patrick Mezard
|
r16475 | $ echo '[extensions]' >> $HGRCPATH | ||
Martin Geisler
|
r20115 | $ echo 'strip =' >> $HGRCPATH | ||
Patrick Mezard
|
r16475 | |||
Nicolas Dumazet
|
r12119 | $ cat >findbranch.py <<EOF | ||
Augie Fackler
|
r33962 | > from __future__ import absolute_import | ||
> import re | ||||
> import sys | ||||
Nicolas Dumazet
|
r12119 | > | ||
> 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
|
r14126 | |||
Nicolas Dumazet
|
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
|
r15615 | (branches are permanent and global, did you want a bookmark?) | ||
Nicolas Dumazet
|
r12119 | $ echo "Rev 2" >rev | ||
$ hg commit -m "With branch." | ||||
Nicolas Dumazet
|
r14126 | |||
$ hg export 0 > ../r0.patch | ||||
$ hg export 1 > ../r1.patch | ||||
$ cd .. | ||||
Augie Fackler
|
r32940 | $ if $PYTHON findbranch.py < r0.patch; then | ||
Nicolas Dumazet
|
r12119 | > echo "Export of default branch revision has Branch header" 1>&2 | ||
> exit 1 | ||||
> fi | ||||
Nicolas Dumazet
|
r14126 | |||
Augie Fackler
|
r32940 | $ if $PYTHON findbranch.py < r1.patch; then | ||
Nicolas Dumazet
|
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
|
r14126 | $ hg import ../r0.patch | ||
applying ../r0.patch | ||||
$ hg import ../r1.patch | ||||
applying ../r1.patch | ||||
Nicolas Dumazet
|
r12119 | $ cd .. | ||
Nicolas Dumazet
|
r14126 | |||
$ hg init c | ||||
$ cd c | ||||
Matt Mackall
|
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
|
r14126 | $ hg import --exact ../r0.patch | ||
applying ../r0.patch | ||||
$ hg import --exact ../r1.patch | ||||
applying ../r1.patch | ||||
Patrick Mezard
|
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
|
r16913 | |||
$ cd .. | ||||