git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCHv2 1/2] t5520-pull: Add testcases showing spurious conflicts from git pull --rebase

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Aug 8, 2010, 20:01 UTC
Message-ID
<AANLkTikhsFfCfmR2V8iSRvU73B5yW=_kqJAEfAGgxpLY@mail.gmail.com>
In-Reply-To
<1281294286-27709-2-git-send-email-newren@gmail.com>
On Sun, Aug 8, 2010 at 19:04, Elijah Newren <newren@gmail.com> wrote:
Show 27 quoted lines
>
> Signed-off-by: Elijah Newren <newren@gmail.com>
> ---
>  t/t5520-pull.sh |   58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 files changed, 58 insertions(+), 0 deletions(-)
>
> diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
> index 319e389..1624dd3 100755
> --- a/t/t5520-pull.sh
> +++ b/t/t5520-pull.sh
> @@ -160,4 +160,62 @@ test_expect_success 'pull --rebase works on branch yet to be born' '
>        test_cmp expect actual
>  '
>
> +test_expect_success 'setup for detecting upstreamed changes' '
> +       mkdir src &&
> +       (cd src &&
> +        git init &&
> +        for i in $(seq 1 10); do echo $i; done > stuff &&
> +        git add stuff &&
> +        git commit -m "Initial revision"
> +       ) &&
> +       git clone src dst &&
> +       (cd src &&
> +        perl -pi -e s/5/43/ stuff &&
> +        git commit -a -m "5->43" &&
> +        perl -pi -e s/6/42/ stuff &&
Please use sed so the test doesn't depend on perl being present.
Show 19 quoted lines
> +        git commit -a -m "Make it bigger" &&
> +        correct=$(git rev-parse HEAD)
> +       ) &&
> +       (cd dst &&
> +        perl -pi -e s/5/43/ stuff &&
> +        git commit -a -m "Independent discovery of 5->43"
> +       )
> +'
> +
> +test_expect_failure 'git pull --rebase detects upstreamed changes' '
> +       (cd dst &&
> +        git pull --rebase &&
> +        test -z "$(git ls-files -u)"
> +       )
> +'
> +
> +test_expect_success 'setup for avoiding reapplying old patches' '
> +       (cd dst &&
> +        (git rebase --abort || true) &&
If you're ignoring the git rebase --abort return value:
  (cd dst &&
    git rebase --abort;
    git reset ...)
Show 35 quoted lines
> +        git reset --hard origin/master
> +       ) &&
> +       git clone --bare src src-replace.git &&
> +       rm -rf src &&
> +       mv src-replace.git src &&
> +       (cd dst &&
> +        perl -pi -e s/2/22/ stuff &&
> +        git commit -a -m "Change 2" &&
> +        perl -pi -e s/3/33/ stuff &&
> +        git commit -a -m "Change 3" &&
> +        perl -pi -e s/4/44/ stuff &&
> +        git commit -a -m "Change 4" &&
> +        git push &&
> +
> +        perl -pi -e s/44/55/ stuff &&
> +        git commit --amend -a -m "Modified Change 4"
> +       )
> +'
> +
> +test_expect_failure 'git pull --rebase does not reapply old patches' '
> +       (cd dst &&
> +        (git pull --rebase || true) &&
> +        test 1 = $(find .git/rebase-apply -name "000*" | wc -l)
> +       )
> +'
> +
>  test_done
> --
> 1.7.2.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
Previous: Elijah NewrenNext: Elijah Newren
Message 3 of 8 in “[PATCHv2 0/2] Fix spurious conflicts with pull --rebase”
  1. Elijah NewrenAug 8, 2010
  2. 1/2 t5520-pull: Add testcases showing spurious conflicts from git pull --rebaseElijah Newren, Aug 8, 2010
  3. Ævar Arnfjörð BjarmasonAug 8, 2010
  4. Elijah NewrenAug 8, 2010
  5. Ævar Arnfjörð BjarmasonAug 8, 2010
  6. Johannes SixtAug 8, 2010
  7. Jonathan NiederAug 8, 2010
  8. 2/2 pull --rebase: Avoid spurious conflicts and reapplying unnecessary patchesElijah Newren, Aug 8, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.