daemon/config: factor out duplicate xstrdup_tolower
[gitweb.git] / contrib / remote-helpers / test-hg-hg-git.sh
index 2219284382f0e987423ae00e5bd89e9b7a4b0046..6dcd95d10f618ee3ac4920f5f2ae684c0b8d4d36 100755 (executable)
@@ -10,17 +10,20 @@ test_description='Test remote-hg output compared to hg-git'
 
 . ./test-lib.sh
 
-if ! test_have_prereq PYTHON; then
+if ! test_have_prereq PYTHON
+then
        skip_all='skipping remote-hg tests; python not available'
        test_done
 fi
 
-if ! python -c 'import mercurial'; then
+if ! python -c 'import mercurial'
+then
        skip_all='skipping remote-hg tests; mercurial not available'
        test_done
 fi
 
-if ! python -c 'import hggit'; then
+if ! python -c 'import hggit'
+then
        skip_all='skipping remote-hg tests; hg-git not available'
        test_done
 fi
@@ -66,7 +69,7 @@ hg_push_git () {
        git fetch -q "hg::../$1" 'refs/tags/*:refs/tags/*' 'refs/heads/*:refs/heads/*' &&
        git branch -D default &&
        git checkout -q @{-1} &&
-       git branch -q -D tmp 2> /dev/null || true
+       git branch -q -D tmp 2>/dev/null || true
        )
 }
 
@@ -100,7 +103,7 @@ setup () {
        echo "hgext.bookmarks ="
        echo "hggit ="
        echo "graphlog ="
-       ) >> "$HOME"/.hgrc &&
+       ) >>"$HOME"/.hgrc &&
        git config --global receive.denycurrentbranch warn
        git config --global remote-hg.hg-git-compat true
        git config --global remote-hg.track-branches false
@@ -121,7 +124,7 @@ test_expect_success 'executable bit' '
        (
        git init -q gitrepo &&
        cd gitrepo &&
-       echo alpha > alpha &&
+       echo alpha >alpha &&
        chmod 0644 alpha &&
        git add alpha &&
        git commit -m "add alpha" &&
@@ -133,17 +136,18 @@ test_expect_success 'executable bit' '
        git commit -m "clear executable bit"
        ) &&
 
-       for x in hg git; do
+       for x in hg git
+       do
                (
                hg_clone_$x gitrepo hgrepo-$x &&
                cd hgrepo-$x &&
                hg_log . &&
                hg manifest -r 1 -v &&
                hg manifest -v
-               ) > output-$x &&
+               ) >"output-$x" &&
 
                git_clone_$x hgrepo-$x gitrepo2-$x &&
-               git_log gitrepo2-$x > log-$x
+               git_log gitrepo2-$x >"log-$x"
        done &&
 
        test_cmp output-hg output-git &&
@@ -156,7 +160,7 @@ test_expect_success 'symlink' '
        (
        git init -q gitrepo &&
        cd gitrepo &&
-       echo alpha > alpha &&
+       echo alpha >alpha &&
        git add alpha &&
        git commit -m "add alpha" &&
        ln -s alpha beta &&
@@ -164,16 +168,17 @@ test_expect_success 'symlink' '
        git commit -m "add beta"
        ) &&
 
-       for x in hg git; do
+       for x in hg git
+       do
                (
                hg_clone_$x gitrepo hgrepo-$x &&
                cd hgrepo-$x &&
                hg_log . &&
                hg manifest -v
-               ) > output-$x &&
+               ) >"output-$x" &&
 
                git_clone_$x hgrepo-$x gitrepo2-$x &&
-               git_log gitrepo2-$x > log-$x
+               git_log gitrepo2-$x >"log-$x"
        done &&
 
        test_cmp output-hg output-git &&
@@ -186,28 +191,29 @@ test_expect_success 'merge conflict 1' '
        (
        hg init hgrepo1 &&
        cd hgrepo1 &&
-       echo A > afile &&
+       echo A >afile &&
        hg add afile &&
        hg ci -m "origin" &&
 
-       echo B > afile &&
+       echo B >afile &&
        hg ci -m "A->B" &&
 
        hg up -r0 &&
-       echo C > afile &&
+       echo C >afile &&
        hg ci -m "A->C" &&
 
        hg merge -r1 &&
-       echo C > afile &&
+       echo C >afile &&
        hg resolve -m afile &&
        hg ci -m "merge to C"
        ) &&
 
-       for x in hg git; do
+       for x in hg git
+       do
                git_clone_$x hgrepo1 gitrepo-$x &&
                hg_clone_$x gitrepo-$x hgrepo2-$x &&
-               hg_log hgrepo2-$x > hg-log-$x &&
-               git_log gitrepo-$x > git-log-$x
+               hg_log hgrepo2-$x >"hg-log-$x" &&
+               git_log gitrepo-$x >"git-log-$x"
        done &&
 
        test_cmp hg-log-hg hg-log-git &&
