diff options
author | Junio C Hamano <junkio@cox.net> | 2006-09-06 02:12:09 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-09-07 02:46:03 -0700 |
commit | 106d710bc13f34aec1a15c4cff80f062f384edf6 (patch) | |
tree | e6ff5d78fca3d9292cf71e47a97c4671b6b5a0ec /revision.h | |
parent | 8d1d8f83b5d918c6071b606e321de9c31fed9e68 (diff) | |
download | git-106d710bc13f34aec1a15c4cff80f062f384edf6.tar.gz git-106d710bc13f34aec1a15c4cff80f062f384edf6.tar.xz |
pack-objects --unpacked=<existing pack> option.
Incremental repack without -a essentially boils down to:
rev-list --objects --unpacked --all |
pack-objects $new_pack
which picks up all loose objects that are still live and creates
a new pack.
This implements --unpacked=<existing pack> option to tell the
revision walking machinery to pretend as if objects in such a
pack are unpacked for the purpose of object listing. With this,
we could say:
rev-list --objects --unpacked=$active_pack --all |
pack-objects $new_pack
instead, to mean "all live loose objects but pretend as if
objects that are in this pack are also unpacked". The newly
created pack would be perfect for updating $active_pack by
replacing it.
Since pack-objects now knows how to do the rev-list's work
itself internally, you can also write the above example by:
pack-objects --unpacked=$active_pack --all $new_pack </dev/null
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'revision.h')
-rw-r--r-- | revision.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/revision.h b/revision.h index c1f71afe6..a5c35d05c 100644 --- a/revision.h +++ b/revision.h @@ -38,7 +38,7 @@ struct rev_info { blob_objects:1, edge_hint:1, limited:1, - unpacked:1, + unpacked:1, /* see also ignore_packed below */ boundary:1, parents:1; @@ -57,6 +57,10 @@ struct rev_info { unsigned int shown_one:1, abbrev_commit:1, relative_date:1; + + const char **ignore_packed; /* pretend objects in these are unpacked */ + int num_ignore_packed; + unsigned int abbrev; enum cmit_fmt commit_format; struct log_info *loginfo; |