On 2014-03-15 17.11, Benoit Pierre wrote: > On Sat, Mar 15, 2014 at 1:28 PM, Torsten Bögershausen <tboegi@xxxxxx> wrote: >> On 2014-03-11 22.03, Junio C Hamano wrote: >>> Benoit Pierre <benoit.pierre@xxxxxxxxx> writes: >>> >>>> Add (failing) test: with commit changing the environment to let hooks >>>> now that no editor will be used (by setting GIT_EDITOR to ":"), the >>>> "edit hunk" functionality does not work (no editor is launched and the >>>> whole hunk is committed). >>>> >>>> Signed-off-by: Benoit Pierre <benoit.pierre@xxxxxxxxx> >>>> --- >>>> t/t7513-commit_-p_-m_hunk_edit.sh | 34 ++++++++++++++++++++++++++++++++++ >>>> 1 file changed, 34 insertions(+) >>>> create mode 100755 t/t7513-commit_-p_-m_hunk_edit.sh >>>> >>>> diff --git a/t/t7513-commit_-p_-m_hunk_edit.sh b/t/t7513-commit_-p_-m_hunk_edit.sh >>> >>> I'll move this to t/t7514-commit-patch.sh for now while queuing. >> >> This line is problematic: >> echo e | env GIT_EDITOR="sed s/+line3\$/+line2/ -i" git commit -p -m commit2 f >> >> (sed -i is not portable: >> http://pubs.opengroup.org/onlinepubs/007908799/xcu/sed.html) >> >> The whole test hangs in a forever loop loop under MacOS: >> debug=t verbose=t ./t7514-commit-patch.sh >> Stage this hunk [y,n,q,a,d,/,e,?]? @@ -1 +1,2 @@ >> line1 >> +line3 >> >> I think perl can be used instead of sed (but I haven't found the exact syntax yet) > > Or maybe change the test to just 'touch' a temporary file or change > its content like Jun Hao did with for its version of the tests: > > https://github.com/bloomberg/git/compare/commit-patch-allow-hunk-editing > > Should I make a third version? I'll simplify and move the tests to > t/t7514-commit-patch.sh and add a test for the '--dry-run' case. And > also: > - 'now' => 'know' in one of the commit message > - sign off the last patch (which I forgot to do) > - fix the indentation in one of the patch > The following works for me, (diff against pu) (and if you want to send a 3rd version, please do so :-) diff --git a/t/t7514-commit-patch.sh b/t/t7514-commit-patch.sh index 1f05d32..da92669 100755 --- a/t/t7514-commit-patch.sh +++ b/t/t7514-commit-patch.sh @@ -25,10 +25,20 @@ test_expect_success 'setup (initial)' ' EOF ' +write_script .git/FAKE_EDITOR <<\EOF + sed -e "s/+line3\$/+line2/" <"$1" >tmp && + mv -f tmp "$1" + exit 0 +EOF + test_expect_success 'edit hunk "commit -p -m message"' ' - echo e | env GIT_EDITOR="sed s/+line3\$/+line2/ -i" git commit -p -m commit2 file && - git diff HEAD^ HEAD >actual && - test_cmp expect actual + ( + GIT_EDITOR="\"$(pwd)/.git/FAKE_EDITOR\"" && + export GIT_EDITOR && + echo e | git commit -p -m commit2 file && + git diff HEAD^ HEAD >actual && + test_cmp expect actual + ) ' test_done -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html