Re: [PATCH] rebase -i: fixup fixup! fixup!
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 26, 2013, 23:48 UTC
- Message-ID
- <7vd2r8v3fa.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1372283778-sup-5704@pimlott.net>
Andrew Pimlott <andrew@pimlott.net> writes:
> In order to test this, I wrote a helper function to dump the rebase -i > todo list. Would you like this introduced in its own patch, or > combined? See below.
Depends on how involved the addition of the tests that actually use the helper, but in general it would be a good idea to add it in the first patch that actually uses it. Unused code added in a separate patch will not point at that patch when bisecting, if that unused code was broken from the beginning (not that I see anything immediately broken in the code the following adds).
Show 30 quoted lines
> ---8<---
> Subject: [PATCH] lib-rebase: set_cat_todo_editor
>
> Add a helper for testing rebase -i todo lists. This can be used to verify
> the expected user experience, even for todo list changes that do not affect
> the outcome of rebase.
>
> Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
> ---
> t/lib-rebase.sh | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/t/lib-rebase.sh b/t/lib-rebase.sh
> index 4b74ae4..d118dd6 100644
> --- a/t/lib-rebase.sh
> +++ b/t/lib-rebase.sh
> @@ -66,6 +66,19 @@ EOF
> chmod a+x fake-editor.sh
> }
>
> +# After set_cat_todo_editor, rebase -i will write the todo list (ignoring
> +# blank lines and comments) to stdout, and exit failure.
> +
> +set_cat_todo_editor () {
> + echo "#!$SHELL_PATH" >fake-editor.sh
> + cat >> fake-editor.sh <<\EOF
> +grep "^[^#]" "$1"
> +exit 1
> +EOF
> + chmod a+x fake-editor.shThese days we should use write_script to do this kind of thing, I think.
Show 6 quoted lines
> + test_set_editor "$(pwd)/fake-editor.sh"
> +}
> +
> # checks that the revisions in "$2" represent a linear range with the
> # subjects in "$1"
> test_linear_range () {