Merge branch 'sc/doc-howto-dumb-http'
[gitweb.git] / contrib / remote-helpers / test-bzr.sh
index dce281f91195cde4937b935910ec73f597bb826a..5c5025178370813aabec64c8bfbd7ac59c6186a5 100755 (executable)
@@ -7,19 +7,21 @@ test_description='Test remote-bzr'
 
 . ./test-lib.sh
 
-if ! test_have_prereq PYTHON; then
+if ! test_have_prereq PYTHON
+then
        skip_all='skipping remote-bzr tests; python not available'
        test_done
 fi
 
-if ! python -c 'import bzrlib'; then
+if ! python -c 'import bzrlib'
+then
        skip_all='skipping remote-bzr tests; bzr not available'
        test_done
 fi
 
 check () {
-       echo $3 > expected &&
-       git --git-dir=$1/.git log --format='%s' -1 $2 > actual
+       echo $3 >expected &&
+       git --git-dir=$1/.git log --format='%s' -1 $2 >actual
        test_cmp expected actual
 }
 
@@ -29,7 +31,7 @@ test_expect_success 'cloning' '
        (
        bzr init bzrrepo &&
        cd bzrrepo &&
-       echo one > content &&
+       echo one >content &&
        bzr add content &&
        bzr commit -m one
        ) &&
@@ -41,7 +43,7 @@ test_expect_success 'cloning' '
 test_expect_success 'pulling' '
        (
        cd bzrrepo &&
-       echo two > content &&
+       echo two >content &&
        bzr commit -m two
        ) &&
 
@@ -53,13 +55,13 @@ test_expect_success 'pulling' '
 test_expect_success 'pushing' '
        (
        cd gitrepo &&
-       echo three > content &&
+       echo three >content &&
        git commit -a -m three &&
        git push
        ) &&
 
-       echo three > expected &&
-       cat bzrrepo/content > actual &&
+       echo three >expected &&
+       cat bzrrepo/content >actual &&
        test_cmp expected actual
 '
 
@@ -67,16 +69,16 @@ test_expect_success 'roundtrip' '
        (
        cd gitrepo &&
        git pull &&
-       git log --format="%s" -1 origin/master > actual
+       git log --format="%s" -1 origin/master >actual
        ) &&
-       echo three > expected &&
+       echo three >expected &&
        test_cmp expected actual &&
 
        (cd gitrepo && git push && git pull) &&
 
        (
        cd bzrrepo &&
-       echo four > content &&
+       echo four >content &&
        bzr commit -m four
        ) &&
 
@@ -86,19 +88,19 @@ test_expect_success 'roundtrip' '
 
        (
        cd gitrepo &&
-       echo five > content &&
+       echo five >content &&
        git commit -a -m five &&
        git push && git pull
        ) &&
 
        (cd bzrrepo && bzr revert) &&
 
-       echo five > expected &&
-       cat bzrrepo/content > actual &&
+       echo five >expected &&
+       cat bzrrepo/content >actual &&
        test_cmp expected actual
 '
 
-cat > expected <<EOF
+cat >expected <<\EOF
 100644 blob 54f9d6da5c91d556e6b54340b1327573073030af   content
 100755 blob 68769579c3eaadbe555379b9c3538e6628bae1eb   executable
 120000 blob 6b584e8ece562ebffc15d38808cd6b98fc3d97ea   link
