path: root/builtin/reset.c
diff options
authorJeff King <>2014-06-10 21:41:39 (GMT)
committerJunio C Hamano <>2014-06-13 19:08:17 (GMT)
commitb66103c3baa593a39b8b0751213b9fce60e94de4 (patch)
tree3bdd4603011427fe37e0d9a90d3a910860e22238 /builtin/reset.c
parentba41c1c93fd9109eae954f75a8cb8e32c3e29530 (diff)
convert logmsg_reencode to get_commit_buffer
Like the callsites in the previous commit, logmsg_reencode already falls back to read_sha1_file when necessary. However, I split its conversion out into its own commit because it's a bit more complex. We return either: 1. The original commit->buffer 2. A newly allocated buffer from read_sha1_file 3. A reencoded buffer (based on either 1 or 2 above). while trying to do as few extra reads/allocations as possible. Callers currently free the result with logmsg_free, but we can simplify this by pointing them straight to unuse_commit_buffer. This is a slight layering violation, in that we may be passing a buffer from (3). However, since the end result is to free() anything except (1), which is unlikely to change, and because this makes the interface much simpler, it's a reasonable bending of the rules. Signed-off-by: Jeff King <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'builtin/reset.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin/reset.c b/builtin/reset.c
index b5312c4..6bd6245 100644
--- a/builtin/reset.c
+++ b/builtin/reset.c
@@ -109,7 +109,7 @@ static void print_new_head_line(struct commit *commit)
- logmsg_free(msg, commit);
+ unuse_commit_buffer(commit, msg);
static void update_index_from_diff(struct diff_queue_struct *q,