Re: Bug: git branch --unset-upstream command can nuke config when disk is full.
- From
Jeff King <peff@peff.net>
- Date
- Sep 13, 2017, 14:51 UTC
- Message-ID
- <20170913145154.423zqe6antzccclk@sigill.intra.peff.net>
- In-Reply-To
- <CANgJU+WHr2-FjAUUKQ8pUkniczcxrr11dTo_zBeXdTi_su2oUA@mail.gmail.com>
On Wed, Sep 13, 2017 at 04:49:45PM +0200, demerphq wrote:
Show 19 quoted lines
> On 13 September 2017 at 16:17, Jeff King <peff@peff.net> wrote:
> > You're welcome to read over the function to double-check, but I just
> > looked it over and couldn't find any unchecked writes.
>
> I can look, but I doubt I would notice something you did not.
>
> On the other hand the strace output does show that this is a case
> where the writes failed, but we still renamed the empty config.lock
> file into place:
>
>
> write(3, "[core]\n\tsharedRepository = true\n"..., 288) = -1 ENOSPC
> (No space left on device)
> write(3, " merge = refs/heads/yves/"..., 51) = -1 ENOSPC (No
> space left on device)
> munmap(0x7f48d9b8c000, 363) = 0
> close(3) = 0
> rename("/usr/local/git_tree/main/.git/config.lock",
> "/usr/local/git_tree/main/.git/config") = 0Hmph. That is very disturbing. But with that information I should be able to track down the culprit. Thanks for digging.
> I freed up space and things worked, so I somehow doubt the filesystem > is at fault. When I then filled up the disk and retried the error was > repeatable.
Yeah, agreed. This really does look like a bug.
-Peff