git-cinnabar icon indicating copy to clipboard operation
git-cinnabar copied to clipboard

git cinnabar fsck complains about ~160k missing files in a repo with gecko-dev and cinnabar remotes

Open jld opened this issue 5 years ago • 4 comments

I have a gecko-dev clone where I added some Hg remotes via cinnabar (to allow cherry-picking patches from one to the other): mozilla-central, mozilla-beta, mozilla-esr78, and previously an older mozilla-esr remote which I've since deleted.

When I run git cinnabar fsck, there is a very long error message like this:

Could not find the following files:
  8fdaaf28d10ef9cf4bb6879868ae3087e3f3f034 _.cargo/_config.in
  6a26ff8b94379800676d0efa5c9490fa74641f4c _.clang-format
  84419269cf83b70f24d524fd9222e2ad51da1d9c _.clang-format
  4eaed1125a6a499020f9d5b3b8ec5fafff52dc2d _.clang-format-ignore
  e7d01c5922c8573e6fe072c4e00504665155c7bd _.clang-format-ignore
  91690a644c93e3fe2075f4e33274060e358670ad _.clang-tidy
  5267bfff39c4c7bdd42ee66bca520ea364f678f3 _.cron.yml
  3055430ffa0faf01632d5dcd317eb0846f124906 _.eslintignore
  e3dfe525f87fa7e2c95985653bce24f7f91da6ea _.eslintignore
  9558a5a80ce42c580bbec4d3fed92cf882dcf1a0 _.eslintrc
  408ab05e85f58c28e2b5fc290039081c2a280f74 _.eslintrc.js
[around 160k lines removed]
  f3620494d969338103d59173e629200142051cf1 _xpfe/_components/_windowds/_nsIWindowDataSource.idl
  2e686c747d713667f584d05197ca178bb715e018 _xpfe/_components/_windowds/_nsWindowDataSource.cpp
  db7e692d3853eb23fc473079b92d8a5f3b1f4787 _xpfe/_components/_windowds/_nsWindowDataSource.cpp
  ac9450cda871f0876eceedef26bf7d29b3d7d4fe _xpfe/_components/_windowds/_nsWindowDataSource.h
  b2aeb9060171aae7d73a500e1faa3b3bedad9e1e _xpfe/_test/_child-window.html
  ba4d5979dcb6ddd36191904a8864e46f351ca566 _xpfe/_test/_winopen.js
  3e06ffb1fe0ba9f59e5fa14e7cfb803e906416cc _xpfe/_test/_winopen.xul
This might be a bug in `git cinnabar fsck`. Please open an issue, with the message above, on
https://github.com/glandium/git-cinnabar/issues

The elided lines (at least the ones I've looked at) all seem to have the same pattern: paths in the repo with underscores at the start of the path components, sometimes two with the same filename and different hashes, sometimes not.

The repo seems to work correctly.

Does this look like a bug in cinnabar, or data corruption, or is this a configuration that's known not to work, or…?

jld avatar Jul 22 '20 19:07 jld

Can you send a bundle created with something like: git bundle create $file refs/cinnabar/metadata refs/cinnabar/checked --not --remotes origin? (you may want to add any other remote you have with a --remotes too)

glandium avatar Jul 22 '20 21:07 glandium

"Good" news, the issue is now happening on my own clone of mozilla-unified.

glandium avatar Apr 02 '21 22:04 glandium

Apart from the obvious display problem fixed in 258f5c4fe176337595d5608db37b57e22e01a43d, in my case, there are two problems:

  • the metadata somehow dropped references to plenty of manifests.
  • instead of finding that, fsck makes up problems about files.

@jld do you still have the repo you filed this against?

glandium avatar Apr 02 '21 22:04 glandium

(a fsck --full does find the manifests problem, but takes something like 8 hours)

glandium avatar Apr 02 '21 22:04 glandium