Merge branch 'rs/blame'
[gitweb.git] / rerere.c
index 121f9114140708efd36bd4bd1b375f5ad0c558bc..02931a151f1abe183763c9a1edb65ffd36d83bc3 100644 (file)
--- a/rerere.c
+++ b/rerere.c
@@ -79,7 +79,7 @@ static int handle_file(const char *path,
        enum {
                RR_CONTEXT = 0, RR_SIDE_1, RR_SIDE_2, RR_ORIGINAL,
        } hunk = RR_CONTEXT;
-       struct strbuf one, two;
+       struct strbuf one = STRBUF_INIT, two = STRBUF_INIT;
        FILE *f = fopen(path, "r");
        FILE *out = NULL;
 
@@ -97,8 +97,6 @@ static int handle_file(const char *path,
        if (sha1)
                git_SHA1_Init(&ctx);
 
-       strbuf_init(&one, 0);
-       strbuf_init(&two,  0);
        while (fgets(buf, sizeof(buf), f)) {
                if (!prefixcmp(buf, "<<<<<<< ")) {
                        if (hunk != RR_CONTEXT)
@@ -353,8 +351,9 @@ int setup_rerere(struct string_list *merge_rr)
        if (!is_rerere_enabled())
                return -1;
 
-       merge_rr_path = xstrdup(git_path("MERGE_RR"));
-       fd = hold_lock_file_for_update(&write_lock, merge_rr_path, 1);
+       merge_rr_path = git_pathdup("MERGE_RR");
+       fd = hold_lock_file_for_update(&write_lock, merge_rr_path,
+                                      LOCK_DIE_ON_ERROR);
        read_rr(merge_rr);
        return fd;
 }