I noticed a spot in builtin/bundle.c that would benefit from using prefix_filename(). But when I tried to use it, I noticed its interface was a little error-prone (because it returns a static buffer). And indeed, a little digging found a bug in hash-object related to this. So here's the fix for the hash-object bug, some cleanups to make such bugs less likely, and then finally the bundle conversion. The bundle thing does fix some minor bugs. It _could_ come before the cleanups if we wanted to float the fixes to the top, but the function is much more pleasant to call after the cleanups. :) [1/6]: hash-object: fix buffer reuse with --path in a subdirectory [2/6]: prefix_filename: move docstring to header file [3/6]: prefix_filename: drop length parameter [4/6]: prefix_filename: return newly allocated string [5/6]: prefix_filename: simplify windows #ifdef [6/6]: bundle: use prefix_filename with bundle path abspath.c | 30 +++++++++++------------------- apply.c | 11 ++++++----- builtin/bundle.c | 8 +------- builtin/config.c | 4 +--- builtin/hash-object.c | 10 +++++----- builtin/log.c | 3 +-- builtin/mailinfo.c | 11 ++--------- builtin/merge-file.c | 18 +++++++++++------- builtin/rev-parse.c | 6 +++--- builtin/worktree.c | 5 +++-- cache.h | 14 +++++++++++++- diff-no-index.c | 7 +++---- diff.c | 6 +++--- parse-options.c | 2 +- setup.c | 11 ++++++++--- t/t1007-hash-object.sh | 10 ++++++++++ worktree.c | 5 ++++- 17 files changed, 86 insertions(+), 75 deletions(-) -Peff