mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 17:27:53 +03:00
4d4d90928f
Summary: just to excersise our RocksDb blobstore which might come in handy more often than file based as it should be more efficient Reviewed By: StanislavGlebik Differential Revision: D7290069 fbshipit-source-id: ce776cfa14e43dc45cca796ef187655ba665d177
463 lines
13 KiB
Perl
463 lines
13 KiB
Perl
$ . $TESTDIR/library.sh
|
|
|
|
setup configuration
|
|
|
|
$ setup_common_config
|
|
|
|
$ cd $TESTTMP
|
|
|
|
setup repo
|
|
|
|
$ hginit_treemanifest repo-hg
|
|
$ cd repo-hg
|
|
$ echo "a file content" > a
|
|
$ hg add a
|
|
$ hg ci -ma
|
|
$ hg log
|
|
changeset: 0:0e7ec5675652
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: a
|
|
|
|
|
|
$ cd $TESTTMP
|
|
$ blobimport repo-hg repo
|
|
|
|
setup two repos: one will be used to push from, another will be used
|
|
to pull these pushed commits
|
|
|
|
$ hgclone_treemanifest ssh://user@dummy/repo-hg repo2
|
|
$ hgclone_treemanifest ssh://user@dummy/repo-hg repo3
|
|
$ cd repo2
|
|
$ hg pull ../repo-hg
|
|
pulling from ../repo-hg
|
|
searching for changes
|
|
no changes found
|
|
|
|
start mononoke
|
|
|
|
$ mononoke -P $TESTTMP/mononoke-config -B test-config
|
|
$ wait_for_mononoke $TESTTMP/repo
|
|
|
|
create new commits in repo2 and check that they are seen as outgoing
|
|
|
|
$ mkdir b_dir
|
|
$ echo "new a file content" > a
|
|
$ echo "b file content" > b_dir/b
|
|
$ hg add b_dir/b
|
|
$ hg ci -mb
|
|
|
|
$ echo "updated b file content" > b_dir/b
|
|
$ mkdir c_dir
|
|
$ echo "c file content" > c_dir/c
|
|
$ hg add c_dir/c
|
|
$ hg ci -mc
|
|
|
|
create a commit that makes identical change to file b
|
|
|
|
$ hg update '.^'
|
|
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
|
|
$ echo "updated b file content" > b_dir/b
|
|
$ mkdir d_dir
|
|
$ echo "d file content" > d_dir/d
|
|
$ hg add d_dir/d
|
|
$ hg ci -md
|
|
|
|
create a commit that reverts files a and b to older version
|
|
|
|
$ echo "a file content" > a
|
|
$ echo "b file content" > b_dir/b
|
|
$ hg ci -me
|
|
|
|
create a commit that sets content of some files to content of other files
|
|
|
|
$ echo "b file content" > a
|
|
$ echo "a file content" > b_dir/b
|
|
$ mkdir c_dir
|
|
$ echo "a file content" > c_dir/c
|
|
$ hg add c_dir/c
|
|
$ echo "b file content" > d_dir/d
|
|
$ hg ci -mf
|
|
|
|
create a commit that renames, copy and deletes some files
|
|
|
|
$ hg rm b_dir/b
|
|
$ hg mv a b_dir/b
|
|
$ mkdir e_dir
|
|
$ hg mv c_dir/c e_dir/e
|
|
$ mkdir a_dir
|
|
$ hg mv d_dir/d a_dir/a
|
|
$ echo "a file content" > a_dir/a
|
|
$ hg cp a_dir/a b_dir/a_bis
|
|
$ hg ci -mg
|
|
|
|
$ hg sl --all -r "all()" --stat
|
|
@ changeset: 6:634de738bb0f
|
|
| tag: tip
|
|
| user: test
|
|
| date: Thu Jan 01 00:00:00 1970 +0000
|
|
| summary: g
|
|
|
|
|
| a | 1 -
|
|
| a_dir/a | 1 +
|
|
| b_dir/a_bis | 1 +
|
|
| b_dir/b | 2 +-
|
|
| c_dir/c | 1 -
|
|
| d_dir/d | 1 -
|
|
| e_dir/e | 1 +
|
|
| 7 files changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
|
o changeset: 5:8315ea53ef41
|
|
| user: test
|
|
| date: Thu Jan 01 00:00:00 1970 +0000
|
|
| summary: f
|
|
|
|
|
| a | 2 +-
|
|
| b_dir/b | 2 +-
|
|
| c_dir/c | 1 +
|
|
| d_dir/d | 2 +-
|
|
| 4 files changed, 4 insertions(+), 3 deletions(-)
|
|
|
|
|
o changeset: 4:30da5bf63484
|
|
| user: test
|
|
| date: Thu Jan 01 00:00:00 1970 +0000
|
|
| summary: e
|
|
|
|
|
| a | 2 +-
|
|
| b_dir/b | 2 +-
|
|
| 2 files changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
|
o changeset: 3:fbd6b221382e
|
|
| parent: 1:bb0985934a0f
|
|
| user: test
|
|
| date: Thu Jan 01 00:00:00 1970 +0000
|
|
| summary: d
|
|
|
|
|
| b_dir/b | 2 +-
|
|
| d_dir/d | 1 +
|
|
| 2 files changed, 2 insertions(+), 1 deletions(-)
|
|
|
|
|
| o changeset: 2:f40c09205504
|
|
|/ user: test
|
|
| date: Thu Jan 01 00:00:00 1970 +0000
|
|
| summary: c
|
|
|
|
|
| b_dir/b | 2 +-
|
|
| c_dir/c | 1 +
|
|
| 2 files changed, 2 insertions(+), 1 deletions(-)
|
|
|
|
|
o changeset: 1:bb0985934a0f
|
|
| user: test
|
|
| date: Thu Jan 01 00:00:00 1970 +0000
|
|
| summary: b
|
|
|
|
|
| a | 2 +-
|
|
| b_dir/b | 1 +
|
|
| 2 files changed, 2 insertions(+), 1 deletions(-)
|
|
|
|
|
o changeset: 0:0e7ec5675652
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: a
|
|
|
|
a | 1 +
|
|
1 files changed, 1 insertions(+), 0 deletions(-)
|
|
|
|
|
|
$ hgmn outgoing ssh://user@dummy/repo
|
|
comparing with ssh://user@dummy/repo
|
|
searching for changes
|
|
changeset: 1:bb0985934a0f
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: b
|
|
|
|
changeset: 2:f40c09205504
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: c
|
|
|
|
changeset: 3:fbd6b221382e
|
|
parent: 1:bb0985934a0f
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: d
|
|
|
|
changeset: 4:30da5bf63484
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: e
|
|
|
|
changeset: 5:8315ea53ef41
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: f
|
|
|
|
changeset: 6:634de738bb0f
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: g
|
|
|
|
|
|
push to Mononoke
|
|
|
|
$ hgmn push --force --config treemanifest.treeonly=True --debug ssh://user@dummy/repo
|
|
pushing to ssh://user@dummy/repo
|
|
running *scm/mononoke/tests/integration/dummyssh.par 'user@dummy' ''\''*scm/mononoke/hgcli/hgcli#binary/hgcli'\'' -R repo serve --stdio' (glob)
|
|
sending hello command
|
|
sending between command
|
|
remote: * (glob)
|
|
remote: capabilities: lookup known getbundle unbundle=HG10GZ,HG10BZ,HG10UN gettreepack remotefilelog bundle2=* (glob)
|
|
remote: 1
|
|
query 1; heads
|
|
sending batch command
|
|
searching for changes
|
|
all remote heads known locally
|
|
checking for updated bookmarks
|
|
6 changesets found
|
|
list of changesets:
|
|
bb0985934a0f8a493887892173b68940ceb40b4f
|
|
f40c09205504d8410f8c8679bf7a85fef25f9337
|
|
fbd6b221382efa5d5bc53130cdaccf06e04c97d3
|
|
30da5bf63484d2d6572edafb3ea211c17cd8c005
|
|
8315ea53ef41d34f56232c88669cc80225b6e66d
|
|
634de738bb0ff135e32d48567718fb9d7dedf575
|
|
sending unbundle command
|
|
bundle2-output-bundle: "HG20", 3 parts total
|
|
bundle2-output-part: "replycaps" 196 bytes payload
|
|
bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
|
|
bundle2-output-part: "b2x:treegroup2" (params: 3 mandatory) streamed payload
|
|
bundle2-input-bundle: 1 params no-transaction
|
|
bundle2-input-part: "reply:changegroup" (params: 2 mandatory) supported
|
|
bundle2-input-bundle: 0 parts total
|
|
|
|
Now pull what was just pushed TODO(T25252425) make this work
|
|
|
|
$ cd ../repo3
|
|
$ hgmn sl --all -r "all()" --stat
|
|
@ changeset: 0:0e7ec5675652
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: a
|
|
|
|
a | 1 +
|
|
1 files changed, 1 insertions(+), 0 deletions(-)
|
|
|
|
$ hgmn pull -q
|
|
|
|
Because the revision numbers are assigned nondeterministically we cannot
|
|
compare output of the entire tree. Instead we compare only linear histories
|
|
|
|
$ hgmn log --graph --template '{node}' -r "::f40c09205504"
|
|
o f40c09205504d8410f8c8679bf7a85fef25f9337
|
|
|
|
|
o bb0985934a0f8a493887892173b68940ceb40b4f
|
|
|
|
|
@ 0e7ec5675652a04069cbf976a42e45b740f3243c
|
|
|
|
$ hgmn log --graph --template '{node}' -r "::634de738bb0f"
|
|
o 634de738bb0ff135e32d48567718fb9d7dedf575
|
|
|
|
|
o 8315ea53ef41d34f56232c88669cc80225b6e66d
|
|
|
|
|
o 30da5bf63484d2d6572edafb3ea211c17cd8c005
|
|
|
|
|
o fbd6b221382efa5d5bc53130cdaccf06e04c97d3
|
|
|
|
|
o bb0985934a0f8a493887892173b68940ceb40b4f
|
|
|
|
|
@ 0e7ec5675652a04069cbf976a42e45b740f3243c
|
|
|
|
|
|
$ for commit in `hg log --template '{node} ' -r '0e7ec567::634de738'` f40c09205504d8410f8c8679bf7a85fef25f9337; do \
|
|
$ if [ "`hg export -R $TESTTMP/repo2 ${commit}`" == "`hgmn export ${commit}`" ]; then echo "${commit} comparison SUCCESS"; fi; hgmn export ${commit}; echo; echo; done
|
|
0e7ec5675652a04069cbf976a42e45b740f3243c comparison SUCCESS
|
|
# HG changeset patch
|
|
# User test
|
|
# Date 0 0
|
|
# Thu Jan 01 00:00:00 1970 +0000
|
|
# Node ID 0e7ec5675652a04069cbf976a42e45b740f3243c
|
|
# Parent 0000000000000000000000000000000000000000
|
|
a
|
|
|
|
diff -r 000000000000 -r 0e7ec5675652 a
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/a Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -0,0 +1,1 @@
|
|
+a file content
|
|
|
|
|
|
bb0985934a0f8a493887892173b68940ceb40b4f comparison SUCCESS
|
|
# HG changeset patch
|
|
# User test
|
|
# Date 0 0
|
|
# Thu Jan 01 00:00:00 1970 +0000
|
|
# Node ID bb0985934a0f8a493887892173b68940ceb40b4f
|
|
# Parent 0e7ec5675652a04069cbf976a42e45b740f3243c
|
|
b
|
|
|
|
diff -r 0e7ec5675652 -r bb0985934a0f a
|
|
--- a/a Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/a Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -1,1 +1,1 @@
|
|
-a file content
|
|
+new a file content
|
|
diff -r 0e7ec5675652 -r bb0985934a0f b_dir/b
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/b_dir/b Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -0,0 +1,1 @@
|
|
+b file content
|
|
|
|
|
|
fbd6b221382efa5d5bc53130cdaccf06e04c97d3 comparison SUCCESS
|
|
# HG changeset patch
|
|
# User test
|
|
# Date 0 0
|
|
# Thu Jan 01 00:00:00 1970 +0000
|
|
# Node ID fbd6b221382efa5d5bc53130cdaccf06e04c97d3
|
|
# Parent bb0985934a0f8a493887892173b68940ceb40b4f
|
|
d
|
|
|
|
diff -r bb0985934a0f -r fbd6b221382e b_dir/b
|
|
--- a/b_dir/b Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/b_dir/b Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -1,1 +1,1 @@
|
|
-b file content
|
|
+updated b file content
|
|
diff -r bb0985934a0f -r fbd6b221382e d_dir/d
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/d_dir/d Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -0,0 +1,1 @@
|
|
+d file content
|
|
|
|
|
|
30da5bf63484d2d6572edafb3ea211c17cd8c005 comparison SUCCESS
|
|
# HG changeset patch
|
|
# User test
|
|
# Date 0 0
|
|
# Thu Jan 01 00:00:00 1970 +0000
|
|
# Node ID 30da5bf63484d2d6572edafb3ea211c17cd8c005
|
|
# Parent fbd6b221382efa5d5bc53130cdaccf06e04c97d3
|
|
e
|
|
|
|
diff -r fbd6b221382e -r 30da5bf63484 a
|
|
--- a/a Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/a Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -1,1 +1,1 @@
|
|
-new a file content
|
|
+a file content
|
|
diff -r fbd6b221382e -r 30da5bf63484 b_dir/b
|
|
--- a/b_dir/b Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/b_dir/b Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -1,1 +1,1 @@
|
|
-updated b file content
|
|
+b file content
|
|
|
|
|
|
8315ea53ef41d34f56232c88669cc80225b6e66d comparison SUCCESS
|
|
# HG changeset patch
|
|
# User test
|
|
# Date 0 0
|
|
# Thu Jan 01 00:00:00 1970 +0000
|
|
# Node ID 8315ea53ef41d34f56232c88669cc80225b6e66d
|
|
# Parent 30da5bf63484d2d6572edafb3ea211c17cd8c005
|
|
f
|
|
|
|
diff -r 30da5bf63484 -r 8315ea53ef41 a
|
|
--- a/a Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/a Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -1,1 +1,1 @@
|
|
-a file content
|
|
+b file content
|
|
diff -r 30da5bf63484 -r 8315ea53ef41 b_dir/b
|
|
--- a/b_dir/b Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/b_dir/b Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -1,1 +1,1 @@
|
|
-b file content
|
|
+a file content
|
|
diff -r 30da5bf63484 -r 8315ea53ef41 c_dir/c
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/c_dir/c Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -0,0 +1,1 @@
|
|
+a file content
|
|
diff -r 30da5bf63484 -r 8315ea53ef41 d_dir/d
|
|
--- a/d_dir/d Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/d_dir/d Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -1,1 +1,1 @@
|
|
-d file content
|
|
+b file content
|
|
|
|
|
|
634de738bb0ff135e32d48567718fb9d7dedf575 comparison SUCCESS
|
|
# HG changeset patch
|
|
# User test
|
|
# Date 0 0
|
|
# Thu Jan 01 00:00:00 1970 +0000
|
|
# Node ID 634de738bb0ff135e32d48567718fb9d7dedf575
|
|
# Parent 8315ea53ef41d34f56232c88669cc80225b6e66d
|
|
g
|
|
|
|
diff -r 8315ea53ef41 -r 634de738bb0f a
|
|
--- a/a Thu Jan 01 00:00:00 1970 +0000
|
|
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -1,1 +0,0 @@
|
|
-b file content
|
|
diff -r 8315ea53ef41 -r 634de738bb0f a_dir/a
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/a_dir/a Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -0,0 +1,1 @@
|
|
+a file content
|
|
diff -r 8315ea53ef41 -r 634de738bb0f b_dir/a_bis
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/b_dir/a_bis Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -0,0 +1,1 @@
|
|
+a file content
|
|
diff -r 8315ea53ef41 -r 634de738bb0f b_dir/b
|
|
--- a/b_dir/b Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/b_dir/b Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -1,1 +1,1 @@
|
|
-a file content
|
|
+b file content
|
|
diff -r 8315ea53ef41 -r 634de738bb0f c_dir/c
|
|
--- a/c_dir/c Thu Jan 01 00:00:00 1970 +0000
|
|
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -1,1 +0,0 @@
|
|
-a file content
|
|
diff -r 8315ea53ef41 -r 634de738bb0f d_dir/d
|
|
--- a/d_dir/d Thu Jan 01 00:00:00 1970 +0000
|
|
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -1,1 +0,0 @@
|
|
-b file content
|
|
diff -r 8315ea53ef41 -r 634de738bb0f e_dir/e
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/e_dir/e Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -0,0 +1,1 @@
|
|
+a file content
|
|
|
|
|
|
f40c09205504d8410f8c8679bf7a85fef25f9337 comparison SUCCESS
|
|
# HG changeset patch
|
|
# User test
|
|
# Date 0 0
|
|
# Thu Jan 01 00:00:00 1970 +0000
|
|
# Node ID f40c09205504d8410f8c8679bf7a85fef25f9337
|
|
# Parent bb0985934a0f8a493887892173b68940ceb40b4f
|
|
c
|
|
|
|
diff -r bb0985934a0f -r f40c09205504 b_dir/b
|
|
--- a/b_dir/b Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/b_dir/b Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -1,1 +1,1 @@
|
|
-b file content
|
|
+updated b file content
|
|
diff -r bb0985934a0f -r f40c09205504 c_dir/c
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
+++ b/c_dir/c Thu Jan 01 00:00:00 1970 +0000
|
|
@@ -0,0 +1,1 @@
|
|
+c file content
|
|
|
|
|