git-annex/doc/devblog/day_61__damage_driven_development__II.mdwn
Joey Hess 7189dfd77d git-annex (5.20131127) unstable; urgency=low
* webapp: Detect when upgrades are available, and upgrade if the user
    desires.
    (Only when git-annex is installed using the prebuilt binaries
    from git-annex upstream, not from eg Debian.)
  * assistant: Detect when the git-annex binary is modified or replaced,
    and either prompt the user to restart the program, or automatically
    restart it.
  * annex.autoupgrade configures both the above upgrade behaviors.
  * Added support for quvi 0.9. Slightly suboptimal due to limitations in its
    interface compared with the old version.
  * Bug fix: annex.version did not get set on automatic upgrade to v5 direct
    mode repo, so the upgrade was performed repeatedly, slowing commands down.
  * webapp: Fix bug that broke switching between local repositories
    that use the new guarded direct mode.
  * Android: Fix stripping of the git-annex binary.
  * Android: Make terminal app show git-annex version number.
  * Android: Re-enable XMPP support.
  * reinject: Allow to be used in direct mode.
  * Futher improvements to git repo repair. Has now been tested in tens
    of thousands of intentionally damaged repos, and successfully
    repaired them all.
  * Allow use of --unused in bare repository.

# imported from the archive
2013-11-27 18:41:44 -04:00

15 lines
832 B
Markdown

Pushed out a minor release of git-annex today, mostly to fix build problems
on Debian. No strong reason to upgrade to it otherwise.
Continued where I left off with the Git.Destroyer. Fixed quite a lot of
edge cases where git repair failed due to things like a corrupted .git/HEAD
file (this makes git think it's not in a git repository), corrupt
git objects that have an unknown object type and so crash git hard, and
an interesting failure mode where git fsck wants to allocate 116 GB of
memory due to a corrupted object size header. Reported that last to the git
list, as well as working around it.
At the end of the day, I ran a test creating 10000 corrupt git
repositories, and **all** of them were recovered! Any improvements will
probably involve finding new ways to corrupt git repositories that my code
can't think of. ;)