1. 13 Sep, 2016 1 commit
  2. 02 Jun, 2016 1 commit
  3. 06 Dec, 2013 1 commit
  4. 28 Oct, 2013 1 commit
    • Duy Nguyen's avatar
      pathspec: stop --*-pathspecs impact on internal parse_pathspec() uses · 4a2d5ae2
      Duy Nguyen authored
      Normally parse_pathspec() is used on command line arguments where it
      can do fancy thing like parsing magic on each argument or adding magic
      for all pathspecs based on --*-pathspecs options.
      
      There's another use of parse_pathspec(), where pathspec is needed, but
      the input is known to be pure paths. In this case we usually don't
      want --*-pathspecs to interfere. And we definitely do not want to
      parse magic in these paths, regardless of --literal-pathspecs.
      
      Add new flag PATHSPEC_LITERAL_PATH for this purpose. When it's set,
      --*-pathspecs are ignored, no magic is parsed. And if the caller
      allows PATHSPEC_LITERAL (i.e. the next calls can take literal magic),
      then PATHSPEC_LITERAL will be set.
      
      This fixes cases where git chokes when GIT_*_PATHSPECS are set because
      parse_pathspec() indicates it won't take any magic. But
      GIT_*_PATHSPECS add them anyway. These are
      
         export GIT_LITERAL_PATHSPECS=1
         git blame -- something
         git log --follow something
         git log --merge
      
      "git ls-files --with-tree=path" (aka parse_pathspec() in
      overlay_tree_on_cache()) is safe because the input is empty, and
      producing one pathspec due to PATHSPEC_PREFER_CWD does not take any
      magic into account.
      Signed-off-by: Duy Nguyen's avatarNguyễn Thái Ngọc Duy <pclouds@gmail.com>
      Acked-by: default avatarJeff King <peff@peff.net>
      Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
      4a2d5ae2
  5. 15 Jul, 2013 19 commits
  6. 06 Jan, 2013 4 commits