Skip to contentSkip to conversation

git-repack --max-pack-size: add new file statics

PATCH In review Dana How 2 participants 3 messages Jun 15, 2016

lore
Share & tools
lore

Dana How

author
#0 lore raw

PATCH 1/8 git-repack --max-pack-size: add new file statics

This adds "pack_size_limit", which will contain the limit specified by --max-pack-size, "written_list", the actual list of objects written to the current pack, and "nr_written", the number of objects in written_list.

---
 builtin-pack-objects.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
builtin-pack-objects.c +3 -1
index b827627..ac2c15e 100644
@@ -52,7 +52,8 @@ struct object_entry {
  * nice "minimum seek" order.
  */
 static struct object_entry *objects;
-static uint32_t nr_objects, nr_alloc, nr_result;
+static struct object_entry **written_list;
+static uint32_t nr_objects, nr_alloc, nr_result, nr_written;
 
 static int non_empty;
 static int no_reuse_delta;
@@ -64,6 +65,7 @@ static char tmpname[PATH_MAX];
 static unsigned char pack_file_sha1[20];
 static int progress = 1;
 static int window = 10;
+static uint32_t pack_size_limit;
 static int pack_to_stdout;
 static int num_preferred_base;
 static struct progress progress_state;
Signature · 1 line
1.5.2.rc0.766.gba60-dirty
#1 lore raw
Quoted 34 lines · Dana How

This adds "pack_size_limit", which will contain the limit specified by --max-pack-size, "written_list", the actual list of objects written to the current pack, and "nr_written", the number of objects in written_list.

---
 builtin-pack-objects.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
builtin-pack-objects.c +3 -1
index b827627..ac2c15e 100644
@@ -52,7 +52,8 @@ struct object_entry {
  * nice "minimum seek" order.
  */
 static struct object_entry *objects;
-static uint32_t nr_objects, nr_alloc, nr_result;
+static struct object_entry **written_list;
+static uint32_t nr_objects, nr_alloc, nr_result, nr_written;
 
 static int non_empty;
 static int no_reuse_delta;
@@ -64,6 +65,7 @@ static char tmpname[PATH_MAX];
 static unsigned char pack_file_sha1[20];
 static int progress = 1;
 static int window = 10;
+static uint32_t pack_size_limit;
 static int pack_to_stdout;
 static int num_preferred_base;
 static struct progress progress_state;
Signature · 1 line
1.5.2.rc0.766.gba60-dirty

This by itself does not seem to do anything (no logic, no command line option parsing, nothing). Why is this a separate patch?

author
#2 lore raw
Quoted 8 lines · Junio C Hamano
Quoted 7 lines · Dana How

This adds "pack_size_limit", which will contain the limit specified by --max-pack-size, "written_list", the actual list of objects written to the current pack, and "nr_written", the number of objects in written_list.

---
 builtin-pack-objects.c |    4 +++-
Quoted 13 lines

builtin-pack-objects.c static char tmpname[PATH_MAX]; · line 65

Quoted 9 lines
builtin-pack-objects.c +3 -1
@@ -52,7 +52,8 @@ struct object_entry {
-static uint32_t nr_objects, nr_alloc, nr_result;
+static struct object_entry **written_list;
+static uint32_t nr_objects, nr_alloc, nr_result, nr_written;
@@ -64,6 +65,7 @@ static char tmpname[PATH_MAX];
+static uint32_t pack_size_limit;

This by itself does not seem to do anything (no logic, no command line option parsing, nothing). Why is this a separate patch?

Remember this all started with me submitting
one monolithic patch which attracted some complaints. After that, I broke the changes into patchsets
with 3 kinds of patches:
(a) Changes (addtitions) to data structures and declarations;
(b) Code restructuring and added forward function declarations

    adding _no_ functionality;

(c) Added functionality, (almost) one function at a time.

So 1/8 is the only member of group (a).
Previously there were more changes in (a).

I'm working on another change/feature. Based on your email, I will merge groups (a) and (b) in future patchsets.

Thanks,

Signature · 1 line
Dana L. How  [email protected]  +1 650 804 5991 cell