git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/1] repack: warn if bitmaps are explicitly enabled with keep files

From
EWEric Wong <e@80x24.org>
Date
Jun 29, 2019, 19:16 UTC
Message-ID
<20190629191600.nipp2ut37xd3mx56@dcvr>
In-Reply-To
<87zhm26uq9.fsf@evledraar.gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
Show 10 quoted lines
> I have the feedback I posted before this patch in
> https://public-inbox.org/git/874l4f8h4c.fsf@evledraar.gmail.com/
> 
> In particular "b" there since "a" is clearly more work. I.e. shouldn't
> we at least in interactive mode on a "gc" print something about skipping
> what we'd otherwise do.
> 
> Maybe that's tricky with the gc.log functionality, but I think we should
> at least document this before the next guy shows up with "sometimes my
> .bitmap files aren't generated...".

I'm not sure if the warning should be present by default; because we'll silently stop using bitmaps, now. But warning if '-b' is specified seems right:

-------8<----------
Subject: [PATCH] repack: warn if bitmaps are explicitly enabled with keep
 files

If a user explicitly enables bitmaps, we should warn if .keep files exist or are specified via --keep-pack

Signed-off-by: Eric Wong <e@80x24.org>
---
 builtin/repack.c  |  8 ++++++++
 t/t7700-repack.sh | 16 ++++++++++++++++
 2 files changed, 24 insertions(+)
diff --git a/builtin/repack.c b/builtin/repack.c
index 73250b2431..b1eeee88a7 100644
--- a/builtin/repack.c
+++ b/builtin/repack.c
@@ -359,7 +359,15 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
 				 is_bare_repository() &&
 				 keep_pack_list.nr == 0 &&
 				 !has_pack_keep_file();
+	} else if (write_bitmaps > 0) {
+		if (keep_pack_list.nr)
+			fprintf(stderr,
+				_("WARNING: --keep-pack is incompatible with bitmaps\n"));
+		if (has_pack_keep_file())
+			fprintf(stderr,
+				_("WARNING: .keep files are incompatible with bitmaps\n"));
 	}
+
 	if (pack_kept_objects < 0)
 		pack_kept_objects = write_bitmaps;
 
diff --git a/t/t7700-repack.sh b/t/t7700-repack.sh
index 0e9af832c9..839484c7dc 100755
--- a/t/t7700-repack.sh
+++ b/t/t7700-repack.sh
@@ -249,4 +249,20 @@ test_expect_success 'no bitmaps created if .keep files present' '
 	test_must_be_empty actual
 '
 
+test_expect_success '-b warns with .keep files present' '
+	pack=$(ls bare.git/objects/pack/*.pack) &&
+	test_path_is_file "$pack" &&
+	keep=${pack%.pack}.keep &&
+	>"$keep" &&
+	git -C bare.git repack -adb 2>err &&
+	test_i18ngrep -F ".keep files are incompatible" err &&
+	rm -f "$keep"
+'
+
+test_expect_success '-b warns with --keep-pack specified' '
+	keep=$(cd bare.git/objects/pack/ && ls *.pack) &&
+	git -C bare.git repack -adb --keep-pack="$keep" 2>err &&
+	test_i18ngrep -F "keep-pack is incompatible" err
+'
+
 test_done
-- 
EW
Previous: Ævar Arnfjörð BjarmasonNext: Junio C Hamano
Message 11 of 20 in “2.22.0 repack -a duplicating pack contents”
  1. Janos FarkasJun 23, 2019
  2. Ævar Arnfjörð BjarmasonJun 23, 2019
  3. Janos FarkasJun 23, 2019
  4. Jeff KingJun 23, 2019
  5. Eric WongJun 23, 2019
  6. Jeff KingJun 23, 2019
  7. Ævar Arnfjörð BjarmasonJun 24, 2019
  8. Jeff KingJul 3, 2019
  9. repack: disable bitmaps-by-default if .keep files existEric Wong, Jun 28, 2019
  10. Ævar Arnfjörð BjarmasonJun 28, 2019
  11. 2/1 repack: warn if bitmaps are explicitly enabled with keep filesEric Wong, Jun 29, 2019
  12. Junio C HamanoJul 1, 2019
  13. Jeff KingJul 3, 2019
  14. Junio C HamanoJul 3, 2019
  15. Junio C HamanoJul 3, 2019
  16. Jeff KingJul 3, 2019
  17. Jeff KingJul 3, 2019
  18. Junio C HamanoJul 8, 2019
  19. SZEDER GáborJun 29, 2019
  20. repack: disable bitmaps-by-default if .keep files existEric Wong, Jun 29, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.