git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>
Subject: [BUG] Spurious leading '/' in filename in "git diff --raw --relative=<subdirectory>"
Date: Mon, 5 Jul 2010 10:15:23 +0200	[thread overview]
Message-ID: <201007051015.26995.jnareb@gmail.com> (raw)

I wanted to get non-recursive raw diff (difftree), but for a given
subdirectory and not starting from root.  

I have found '--relative[=<path>]', introduced in 

  c0cb4a0 (diff --relative: help working in a bare repository, 2008-02-13)
  cd676a5 (diff --relative: output paths as relative to the current subdirectory, 2008-02-12)

But when examining it's output in 'raw' mode, I have notice spurious
leading '/' in filename:

  $ git diff-tree --abbrev -r --raw HEAD --relative=sub
  a3a8425fe5496c61921010cb1e7b455a1f52bb86
  :100644 100644 d90bda0... cefcae0... M	/quux

The output without '-r' (recurse into sub-trees) is even more strange

  $ git diff-tree --abbrev --raw HEAD --relative=sub
  a3a8425fe5496c61921010cb1e7b455a1f52bb86
  :040000 040000 e62aa6e... b5d4a43... M	

(that's a trailing TAB, and no filename).

What I expected was the following output:

  $ git diff-tree --abbrev --raw HEAD --relative=sub
  a3a8425fe5496c61921010cb1e7b455a1f52bb86
  :040000 040000 e62aa6e... b5d4a43... M	quux


I see that the '--relative' and '--relative=<path>' options were introduced
for patch ('-p') format, and not for difftree / raw format, but I think
they should work for it, too.


P.S. I have noticed this bug when working on proof-of-concept tree-blame
(i.e. when given file was modified) in Perl.
-- 
Jakub Narebski
Poland

             reply	other threads:[~2010-07-05  8:15 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-05  8:15 Jakub Narebski [this message]
2010-07-05 15:44 ` [BUG] Spurious leading '/' in filename in "git diff --raw --relative=<subdirectory>" Jakub Narebski
2010-07-08 11:00   ` [BUG/RFC] Raw diff output format (git-diff-tree) and --relative[=<path>] option Jakub Narebski
2010-07-08 11:41     ` Jeff King
2010-07-08 12:11       ` Jakub Narebski
2010-07-08 12:19       ` Jakub Narebski
2010-07-08 14:23         ` Jeff King
2010-07-08 14:56           ` Jakub Narebski
2010-08-09 14:50             ` Jeff King
2010-08-09 14:59             ` Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201007051015.26995.jnareb@gmail.com \
    --to=jnareb@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).