##// END OF EJS Templates
largefiles: unlink standins not known to the restored dirstate at rollback...
largefiles: unlink standins not known to the restored dirstate at rollback Before this patch, standinds not known to the restored dirstate at rollback still exist after rollback of the parent of the working directory, and they become orphans unexpectedly. This patch unlinks standins not known to the restored dirstate. This patch saves names of standins matched against not "repo.dirstate[f] == 'a'" but "repo.dirstate[f] != 'r'" before rollback, because branch merging marks files newly added to dirstate as not "a" but "n". Such standins will also become orphan after rollback, because they are not known to the restored dirstate.

File last commit:

r20598:e57e2da8 default
r22286:3f3b9483 default
Show More
test-convert-bzr.t
286 lines | 6.3 KiB | text/troff | Tads3Lexer
/ tests / test-convert-bzr.t
Matt Mackall
tests: unify test-convert-bzr
r12512 $ . "$TESTDIR/bzr-definitions"
create and rename on the same file in the same step
$ mkdir test-createandrename
$ cd test-createandrename
$ bzr init -q source
Patrick Mezard
convert/bzr: handle empty bzr repositories (issue3233)
r16061
test empty repo conversion (issue3233)
$ hg convert source source-hg
initializing destination source-hg repository
scanning source...
sorting...
converting...
back to the rename stuff
Matt Mackall
tests: unify test-convert-bzr
r12512 $ cd source
$ echo a > a
$ echo c > c
$ echo e > e
$ bzr add -q a c e
$ bzr commit -q -m 'Initial add: a, c, e'
$ bzr mv a b
a => b
$ bzr mv c d
c => d
$ bzr mv e f
e => f
$ echo a2 >> a
$ mkdir e
$ bzr add -q a e
$ bzr commit -q -m 'rename a into b, create a, rename c into d'
$ cd ..
$ hg convert source source-hg
scanning source...
sorting...
converting...
1 Initial add: a, c, e
0 rename a into b, create a, rename c into d
$ glog -R source-hg
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 o 1@source "rename a into b, create a, rename c into d" files: a b c d e f
Matt Mackall
tests: unify test-convert-bzr
r12512 |
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 o 0@source "Initial add: a, c, e" files: a c e
Matt Mackall
tests: unify test-convert-bzr
r12512
manifest
$ hg manifest -R source-hg -r tip
a
b
d
f
test --rev option
$ hg convert -r 1 source source-1-hg
initializing destination source-1-hg repository
scanning source...
sorting...
converting...
0 Initial add: a, c, e
$ glog -R source-1-hg
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 o 0@source "Initial add: a, c, e" files: a c e
Matt Mackall
tests: unify test-convert-bzr
r12512
test with filemap
$ cat > filemap <<EOF
> exclude a
> EOF
$ hg convert --filemap filemap source source-filemap-hg
initializing destination source-filemap-hg repository
scanning source...
sorting...
converting...
1 Initial add: a, c, e
0 rename a into b, create a, rename c into d
$ hg -R source-filemap-hg manifest -r tip
b
d
f
convert from lightweight checkout
$ bzr checkout --lightweight source source-light
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 $ hg convert -s bzr source-light source-light-hg
Matt Mackall
tests: unify test-convert-bzr
r12512 initializing destination source-light-hg repository
warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 $TESTTMP/test-createandrename/source-light does not look like a Bazaar repository
abort: source-light: missing or unsupported repository
[255]
Matt Mackall
tests: unify test-convert-bzr
r12512
extract timestamps that look just like hg's {date|isodate}:
yyyy-mm-dd HH:MM zzzz (no seconds!)
compare timestamps
$ cd source
$ bzr log | \
> sed '/timestamp/!d;s/.\{15\}\([0-9: -]\{16\}\):.. \(.[0-9]\{4\}\)/\1 \2/' \
> > ../bzr-timestamps
$ cd ..
$ hg -R source-hg log --template "{date|isodate}\n" > hg-timestamps
Danek Duvall
solaris: diff -u emits "No differences encountered"...
r20598 $ cmp bzr-timestamps hg-timestamps || diff -u bzr-timestamps hg-timestamps
Matt Mackall
tests: unify test-convert-bzr
r12512 $ cd ..
merge
$ mkdir test-merge
$ cd test-merge
$ cat > helper.py <<EOF
> import sys
> from bzrlib import workingtree
> wt = workingtree.WorkingTree.open('.')
>
> message, stamp = sys.argv[1:]
> wt.commit(message, timestamp=int(stamp))
> EOF
$ bzr init -q source
$ cd source
$ echo content > a
$ echo content2 > b
$ bzr add -q a b
$ bzr commit -q -m 'Initial add'
$ cd ..
$ bzr branch -q source source-improve
$ cd source
$ echo more >> a
$ python ../helper.py 'Editing a' 100
$ cd ../source-improve
$ echo content3 >> b
$ python ../helper.py 'Editing b' 200
$ cd ../source
$ bzr merge -q ../source-improve
$ bzr commit -q -m 'Merged improve branch'
$ cd ..
$ hg convert --datesort source source-hg
initializing destination source-hg repository
scanning source...
sorting...
converting...
3 Initial add
2 Editing a
1 Editing b
0 Merged improve branch
$ glog -R source-hg
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 o 3@source "Merged improve branch" files:
Matt Mackall
tests: unify test-convert-bzr
r12512 |\
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 | o 2@source-improve "Editing b" files: b
Matt Mackall
tests: unify test-convert-bzr
r12512 | |
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 o | 1@source "Editing a" files: a
Matt Mackall
tests: unify test-convert-bzr
r12512 |/
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 o 0@source "Initial add" files: a b
Matt Mackall
tests: unify test-convert-bzr
r12512
$ cd ..
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 #if symlink execbit
Matt Mackall
tests: unify test-convert-bzr
r12512 symlinks and executable files
$ mkdir test-symlinks
$ cd test-symlinks
$ bzr init -q source
$ cd source
$ touch program
$ chmod +x program
$ ln -s program altname
$ mkdir d
$ echo a > d/a
$ ln -s a syma
$ bzr add -q altname program syma d/a
$ bzr commit -q -m 'Initial setup'
$ touch newprog
$ chmod +x newprog
$ rm altname
$ ln -s newprog altname
$ chmod -x program
$ bzr add -q newprog
$ bzr commit -q -m 'Symlink changed, x bits changed'
$ cd ..
$ hg convert source source-hg
initializing destination source-hg repository
scanning source...
sorting...
converting...
1 Initial setup
0 Symlink changed, x bits changed
$ manifest source-hg 0
% manifest of 0
644 @ altname
644 d/a
755 * program
644 @ syma
$ manifest source-hg tip
% manifest of tip
644 @ altname
644 d/a
755 * newprog
644 program
644 @ syma
test the symlinks can be recreated
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 $ cd source-hg
Matt Mackall
tests: unify test-convert-bzr
r12512 $ hg up
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg cat syma; echo
a
Mads Kiilerich
tests: convert some 'hghave execbit' to #if...
r16899 $ cd ../..
#endif
Matt Mackall
tests: unify test-convert-bzr
r12512
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 Multiple branches
$ bzr init-repo -q --no-trees repo
$ bzr init -q repo/trunk
$ bzr co repo/trunk repo-trunk
$ cd repo-trunk
$ echo a > a
Thomas Arendsen Hein
convert/bzr: make tests work with bzr 2.0 again...
r17034 $ bzr add -q a
$ bzr ci -qm adda
Patrick Mezard
convert/bzr: test tags conversion
r16062 $ bzr tag trunk-tag
Created tag trunk-tag.
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 $ bzr switch -b branch
Tree is up to date at revision 1.
Switched to branch: *repo/branch/ (glob)
Mads Kiilerich
tests: make test-convert-bzr.t more stable...
r17097 $ sleep 1
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 $ echo b > b
Thomas Arendsen Hein
convert/bzr: make tests work with bzr 2.0 again...
r17034 $ bzr add -q b
$ bzr ci -qm addb
Patrick Mezard
convert/bzr: test tags conversion
r16062 $ bzr tag branch-tag
Created tag branch-tag.
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 $ bzr switch --force ../repo/trunk
Updated to revision 1.
Switched to branch: */repo/trunk/ (glob)
Mads Kiilerich
tests: make test-convert-bzr.t more stable...
r17097 $ sleep 1
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 $ echo a >> a
Thomas Arendsen Hein
convert/bzr: make tests work with bzr 2.0 again...
r17034 $ bzr ci -qm changea
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 $ cd ..
$ hg convert --datesort repo repo-bzr
initializing destination repo-bzr repository
scanning source...
sorting...
converting...
2 adda
1 addb
0 changea
Patrick Mezard
convert/bzr: test tags conversion
r16062 updating tags
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 $ (cd repo-bzr; glog)
Patrick Mezard
convert/bzr: test tags conversion
r16062 o 3@default "update tags" files: .hgtags
|
Patrick Mezard
convert/bzr: convert all branches (issue3229) (BC)...
r16060 o 2@default "changea" files: a
|
| o 1@branch "addb" files: b
|/
o 0@default "adda" files: a
Patrick Mezard
convert/bzr: test tags conversion
r16062
Test tags (converted identifiers are not stable because bzr ones are
not and get incorporated in extra fields).
$ hg -R repo-bzr tags
tip 3:* (glob)
branch-tag 1:* (glob)
trunk-tag 0:* (glob)
Patrick Mezard
convert/bzr: ignore nested repos when listing branches (issue3254)...
r16099
Nested repositories (issue3254)
$ bzr init-repo -q --no-trees repo/inner
$ bzr init -q repo/inner/trunk
$ bzr co repo/inner/trunk inner-trunk
$ cd inner-trunk
$ echo b > b
Thomas Arendsen Hein
convert/bzr: make tests work with bzr 2.0 again...
r17034 $ bzr add -q b
Patrick Mezard
convert/bzr: ignore nested repos when listing branches (issue3254)...
r16099 $ bzr ci -qm addb
$ cd ..
$ hg convert --datesort repo noinner-bzr
initializing destination noinner-bzr repository
scanning source...
sorting...
converting...
2 adda
1 addb
0 changea
updating tags