@@ -107,7 +109,7 @@ EOF
 test_expect_success 'special modes' '
        (
        cd bzrrepo &&
-       echo exec > executable
+       echo exec >executable
        chmod +x executable &&
        bzr add executable
        bzr commit -m exec &&
@@ -122,21 +124,21 @@ test_expect_success 'special modes' '
        (
        cd gitrepo &&
        git pull
-       git ls-tree HEAD > ../actual
+       git ls-tree HEAD >../actual
        ) &&
 
        test_cmp expected actual &&
 
        (
        cd gitrepo &&
-       git cat-file -p HEAD:link > ../actual
+       git cat-file -p HEAD:link >../actual
        ) &&
 
-       printf content > expected &&
+       printf content >expected &&
        test_cmp expected actual
 '
 
-cat > expected <<EOF
+cat >expected <<\EOF
 100644 blob 54f9d6da5c91d556e6b54340b1327573073030af   content
 100755 blob 68769579c3eaadbe555379b9c3538e6628bae1eb   executable
 120000 blob 6b584e8ece562ebffc15d38808cd6b98fc3d97ea   link
@@ -147,8 +149,8 @@ test_expect_success 'moving directory' '
        (
        cd bzrrepo &&
        mkdir movedir &&
-       echo one > movedir/one &&
-       echo two > movedir/two &&
+       echo one >movedir/one &&
+       echo two >movedir/two &&
        bzr add movedir &&
        bzr commit -m movedir &&
        bzr mv movedir movedir-new &&
@@ -158,7 +160,7 @@ test_expect_success 'moving directory' '
        (
        cd gitrepo &&
        git pull &&
-       git ls-tree HEAD > ../actual
+       git ls-tree HEAD >../actual
        ) &&
 
        test_cmp expected actual
@@ -167,7 +169,7 @@ test_expect_success 'moving directory' '
 test_expect_success 'different authors' '
        (
        cd bzrrepo &&
-       echo john >> content &&
+       echo john >>content &&
        bzr commit -m john \
          --author "Jane Rey <jrey@example.com>" \
          --author "John Doe <jdoe@example.com>"
@@ -176,10 +178,10 @@ test_expect_success 'different authors' '
        (
        cd gitrepo &&
        git pull &&
-       git show --format="%an <%ae>, %cn <%ce>" --quiet > ../actual
+       git show --format="%an <%ae>, %cn <%ce>" --quiet >../actual
        ) &&
 
-       echo "Jane Rey <jrey@example.com>, A U Thor <author@example.com>" > expected &&
+       echo "Jane Rey <jrey@example.com>, A U Thor <author@example.com>" >expected &&
        test_cmp expected actual
 '
 
@@ -196,12 +198,12 @@ test_expect_success 'fetch utf-8 filenames' '
        bzr init bzrrepo &&
        cd bzrrepo &&
 
-       echo test >> "ærø" &&
+       echo test >>"ærø" &&
        bzr add "ærø" &&
-       echo test >> "ø~?" &&
+       echo test >>"ø~?" &&
        bzr add "ø~?" &&
        bzr commit -m add-utf-8 &&
-       echo test >> "ærø" &&
+       echo test >>"ærø" &&
        bzr commit -m test-utf-8 &&
        bzr rm "ø~?" &&
        bzr mv "ærø" "ø~?" &&
@@ -211,9 +213,9 @@ test_expect_success 'fetch utf-8 filenames' '
        (
        git clone "bzr::bzrrepo" gitrepo &&
        cd gitrepo &&
-       git -c core.quotepath=false ls-files > ../actual
+       git -c core.quotepath=false ls-files >../actual
        ) &&
-       echo "ø~?" > expected &&
+       echo "ø~?" >expected &&
        test_cmp expected actual
 '
 
@@ -229,7 +231,7 @@ test_expect_success 'push utf-8 filenames' '
        bzr init bzrrepo &&
        cd bzrrepo &&
 
-       echo one >> content &&
+       echo one >>content &&
        bzr add content &&
        bzr commit -m one
        ) &&
@@ -238,15 +240,15 @@ test_expect_success 'push utf-8 filenames' '
        git clone "bzr::bzrrepo" gitrepo &&
        cd gitrepo &&
 
-       echo test >> "ærø" &&
+       echo test >>"ærø" &&
        git add "ærø" &&
        git commit -m utf-8 &&
 
        git push
        ) &&
 
-       (cd bzrrepo && bzr ls > ../actual) &&
-       printf "content\nærø\n" > expected &&
+       (cd bzrrepo && bzr ls >../actual) &&
+       printf "content\nærø\n" >expected &&
        test_cmp expected actual
 '
 
@@ -256,7 +258,7 @@ test_expect_success 'pushing a merge' '
        (
        bzr init bzrrepo &&
        cd bzrrepo &&
-       echo one > content &&
+       echo one >content &&
        bzr add content &&
        bzr commit -m one
        ) &&
@@ -265,27 +267,27 @@ test_expect_success 'pushing a merge' '
 
        (
        cd bzrrepo &&
-       echo two > content &&
+       echo two >content &&
        bzr commit -m two
        ) &&
 
        (
        cd gitrepo &&
-       echo three > content &&
+       echo three >content &&
        git commit -a -m three &&
        git fetch &&
        git merge origin/master || true &&
-       echo three > content &&
+       echo three >content &&
        git commit -a --no-edit &&
        git push
        ) &&
 
-       echo three > expected &&
-       cat bzrrepo/content > actual &&
+       echo three >expected &&
+       cat bzrrepo/content >actual &&
        test_cmp expected actual
 '
 
-cat > expected <<EOF
+cat >expected <<\EOF
 origin/HEAD
 origin/branch
 origin/trunk
@@ -299,7 +301,7 @@ test_expect_success 'proper bzr repo' '
        (
        bzr init bzrrepo/trunk &&
        cd bzrrepo/trunk &&
-       echo one >> content &&
+       echo one >>content &&
        bzr add content &&
        bzr commit -m one
        ) &&
@@ -307,14 +309,14 @@ test_expect_success 'proper bzr repo' '
        (
        bzr branch bzrrepo/trunk bzrrepo/branch &&
        cd bzrrepo/branch &&
-       echo two >> content &&
+       echo two >>content &&
        bzr commit -m one
        ) &&
 
        (
        git clone "bzr::bzrrepo" gitrepo &&
        cd gitrepo &&
-       git for-each-ref --format "%(refname:short)" refs/remotes/origin > ../actual
+       git for-each-ref --format "%(refname:short)" refs/remotes/origin >../actual
        ) &&
 
        test_cmp expected actual
@@ -327,11 +329,11 @@ test_expect_success 'strip' '
        bzr init bzrrepo &&
        cd bzrrepo &&
 
-       echo one >> content &&
+       echo one >>content &&
        bzr add content &&
        bzr commit -m one &&
 
-       echo two >> content &&
+       echo two >>content &&
        bzr commit -m two
        ) &&
 
