2017-08-11 03:54:18 +03:00
|
|
|
#require p4
|
|
|
|
|
|
|
|
$ . $TESTDIR/p4setup.sh
|
|
|
|
|
2018-02-06 02:23:25 +03:00
|
|
|
$ p4 client -o hg-p4-import-narrow | sed '/^View:/,$ d' >p4client
|
|
|
|
$ echo "View:" >>p4client
|
|
|
|
$ echo " //depot/Main/Narrow/... //hg-p4-import-narrow/Main/Narrow/..." >>p4client
|
|
|
|
$ p4 client -i <p4client
|
|
|
|
Client hg-p4-import-narrow saved.
|
|
|
|
|
2017-08-11 03:54:18 +03:00
|
|
|
Populate the Depot
|
|
|
|
$ mkdir Main
|
2018-02-06 02:23:25 +03:00
|
|
|
$ mkdir Main/Narrow
|
|
|
|
$ echo a > Main/Narrow/a
|
|
|
|
$ echo b > Main/Narrow/b
|
2018-04-19 02:56:36 +03:00
|
|
|
$ ln -s a Main/Narrow/symlink
|
|
|
|
$ p4 add Main/Narrow/a Main/Narrow/b Main/Narrow/symlink
|
2018-02-06 02:23:25 +03:00
|
|
|
//depot/Main/Narrow/a#1 - opened for add
|
|
|
|
//depot/Main/Narrow/b#1 - opened for add
|
2018-04-19 02:56:36 +03:00
|
|
|
//depot/Main/Narrow/symlink#1 - opened for add
|
2017-08-11 03:54:18 +03:00
|
|
|
$ p4 submit -d initial
|
|
|
|
Submitting change 1.
|
2018-04-19 02:56:36 +03:00
|
|
|
Locking 3 files ...
|
2018-02-06 02:23:25 +03:00
|
|
|
add //depot/Main/Narrow/a#1
|
|
|
|
add //depot/Main/Narrow/b#1
|
2018-04-19 02:56:36 +03:00
|
|
|
add //depot/Main/Narrow/symlink#1
|
2017-08-11 03:54:18 +03:00
|
|
|
Change 1 submitted.
|
|
|
|
|
2018-02-06 02:23:25 +03:00
|
|
|
$ p4 edit Main/Narrow/a
|
|
|
|
//depot/Main/Narrow/a#1 - opened for edit
|
|
|
|
$ echo a >> Main/Narrow/a
|
2018-04-19 02:56:36 +03:00
|
|
|
$ p4 edit -t text+x Main/Narrow/b
|
|
|
|
//depot/Main/Narrow/b#1 - opened for edit
|
2017-08-11 03:54:18 +03:00
|
|
|
$ p4 submit -d second
|
|
|
|
Submitting change 2.
|
2018-04-19 02:56:36 +03:00
|
|
|
Locking 2 files ...
|
2018-02-06 02:23:25 +03:00
|
|
|
edit //depot/Main/Narrow/a#2
|
2018-04-19 02:56:36 +03:00
|
|
|
edit //depot/Main/Narrow/b#2
|
2017-08-11 03:54:18 +03:00
|
|
|
Change 2 submitted.
|
|
|
|
|
2018-02-06 02:23:25 +03:00
|
|
|
$ mkdir Main/Outside
|
|
|
|
$ echo a >> Main/Outside/a
|
|
|
|
$ p4 add Main/Outside/a
|
|
|
|
//depot/Main/Outside/a#1 - opened for add
|
|
|
|
$ p4 submit -d third
|
|
|
|
Submitting change 3.
|
|
|
|
Locking 1 files ...
|
|
|
|
add //depot/Main/Outside/a#1
|
|
|
|
Change 3 submitted.
|
|
|
|
|
|
|
|
$ p4 edit Main/Outside/a
|
|
|
|
//depot/Main/Outside/a#1 - opened for edit
|
|
|
|
$ echo a >> Main/Outside/a
|
|
|
|
$ p4 submit -d fourth
|
|
|
|
Submitting change 4.
|
|
|
|
Locking 1 files ...
|
|
|
|
edit //depot/Main/Outside/a#2
|
|
|
|
Change 4 submitted.
|
|
|
|
|
2018-04-19 02:56:36 +03:00
|
|
|
Seq Import
|
2017-08-11 03:54:18 +03:00
|
|
|
|
|
|
|
$ cd $hgwd
|
|
|
|
$ hg init --config 'format.usefncache=False'
|
2018-04-19 02:56:36 +03:00
|
|
|
$ hg p4seqimport --bookmark master -P $P4ROOT hg-p4-import-narrow
|
|
|
|
|
|
|
|
Verify
|
|
|
|
|
|
|
|
$ hg verify
|
|
|
|
checking changesets
|
|
|
|
checking manifests
|
|
|
|
crosschecking files in changesets and manifests
|
|
|
|
checking files
|
|
|
|
3 files, 2 changesets, 4 total revisions
|
2017-10-10 20:14:00 +03:00
|
|
|
|
|
|
|
Sync Import
|
|
|
|
|
2018-02-06 02:23:25 +03:00
|
|
|
$ hg p4syncimport --bookmark master --debug -P $P4ROOT hg-p4-import-narrow hg-p4-import
|
2017-08-11 03:54:18 +03:00
|
|
|
incremental import from changelist: 3, node: * (glob)
|
2018-02-06 02:23:25 +03:00
|
|
|
2 (current client) 4 (requested client) 2 (latest imported)
|
|
|
|
latest change list number 4
|
2018-04-27 17:59:33 +03:00
|
|
|
1 added files
|
|
|
|
0 removed files
|
2018-04-24 02:09:13 +03:00
|
|
|
committing files:
|
|
|
|
Main/Outside/a
|
|
|
|
file: //depot/Main/Outside/a, src: * (glob)
|
|
|
|
committing manifest
|
|
|
|
committing changelog
|
2017-08-11 03:54:18 +03:00
|
|
|
updating the branch cache
|
2017-10-10 20:14:00 +03:00
|
|
|
|
2018-04-24 02:09:13 +03:00
|
|
|
$ hg manifest -vr tip
|
|
|
|
644 Main/Narrow/a
|
|
|
|
755 * Main/Narrow/b
|
|
|
|
644 @ Main/Narrow/symlink
|
|
|
|
644 Main/Outside/a
|
|
|
|
|
|
|
|
$ hg log -r tip -T '{files}'
|
|
|
|
Main/Outside/a (no-eol)
|
|
|
|
$ hg log -r tip -T '{file_adds}'
|
|
|
|
Main/Outside/a (no-eol)
|
|
|
|
$ hg log -r tip -T '{file_dels}'
|
|
|
|
$ hg log -r tip -T '{file_mods}'
|
|
|
|
$ hg log -r tip -T '{file_copies}'
|
2017-10-12 03:49:48 +03:00
|
|
|
|
|
|
|
Verify
|
|
|
|
|
|
|
|
$ hg verify
|
|
|
|
checking changesets
|
|
|
|
checking manifests
|
|
|
|
crosschecking files in changesets and manifests
|
|
|
|
checking files
|
2018-04-19 02:56:36 +03:00
|
|
|
4 files, 3 changesets, 5 total revisions
|
2017-10-12 03:49:48 +03:00
|
|
|
|
|
|
|
$ hg update master
|
2018-04-19 02:56:36 +03:00
|
|
|
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
2018-02-06 02:23:25 +03:00
|
|
|
(activating bookmark master)
|
2017-10-10 20:14:00 +03:00
|
|
|
|
2018-04-19 21:44:32 +03:00
|
|
|
Seq Import after Sync Import
|
2017-10-10 20:14:00 +03:00
|
|
|
|
2018-04-19 02:56:36 +03:00
|
|
|
$ hg p4seqimport --bookmark master -P $P4ROOT hg-p4-import
|
2017-08-11 03:54:18 +03:00
|
|
|
|
2018-02-06 02:23:25 +03:00
|
|
|
Syncimport must abort if there are newer commits
|
2017-08-11 03:54:18 +03:00
|
|
|
|
2018-02-06 02:23:25 +03:00
|
|
|
$ cd $p4wd
|
|
|
|
$ p4 edit Main/Outside/a
|
|
|
|
//depot/Main/Outside/a#2 - opened for edit
|
|
|
|
$ echo a >> Main/Outside/a
|
|
|
|
$ p4 submit -d fifth
|
|
|
|
Submitting change 5.
|
|
|
|
Locking 1 files ...
|
|
|
|
edit //depot/Main/Outside/a#3
|
|
|
|
Change 5 submitted.
|
2017-08-11 03:54:18 +03:00
|
|
|
|
2018-02-06 02:23:25 +03:00
|
|
|
$ cd $hgwd
|
|
|
|
$ hg p4syncimport --bookmark master --debug -P $P4ROOT hg-p4-import-narrow hg-p4-import
|
|
|
|
incremental import from changelist: 5, node: * (glob)
|
|
|
|
2 (current client) 5 (requested client) 4 (latest imported)
|
|
|
|
abort: repository must contain most recent changes
|
|
|
|
[255]
|
|
|
|
|
|
|
|
Remove stuff
|
|
|
|
|
2018-04-19 21:44:32 +03:00
|
|
|
$ hg p4seqimport --bookmark master -P $P4ROOT hg-p4-import
|
2018-02-06 02:23:25 +03:00
|
|
|
$ hg p4syncimport --bookmark master --debug -P $P4ROOT hg-p4-import hg-p4-import-narrow
|
|
|
|
incremental import from changelist: 6, node: * (glob)
|
|
|
|
5 (current client) 2 (requested client) 5 (latest imported)
|
|
|
|
latest change list number 2
|
2018-04-27 17:59:33 +03:00
|
|
|
0 added files
|
|
|
|
1 removed files
|
2018-04-24 02:09:13 +03:00
|
|
|
committing files:
|
|
|
|
committing manifest
|
|
|
|
committing changelog
|
2018-02-06 02:23:25 +03:00
|
|
|
updating the branch cache
|
|
|
|
|
2018-04-24 02:09:13 +03:00
|
|
|
$ hg manifest -vr tip
|
|
|
|
644 Main/Narrow/a
|
|
|
|
755 * Main/Narrow/b
|
|
|
|
644 @ Main/Narrow/symlink
|
|
|
|
|
|
|
|
$ hg log -r tip -T '{files}'
|
|
|
|
Main/Outside/a (no-eol)
|
|
|
|
$ hg log -r tip -T '{file_adds}'
|
|
|
|
$ hg log -r tip -T '{file_dels}'
|
|
|
|
Main/Outside/a (no-eol)
|
|
|
|
$ hg log -r tip -T '{file_mods}'
|
|
|
|
$ hg log -r tip -T '{file_copies}'
|
|
|
|
|
|
|
|
Sync Import empty changes
|
|
|
|
$ cd $p4wd
|
|
|
|
$ p4 delete Main/Outside/a
|
|
|
|
//depot/Main/Outside/a#3 - opened for delete
|
|
|
|
$ p4 submit -d sixth
|
|
|
|
Submitting change 6.
|
|
|
|
Locking 1 files ...
|
|
|
|
delete //depot/Main/Outside/a#4
|
|
|
|
Change 6 submitted.
|
|
|
|
$ cd $hgwd
|
|
|
|
$ hg p4seqimport --bookmark master -P $P4ROOT hg-p4-import-narrow
|
|
|
|
$ hg p4syncimport --bookmark master -P $P4ROOT hg-p4-import-narrow hg-p4-import
|
|
|
|
nothing to import.
|
2017-08-11 03:54:18 +03:00
|
|
|
|
2017-08-11 03:54:18 +03:00
|
|
|
End Test
|
|
|
|
stopping the p4 server
|