• G
    git-merge.sh: better handling of combined --squash,--no-ff,--no-commit options · e6d1f76c
    Gerrit Pape 提交于
    git-merge used to use either the --squash,--no-squash, --no-ff,--ff,
    --no-commit,--commit option, whichever came last in the command line.
    This lead to some un-intuitive behavior, having
    
     git merge --no-commit --no-ff <branch>
    
    actually commit the merge.  Now git-merge respects --no-commit together
    with --no-ff, as well as other combinations of the options.  However,
    this broke a selftest in t/t7600-merge.sh which expected to have --no-ff
    completely override the --squash option, so that
    
     git merge --squash --no-ff <branch>
    
    fast-forwards, and makes a merge commit; combining --squash with --no-ff
    doesn't really make sense though, and is now refused by git-merge.  The
    test is adapted to test --no-ff without the preceding --squash, and
    another test is added to make sure the --squash --no-ff combination is
    refused.
    
    The unexpected behavior was reported by John Goerzen through
     http://bing.sdebian.org/468568Signed-off-by: NGerrit Pape <pape@smarden.org>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    e6d1f76c
git-merge.sh 12.0 KB