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

Re: Git bug report - disk errors on Windows after push

From
ACAttila Csosz <csosza@designsoftware.com>
Date
Apr 22, 2022, 15:04 UTC
Message-ID
<CAMYm8FqU8zHUPFqWdM3Mpw3kj4yHEqHsNYFXz+b+p0vZZaVjYw@mail.gmail.com>
In-Reply-To
<220422.868rrx5uju.gmgdl@evledraar.gmail.com>

I'm using git on Windows for 6-7 years sometimes facing this problem (different computers, different HDDs). Last time the problem occured on my internal laptop HDD. So I have decided to report the problem.

If unstable to use local bare repos on Windows you should mention in somewhere or completly disable it. Disk errors are unacceptable even the git repo is corrupted.

Please check this link also https://github.community/t/what-could-be-the-reason-my-git-repositories-keep-getting-corrupted-broken/184711

Attila

On Fri, Apr 22, 2022 at 11:27 AM Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:

Show 65 quoted lines
>
>
> On Mon, Apr 18 2022, brian m. carlson wrote:
>
> > [[PGP Signed Part:Undecided]]
> > Hey,
> >
> > On 2022-04-18 at 07:47:07, Attila Csosz wrote:
> >> Thank you for filling out a Git bug report!
> >> Please answer the following questions to help us understand your issue.
> >>
> >> What did you do before the bug happened? (Steps to reproduce your issue)
> >> Pushing to a directory directly.
> >>
> >> What did you expect to happen? (Expected behavior)
> >> Good behavior
> >>
> >> What happened instead? (Actual behavior)
> >> Disk errors. After pushing to a directory (my origin field is C:\Work for
> >> example) the git repository will be corrupted.
> >> Moreover causing disk errors not only in the target git bare repository.
> >> I've loosed some other files.
> >> Cannot be reproduced exactly. However I have decided to report this problem.
> >> I've experienced this problem for several years.
> >
> > There's nothing that Git should be able to do as a normal operating
> > system that causes disk errors.  If you're seeing those kinds of errors,
> > the likelihood is that your disk is bad and you need to replace it.
> >
> > Do note that if you're storing your data in a directory managed by a
> > cloud syncing service (e.g., Dropbox or OneDrive), then it is known that
> > those file systems corrupt Git repositories and you shouldn't use them
> > with Git.  That's due to the way they sync data.
> >
> > However, if this is a regular file system (e.g., NTFS), then Git
> > shouldn't be able to cause disk problems, and if it could, that would be
> > a serious defect in Windows, so it's almost certainly going to be a
> > hardware problem.
>
> I think you're most likely right that this is some local HW issue, but
> the report doesn't have enough information to say either way.
>
> But generally as we've been discussing at length in various threads
> related to git's fsync() behavior we can and will corrupt repositories
> due only to our own (mis)use of FS APIs, i.e. not doing fsyncing and the
> like correctly, it's been improved a bit recently.
>
> But we're still in a state of not doing it correctly, and/or relying on
> some implicit assumptions.
>
> For something like an external disk that may have its power cable yanked
> I'd give it about even odds that it's HW v.s. git's own FS syncing logic
> being at fault.
>
> We get away with a lot of shenanigans because we're usually on a
> journaled FS, which e.g. on a FAT32 external volume we won't benefit
> from.
>
> Attila: I have no idea if this even exists on Windows, but aside from
> other suggestions in this thread I'd suggest enabling whatever Window's
> equivalent of "sync" mounting is (if it even exists). I.e. to have every
> single FS operation by synced to the metal.
>
> It will make your repository *much much slower*, but it will be safe as
> far as any logic errors in git vis-a-vis syncing go.
Previous: Ævar Arnfjörð BjarmasonNext: Junio C Hamano
Message 9 of 10 in “Git bug report - disk errors on Windows after push”
  1. Attila CsoszApr 18, 2022
  2. brian m. carlsonApr 18, 2022
  3. Attila CsoszApr 19, 2022
  4. brian m. carlsonApr 20, 2022
  5. Neeraj SinghApr 20, 2022
  6. Attila CsoszApr 21, 2022
  7. Neeraj SinghApr 21, 2022
  8. Ævar Arnfjörð BjarmasonApr 22, 2022
  9. Attila CsoszApr 22, 2022
  10. Junio C HamanoApr 22, 2022

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.