@@ -220,28 +226,29 @@ test_expect_success 'merge conflict 2' '
        (
        hg init hgrepo1 &&
        cd hgrepo1 &&
-       echo A > afile &&
+       echo A >afile &&
        hg add afile &&
        hg ci -m "origin" &&
 
-       echo B > afile &&
+       echo B >afile &&
        hg ci -m "A->B" &&
 
        hg up -r0 &&
-       echo C > afile &&
+       echo C >afile &&
        hg ci -m "A->C" &&
 
        hg merge -r1 || true &&
-       echo B > afile &&
+       echo B >afile &&
        hg resolve -m afile &&
        hg ci -m "merge to B"
        ) &&
 
-       for x in hg git; do
+       for x in hg git
+       do
                git_clone_$x hgrepo1 gitrepo-$x &&
                hg_clone_$x gitrepo-$x hgrepo2-$x &&
-               hg_log hgrepo2-$x > hg-log-$x &&
-               git_log gitrepo-$x > git-log-$x
+               hg_log hgrepo2-$x >"hg-log-$x" &&
+               git_log gitrepo-$x >"git-log-$x"
        done &&
 
        test_cmp hg-log-hg hg-log-git &&
@@ -254,29 +261,30 @@ test_expect_success 'converged merge' '
        (
        hg init hgrepo1 &&
        cd hgrepo1 &&
-       echo A > afile &&
+       echo A >afile &&
        hg add afile &&
        hg ci -m "origin" &&
 
-       echo B > afile &&
+       echo B >afile &&
        hg ci -m "A->B" &&
 
-       echo C > afile &&
+       echo C >afile &&
        hg ci -m "B->C" &&
 
        hg up -r0 &&
-       echo C > afile &&
+       echo C >afile &&
        hg ci -m "A->C" &&
 
        hg merge -r2 || true &&
        hg ci -m "merge"
        ) &&
 
-       for x in hg git; do
+       for x in hg git
+       do
                git_clone_$x hgrepo1 gitrepo-$x &&
                hg_clone_$x gitrepo-$x hgrepo2-$x &&
-               hg_log hgrepo2-$x > hg-log-$x &&
-               git_log gitrepo-$x > git-log-$x
+               hg_log hgrepo2-$x >"hg-log-$x" &&
+               git_log gitrepo-$x >"git-log-$x"
        done &&
 
        test_cmp hg-log-hg hg-log-git &&
@@ -290,32 +298,33 @@ test_expect_success 'encoding' '
        git init -q gitrepo &&
        cd gitrepo &&
 
-       echo alpha > alpha &&
+       echo alpha >alpha &&
        git add alpha &&
        git commit -m "add älphà" &&
 
        GIT_AUTHOR_NAME="tést èncödîng" &&
        export GIT_AUTHOR_NAME &&
-       echo beta > beta &&
+       echo beta >beta &&
        git add beta &&
        git commit -m "add beta" &&
 
-       echo gamma > gamma &&
+       echo gamma >gamma &&
        git add gamma &&
        git commit -m "add gämmâ" &&
 
        : TODO git config i18n.commitencoding latin-1 &&
-       echo delta > delta &&
+       echo delta >delta &&
        git add delta &&
        git commit -m "add déltà"
        ) &&
 
-       for x in hg git; do
+       for x in hg git
+       do
                hg_clone_$x gitrepo hgrepo-$x &&
                git_clone_$x hgrepo-$x gitrepo2-$x &&
 
-               HGENCODING=utf-8 hg_log hgrepo-$x > hg-log-$x &&
-               git_log gitrepo2-$x > git-log-$x
+               HGENCODING=utf-8 hg_log hgrepo-$x >"hg-log-$x" &&
+               git_log gitrepo2-$x >"git-log-$x"
        done &&
 
        test_cmp hg-log-hg hg-log-git &&
@@ -328,14 +337,14 @@ test_expect_success 'file removal' '
        (
        git init -q gitrepo &&
        cd gitrepo &&
-       echo alpha > alpha &&
+       echo alpha >alpha &&
        git add alpha &&
        git commit -m "add alpha" &&
-       echo beta > beta &&
+       echo beta >beta &&
        git add beta &&
        git commit -m "add beta"
        mkdir foo &&
-       echo blah > foo/bar &&
+       echo blah >foo/bar &&
        git add foo &&
        git commit -m "add foo" &&
        git rm alpha &&
@@ -344,17 +353,18 @@ test_expect_success 'file removal' '
        git commit -m "remove foo/bar"
        ) &&
 
-       for x in hg git; do
+       for x in hg git
+       do
                (
                hg_clone_$x gitrepo hgrepo-$x &&
                cd hgrepo-$x &&
                hg_log . &&
                hg manifest -r 3 &&
                hg manifest
-               ) > output-$x &&
+               ) >"output-$x" &&
 
                git_clone_$x hgrepo-$x gitrepo2-$x &&
-               git_log gitrepo2-$x > log-$x
+               git_log gitrepo2-$x >"log-$x"
        done &&
 
        test_cmp output-hg output-git &&
@@ -368,20 +378,21 @@ test_expect_success 'git tags' '
        git init -q gitrepo &&
        cd gitrepo &&
        git config receive.denyCurrentBranch ignore &&
