Merge commit 'v1.6.0' into jc/checkout-reflog-fix
[git] / t / t9113-git-svn-dcommit-new-file.sh
1 #!/bin/sh
2 #
3 # Copyright (c) 2007 Eric Wong
4 #
5
6 # Don't run this test by default unless the user really wants it
7 # I don't like the idea of taking a port and possibly leaving a
8 # daemon running on a users system if the test fails.
9 # Not all git users will need to interact with SVN.
10
11 test_description='git-svn dcommit new files over svn:// test'
12
13 . ./lib-git-svn.sh
14
15 if test -z "$SVNSERVE_PORT"
16 then
17         say 'skipping svnserve test. (set $SVNSERVE_PORT to enable)'
18         test_done
19         exit
20 fi
21
22 start_svnserve () {
23         svnserve --listen-port $SVNSERVE_PORT \
24                  --root "$rawsvnrepo" \
25                  --listen-once \
26                  --listen-host 127.0.0.1 &
27 }
28
29 test_expect_success 'start tracking an empty repo' '
30         svn mkdir -m "empty dir" "$svnrepo"/empty-dir &&
31         echo "[general]" > "$rawsvnrepo"/conf/svnserve.conf &&
32         echo anon-access = write >> "$rawsvnrepo"/conf/svnserve.conf &&
33         start_svnserve &&
34         git svn init svn://127.0.0.1:$SVNSERVE_PORT &&
35         git svn fetch
36         '
37
38 test_expect_success 'create files in new directory with dcommit' "
39         mkdir git-new-dir &&
40         echo hello > git-new-dir/world &&
41         git update-index --add git-new-dir/world &&
42         git commit -m hello &&
43         start_svnserve &&
44         git svn dcommit
45         "
46
47 test_done