##// END OF EJS Templates
localrepo: use the path relative to "self.vfs" instead of "path" argument...
localrepo: use the path relative to "self.vfs" instead of "path" argument As a part of migration to vfs, this patch uses "self.root", which can be recognized as the path relative to "self.vfs", instead of "path" argument. This fix allows to make invocations of "util.makedirs()" and "os.path.exists()" while ensuring repository directory in "localrepository.__init__()" ones indirectly via vfs. But this fix also raises issue 2528: "hg clone" with empty destination. "path" argument is empty in many cases, so this issue can't be fixed in the view of "localrepository.__init__()". Before this patch, it is fixed by empty-ness check ("not name") of exception handler in "util.makedirs()". try: os.mkdir(name) except OSError, err: if err.errno == errno.EEXIST: return if err.errno != errno.ENOENT or not name: raise This requires "localrepository.__init__()" to invoke "util.makedirs()" with "path" instead of "self.root", because empty "path" is treated as "current directory" and "self.root" becomes valid path. But "hg clone" with empty destination can be detected also in "hg.clone()" before "localrepository.__init__()" invocation, so this patch re-fixes issue2528 by checking it in "hg.clone()".

File last commit:

r16350:4f795f5f stable
r17159:36a30168 default
Show More
test-rebase-named-branches.t
243 lines | 4.0 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-named-branches.t
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 $ cat >> $HGRCPATH <<EOF
> [extensions]
> graphlog=
> rebase=
>
Pierre-Yves David
phases: prevent rebase to rebase immutable changeset.
r15742 > [phases]
> publish=False
>
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 > [alias]
> tglog = log -G --template "{rev}: '{desc}' {branches}\n"
> EOF
$ hg init a
$ cd a
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 $ hg unbundle "$TESTDIR/bundles/rebase.hg"
Nicolas Dumazet
tests: introduce a rebase bundle to use with rebase tests...
r14118 adding changesets
adding manifests
adding file changes
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 added 8 changesets with 7 changes to 7 files (+2 heads)
Nicolas Dumazet
tests: introduce a rebase bundle to use with rebase tests...
r14118 (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg up tip
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 $ cd ..
$ hg clone -q -u . a a1
$ cd a1
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 $ hg update 3
3 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ hg branch dev-one
marked working directory as branch dev-one
(branches are permanent and global, did you want a bookmark?)
$ hg ci -m 'dev-one named branch'
$ hg update 7
2 files updated, 0 files merged, 3 files removed, 0 files unresolved
$ hg branch dev-two
marked working directory as branch dev-two
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733
$ echo x > x
$ hg add x
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 $ hg ci -m 'dev-two named branch'
$ hg tglog
@ 9: 'dev-two named branch' dev-two
|
| o 8: 'dev-one named branch' dev-one
| |
o | 7: 'H'
| |
+---o 6: 'G'
| | |
o | | 5: 'F'
| | |
+---o 4: 'E'
| |
| o 3: 'D'
| |
| o 2: 'C'
| |
| o 1: 'B'
|/
o 0: 'A'
Branch name containing a dash (issue3181)
$ hg rebase -b dev-two -d dev-one --keepbranches
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/*-backup.hg (glob)
$ hg tglog
@ 9: 'dev-two named branch' dev-two
|
o 8: 'H'
|
| o 7: 'G'
|/|
o | 6: 'F'
| |
o | 5: 'dev-one named branch' dev-one
| |
| o 4: 'E'
| |
o | 3: 'D'
| |
o | 2: 'C'
| |
o | 1: 'B'
|/
o 0: 'A'
$ hg rebase -s dev-one -d 0 --keepbranches
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/*-backup.hg (glob)
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733
$ hg tglog
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 @ 8: 'dev-two named branch' dev-two
|
o 7: 'H'
|
| o 6: 'G'
|/|
o | 5: 'F'
| |
| o 4: 'E'
|/
| o 3: 'D'
| |
| o 2: 'C'
| |
| o 1: 'B'
|/
o 0: 'A'
$ hg update 3
3 files updated, 0 files merged, 3 files removed, 0 files unresolved
$ hg branch dev-one
marked working directory as branch dev-one
(branches are permanent and global, did you want a bookmark?)
$ hg ci -m 'dev-one named branch'
$ hg tglog
@ 9: 'dev-one named branch' dev-one
|
| o 8: 'dev-two named branch' dev-two
| |
| o 7: 'H'
| |
| | o 6: 'G'
| |/|
| o | 5: 'F'
| | |
| | o 4: 'E'
| |/
o | 3: 'D'
| |
o | 2: 'C'
| |
o | 1: 'B'
|/
o 0: 'A'
$ hg rebase -b 'max(branch("dev-two"))' -d dev-one --keepbranches
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/*-backup.hg (glob)
$ hg tglog
@ 9: 'dev-two named branch' dev-two
|
o 8: 'H'
|
| o 7: 'G'
|/|
o | 6: 'F'
| |
o | 5: 'dev-one named branch' dev-one
| |
| o 4: 'E'
| |
o | 3: 'D'
| |
o | 2: 'C'
| |
o | 1: 'B'
|/
o 0: 'A'
$ hg rebase -s 'max(branch("dev-one"))' -d 0 --keepbranches
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/*-backup.hg (glob)
$ hg tglog
@ 8: 'dev-two named branch' dev-two
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 o 7: 'H'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | o 6: 'G'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |/|
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 o | 5: 'F'
| |
| o 4: 'E'
|/
| o 3: 'D'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 | |
| o 2: 'C'
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | |
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 | o 1: 'B'
|/
o 0: 'A'
Nicolas Dumazet
tests: simplify test-rebase-named-branches...
r14120
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 Rebasing descendant onto ancestor across different named branches
Nicolas Dumazet
tests: simplify test-rebase-named-branches...
r14120
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 $ hg rebase -s 1 -d 8 --keepbranches
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/*-backup.hg (glob)
$ hg tglog
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 @ 8: 'D'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 o 7: 'C'
|
o 6: 'B'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 o 5: 'dev-two named branch' dev-two
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 |
o 4: 'H'
|
| o 3: 'G'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |/|
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 o | 2: 'F'
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | |
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 | o 1: 'E'
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 |/
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 o 0: 'A'
$ hg rebase -s 4 -d 5
abort: source is ancestor of destination
[255]
$ hg rebase -s 5 -d 4
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/*-backup.hg (glob)
$ hg tglog
@ 8: 'D'
|
o 7: 'C'
|
o 6: 'B'
|
Steven Brown
rebase: reinstate old-style rev spec support for the source and base (issue3181)...
r15800 o 5: 'dev-two named branch'
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 |
o 4: 'H'
|
| o 3: 'G'
|/|
o | 2: 'F'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 | |
Nicolas Dumazet
tests: move rebase-keep-branch into rebase-named-branches...
r14124 | o 1: 'E'
Stefano Tortarolo
rebase: allow for rebasing descendants onto ancestors on different named branches...
r13733 |/
o 0: 'A'
$ cd ..