1#!/bin/sh
2#
3# Copyright (c) 2006 Eric Wong
4test_description='git svn commit-diff'
5. ./lib-git-svn.sh
6
7test_expect_success 'initialize repo' '
8 mkdir import &&
9 (
10 cd import &&
11 echo hello >readme &&
12 svn_cmd import -m "initial" . "$svnrepo"
13 ) &&
14 echo hello > readme &&
15 git update-index --add readme &&
16 git commit -a -m "initial" &&
17 echo world >> readme &&
18 git commit -a -m "another"
19 '
20
21head=$(git rev-parse --verify HEAD^0)
22prev=$(git rev-parse --verify HEAD^1)
23
24# the internals of the commit-diff command are the same as the regular
25# commit, so only a basic test of functionality is needed since we've
26# already tested commit extensively elsewhere
27
28test_expect_success 'test the commit-diff command' '
29 test -n "$prev" && test -n "$head" &&
30 git svn commit-diff -r1 "$prev" "$head" "$svnrepo" &&
31 svn_cmd co "$svnrepo" wc &&
32 cmp readme wc/readme
33 '
34
35test_expect_success 'commit-diff to a sub-directory (with git svn config)' '
36 svn_cmd import -m "sub-directory" import "$svnrepo"/subdir &&
37 git svn init --minimize-url "$svnrepo"/subdir &&
38 git svn fetch &&
39 git svn commit-diff -r3 "$prev" "$head" &&
40 svn_cmd cat "$svnrepo"/subdir/readme > readme.2 &&
41 cmp readme readme.2
42 '
43
44test_done