sapling/tests/test-tree-decomposition.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

77 lines
1.7 KiB
Perl

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/
$ mkdir d1
$ echo a > d1/f1
$ echo b > d1/f2
$ git add d1/f1 d1/f2
$ fn_git_commit -m initial
$ mkdir d2
$ git mv d1/f2 d2/f2
$ fn_git_commit -m 'rename'
$ rm -r d1
$ echo c > d1
$ git add d1
$ fn_git_commit -m 'replace a dir with a file'
$ 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
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd hgrepo
$ hg log --template 'adds: {file_adds}\ndels: {file_dels}\n'
adds: d1
dels: d1/f1
adds: d2/f2
dels: d1/f2
adds: d1/f1 d1/f2
dels:
$ hg gclear
clearing out the git cache data
$ hg push ../gitrepo2
pushing to ../gitrepo2
searching for changes
$ cd ../gitrepo2
$ git log --pretty=medium
commit 6e0dbd8cd92ed4823c69cb48d8a2b81f904e6e69
Author: test <test@example.org>
Date: Mon Jan 1 00:00:12 2007 +0000
replace a dir with a file
commit a1874d5cd0b1549ed729e36f0da4a93ed36259ee
Author: test <test@example.org>
Date: Mon Jan 1 00:00:11 2007 +0000
rename
commit 102c17a5deda49db3f10ec5573f9378867098b7c
Author: test <test@example.org>
Date: Mon Jan 1 00:00:10 2007 +0000
initial
$ cd ..