Retrying an interrupted initial push fails because the remote branch already exists
Lore version
lore 0.9.0
Installation method
Built from source
Operating system / architecture
Linux -- x86_64
Steps to reproduce
- Create and populate an offline repository, including a sufficiently large payload to keep the initial transfer active.
- Register the corresponding server repository with the same repository ID.
- Start lore push with one connection.
- Terminate the client after it reports Pushing and before it completes.
- Confirm the offline origin still opens and accepts another commit.
- Run lore push again.
Expected vs actual behavior
Expected: Repeating the push resumes or safely restarts the transfer and advances the existing remote branch. Actual: Retry fails with Branch main already exists, use switch instead. The partially transferred repository cannot be completed through another ordinary push.
Component
Both / unsure
Server context
Unauthenticated loopback loreserver with isolated local immutable and mutable stores.
The failure is returned while branch::push attempts to recreate main after the server reports missing state. --force does not recover it. Creating and pushing a new branch can publish the revision state but may still leave previously transferred payload addresses absent, so that is not a safe workaround. Server-side removal of the partial repository also requires authorization and is not a general client recovery path.
Regression?
No response
Relevant logs or output
Source: EpicGames/lore