Compared to v2: * rebased to latest master * patch 1 and 2 I kept them in, but if Junio prefers them separately then I'll send them as separate patches. * patch 5 - strbuf_add(buf, sha1_to_hex(oid.hash), GIT_SHA1_HEXSZ); + strbuf_addstr(buf, oid_to_hex(&oid)); * patch 7 On suggestion from Duy Nguyễn, I renamed parameter names: 'hash1' and 'hash2' with 'oid1' and 'oid2' to avoid e.g. 'hash1->hash'. I decided *not to* implement suggested replace_tree_entry_hash function (when implemented as in mail, t6026-merge-subtree fails). I think this overwriting of object_id needs to be addressed, but probably at the time of adjusting tree object format for longer hash. Patryk Obara (14): http-push: improve error log clang-format: adjust penalty for return type line break sha1_file: convert pretend_sha1_file to object_id dir: convert struct sha1_stat to use object_id sha1_file: convert hash_sha1_file to object_id cache: clear whole hash buffer with oidclr match-trees: convert splice_tree to object_id commit: convert commit_tree* to object_id notes: convert combine_notes_* to object_id notes: convert write_notes_tree to object_id sha1_file: convert write_sha1_file to object_id sha1_file: convert force_object_loose to object_id sha1_file: convert write_loose_object to object_id sha1_file: rename hash_sha1_file_literally .clang-format | 2 +- Documentation/technical/api-object-access.txt | 2 +- apply.c | 12 ++-- blame.c | 2 +- builtin/am.c | 4 +- builtin/checkout.c | 3 +- builtin/commit-tree.c | 4 +- builtin/commit.c | 5 +- builtin/hash-object.c | 3 +- builtin/index-pack.c | 5 +- builtin/merge.c | 8 +-- builtin/mktag.c | 6 +- builtin/mktree.c | 10 +-- builtin/notes.c | 8 +-- builtin/pack-objects.c | 2 +- builtin/receive-pack.c | 11 +-- builtin/replace.c | 4 +- builtin/tag.c | 2 +- builtin/unpack-objects.c | 11 +-- cache-tree.c | 16 ++--- cache.h | 25 ++++--- commit.c | 15 ++-- commit.h | 11 +-- convert.c | 6 +- diffcore-rename.c | 4 +- dir.c | 56 +++++++-------- dir.h | 12 ++-- http-push.c | 4 ++ log-tree.c | 2 +- match-trees.c | 46 ++++++------ merge-recursive.c | 5 +- notes-cache.c | 8 +-- notes-merge.c | 9 ++- notes-utils.c | 9 +-- notes-utils.h | 3 +- notes.c | 63 ++++++++-------- notes.h | 29 ++++---- read-cache.c | 6 +- sha1_file.c | 100 ++++++++++++++------------ t/helper/test-dump-untracked-cache.c | 4 +- 40 files changed, 281 insertions(+), 256 deletions(-) base-commit: 5be1f00a9a701532232f57958efab4be8c959a29 -- 2.14.3