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

[PATCH 02/13] fast-export: support done feature

From
Sverre Rabbelier <srabbelier@gmail.com>
Date
Aug 29, 2010, 03:45 UTC
Message-ID
<1283053540-27042-3-git-send-email-srabbelier@gmail.com>
In-Reply-To
<1283053540-27042-1-git-send-email-srabbelier@gmail.com>

If fast-export is being used to generate a fast-import stream that will be used afterwards it is desirable to indicate the end of the stream with the new 'done' command.

Add a flag that causes fast-export to end with 'done'. ---

  Also very trivial, obviously if the corresponding feature is
  removed the flag should be named differently.
 Documentation/git-fast-export.txt |    4 ++++
 builtin/fast-export.c             |    9 +++++++++
 2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/Documentation/git-fast-export.txt b/Documentation/git-fast-export.txt
index 98ec6b5..912562e 100644
--- a/Documentation/git-fast-export.txt
+++ b/Documentation/git-fast-export.txt
@@ -82,6 +82,10 @@ marks the same across runs.
 	allow that.  So fake a tagger to be able to fast-import the
 	output.
 
+--use-done-feature::
+	Start the stream with a 'feature done' stanza, and terminate
+	it with a 'done' command.
+
 --no-data::
 	Skip output of blob objects and instead refer to blobs via
 	their original SHA-1 hash.  This is useful when rewriting the
diff --git a/builtin/fast-export.c b/builtin/fast-export.c
index 9fe25ff..0c39c2e 100644
--- a/builtin/fast-export.c
+++ b/builtin/fast-export.c
@@ -26,6 +26,7 @@ static int progress;
 static enum { ABORT, VERBATIM, WARN, STRIP } signed_tag_mode = ABORT;
 static enum { ERROR, DROP, REWRITE } tag_of_filtered_mode = ABORT;
 static int fake_missing_tagger;
+static int use_done_feature;
 static int no_data;
 
 static int parse_opt_signed_tag_mode(const struct option *opt,
@@ -584,6 +585,8 @@ int cmd_fast_export(int argc, const char **argv, const char *prefix)
 			     "Import marks from this file"),
 		OPT_BOOLEAN(0, "fake-missing-tagger", &fake_missing_tagger,
 			     "Fake a tagger when tags lack one"),
+		OPT_BOOLEAN(0, "use-done-feature", &use_done_feature,
+			     "Use the done feature to terminate the stream"),
 		{ OPTION_NEGBIT, 0, "data", &no_data, NULL,
 			"Skip output of blob data",
 			PARSE_OPT_NOARG | PARSE_OPT_NEGHELP, NULL, 1 },
@@ -605,6 +608,9 @@ int cmd_fast_export(int argc, const char **argv, const char *prefix)
 	if (argc > 1)
 		usage_with_options (fast_export_usage, options);
 
+	if (use_done_feature)
+		printf("feature done\n");
+
 	if (import_filename)
 		import_marks(import_filename);
 
@@ -629,5 +635,8 @@ int cmd_fast_export(int argc, const char **argv, const char *prefix)
 	if (export_filename)
 		export_marks(export_filename);
 
+	if (use_done_feature)
+		printf("done\n");
+
 	return 0;
 }
-- 
1.7.2.1.240.g6a95c3
Previous: Jonathan NiederNext: Daniel Barkalow
Message 13 of 52 in “remote helper improvements”
  1. 00/13 remote helper improvementsSverre Rabbelier, Aug 29, 2010
  2. 01/13 fast-import: add the 'done' commandSverre Rabbelier, Aug 29, 2010
  3. Daniel BarkalowAug 29, 2010
  4. Sverre RabbelierAug 29, 2010
  5. Jonathan NiederAug 29, 2010
  6. Sverre RabbelierAug 29, 2010
  7. Jonathan NiederAug 29, 2010
  8. Sverre RabbelierAug 30, 2010
  9. Jonathan NiederAug 30, 2010
  10. Sverre RabbelierAug 30, 2010
  11. Jonathan NiederAug 30, 2010
  12. Jonathan NiederFeb 13, 2011
  13. 02/13 fast-export: support done featureSverre Rabbelier, Aug 29, 2010
  14. Daniel BarkalowAug 29, 2010
  15. Sverre RabbelierAug 29, 2010
  16. Tay Ray ChuanAug 29, 2010
  17. Sverre RabbelierAug 30, 2010
  18. 03/13 transport-helper: factor out push_update_refs_statusSverre Rabbelier, Aug 29, 2010
  19. Jonathan NiederAug 29, 2010
  20. Sverre RabbelierAug 29, 2010
  21. 04/13 transport-helper: check status code of finish_commandSverre Rabbelier, Aug 29, 2010
  22. Jonathan NiederAug 29, 2010
  23. 05/13 transport-helper: use the new done feature to properly do importsSverre Rabbelier, Aug 29, 2010
  24. Jonathan NiederAug 29, 2010
  25. Sverre RabbelierAug 30, 2010
  26. 06/13 transport-helper: update ref status after push with exportSverre Rabbelier, Aug 29, 2010
  27. Jonathan NiederAug 29, 2010
  28. Sverre RabbelierAug 30, 2010
  29. 07/13 transport-helper: change import semanticsSverre Rabbelier, Aug 29, 2010
  30. Daniel BarkalowAug 29, 2010
  31. Sverre RabbelierAug 29, 2010
  32. 08/13 transport-helper: export should disconnect tooSverre Rabbelier, Aug 29, 2010
  33. Daniel BarkalowAug 29, 2010
  34. Sverre RabbelierAug 29, 2010
  35. 09/13 transport-helper: Use capname for gitdir capability tooSverre Rabbelier, Aug 29, 2010
  36. Jonathan NiederAug 30, 2010
  37. 10/13 transport-helper: implement marks location as capabilitySverre Rabbelier, Aug 29, 2010
  38. Daniel BarkalowAug 29, 2010
  39. Sverre RabbelierAug 29, 2010
  40. Jonathan NiederAug 30, 2010
  41. Sverre RabbelierAug 30, 2010
  42. 11/13 remote-curl: accept empty line as terminatorSverre Rabbelier, Aug 29, 2010
  43. Jonathan NiederAug 30, 2010
  44. Sverre RabbelierAug 30, 2010
  45. 12/13 git-remote-testgit: only push for non-local repositoriesSverre Rabbelier, Aug 29, 2010
  46. Jonathan NiederAug 30, 2010
  47. Sverre RabbelierAug 30, 2010
  48. Jonathan NiederAug 30, 2010
  49. 13/13 git-remote-testgit: fix error handlingSverre Rabbelier, Aug 29, 2010
  50. Jonathan NiederAug 30, 2010
  51. Sverre RabbelierAug 30, 2010
  52. Sverre RabbelierAug 30, 2010

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.