git/builtin
Jeff King 158b06caee diff: use pending "path" if it is available
There's a subtle distinction between "name" and "path" for a
blob that we resolve: the name is what the user told us on
the command line, and the path is what we traversed when
finding the blob within a tree (if we did so).

When we diff blobs directly, we use "name", but "path" is
more likely to be useful to the user (it will find the
correct .gitattributes, and give them a saner diff header).

We still have to fall back to using the name for some cases
(i.e., any blob reference that isn't of the form tree:path).
That's the best we can do in such a case.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-24 10:59:27 +09:00
..
add.c hold_locked_index(): align error handling with hold_lockfile_for_update() 2016-12-07 11:31:59 -08:00
am.c Merge branch 'jk/war-on-git-path' 2017-04-26 15:39:08 +09:00
annotate.c
apply.c
archive.c archive: read local configuration 2016-11-22 13:55:20 -08:00
bisect--helper.c
blame.c Merge branch 'rs/blame-code-cleanup' into maint 2017-03-28 13:52:25 -07:00
branch.c Merge branch 'jk/war-on-git-path' 2017-04-26 15:39:08 +09:00
bundle.c bundle: use prefix_filename with bundle path 2017-03-21 11:18:41 -07:00
cat-file.c get_sha1_with_context: dynamically allocate oc->path 2017-05-24 10:59:27 +09:00
check-attr.c attr: tighten const correctness with git_attr and match_attr 2017-02-01 13:46:53 -08:00
check-ignore.c
check-mailmap.c
check-ref-format.c
checkout-index.c hold_locked_index(): align error handling with hold_lockfile_for_update() 2016-12-07 11:31:59 -08:00
checkout.c avoid using fixed PATH_MAX buffers for refs 2017-03-30 14:59:50 -07:00
clean.c Merge branch 'nd/clean-preserve-errno-in-warning' 2017-02-27 13:57:16 -08:00
clone.c Merge branch 'bw/submodule-is-active' 2017-03-30 14:07:14 -07:00
column.c
commit-tree.c
commit.c Merge branch 'jk/war-on-git-path' 2017-04-26 15:39:08 +09:00
config.c Merge branch 'jk/war-on-git-path' 2017-04-26 15:39:08 +09:00
count-objects.c Convert object iteration callbacks to struct object_id 2017-02-22 10:12:15 -08:00
credential.c
describe.c describe: localize debug output fully 2017-03-27 13:45:23 -07:00
diff-files.c
diff-index.c
diff-tree.c Merge branch 'bc/object-id' 2017-03-17 13:50:25 -07:00
diff.c diff: use pending "path" if it is available 2017-05-24 10:59:27 +09:00
difftool.c difftool: fix use-after-free 2017-04-13 17:53:08 -07:00
fast-export.c builtin/fast-export: convert to struct object_id 2017-02-22 10:12:15 -08:00
fetch-pack.c Rename sha1_array to oid_array 2017-03-31 08:33:56 -07:00
fetch.c Merge branch 'bc/object-id' 2017-04-19 21:37:13 -07:00
fmt-merge-msg.c builtin/fmt-merge-message: convert to struct object_id 2017-02-22 10:12:15 -08:00
for-each-ref.c ref-filter: add --no-contains option to tag/branch/for-each-ref 2017-03-24 12:15:26 -07:00
fsck.c read-cache: force_verify_index_checksum 2017-04-15 00:58:36 -07:00
gc.c Merge branch 'dt/xgethostname-nul-termination' 2017-04-23 22:07:57 -07:00
get-tar-commit-id.c
grep.c get_sha1_with_context: dynamically allocate oc->path 2017-05-24 10:59:27 +09:00
hash-object.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
help.c
index-pack.c Merge branch 'jk/loose-object-info-report-error' 2017-04-16 23:29:30 -07:00
init-db.c real_pathdup(): fix callsites that wanted it to die on error 2017-03-08 14:38:41 -08:00
interpret-trailers.c
log.c get_sha1_with_context: dynamically allocate oc->path 2017-05-24 10:59:27 +09:00
ls-files.c ls-files: fix path used when recursing into submodules 2017-04-18 18:01:41 -07:00
ls-remote.c avoid using fixed PATH_MAX buffers for refs 2017-03-30 14:59:50 -07:00
ls-tree.c ls-tree: convert show_recursive to use the pathspec struct interface 2017-01-08 18:04:17 -08:00
mailinfo.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
mailsplit.c
merge-base.c builtin/merge-base: convert to struct object_id 2017-02-22 10:12:16 -08:00
merge-file.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
merge-index.c Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ 2017-03-26 22:08:21 -07:00
merge-ours.c
merge-recursive.c
merge-tree.c
merge.c Merge branch 'bc/object-id' 2017-04-19 21:37:13 -07:00
mktag.c
mktree.c use QSORT 2016-09-29 15:42:18 -07:00
mv.c Merge branch 'bw/pathspec-cleanup' 2017-01-18 15:12:15 -08:00
name-rev.c name-rev: replace static buffer with strbuf 2017-03-30 14:59:50 -07:00
notes.c replace unchecked snprintf calls with heap buffers 2017-03-30 14:59:50 -07:00
pack-objects.c Merge branch 'bc/object-id' 2017-04-19 21:37:13 -07:00
pack-redundant.c
pack-refs.c refs: delete pack_refs() in favor of refs_pack_refs() 2017-04-14 03:53:25 -07:00
patch-id.c Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ 2017-03-26 22:08:21 -07:00
prune-packed.c Convert object iteration callbacks to struct object_id 2017-02-22 10:12:15 -08:00
prune.c Convert object iteration callbacks to struct object_id 2017-02-22 10:12:15 -08:00
pull.c Merge branch 'jk/war-on-git-path' 2017-04-26 15:39:08 +09:00
push.c push: unmark a local variable as static 2017-04-02 09:49:24 -07:00
read-tree.c builtin/read-tree: add --recurse-submodules switch 2017-03-16 14:07:16 -07:00
rebase--helper.c rebase--helper: add a builtin helper for interactive rebases 2017-02-09 14:55:26 -08:00
receive-pack.c Merge branch 'dt/xgethostname-nul-termination' 2017-04-23 22:07:57 -07:00
reflog.c refs: convert each_reflog_ent_fn to struct object_id 2017-02-22 10:12:15 -08:00
remote-ext.c pkt-line: rename packet_write() to packet_write_fmt() 2016-10-17 11:36:50 -07:00
remote-fd.c
remote.c Merge branch 'rl/remote-allow-missing-branch-name-merge' into maint 2017-03-21 15:03:28 -07:00
repack.c repack: die on incremental + write-bitmap-index 2016-12-29 13:45:37 -08:00
replace.c replace: plug a memory leak 2017-04-17 21:56:54 -07:00
rerere.c
reset.c delete_ref: accept a reflog message argument 2017-02-20 22:04:47 -08:00
rev-list.c Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ 2017-03-26 22:08:21 -07:00
rev-parse.c Merge branch 'bc/object-id' 2017-04-19 21:37:13 -07:00
revert.c Merge branch 'jk/cherry-pick-0-mainline' 2017-03-17 13:50:28 -07:00
rm.c rm: reuse strbuf for all remove_dir_recursively() calls, again 2017-02-13 14:33:32 -08:00
send-pack.c Merge branch 'bc/object-id' 2017-04-19 21:37:13 -07:00
shortlog.c Merge branch 'rs/shortlog-cleanup' 2017-03-24 13:07:37 -07:00
show-branch.c Merge branch 'jk/show-branch-lift-name-len-limit' into maint 2017-03-21 15:03:29 -07:00
show-ref.c show-ref: remove a stale comment 2017-01-23 18:51:56 -08:00
stripspace.c stripspace: respect repository config 2016-11-21 11:00:38 -08:00
submodule--helper.c Merge branch 'jk/submodule-init-segv-fix' 2017-05-01 14:14:44 +09:00
symbolic-ref.c delete_ref: accept a reflog message argument 2017-02-20 22:04:47 -08:00
tag.c i18n: remove i18n from tag reflog message 2017-05-01 11:08:02 +09:00
unpack-file.c
unpack-objects.c
update-index.c Merge branch 'cc/untracked' 2017-04-11 00:21:51 -07:00
update-ref.c update-ref: pass reflog message to delete_ref() 2017-02-20 22:04:47 -08:00
update-server-info.c
upload-archive.c archive: read local configuration 2016-11-22 13:55:20 -08:00
var.c
verify-commit.c
verify-pack.c
verify-tag.c builtin/verify-tag: add --format to verify-tag 2017-01-17 16:10:22 -08:00
worktree.c Merge branch 'nd/worktree-add-lock' 2017-04-26 15:39:12 +09:00
write-tree.c