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

Re: [PATCH] fast-import: do not truncate exported marks file

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
May 18, 2016, 03:31 UTC
Message-ID
<CAMP44s1WDzRAFV8iNj_RYiiRwJdBcuUDVR-Ew5FF37qdpEO5Mg@mail.gmail.com>
In-Reply-To
<xmqq1t50uxy1.fsf@gitster.mtv.corp.google.com>
On Tue, May 17, 2016 at 5:22 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 19 quoted lines
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>> Certain lines of the marks file might be corrupted (or the objects
>> missing due to a garbage collection), but that's no reason to truncate
>> the file and essentially destroy the rest of it.
>
> Hmm, so the issue is:
>
>  - we use die_nicely() that calls dump_marks() after writing a crash
>    report as our die_routine().
>
>  - when dump_marks() is called, and export_marks_file names an
>    existing file, it tries to write marks in it.  If we let it go
>    through, we would end up writing a new marks file based on an
>    incomplete set of marks we have only half-read in the earlier
>    step, which is bad, as the resulting one is incomplete, and the
>    original one that this replaced may have been a good one.
>
> Is that what this change addresses?
Yes. As I said; the marks file gets truncated.
Show 11 quoted lines
> I am just wondering if a solution to preserve both files is more
> desirable.
>
> This change looks a bit over-eager to discard the dump die_nicely()
> is trying to create in one scenario, and a bit less careful at the
> same time in another scenario.
>
>  - Even if we are reading from somewhere, export_marks_file can
>    point at a completely new file that is different from
>    import_marks file, in which case, we are not really losing any
>    information by freshly creating a new marks file, no?

Right, we are not losing any information, but we are not gaining much either: it's a truncated version of the import marks.

>  - Even if we did not read from any existing marks file, if we are
>    given export_marks_file that names an existing file, wouldn't we
>    want to avoid corrupting it with a dump from this aborted run?
If we don't run from an existing marks file, this patch has no effect.
-- 
Felipe Contreras
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 6 in “fast-import: do not truncate exported marks file”
  1. fast-import: do not truncate exported marks fileFelipe Contreras, May 17, 2016
  2. Junio C HamanoMay 17, 2016
  3. Felipe ContrerasMay 18, 2016
  4. Junio C HamanoMay 18, 2016
  5. Felipe ContrerasMay 18, 2016
  6. Junio C HamanoMay 18, 2016

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.