Skip to contentSkip to conversation

git-repack --max-pack-size: minor code restructuring

PATCH In review Dana How 1 participant 1 message Jun 15, 2016

lore
Share & tools
lore

Dana How

author
#0 lore raw

PATCH 2/8 git-repack --max-pack-size: minor code restructuring

Move the call to write_index_file() from cmd_pack_objects() to write_pack_file() (since only the latter will know how many times to call write_index_file()), and move or add forward declarations for later changes.

---
 builtin-pack-objects.c |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)
builtin-pack-objects.c +14 -8
index 64318b3..8415549 100644
@@ -518,6 +518,16 @@ static off_t write_one(struct sha1file *f,
 	return offset + write_object(f, e);
 }
 
+typedef int (*entry_sort_t)(const struct object_entry *, const struct object_entry *);
+
+static entry_sort_t current_sort;
+
+/* forward declarations for write_pack_file */
+/* (probably should move sorting stuff up here) */
+static int sort_comparator(const void *_a, const void *_b);
+static int sha1_sort(const struct object_entry *a, const struct object_entry *b);
+static void write_index_file(void);
+
 static void write_pack_file(void)
 {
 	uint32_t i;
@@ -562,6 +572,10 @@ static void write_pack_file(void)
 	if (written != nr_result)
 		die("wrote %u objects while expecting %u", written, nr_result);
 	sha1close(f, pack_file_sha1, 1);
+	if (!pack_to_stdout) {
+		write_index_file();
+		puts(sha1_to_hex(object_list_sha1));
+	}
 }
 
 static void write_index_file(void)
@@ -1106,10 +1120,6 @@ static void get_object_details(void)
 	}
 }
 
-typedef int (*entry_sort_t)(const struct object_entry *, const struct object_entry *);
-
-static entry_sort_t current_sort;
-
 static int sort_comparator(const void *_a, const void *_b)
 {
 	struct object_entry *a = *(struct object_entry **)_a;
@@ -1698,10 +1708,6 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
 			progress_update = 0;
 		}
 		write_pack_file();
-		if (!pack_to_stdout) {
-			write_index_file();
-			puts(sha1_to_hex(object_list_sha1));
-		}
 	}
 	if (progress)
 		fprintf(stderr, "Total %u (delta %u), reused %u (delta %u)\n",
Signature · 1 line
1.5.1.89.g8abf0