Add "--non-empty" flag to git-pack-objects
It skips writing the pack-file if it ends up being empty.
diff --git a/pack-objects.c b/pack-objects.c
index 780418d..9e9c578 100644
--- a/pack-objects.c
+++ b/pack-objects.c
@@ -18,6 +18,7 @@
struct object_entry *delta;
};
+static int non_empty = 0;
static int incremental = 0;
static struct object_entry **sorted_by_sha, **sorted_by_type;
static struct object_entry *objects = NULL;
@@ -391,6 +392,10 @@
const char *arg = argv[i];
if (*arg == '-') {
+ if (!strcmp("--non-empty", arg)) {
+ non_empty = 1;
+ continue;
+ }
if (!strcmp("--incremental", arg)) {
incremental = 1;
continue;
@@ -440,6 +445,8 @@
}
add_object_entry(sha1, hash);
}
+ if (non_empty && !nr_objects)
+ return 0;
get_object_details();
fprintf(stderr, "Packing %d objects\n", nr_objects);