mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 09:17:30 +03:00
bf3cad3004
Summary: In order to move our hg-git mirroring off of the main hg servers, we need to make it possible for the hg servers to compute the hg-git mapping without having the entire git repository available. To do so, let's store the git hash as an extra in the hg commit. This breaks bidirectionality, but we've long since not needed that. Reviewed By: phillco Differential Revision: D13362980 fbshipit-source-id: 51df709bc5e77d78bb963abf90d0c35bb743d966
74 lines
1.9 KiB
Perl
74 lines
1.9 KiB
Perl
Load commonly used test logic
|
|
$ . "$TESTDIR/hggit/testutil"
|
|
|
|
$ hg init hgrepo1
|
|
$ cd hgrepo1
|
|
$ echo A > afile
|
|
$ hg add afile
|
|
$ hg ci -m "origin"
|
|
|
|
$ echo B > afile
|
|
$ hg ci -m "A->B"
|
|
|
|
$ hg up -r0
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ echo C > afile
|
|
$ hg ci -m "A->C"
|
|
|
|
$ hg merge -r1
|
|
merging afile
|
|
warning: 1 conflicts while merging afile! (edit, then use 'hg resolve --mark')
|
|
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
|
|
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
|
|
[1]
|
|
resolve using first parent
|
|
$ echo C > afile
|
|
$ hg resolve -m afile | egrep -v 'no more unresolved files' || true
|
|
$ hg ci -m "merge to C"
|
|
|
|
$ hg log --graph --style compact
|
|
@ 3[tip]:2,1 6c53bc0f062f 1970-01-01 00:00 +0000 test
|
|
|\ merge to C
|
|
| |
|
|
| o 2:0 ea82b67264a1 1970-01-01 00:00 +0000 test
|
|
| | A->C
|
|
| |
|
|
o | 1 7205e83b5a3f 1970-01-01 00:00 +0000 test
|
|
|/ A->B
|
|
|
|
|
o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test
|
|
origin
|
|
|
|
|
|
$ cd ..
|
|
|
|
$ git init --bare gitrepo
|
|
Initialized empty Git repository in $TESTTMP/gitrepo/
|
|
|
|
$ cd hgrepo1
|
|
$ hg bookmark -r tip master
|
|
$ hg push -r master ../gitrepo
|
|
pushing to ../gitrepo
|
|
searching for changes
|
|
adding objects
|
|
added 4 commits with 3 trees and 3 blobs
|
|
$ cd ..
|
|
|
|
$ hg clone gitrepo hgrepo2 | grep -v '^updating'
|
|
importing git objects into hg
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
expect the same revision ids as above
|
|
$ hg -R hgrepo2 log --graph --style compact
|
|
@ 3[default/master,tip][master]:1,2 b70d5f2ec3c4 1970-01-01 00:00 +0000 test
|
|
|\ merge to C
|
|
| |
|
|
| o 2:0 47fc555571b8 1970-01-01 00:00 +0000 test
|
|
| | A->B
|
|
| |
|
|
o | 1 8ec5b459b86e 1970-01-01 00:00 +0000 test
|
|
|/ A->C
|
|
|
|
|
o 0 fd5eb788c3a1 1970-01-01 00:00 +0000 test
|
|
origin
|
|
|