sapling/tests/test-clone.t
David M. Carr d1a4bffd12 tests: extract commonly used commit/tag functions into testutil library
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).
2012-10-30 22:59:20 -04:00

69 lines
1.8 KiB
Turing
Executable File

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 tag 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'
$ cd ..
$ echo % clone a tag
% clone a tag
$ hg clone -r alpha gitrepo hgrepo-a | grep -v '^updating'
importing git objects into hg
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd hgrepo-a
$ hg log --graph | egrep -v ': *(beta|master)'
@ changeset: 0:3442585be8a6
tag: alpha
tag: default/master
tag: tip
user: test <test@example.org>
date: Mon Jan 01 00:00:10 2007 +0000
summary: add alpha
$ cd ..
$ echo % clone a branch
% clone a branch
$ hg clone -r beta gitrepo hgrepo-b | grep -v '^updating'
importing git objects into hg
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd hgrepo-b
$ hg log --graph | egrep -v ': *(beta|master)'
@ changeset: 1:7bcd915dc873
| tag: default/beta
| tag: tip
| user: test <test@example.org>
| date: Mon Jan 01 00:00:11 2007 +0000
| summary: add beta
|
o changeset: 0:3442585be8a6
tag: alpha
tag: default/master
user: test <test@example.org>
date: Mon Jan 01 00:00:10 2007 +0000
summary: add alpha
$ cd ..