Here's a re-roll of the series from:
http://public-inbox.org/git/[email protected]/
The general gist is the same, but there are a number of changes:
- I dropped the first patch factoring out finalize_file(), as Ramsay
pointed out a subtle difference between the index and pack handling.
- I added an extra patch on top (5/5 here) to get the same
pointer-aliasing safety that the factored-out function got us
(more so, actually, as it protects keep_msg, too).
- I re-ordered the odb_pack_keep() cleanup before the odb_pack_name()
cleanups, which lets us do the latter in one swoop (and avoids
explaining "well, we can't do .keep yet, because..." in the commit
message)
- The original had two patches doing the odb_pack_name() conversion.
Now that it has fewer caveats, I felt comfortable lumping it all
into one (patch 4/5 here).
[1/5]: move odb_* declarations out of git-compat-util.h
[2/5]: sha1_file.c: make pack-name helper globally accessible
[3/5]: odb_pack_keep(): stop generating keepfile name
[4/5]: replace snprintf with odb_pack_name()
[5/5]: index-pack: make pointer-alias fallbacks safer
builtin/index-pack.c | 31 +++++++++++++++----------------
cache.h | 21 +++++++++++++++++++++
environment.c | 6 ++----
fast-import.c | 26 +++++++++++++-------------
git-compat-util.h | 2 --
sha1_file.c | 17 ++++++-----------
6 files changed, 57 insertions(+), 46 deletions(-)