mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 16:57:49 +03:00
d1a4bffd12
Thanks to Felipe Contreras for the patch which this was based on. The functions were renamed to make it clearer that these are shell functions rather than normal git/hg commands, and to make it clearer which tool is being invoked. Old name | New name ------------------------ commit | fn_git_commit tag | fn_git_tag hgcommit | fn_hg_commit hgtag | fn_hg_tag Extraction from test-encoding.t was left for a subsequent patch, as I was seeing unexpected output changes when I attempted the extraction. The gitcommit and hgcommit functions in test-bookmark-workflow.t were left as-is for now, as they have a different behavior than the standard version (separate counters for each).
100 lines
2.6 KiB
Turing
100 lines
2.6 KiB
Turing
Load commonly used test logic
|
|
$ . "$TESTDIR/testutil"
|
|
|
|
bail if the user does not have git command-line client
|
|
$ "$TESTDIR/hghave" git || exit 80
|
|
|
|
bail if the user does not have dulwich
|
|
$ python -c 'import dulwich, dulwich.repo' || exit 80
|
|
|
|
$ mkdir gitrepo
|
|
$ cd gitrepo
|
|
$ git init
|
|
Initialized empty Git repository in $TESTTMP/gitrepo/.git/
|
|
$ echo alpha > alpha
|
|
$ git add alpha
|
|
$ fn_git_commit -m 'add alpha'
|
|
|
|
$ git checkout -b beta 2>&1 | sed s/\'/\"/g
|
|
Switched to a new branch "beta"
|
|
$ echo beta > beta
|
|
$ git add beta
|
|
$ fn_git_commit -m 'add beta'
|
|
|
|
$ git checkout master 2>&1 | sed s/\'/\"/g
|
|
Switched to branch "master"
|
|
$ echo gamma > gamma
|
|
$ git add gamma
|
|
$ fn_git_commit -m 'add gamma'
|
|
|
|
clean merge
|
|
$ git merge beta | sed "s/the '//;s/' strategy//" | sed 's/^Merge.*recursive.*$/Merge successful/' | sed 's/files/file/;s/insertions/insertion/;s/, 0 deletions.*//' | sed 's/| */| /'
|
|
Merge successful
|
|
beta | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
create mode 100644 beta
|
|
|
|
$ cd ..
|
|
$ mkdir gitrepo2
|
|
$ cd gitrepo2
|
|
$ git init --bare
|
|
Initialized empty Git repository in $TESTTMP/gitrepo2/
|
|
|
|
$ cd ..
|
|
$ hg clone gitrepo hgrepo | grep -v '^updating'
|
|
importing git objects into hg
|
|
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ cd hgrepo
|
|
|
|
$ echo % clear the cache to be sure it is regenerated correctly
|
|
% clear the cache to be sure it is regenerated correctly
|
|
$ hg gclear
|
|
clearing out the git cache data
|
|
$ hg push ../gitrepo2
|
|
pushing to ../gitrepo2
|
|
searching for changes
|
|
|
|
$ cd ..
|
|
$ cd gitrepo2
|
|
$ echo % git log in repo pushed from hg
|
|
% git log in repo pushed from hg
|
|
$ git log --pretty=medium master | sed 's/\.\.\.//g'
|
|
commit 5806851511aaf3bfe813ae3a86c5027165fa9b96
|
|
Merge: e5023f9 9497a4e
|
|
Author: test <test@example.org>
|
|
Date: Mon Jan 1 00:00:12 2007 +0000
|
|
|
|
Merge branch 'beta'
|
|
|
|
commit e5023f9e5cb24fdcec7b6c127cec45d8888e35a9
|
|
Author: test <test@example.org>
|
|
Date: Mon Jan 1 00:00:12 2007 +0000
|
|
|
|
add gamma
|
|
|
|
commit 9497a4ee62e16ee641860d7677cdb2589ea15554
|
|
Author: test <test@example.org>
|
|
Date: Mon Jan 1 00:00:11 2007 +0000
|
|
|
|
add beta
|
|
|
|
commit 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03
|
|
Author: test <test@example.org>
|
|
Date: Mon Jan 1 00:00:10 2007 +0000
|
|
|
|
add alpha
|
|
$ git log --pretty=medium beta | sed 's/\.\.\.//g'
|
|
commit 9497a4ee62e16ee641860d7677cdb2589ea15554
|
|
Author: test <test@example.org>
|
|
Date: Mon Jan 1 00:00:11 2007 +0000
|
|
|
|
add beta
|
|
|
|
commit 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03
|
|
Author: test <test@example.org>
|
|
Date: Mon Jan 1 00:00:10 2007 +0000
|
|
|
|
add alpha
|
|
|
|
$ cd ..
|