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

Re: [PATCH v2 2/3] fast-export: improve speed by skipping blobs

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
May 6, 2013, 21:30 UTC
Message-ID
<CAMP44s2wh71vW6GaCfyCO398BWvVbYnwSE76bO=46XVJF3jWNg@mail.gmail.com>
In-Reply-To
<7vppx3q0z6.fsf@alter.siamese.dyndns.org>
On Mon, May 6, 2013 at 3:58 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 13 quoted lines
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>>> The story is different on the fast-import side, where we do say we
>>> dump the full table and a later run can depend on these marks.
>>
>> Yes, and gaining nothing but increased disk-space.
>
> I thought that the "gaining nothing" has already been refuted by the
> discussion several hours ago...
>
> cf. http://thread.gmane.org/gmane.comp.version-control.git/223275/focus=223440
>
> Puzzled...
What is being gained there? Nothing.
Show 12 quoted lines
>>> By discarding marks on blobs, we may be robbing some optimization
>>> possibilities, and by discarding marks on tags, we may be robbing
>>> some features, from users of fast-export; we might want to add an
>>> option "--use-object-marks={blob,commit,tag}" or something to both
>>> fast-export and fast-import, so that the former can optionally write
>>> marks for non-commits out, and the latter can omit non commit marks
>>> if the user do not need them. But that is a separate issue.
>>
>> How?
>
>  * if we teach fast-import to optionally not write marks for blobs
>    and trees out, your remote-bzr can take advantage of it,
I already said remote-bzr is irrelevant. *Everybody* benefits.
>    Existing users like cvs2git that do not ask to skip marks for
>    non-commits will not be hurt and keep referring to blobs an
>    earlier run wrote out.
cvs2git does *not* store marks. It doesn't get any benefit or get hurt *at all*.
Show 6 quoted lines
>  * if we teach fast-export to optionally write marks for blobs and
>    trees out, the users of fast-export could reuse marks for blobs
>    and trees in later runs (perhaps they can drive fast-export from
>    the output of "git log --raw", noticing blob object names they
>    already saw).  Existing users that do not ask for such a feature
>    will not be hurt.

There's absolutely no benefit from fast-export being able to load and store blobs, the only effect is that the mark files will have tons of entries nobody will ever use.

If you want to add options for features that only hurt, go ahead, but the only sane default is to only store commit marks, both for fast-export, and fast-import. Period.

Cheers.
-- 
Felipe Contreras
Previous: Junio C HamanoNext: Junio C Hamano
Message 19 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.