summaryrefslogtreecommitdiff
path: root/Git
Commit message (Collapse)AuthorAge
* avoid damaging git hook scriptsJoey Hess2014-02-26
|
* handle swap with self caseJoey Hess2014-02-25
|
* Add swapping 2 files test case.Joey Hess2014-02-24
|
* better type, allowing multiple files in a DamageJoey Hess2014-02-24
|
* merge from git-annexJoey Hess2014-02-24
|
* Check git version at run time.Joey Hess2014-01-21
|
* repair: Fix bug in packed refs file exploding code that caused a .gitrefs ↵Joey Hess2014-01-15
| | | | directory to be created instead of .git/refs
* merge from git-annexJoey Hess2014-01-13
|
* Support old git versions from before git fsck --no-dangling was implemented.Joey Hess2014-01-13
|
* merge from git-annexJoey Hess2013-12-10
|
* merge from git-annexJoey Hess2013-12-10
|
* merge from git-annexJoey Hess2013-12-01
| | | | | | Note that the batchCommand stuff is not used in git-repair, so configure does not need to check for nice, ionice, and nocache, nor are they dependend on.
* merge from git-annexJoey Hess2013-11-30
|
* better data typeJoey Hess2013-11-30
|
* try turning on write bit on loose objectsJoey Hess2013-11-21
| | | | Avoid deleting them if that's the only problem.
* make sure index file is writable in pre-repairJoey Hess2013-11-21
|
* merge from git-annexJoey Hess2013-11-21
|
* new cleanCorruptObjectsJoey Hess2013-11-21
| | | | | | | Featuring a better way of really finding and cleaning all corrupt objects. And a lot less repeated fscking! Passed 1800 tests so far.
* remove old TODOJoey Hess2013-11-21
|
* formatJoey Hess2013-11-21
|
* deal with illegal refs in packed-refs fileJoey Hess2013-11-21
|
* remove debug printJoey Hess2013-11-21
|
* clean upJoey Hess2013-11-21
|
* really fix findMissing (?)Joey Hess2013-11-21
| | | | | My hashing was ill-thought, git loose objects can't be easily checked that way. Use git show instead.
* minor optJoey Hess2013-11-21
|
* remove warningJoey Hess2013-11-21
|
* better FileSelector distributionJoey Hess2013-11-21
|
* improve findMissingJoey Hess2013-11-21
| | | | | | | | | | | | | | | | | | | git cat-file -p cannot be relied on to tell when an object is corrupt. If it fails, the fsck may not find all bad objects -- but as long as fsck exits nonzero, it will return a failing fsckresult, and so recovery will run. In recovery, the objects get unpacked. This allows the improved findMissing to find all corrupt loose objects when fsck is run again as part of the recovery. Removed the repack / prune-packed workaround that I added earlier to find corrupt loose objects that fsck wasn't finding. That was slow, and we want to keep all loose objects, so that findMissing will work. And, it's unncessary, now that findMissing is fixed. Also, fixed some places where unreadable files would crash recovery.
* better Arbitrary instance for FileSelectorJoey Hess2013-11-21
| | | | This ensures any file in the repo is chosen, not only one of the first 20.
* stop using cat-file --batch for findMissingJoey Hess2013-11-20
| | | | | | | | | Some corrupt objects can cause it to say the object is several TB, which led to OOM. Added some fork overhead, but it shouldn't be too bad; this is only run against objects fsck outputs, and most of the time that is only corrupt objects, and objects that refer to them.
* fix cat-file stall bugJoey Hess2013-11-20
| | | | | | | Apparently some corruption to an object can cause cat-file to say it's N bytes long, but only output N-M bytes of data. This causes Git.CatFile to stall waiting for the rest. To fix, add a 1 minute timeout to the cat-file, which should be enough time to read any reasonable object.
* missed checking the index in this caseJoey Hess2013-11-20
| | | | This code needs to be refactored..
* fix another failureJoey Hess2013-11-20
| | | | | | | | In this case, fsck failed once for some reason that was corrected by fetching. But then it failed again due to an object with a bad type, which remained in tree after fetching from origin. So, let cleanCorruptObjects run again after fetching.
* catch non-IO exception from cat-fileJoey Hess2013-11-20
| | | | | Aguably, I should make cat-file only throw IO exceptions, but currently it throws some errors too.
* more fixesJoey Hess2013-11-20
|
* fix pack explodingJoey Hess2013-11-20
| | | | | | | unpack-objects does nothing unless the pack is moved out of the packs directory. Also, unpack any packs recevied when fetching.
* fix reversion of bad fsck tryharder codeJoey Hess2013-11-20
|
* remove fsck tryharder codeJoey Hess2013-11-20
| | | | | | It turned out to be broken, and led to failures. 6d67245728bbbc07ad1eeaf5b3c49f64c6bbcd11 was a better fix for the problem that code tried to fix.
* tighten up invalid HEAD detectionJoey Hess2013-11-20
| | | | Must contains "ref: refs/" or git rejects it
* fix a crashJoey Hess2013-11-20
|
* deal with corrupted index againJoey Hess2013-11-20
|
* reorgJoey Hess2013-11-20
|
* try to recover even if git fsck cannot be coaxed to tell us any bad objectsJoey Hess2013-11-20
| | | | | | | Sometimes git fsck outputs no shas even with --verbose, but fails, due to badly corrupt objects. The best thing to do in this situation is to try to pull and rsync from remotes, hoping that the bad objects will be overwritten.
* avoid crash on bad file encodingJoey Hess2013-11-20
|
* Write a dummy .git/HEAD if the file is missing, as git otherwise will not ↵Joey Hess2013-11-20
| | | | treat the repository as a git repo.
* avoid corrupting .git/config, at least for nowJoey Hess2013-11-20
|
* fix repair failure that occurred when index was corrupted, and other objects tooJoey Hess2013-11-19
| | | | | In this case, the index problem prevented fsck from finding the other problems.
* retryingJoey Hess2013-11-19
|
* fix file mode problemsJoey Hess2013-11-19
|
* initial work on git repository destroyerJoey Hess2013-11-19
| | | | | I suspect this might sometimes corrupt the **source** repo, so use with caution!