Subject: Re: Corner case bug caused by shell dependent behavior

From: Uwe Storbeck <[email-masked]>
Date: Sat, 15 Mar 2014 00:53:00 +0100

On Mar 13, Jonathan Nieder wrote:
> May we have your sign-off?  (See Documentation/SubmittingPatches
> section "Sign your work" for what this means.

I could have found that myself .. thanks! I'll try to follow it
now. :)
I'll resend the patch. Hopefully I'll do it right.

> Would it make sense to add this as a test to e.g.
> t/t3404-rebase-interactive.sh?

It's a rather special case, so I'm not sure if it's worth it.
I'll send a patch which adds a test for it. The test works for
me, but as I don't understand the test mechanisms already good
enough a few questions:

- Is it correct to call the fake editor with an empty variable
  FAKE_LINES when you want it to not change the todo list of a
  rebase -i and use it as it is (the work is already done by the
  autosquash option)? I can achieve the same with EDITOR=true.
  What's the preferred way? Is there an advantage to use the fake
  editor also in this case?
- The tests in t3404-rebase-interactive.sh use their variables
  a bit differently, some just set the variables, some export
  the variables and some use a subshell to encapsulate them.
  Also some of the tests reset their rebase state so that
  subsequent tests, which also use rebase, do not fail when the
  rebase fails. Other tests don't do that.
  What's the expected resp. recommended behavior?

While trying to understand the test mechanisms I stumbled over
two other problematic uses of echo. These although only affect
the test output, not git itself.

Uwe