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

Re: [PATCH v2 1/3] fast-{import,export}: use get_sha1_hex() directly

From
Junio C Hamano <gitster@pobox.com>
Date
May 7, 2013, 23:19 UTC
Message-ID
<7vli7qidjm.fsf@alter.siamese.dyndns.org>
In-Reply-To
<CAMP44s0AipiEVhHrDS0-dB9jCoCqHYDd_s5gcGzqyuh0A+qehg@mail.gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> writes:
Show 25 quoted lines
> Turns out most of the get_sha1() calls were correct; this does the trick:
>
> diff --git a/builtin/fast-export.c b/builtin/fast-export.c
> index 18fdfb3..d1d68e9 100644
> --- a/builtin/fast-export.c
> +++ b/builtin/fast-export.c
> @@ -623,7 +623,7 @@ static void import_marks(char *input_file)
>
>                 mark = strtoumax(line + 1, &mark_end, 10);
>                 if (!mark || mark_end == line + 1
> -                       || *mark_end != ' ' || get_sha1(mark_end + 1, sha1))
> +                       || *mark_end != ' ' || get_sha1_hex(mark_end + 1, sha1))
>                         die("corrupt mark line: %s", line);
>
>                 if (last_idnum < mark)
> diff --git a/fast-import.c b/fast-import.c
> index 5f539d7..3f32149 100644
> --- a/fast-import.c
> +++ b/fast-import.c
> @@ -1822,7 +1822,7 @@ static void read_marks(void)
>                 *end = 0;
>                 mark = strtoumax(line + 1, &end, 10);
>                 if (!mark || end == line + 1
> -                       || *end != ' ' || get_sha1(end + 1, sha1))
> +                       || *end != ' ' || get_sha1_hex(end + 1, sha1))
This is where --import-marks is handled, and we should be seeing
	:markid SHA-1

one per each line (according to Documentation/git-fast-import.txt). So this one should be get_sha1_hex().

The other one in fast-export.c would be the same.

The other ones in the original patch were reading from the fast-import stream and shouldn't have insisted on 40-hex.

Will replace the body of the change with only these two hunks and requeue. Thanks.

Previous: Felipe ContrerasNext: Felipe Contreras
Message 5 of 25 in “fast-export: speed improvements”
  1. 0/3 fast-export: speed improvementsFelipe Contreras, May 5, 2013
  2. 1/3 fast-{import,export}: use get_sha1_hex() directlyFelipe Contreras, May 5, 2013
  3. Junio C HamanoMay 7, 2013
  4. Felipe ContrerasMay 7, 2013
  5. Junio C HamanoMay 7, 2013
  6. 2/3 fast-export: improve speed by skipping blobsFelipe Contreras, May 5, 2013
  7. Jeff KingMay 6, 2013
  8. Junio C HamanoMay 6, 2013
  9. Junio C HamanoMay 6, 2013
  10. Jeff KingMay 6, 2013
  11. Junio C HamanoMay 6, 2013
  12. Jeff KingMay 6, 2013
  13. Junio C HamanoMay 6, 2013
  14. Jeff KingMay 6, 2013
  15. Jeff KingMay 6, 2013
  16. Felipe ContrerasMay 6, 2013
  17. Felipe ContrerasMay 6, 2013
  18. Junio C HamanoMay 6, 2013
  19. Felipe ContrerasMay 6, 2013
  20. Junio C HamanoMay 7, 2013
  21. Felipe ContrerasMay 7, 2013
  22. Felipe ContrerasMay 6, 2013
  23. Jeff KingMay 6, 2013
  24. Felipe ContrerasMay 6, 2013
  25. 3/3 fast-export: don't parse all the commitsFelipe Contreras, May 5, 2013

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.