Skip to content

Commit

Permalink
Merge branch 'ew/doc-split-pack-disables-bitmap' into HEAD
Browse files Browse the repository at this point in the history
Doc update.

* ew/doc-split-pack-disables-bitmap:
  pack-objects: warn on split packs disabling bitmaps
  • Loading branch information
gitster committed May 18, 2016
2 parents 10b6646 + 9cea46c commit 989cbd4
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 9 deletions.
12 changes: 8 additions & 4 deletions Documentation/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2147,8 +2147,11 @@ pack.packSizeLimit::
The maximum size of a pack. This setting only affects
packing to a file when repacking, i.e. the git:// protocol
is unaffected. It can be overridden by the `--max-pack-size`
option of linkgit:git-repack[1]. The minimum size allowed is
limited to 1 MiB. The default is unlimited.
option of linkgit:git-repack[1]. Reaching this limit results
in the creation of multiple packfiles; which in turn prevents
bitmaps from being created.
The minimum size allowed is limited to 1 MiB.
The default is unlimited.
Common unit suffixes of 'k', 'm', or 'g' are
supported.

Expand Down Expand Up @@ -2548,8 +2551,9 @@ repack.writeBitmaps::
objects to disk (e.g., when `git repack -a` is run). This
index can speed up the "counting objects" phase of subsequent
packs created for clones and fetches, at the cost of some disk
space and extra time spent on the initial repack. Defaults to
false.
space and extra time spent on the initial repack. This has
no effect if multiple packfiles are created.
Defaults to false.

rerere.autoUpdate::
When set to true, `git-rerere` updates the index with the
Expand Down
3 changes: 2 additions & 1 deletion Documentation/git-pack-objects.txt
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,8 @@ base-name::
--max-pack-size=<n>::
Maximum size of each output pack file. The size can be suffixed with
"k", "m", or "g". The minimum size allowed is limited to 1 MiB.
If specified, multiple packfiles may be created.
If specified, multiple packfiles may be created, which also
prevents the creation of a bitmap index.
The default is unlimited, unless the config variable
`pack.packSizeLimit` is set.

Expand Down
8 changes: 5 additions & 3 deletions Documentation/git-repack.txt
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,8 @@ other objects in that pack they already have locally.
--max-pack-size=<n>::
Maximum size of each output pack file. The size can be suffixed with
"k", "m", or "g". The minimum size allowed is limited to 1 MiB.
If specified, multiple packfiles may be created.
If specified, multiple packfiles may be created, which also
prevents the creation of a bitmap index.
The default is unlimited, unless the config variable
`pack.packSizeLimit` is set.

Expand All @@ -115,15 +116,16 @@ other objects in that pack they already have locally.
Write a reachability bitmap index as part of the repack. This
only makes sense when used with `-a` or `-A`, as the bitmaps
must be able to refer to all reachable objects. This option
overrides the setting of `pack.writeBitmaps`.
overrides the setting of `repack.writeBitmaps`. This option
has no effect if multiple packfiles are created.

--pack-kept-objects::
Include objects in `.keep` files when repacking. Note that we
still do not delete `.keep` packs after `pack-objects` finishes.
This means that we may duplicate objects, but this makes the
option safe to use when there are concurrent pushes or fetches.
This option is generally only useful if you are writing bitmaps
with `-b` or `pack.writeBitmaps`, as it ensures that the
with `-b` or `repack.writeBitmaps`, as it ensures that the
bitmapped packfile has the necessary objects.

Configuration
Expand Down
9 changes: 8 additions & 1 deletion builtin/pack-objects.c
Original file line number Diff line number Diff line change
Expand Up @@ -759,6 +759,10 @@ static off_t write_reused_pack(struct sha1file *f)
return reuse_packfile_offset - sizeof(struct pack_header);
}

static const char no_split_warning[] = N_(
"disabling bitmap writing, packs are split due to pack.packSizeLimit"
);

static void write_pack_file(void)
{
uint32_t i = 0, j;
Expand Down Expand Up @@ -813,7 +817,10 @@ static void write_pack_file(void)
fixup_pack_header_footer(fd, sha1, pack_tmp_name,
nr_written, sha1, offset);
close(fd);
write_bitmap_index = 0;
if (write_bitmap_index) {
warning(_(no_split_warning));
write_bitmap_index = 0;
}
}

if (!pack_to_stdout) {
Expand Down

0 comments on commit 989cbd4

Please sign in to comment.