Re: [PATCH 1/2] t3310: Add testcase demonstrating failure to --commit from within another dir
Johan Herland <johan@herland.net> writes:
> Found-by: David Bremner <david@tethera.net>
> Signed-off-by: Johan Herland <johan@herland.net>
Could you clarify what "from within another dir" means on the subject?
What was the expected usage?
The 'git notes merge' command expected to be run from the
working tree of the project being annotated, and did not
anticipate getting run inside $GIT_DIR/. However, because
we use $GIT_DIR/NOTES_MERGE_WORKTREE as a temporary working
space for the user to work on resolving conflicts, it is not
unreasonable for a user to run "git notes merge --commit"
there.Is that the issue?
Show 46 quoted lines
> ---
>
> (sending again in the correct thread. Sorry for the screwup.)
>
> This is a transcription of David's test script into a git test case.
>
> Thanks to David for finding this issue.
>
>
> Have fun! :)
>
> ...Johan
>
> t/t3310-notes-merge-manual-resolve.sh | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/t/t3310-notes-merge-manual-resolve.sh b/t/t3310-notes-merge-manual-resolve.sh
> index 4367197..0c531c3 100755
> --- a/t/t3310-notes-merge-manual-resolve.sh
> +++ b/t/t3310-notes-merge-manual-resolve.sh
> @@ -553,4 +553,23 @@ test_expect_success 'resolve situation by aborting the notes merge' '
> verify_notes z
> '
>
> +cat >expect_notes <<EOF
> +foo
> +bar
> +EOF
> +
> +test_expect_failure 'switch cwd before committing notes merge' '
> + git notes add -m foo HEAD &&
> + git notes --ref=other add -m bar HEAD &&
> + test_must_fail git notes merge refs/notes/other &&
> + (
> + cd .git/NOTES_MERGE_WORKTREE &&
> + echo "foo" > $(git rev-parse HEAD) &&
> + echo "bar" >> $(git rev-parse HEAD) &&
> + git notes merge --commit
> + ) &&
> + git notes show HEAD > actual_notes &&
> + test_cmp expect_notes actual_notes
> +'
> +
> test_done
> --
> 1.7.9.2