Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
builtin-commit: fix reflog message generation
author
Johannes Schindelin
<Johannes.Schindelin@gmx.de>
Thu, 8 Nov 2007 12:15:26 +0000
(12:15 +0000)
committer
Junio C Hamano
<gitster@pobox.com>
Fri, 23 Nov 2007 01:05:02 +0000
(17:05 -0800)
Instead of strdup()ing, we can just reuse the buffer in which the
commit message is stored, and which is supposed to hold the reflog
message anyway.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-commit.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
e97c9ad
)
diff --git
a/builtin-commit.c
b/builtin-commit.c
index 669cc6b6f1da42551f490d001b7d641cef38e8b5..c8f79a88fb16b0ab142ea95790dbb9593f386d3d 100644
(file)
--- a/
builtin-commit.c
+++ b/
builtin-commit.c
@@
-488,7
+488,7
@@
int cmd_commit(int argc, const char **argv, const char *prefix)
int header_len, parent_count = 0;
struct strbuf sb;
const char *index_file, *reflog_msg;
int header_len, parent_count = 0;
struct strbuf sb;
const char *index_file, *reflog_msg;
- char *nl
, *header_line
;
+ char *nl;
unsigned char commit_sha1[20];
struct ref_lock *ref_lock;
unsigned char commit_sha1[20];
struct ref_lock *ref_lock;
@@
-585,12
+585,13
@@
int cmd_commit(int argc, const char **argv, const char *prefix)
0);
nl = strchr(sb.buf + header_len, '\n');
0);
nl = strchr(sb.buf + header_len, '\n');
- header_line = xstrndup(sb.buf + header_len,
- nl - (sb.buf + header_len));
- strbuf_release(&sb);
- strbuf_addf(&sb, "%s: %s\n", reflog_msg, header_line);
- strbuf_addch(&sb, '\0');
- free(header_line);
+ if (nl)
+ strbuf_setlen(&sb, nl + 1 - sb.buf);
+ else
+ strbuf_addch(&sb, '\n');
+ strbuf_remove(&sb, 0, header_len);
+ strbuf_insert(&sb, 0, reflog_msg, strlen(reflog_msg));
+ strbuf_insert(&sb, strlen(reflog_msg), ": ", 2);
if (!ref_lock)
die("cannot lock HEAD ref");
if (!ref_lock)
die("cannot lock HEAD ref");