From: Jakub Narebski <jnareb@gmail.com>
To: Martin Koegler <mkoegler@auto.tuwien.ac.at>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 2/7] gitweb: Support comparing blobs with different names
Date: Fri, 20 Apr 2007 12:34:49 +0200 [thread overview]
Message-ID: <200704201234.50134.jnareb@gmail.com> (raw)
In-Reply-To: <11766699701308-git-send-email-mkoegler@auto.tuwien.ac.at>
Martin Koegler wrote:
> Currently, blobdiff can only compare blobs with different file
> names, if no hb/hpb parameters are present.
>
> This patch adds support for comparing two blobs specified by any
> combination of hb/f/h and hpb/fp/hp.
>
> Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
> ---
Shouldn't the comment below be also a part of commit message (perhaps
changed to use passive form)?
> I unified all blobdiff variants and added support for comparing blobs
> with different names.
>
> If h/hp parameter are missing, I need to generate them with
> git_get_hash_by_path, as the are needed for the html header, which is
> generated before parsing the git-diff output.
>
> I currently ignore all mode changes, as they are part of the tree. I
> don't think that displaying a mode change message justifes two call to
> git-ls-tree for each blob diff (Currently it only calls git-ls-tree
> for each missing h/hp parameter).
I have mixed feelings about this. On the one hand side the blobdiff
generation is simplified as we have only one codepath instead of two,
and removed codepath in rare cases (not generated by gitweb currently)
might return incorrect results in the case of requesting diff between
two arbitrary and unrelated files.
On the other hand side we do loose some information, contained in
extended diff header, like mode changes, renames and such.
It's a pity that extended sha-1 syntax to specify blobs, namely the
<tree-ish>:<path> syntax is opaque, and git-diff machinery sees only the
result of it, as if it was called directly with the sha-1 of blob.
It would be nice if "git diff <tree1>:<path1> <tree2>:<path2>" took
the information about file name and mode (permissions) from <tree1>
and <tree2> and included such information in extended git diff header.
Currently we have:
$ git diff -p HEAD^ HEAD -- gitweb/test/hardlink
diff --git a/gitweb/test/hardlink b/gitweb/test/hardlink
old mode 100644
new mode 100755
but
$ git diff -p HEAD^:gitweb/test/hardlink HEAD:gitweb/test/hardlink
returns empty diff.
I'd rather have core git support for this first before changing how
git_blobdiff is implemented in gitweb...
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2007-04-20 11:01 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <437446e84f3aea71f74fea7ea66db4c1c326fb6b.1176659094.git.mkoegler@auto.tuwien.ac.at>
2007-04-15 20:46 ` [PATCH 1/7] gitweb: show "no difference" message for empty diff Martin Koegler
2007-04-18 13:52 ` Jakub Narebski
[not found] ` <201e30b3f69b40aec4f52ca16a22206f7db1c17d.1176659094.git.mkoegler@auto.tuwien.ac.at>
2007-04-15 20:46 ` [PATCH 3/7] gitweb: support filename prefix in git_patchset_body/git_difftree_body Martin Koegler
2007-04-27 10:55 ` Jakub Narebski
2007-04-28 8:22 ` Martin Koegler
[not found] ` <85de402216e82cc0f220df9d27370a33538a232a.1176659094.git.mkoegler@auto.tuwien.ac.at>
2007-04-15 20:46 ` [PATCH 4/7] gitweb: Add treediff view Martin Koegler
2007-04-16 20:20 ` Martin Koegler
[not found] ` <481946c2e3cff09ed4a623b1b20b9889666aedb0.1176659095.git.mkoegler@auto.tuwien.ac.at>
2007-04-15 20:46 ` [PATCH 5/7] gitweb: Prototyp for selecting diffs in JavaScript Martin Koegler
2007-05-18 8:49 ` Petr Baudis
2007-05-19 7:57 ` Martin Koegler
2007-05-19 8:27 ` Petr Baudis
[not found] ` <083c27614411a8fd7edafef8f5cba91625c88453.1176659095.git.mkoegler@auto.tuwien.ac.at>
2007-04-15 20:46 ` [PATCH 6/7] gitweb: pass root directory as empty file parameter Martin Koegler
[not found] ` <aba7141dc09643b4d6233f1bfb15677163991a27.1176659095.git.mkoegler@auto.tuwien.ac.at>
2007-04-15 20:46 ` [PATCH 7/7] gitweb: Adapt gitweb.js to new git_treeview calling convention Martin Koegler
[not found] ` <a209e0308fc80ef0623baef8dca49e61b7bafaab.1176659094.git.mkoegler@auto.tuwien.ac.at>
2007-04-15 20:46 ` [PATCH 2/7] gitweb: Support comparing blobs with different names Martin Koegler
2007-04-20 10:34 ` Jakub Narebski [this message]
2007-04-20 11:24 ` Junio C Hamano
2007-04-20 20:49 ` Jakub Narebski
2007-04-21 12:23 ` [PATCH 0/4] git-diff: use mode for tree:name syntax (was: Re: [PATCH 2/7] gitweb: Support comparing blobs with different names) Martin Koegler
2007-04-16 20:18 ` [PATCH 2/7] gitweb: Support comparing blobs with different names Martin Koegler
2007-04-29 21:35 ` Jakub Narebski
2007-04-30 5:27 ` Martin Koegler
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=200704201234.50134.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
--cc=mkoegler@auto.tuwien.ac.at \
/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).