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

Re: Cannot push anything via export transport helper after push fails.

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
May 11, 2013, 21:17 UTC
Message-ID
<CAMP44s2XGcJT3SXFGVbKWdQMn8QuCCJ9MVob-CsZSM8O8aUy8A@mail.gmail.com>
In-Reply-To
<20130511224837.39a1c551@opensuse.site>
On Sat, May 11, 2013 at 1:48 PM, Andrey Borzenkov <arvidjaar@gmail.com> wrote:
Show 20 quoted lines
> В Sat, 11 May 2013 08:57:14 -0500
> Felipe Contreras <felipe.contreras@gmail.com> пишет:
>
>> >
>> > The problem seems to be that git fast-export updates marks
>> > unconditionally, whether export actually applied or not. So next time
>> > it assumes everything is already exported and does nothing.
>> >
>> > Is it expected behavior?
>>
>> Indeed, this is the way it currently works, and it's not easy to fix.
>> We would need some way to make fast-export wait until we know the exit
>> status of the remote helper, and then tell it when it failed, so the
>> marks are not updated.
>>
>
> One possibility would be to omit *export-marks and manage GIT marks in
> remote helper as well. Helper would then update synchronously both GIT
> and BZR marks if no errors were detected. Or even better, it could
> update just those commits that had been successful.

That would need to change the whole architecture, because right now the remote helpers are agnostic of Git SHA-1s.

Show 8 quoted lines
>> However, the way remote-bzr/hg work is that the commits are still
>> there anyway. So if you merge the next time you push those commits are
>> already converted, so it's not a problem if fast-export is not
>> exporting them again.
>>
>
> As I understand bzr commit ID is stable. What happens if we try to
> commit the same ID second time?
It's skipped, because it's already converted.
Show 5 quoted lines
>> So even though it's not ideal, it should work.
>>
>
> I'm more concerned about transport errors. Any network glitch during
> push renders you repository unusable (at least, without much efforts).

No, it doesn't. If the remote-helper fails gracefully, the bzr revisions are converted and stored in the bzr repo, even if they were not pushed to the remote. So it's OK if fast-export never exports them again; we already have them.

Cheers.
-- 
Felipe Contreras
Previous: Andrey BorzenkovNext: Andrey Borzenkov
Message 6 of 9 in “Cannot push anything via export transport helper after push fails.”
  1. Andrey BorzenkovMay 11, 2013
  2. John KeepingMay 11, 2013
  3. Andrey BorzenkovMay 11, 2013
  4. Felipe ContrerasMay 11, 2013
  5. Andrey BorzenkovMay 11, 2013
  6. Felipe ContrerasMay 11, 2013
  7. Andrey BorzenkovMay 16, 2013
  8. Felipe ContrerasApr 12, 2014
  9. Felipe ContrerasApr 12, 2014

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.