summaryrefslogtreecommitdiff
path: root/rerere.c
diff options
context:
space:
mode:
Diffstat (limited to 'rerere.c')
-rw-r--r--rerere.c65
1 files changed, 33 insertions, 32 deletions
diff --git a/rerere.c b/rerere.c
index 1d0f69d..7b4028c 100644
--- a/rerere.c
+++ b/rerere.c
@@ -682,42 +682,43 @@ static int do_plain_rerere(struct string_list *rr, int fd)
* initial run would catch all and register their preimages.
*/
for (i = 0; i < conflict.nr; i++) {
+ unsigned char sha1[20];
+ char *hex;
+ int ret;
const char *path = conflict.items[i].string;
- if (!string_list_has_string(rr, path)) {
- unsigned char sha1[20];
- char *hex;
- int ret;
- /*
- * Ask handle_file() to scan and assign a
- * conflict ID. No need to write anything out
- * yet.
- */
- ret = handle_file(path, sha1, NULL);
- if (ret < 1)
- continue;
- hex = xstrdup(sha1_to_hex(sha1));
- string_list_insert(rr, path)->util = hex;
+ if (string_list_has_string(rr, path))
+ continue;
- /*
- * If the directory does not exist, create
- * it. mkdir_in_gitdir() will fail with
- * EEXIST if there already is one.
- *
- * NEEDSWORK: make sure "gc" does not remove
- * preimage without removing the directory.
- */
- if (mkdir_in_gitdir(git_path("rr-cache/%s", hex)))
- continue;
+ /*
+ * Ask handle_file() to scan and assign a
+ * conflict ID. No need to write anything out
+ * yet.
+ */
+ ret = handle_file(path, sha1, NULL);
+ if (ret < 1)
+ continue;
+ hex = xstrdup(sha1_to_hex(sha1));
+ string_list_insert(rr, path)->util = hex;
- /*
- * We are the first to encounter this
- * conflict. Ask handle_file() to write the
- * normalized contents to the "preimage" file.
- */
- handle_file(path, NULL, rerere_path(hex, "preimage"));
- fprintf(stderr, "Recorded preimage for '%s'\n", path);
- }
+ /*
+ * If the directory does not exist, create
+ * it. mkdir_in_gitdir() will fail with
+ * EEXIST if there already is one.
+ *
+ * NEEDSWORK: make sure "gc" does not remove
+ * preimage without removing the directory.
+ */
+ if (mkdir_in_gitdir(git_path("rr-cache/%s", hex)))
+ continue;
+
+ /*
+ * We are the first to encounter this
+ * conflict. Ask handle_file() to write the
+ * normalized contents to the "preimage" file.
+ */
+ handle_file(path, NULL, rerere_path(hex, "preimage"));
+ fprintf(stderr, "Recorded preimage for '%s'\n", path);
}
for (i = 0; i < rr->nr; i++)