Skip to content
  • Jeff King's avatar
    parse-options: allow --end-of-options as a synonym for "--" · 51b4594b
    Jeff King authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    The revision option parser recently learned about --end-of-options, but
    that's not quite enough for all callers. Some of them, like git-log,
    pick out some options using parse_options(), and then feed the remainder
    to setup_revisions(). For those cases we need to stop parse_options()
    from finding more options when it sees --end-of-options, and to retain
    that option in argv so that setup_revisions() can see it as well.
    
    Let's handle this the same as we do "--". We can even piggy-back on the
    handling of PARSE_OPT_KEEP_DASHDASH, because any caller that wants to
    retain one will want to retain the other.
    
    I've included two tests here. The "log" test covers "--source", which is
    one of the options it handles with parse_options(), and would fail
    before this patch. There's also a test that uses the parse-options
    helper directly. That confirms that the option is handled correctly even
    in cases without KEEP_DASHDASH or setup_revisions(). I.e., it is safe to
    use --end-of-options in place of "--" in other programs.
    
    Signed-off-by: default avatarJeff King <peff@peff.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    51b4594b