-       echo alpha > alpha &&
+       echo alpha >alpha &&
        git add alpha &&
        git commit -m "add alpha" &&
        git tag alpha &&
 
-       echo beta > beta &&
+       echo beta >beta &&
        git add beta &&
        git commit -m "add beta" &&
        git tag -a -m "added tag beta" beta
        ) &&
 
-       for x in hg git; do
+       for x in hg git
+       do
                hg_clone_$x gitrepo hgrepo-$x &&
-               hg_log hgrepo-$x > log-$x
+               hg_log hgrepo-$x >"log-$x"
        done &&
 
        test_cmp log-hg log-git
@@ -390,12 +401,13 @@ test_expect_success 'git tags' '
 test_expect_success 'hg author' '
        test_when_finished "rm -rf gitrepo* hgrepo*" &&
 
-       for x in hg git; do
+       for x in hg git
+       do
                (
                git init -q gitrepo-$x &&
                cd gitrepo-$x &&
 
-               echo alpha > alpha &&
+               echo alpha >alpha &&
                git add alpha &&
                git commit -m "add alpha" &&
                git checkout -q -b not-master
@@ -406,38 +418,38 @@ test_expect_success 'hg author' '
                cd hgrepo-$x &&
 
                hg co master &&
-               echo beta > beta &&
+               echo beta >beta &&
                hg add beta &&
                hg commit -u "test" -m "add beta" &&
 
-               echo gamma >> beta &&
+               echo gamma >>beta &&
                hg commit -u "test <test@example.com> (comment)" -m "modify beta" &&
 
-               echo gamma > gamma &&
+               echo gamma >gamma &&
                hg add gamma &&
                hg commit -u "<test@example.com>" -m "add gamma" &&
 
-               echo delta > delta &&
+               echo delta >delta &&
                hg add delta &&
                hg commit -u "name<test@example.com>" -m "add delta" &&
 
-               echo epsilon > epsilon &&
+               echo epsilon >epsilon &&
                hg add epsilon &&
                hg commit -u "name <test@example.com" -m "add epsilon" &&
 
-               echo zeta > zeta &&
+               echo zeta >zeta &&
                hg add zeta &&
                hg commit -u " test " -m "add zeta" &&
 
-               echo eta > eta &&
+               echo eta >eta &&
                hg add eta &&
                hg commit -u "test < test@example.com >" -m "add eta" &&
 
-               echo theta > theta &&
+               echo theta >theta &&
                hg add theta &&
                hg commit -u "test >test@example.com>" -m "add theta" &&
 
-               echo iota > iota &&
+               echo iota >iota &&
                hg add iota &&
                hg commit -u "test <test <at> example <dot> com>" -m "add iota"
                ) &&
@@ -445,8 +457,8 @@ test_expect_success 'hg author' '
                hg_push_$x hgrepo-$x gitrepo-$x &&
                hg_clone_$x gitrepo-$x hgrepo2-$x &&
 
-               hg_log hgrepo2-$x > hg-log-$x &&
-               git_log gitrepo-$x > git-log-$x
+               hg_log hgrepo2-$x >"hg-log-$x" &&
+               git_log gitrepo-$x >"git-log-$x"
        done &&
 
        test_cmp hg-log-hg hg-log-git &&
@@ -456,12 +468,13 @@ test_expect_success 'hg author' '
 test_expect_success 'hg branch' '
        test_when_finished "rm -rf gitrepo* hgrepo*" &&
 
-       for x in hg git; do
+       for x in hg git
+       do
                (
                git init -q gitrepo-$x &&
                cd gitrepo-$x &&
 
-               echo alpha > alpha &&
+               echo alpha >alpha &&
                git add alpha &&
                git commit -q -m "add alpha" &&
                git checkout -q -b not-master
@@ -481,8 +494,8 @@ test_expect_success 'hg branch' '
                hg_push_$x hgrepo-$x gitrepo-$x &&
                hg_clone_$x gitrepo-$x hgrepo2-$x &&
 
-               hg_log hgrepo2-$x > hg-log-$x &&
-               git_log gitrepo-$x > git-log-$x
+               hg_log hgrepo2-$x >"hg-log-$x" &&
+               git_log gitrepo-$x >"git-log-$x"
        done &&
 
        test_cmp hg-log-hg hg-log-git &&
@@ -492,12 +505,13 @@ test_expect_success 'hg branch' '
 test_expect_success 'hg tags' '
        test_when_finished "rm -rf gitrepo* hgrepo*" &&
 
-       for x in hg git; do
+       for x in hg git
+       do
                (
                git init -q gitrepo-$x &&
                cd gitrepo-$x &&
 
-               echo alpha > alpha &&
+               echo alpha >alpha &&
                git add alpha &&
                git commit -m "add alpha" &&
                git checkout -q -b not-master
@@ -518,7 +532,7 @@ test_expect_success 'hg tags' '
                git --git-dir=gitrepo-$x/.git tag -l &&
                hg_log hgrepo2-$x &&
                cat hgrepo2-$x/.hgtags
-               ) > output-$x
+               ) >"output-$x"
        done &&
 
        test_cmp output-hg output-git