@@ -341,21 +343,51 @@ test_expect_success 'strip' '
        cd bzrrepo &&
        bzr uncommit --force &&
 
-       echo three >> content &&
+       echo three >>content &&
        bzr commit -m three &&
 
-       echo four >> content &&
+       echo four >>content &&
        bzr commit -m four &&
-       bzr log --line | sed -e "s/^[0-9][0-9]*: //" > ../expected
+       bzr log --line | sed -e "s/^[0-9][0-9]*: //" >../expected
        ) &&
 
        (
        cd gitrepo &&
        git fetch &&
-       git log --format="%an %ad %s" --date=short origin/master > ../actual
+       git log --format="%an %ad %s" --date=short origin/master >../actual
        ) &&
 
        test_cmp expected actual
 '
 
+test_expect_success 'export utf-8 authors' '
+       test_when_finished "rm -rf bzrrepo gitrepo && LC_ALL=C && unset GIT_COMMITTER_NAME" &&
+
+       LC_ALL=en_US.UTF-8
+       export LC_ALL
+
+       GIT_COMMITTER_NAME="Grégoire"
+       export GIT_COMMITTER_NAME
+
+       bzr init bzrrepo &&
+
+       (
+       git init gitrepo &&
+       cd gitrepo &&
+       echo greg >>content &&
+       git add content &&
+       git commit -m one &&
+       git remote add bzr "bzr::../bzrrepo" &&
+       git push bzr
+       ) &&
+
+       (
+       cd bzrrepo &&
+       bzr log | grep "^committer: " >../actual
+       ) &&
+
+       echo "committer: Grégoire <committer@example.com>" >expected &&
+       test_cmp expected actual
+'
+
 test_done