Need to drop
David Greene <gree...@obbligato.org>
from List, no MX record

On 2016-01-05 05.40, David Greene wrote:
> From: "David A. Greene" <gree...@obbligato.org>
> 
> This test merges an external tree in as a subtree, makes some commits
> on top of it and splits it back out.  In the process the added commits
> are lost.  This is marked to expect failure so that we don't forget to
> fix it.
> 
> Signed-off-by: David A. Greene <gree...@obbligato.org>
> ---
>  t/t3427-rebase-subtree.sh | 68 
> +++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 68 insertions(+)
>  create mode 100755 t/t3427-rebase-subtree.sh
> 
> diff --git a/t/t3427-rebase-subtree.sh b/t/t3427-rebase-subtree.sh
> new file mode 100755
> index 0000000..7eb28ab
> --- /dev/null
> +++ b/t/t3427-rebase-subtree.sh
> @@ -0,0 +1,68 @@
> +#!/bin/sh
> +
> +test_description='git rebase tests for -Xsubtree
> +
> +This test runs git rebase and tests the subtree strategy.
> +'
> +. ./test-lib.sh
> +
> +addfile() {
> +    name=$1
> +    echo $(basename ${name}) > ${name}
> +    ${git} add ${name}
> +    ${git} commit -m "Add $(basename ${name})"
> +}
> +
> +check_equal()
> +{
> +     test_debug 'echo'
> +     test_debug "echo \"check a:\" \"{$1}\""
> +     test_debug "echo \"      b:\" \"{$2}\""
> +     if [ "$1" = "$2" ]; then
> +             return 0
> +     else
> +             return 1
> +     fi
> +}
> +
> +last_commit_message()
> +{
> +     git log --pretty=format:%s -1
> +}
> +
> +test_expect_success 'setup' '
> +     test_commit README &&
> +     mkdir files &&
When cd'ing into a directory,
we need to do it in a sub-shell:
> +     cd files &&
> +     git init &&
> +     test_commit master1 &&
> +     test_commit master2 &&
> +     test_commit master3 &&
> +     cd .. &&
        mkdir files &&
        (
        cd files &&
        git init &&
        test_commit master1 &&
        test_commit master2 &&
        test_commit master3
        )


(And similar below)
> +     test_debug "echo Add project master to master" &&
> +     git fetch files master &&
> +     git branch files-master FETCH_HEAD &&
> +     test_debug "echo Add subtree master to master via subtree" &&
> +     git read-tree --prefix=files_subtree files-master &&
> +     git checkout -- files_subtree &&
> +     tree=$(git write-tree) &&
> +     head=$(git rev-parse HEAD) &&
> +     rev=$(git rev-parse --verify files-master^0) &&
> +     commit=$(git commit-tree -p ${head} -p ${rev} -m "Add subproject 
> master" ${tree}) &&
> +     git reset ${commit} &&
> +     cd files_subtree &&
> +     test_commit master4 &&
> +     cd .. &&
> +     test_commit files_subtree/master5
> +'
> +
> +# Does not preserve master4 and master5.
> +test_expect_failure 'Rebase default' '
> +     git checkout -b rebase-default master &&
> +     git filter-branch --prune-empty -f --subdirectory-filter files_subtree 
> &&
> +     git commit -m "Empty commit" --allow-empty &&
> +     git rebase -Xsubtree=files_subtree  --preserve-merges --onto 
> files-master master &&
> +     check_equal "$(last_commit_message)" "files_subtree/master5"
> +'
> +
> +test_done
> 

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to