Message ID | 20190624181318.17388-2-szeder.dev@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | rebase/progress: add and use term_clear_line() | expand |
Hi Gábor, On Mon, 24 Jun 2019, SZEDER Gábor wrote: > In 't3404-rebase-interactive.sh' the expected output of several tests > is prepared from here documents, which are outside of > 'test_expect_success' blocks and have spaces around redirection > operators. > > Move these here documents into the corresponding 'test_expect_success' > block and avoid spaces between filename and redition operators. > Furthermore, quote the here docs' delimiter word to prevent parameter > expansions and what not, where applicable. Makes sense. I did not really look at it in detail (it's a bit tough to read, and `--patience` would have made it only _slightly_ easier), trusting that you used `git diff -w --color-moved` to verify the moves. Thanks, Dscho > > Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> > --- > t/t3404-rebase-interactive.sh | 123 ++++++++++++++++------------------ > 1 file changed, 58 insertions(+), 65 deletions(-) > > diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh > index 1723e1a858..9146f9d47b 100755 > --- a/t/t3404-rebase-interactive.sh > +++ b/t/t3404-rebase-interactive.sh > @@ -75,11 +75,10 @@ test_expect_success 'rebase --keep-empty' ' > test_line_count = 6 actual > ' > > -cat > expect <<EOF > -error: nothing to do > -EOF > - > test_expect_success 'rebase -i with empty HEAD' ' > + cat >expect <<-\EOF && > + error: nothing to do > + EOF > set_fake_editor && > test_must_fail env FAKE_LINES="1 exec_true" git rebase -i HEAD^ >actual 2>&1 && > test_i18ncmp expect actual > @@ -237,25 +236,23 @@ test_expect_success 'exchange two commits' ' > test G = $(git cat-file commit HEAD | sed -ne \$p) > ' > > -cat > expect << EOF > -diff --git a/file1 b/file1 > -index f70f10e..fd79235 100644 > ---- a/file1 > -+++ b/file1 > -@@ -1 +1 @@ > --A > -+G > -EOF > - > -cat > expect2 << EOF > -<<<<<<< HEAD > -D > -======= > -G > ->>>>>>> 5d18e54... G > -EOF > - > test_expect_success 'stop on conflicting pick' ' > + cat >expect <<-\EOF && > + diff --git a/file1 b/file1 > + index f70f10e..fd79235 100644 > + --- a/file1 > + +++ b/file1 > + @@ -1 +1 @@ > + -A > + +G > + EOF > + cat >expect2 <<-\EOF && > + <<<<<<< HEAD > + D > + ======= > + G > + >>>>>>> 5d18e54... G > + EOF > git tag new-branch1 && > set_fake_editor && > test_must_fail git rebase -i master && > @@ -495,15 +492,14 @@ test_expect_success 'commit message retained after conflict' ' > git branch -D conflict-squash > ' > > -cat > expect-squash-fixup << EOF > -B > - > -D > +test_expect_success C_LOCALE_OUTPUT 'squash and fixup generate correct log messages' ' > + cat >expect-squash-fixup <<-\EOF && > + B > > -ONCE > -EOF > + D > > -test_expect_success C_LOCALE_OUTPUT 'squash and fixup generate correct log messages' ' > + ONCE > + EOF > git checkout -b squash-fixup E && > base=$(git rev-parse HEAD~4) && > set_fake_editor && > @@ -799,13 +795,12 @@ test_expect_success 'rebase -i can copy notes' ' > test "a note" = "$(git notes show HEAD)" > ' > > -cat >expect <<EOF > -an earlier note > - > -a note > -EOF > - > test_expect_success 'rebase -i can copy notes over a fixup' ' > + cat >expect <<-\EOF && > + an earlier note > + > + a note > + EOF > git reset --hard n3 && > git notes add -m"an earlier note" n2 && > set_fake_editor && > @@ -1304,27 +1299,26 @@ test_expect_success 'rebase -i respects rebase.missingCommitsCheck = ignore' ' > actual > ' > > -cat >expect <<EOF > -Warning: some commits may have been dropped accidentally. > -Dropped commits (newer to older): > - - $(git rev-list --pretty=oneline --abbrev-commit -1 master) > -To avoid this message, use "drop" to explicitly remove a commit. > - > -Use 'git config rebase.missingCommitsCheck' to change the level of warnings. > -The possible behaviours are: ignore, warn, error. > - > -Rebasing (1/4) > -Rebasing (2/4) > -Rebasing (3/4) > -Rebasing (4/4) > -Successfully rebased and updated refs/heads/missing-commit. > -EOF > - > cr_to_nl () { > tr '\015' '\012' > } > > test_expect_success 'rebase -i respects rebase.missingCommitsCheck = warn' ' > + cat >expect <<-EOF && > + Warning: some commits may have been dropped accidentally. > + Dropped commits (newer to older): > + - $(git rev-list --pretty=oneline --abbrev-commit -1 master) > + To avoid this message, use "drop" to explicitly remove a commit. > + > + Use '\''git config rebase.missingCommitsCheck'\'' to change the level of warnings. > + The possible behaviours are: ignore, warn, error. > + > + Rebasing (1/4) > + Rebasing (2/4) > + Rebasing (3/4) > + Rebasing (4/4) > + Successfully rebased and updated refs/heads/missing-commit. > + EOF > test_config rebase.missingCommitsCheck warn && > rebase_setup_and_clean missing-commit && > set_fake_editor && > @@ -1335,21 +1329,20 @@ test_expect_success 'rebase -i respects rebase.missingCommitsCheck = warn' ' > test D = $(git cat-file commit HEAD | sed -ne \$p) > ' > > -cat >expect <<EOF > -Warning: some commits may have been dropped accidentally. > -Dropped commits (newer to older): > - - $(git rev-list --pretty=oneline --abbrev-commit -1 master) > - - $(git rev-list --pretty=oneline --abbrev-commit -1 master~2) > -To avoid this message, use "drop" to explicitly remove a commit. > - > -Use 'git config rebase.missingCommitsCheck' to change the level of warnings. > -The possible behaviours are: ignore, warn, error. > - > -You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'. > -Or you can abort the rebase with 'git rebase --abort'. > -EOF > - > test_expect_success 'rebase -i respects rebase.missingCommitsCheck = error' ' > + cat >expect <<-EOF && > + Warning: some commits may have been dropped accidentally. > + Dropped commits (newer to older): > + - $(git rev-list --pretty=oneline --abbrev-commit -1 master) > + - $(git rev-list --pretty=oneline --abbrev-commit -1 master~2) > + To avoid this message, use "drop" to explicitly remove a commit. > + > + Use '\''git config rebase.missingCommitsCheck'\'' to change the level of warnings. > + The possible behaviours are: ignore, warn, error. > + > + You can fix this with '\''git rebase --edit-todo'\'' and then run '\''git rebase --continue'\''. > + Or you can abort the rebase with '\''git rebase --abort'\''. > + EOF > test_config rebase.missingCommitsCheck error && > rebase_setup_and_clean missing-commit && > set_fake_editor && > -- > 2.22.0.589.g5bd7971b91 > >
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 1723e1a858..9146f9d47b 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -75,11 +75,10 @@ test_expect_success 'rebase --keep-empty' ' test_line_count = 6 actual ' -cat > expect <<EOF -error: nothing to do -EOF - test_expect_success 'rebase -i with empty HEAD' ' + cat >expect <<-\EOF && + error: nothing to do + EOF set_fake_editor && test_must_fail env FAKE_LINES="1 exec_true" git rebase -i HEAD^ >actual 2>&1 && test_i18ncmp expect actual @@ -237,25 +236,23 @@ test_expect_success 'exchange two commits' ' test G = $(git cat-file commit HEAD | sed -ne \$p) ' -cat > expect << EOF -diff --git a/file1 b/file1 -index f70f10e..fd79235 100644 ---- a/file1 -+++ b/file1 -@@ -1 +1 @@ --A -+G -EOF - -cat > expect2 << EOF -<<<<<<< HEAD -D -======= -G ->>>>>>> 5d18e54... G -EOF - test_expect_success 'stop on conflicting pick' ' + cat >expect <<-\EOF && + diff --git a/file1 b/file1 + index f70f10e..fd79235 100644 + --- a/file1 + +++ b/file1 + @@ -1 +1 @@ + -A + +G + EOF + cat >expect2 <<-\EOF && + <<<<<<< HEAD + D + ======= + G + >>>>>>> 5d18e54... G + EOF git tag new-branch1 && set_fake_editor && test_must_fail git rebase -i master && @@ -495,15 +492,14 @@ test_expect_success 'commit message retained after conflict' ' git branch -D conflict-squash ' -cat > expect-squash-fixup << EOF -B - -D +test_expect_success C_LOCALE_OUTPUT 'squash and fixup generate correct log messages' ' + cat >expect-squash-fixup <<-\EOF && + B -ONCE -EOF + D -test_expect_success C_LOCALE_OUTPUT 'squash and fixup generate correct log messages' ' + ONCE + EOF git checkout -b squash-fixup E && base=$(git rev-parse HEAD~4) && set_fake_editor && @@ -799,13 +795,12 @@ test_expect_success 'rebase -i can copy notes' ' test "a note" = "$(git notes show HEAD)" ' -cat >expect <<EOF -an earlier note - -a note -EOF - test_expect_success 'rebase -i can copy notes over a fixup' ' + cat >expect <<-\EOF && + an earlier note + + a note + EOF git reset --hard n3 && git notes add -m"an earlier note" n2 && set_fake_editor && @@ -1304,27 +1299,26 @@ test_expect_success 'rebase -i respects rebase.missingCommitsCheck = ignore' ' actual ' -cat >expect <<EOF -Warning: some commits may have been dropped accidentally. -Dropped commits (newer to older): - - $(git rev-list --pretty=oneline --abbrev-commit -1 master) -To avoid this message, use "drop" to explicitly remove a commit. - -Use 'git config rebase.missingCommitsCheck' to change the level of warnings. -The possible behaviours are: ignore, warn, error. - -Rebasing (1/4) -Rebasing (2/4) -Rebasing (3/4) -Rebasing (4/4) -Successfully rebased and updated refs/heads/missing-commit. -EOF - cr_to_nl () { tr '\015' '\012' } test_expect_success 'rebase -i respects rebase.missingCommitsCheck = warn' ' + cat >expect <<-EOF && + Warning: some commits may have been dropped accidentally. + Dropped commits (newer to older): + - $(git rev-list --pretty=oneline --abbrev-commit -1 master) + To avoid this message, use "drop" to explicitly remove a commit. + + Use '\''git config rebase.missingCommitsCheck'\'' to change the level of warnings. + The possible behaviours are: ignore, warn, error. + + Rebasing (1/4) + Rebasing (2/4) + Rebasing (3/4) + Rebasing (4/4) + Successfully rebased and updated refs/heads/missing-commit. + EOF test_config rebase.missingCommitsCheck warn && rebase_setup_and_clean missing-commit && set_fake_editor && @@ -1335,21 +1329,20 @@ test_expect_success 'rebase -i respects rebase.missingCommitsCheck = warn' ' test D = $(git cat-file commit HEAD | sed -ne \$p) ' -cat >expect <<EOF -Warning: some commits may have been dropped accidentally. -Dropped commits (newer to older): - - $(git rev-list --pretty=oneline --abbrev-commit -1 master) - - $(git rev-list --pretty=oneline --abbrev-commit -1 master~2) -To avoid this message, use "drop" to explicitly remove a commit. - -Use 'git config rebase.missingCommitsCheck' to change the level of warnings. -The possible behaviours are: ignore, warn, error. - -You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'. -Or you can abort the rebase with 'git rebase --abort'. -EOF - test_expect_success 'rebase -i respects rebase.missingCommitsCheck = error' ' + cat >expect <<-EOF && + Warning: some commits may have been dropped accidentally. + Dropped commits (newer to older): + - $(git rev-list --pretty=oneline --abbrev-commit -1 master) + - $(git rev-list --pretty=oneline --abbrev-commit -1 master~2) + To avoid this message, use "drop" to explicitly remove a commit. + + Use '\''git config rebase.missingCommitsCheck'\'' to change the level of warnings. + The possible behaviours are: ignore, warn, error. + + You can fix this with '\''git rebase --edit-todo'\'' and then run '\''git rebase --continue'\''. + Or you can abort the rebase with '\''git rebase --abort'\''. + EOF test_config rebase.missingCommitsCheck error && rebase_setup_and_clean missing-commit && set_fake_editor &&
In 't3404-rebase-interactive.sh' the expected output of several tests is prepared from here documents, which are outside of 'test_expect_success' blocks and have spaces around redirection operators. Move these here documents into the corresponding 'test_expect_success' block and avoid spaces between filename and redition operators. Furthermore, quote the here docs' delimiter word to prevent parameter expansions and what not, where applicable. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> --- t/t3404-rebase-interactive.sh | 123 ++++++++++++++++------------------ 1 file changed, 58 insertions(+), 65 deletions(-)