Skip to content
Snippets Groups Projects
  1. Dec 06, 2011
    • Joey Hess's avatar
      Prevent key names from containing newlines. · 480495be
      Joey Hess authored
      There are several places where it's assumed a key can be written on one
      line. One is in the format of the .git/annex/unused files. The difficult
      one is that filenames derived from keys are fed into git cat-file --batch,
      which has a line based input. (And no -z option.)
      
      So, for now it's best to block such keys being created.
      480495be
  2. Nov 29, 2011
    • Joey Hess's avatar
      add support for using hashDirLower in addition to hashDirMixed · da9cd315
      Joey Hess authored
      Supporting multiple directory hash types will allow converting to a
      different one, without a flag day.
      
      gitAnnexLocation now checks which of the possible locations have a file.
      This means more statting of files. Several places currently use
      gitAnnexLocation and immediately check if the returned file exists;
      those need to be optimised.
      da9cd315
  3. Nov 08, 2011
    • Joey Hess's avatar
      reorder repo parameters last · bf460a0a
      Joey Hess authored
      Many functions took the repo as their first parameter. Changing it
      consistently to be the last parameter allows doing some useful things with
      currying, that reduce boilerplate.
      
      In particular, g <- gitRepo is almost never needed now, instead
      use inRepo to run an IO action in the repo, and fromRepo to get
      a value from the repo.
      
      This also provides more opportunities to use monadic and applicative
      combinators.
      bf460a0a
  4. Nov 04, 2011
    • Joey Hess's avatar
      use SHA256 by default · ef345719
      Joey Hess authored
      To get old behavior, add a .gitattributes containing: * annex.backend=WORM
      
      I feel that SHA256 is a better default for most people, as long as their
      systems are fast enough that checksumming their files isn't a problem.
      git-annex should default to preserving the integrity of data as well as git
      does. Checksum backends also work better with editing files via
      unlock/lock.
      
      I considered just using SHA1, but since that hash is believed to be somewhat
      near to being broken, and git-annex deals with large files which would be a
      perfect exploit medium, I decided to go to a SHA-2 hash.
      
      SHA512 is annoyingly long when displayed, and git-annex displays it in a
      few places (and notably it is shown in ls -l), so I picked the shorter
      hash. Considered SHA224 as it's even shorter, but feel it's a bit weird.
      
      I expect git-annex will use SHA-3 at some point in the future, but
      probably not soon!
      
      Note that systems without a sha256sum (or sha256) program will fall back to
      defaulting to SHA1.
      ef345719
  5. Nov 02, 2011
  6. Nov 01, 2011
    • Joey Hess's avatar
      playing with >=> · c643136e
      Joey Hess authored
      Apparently in haskell if you teach a man to fish, he'll write
      more pointfree code.
      c643136e
  7. Oct 11, 2011
  8. Oct 05, 2011
  9. Oct 04, 2011
  10. Sep 21, 2011
  11. Aug 22, 2011
  12. Aug 20, 2011
  13. Aug 06, 2011
  14. Jul 19, 2011
  15. Jul 15, 2011
    • Joey Hess's avatar
      hlint tweaks · e7847573
      Joey Hess authored
      Did all sources except Remotes/* and Command/*
      e7847573
  16. Jul 05, 2011
    • Joey Hess's avatar
      remove unused backend machinery · 9f1577f7
      Joey Hess authored
      The only remaining vestiage of backends is different types of keys. These
      are still called "backends", mostly to avoid needing to change user interface
      and configuration. But everything to do with storing keys in different
      backends was gone; instead different types of remotes are used.
      
      In the refactoring, lots of code was moved out of odd corners like
      Backend.File, to closer to where it's used, like Command.Drop and
      Command.Fsck. Quite a lot of dead code was removed. Several data structures
      became simpler, which may result in better runtime efficiency. There should
      be no user-visible changes.
      9f1577f7
  17. Jul 01, 2011
  18. Jun 10, 2011
  19. Jun 02, 2011
  20. May 16, 2011
  21. Apr 08, 2011
  22. Mar 22, 2011
    • Joey Hess's avatar
      fast mode · c2199872
      Joey Hess authored
      Add --fast flag, that can enable less expensive, but also less thurough versions of some commands.
      
      * Add --fast flag, that can enable less expensive, but also less thurough
        versions of some commands.
      * fsck: In fast mode, avoid checking checksums.
      * unused: In fast mode, just show all existing temp files as unused,
        and avoid expensive scan for other unused content.
      c2199872
  23. Mar 16, 2011
    • Joey Hess's avatar
      rename file · 4594bd51
      Joey Hess authored
      4594bd51
    • Joey Hess's avatar
      first pass at using new keys · 9d49fe2c
      Joey Hess authored
      It compiles. It sorta works. Several subcommands are FIXME marked and
      broken, because things that used to accept separate --backend and --key
      params need to be changed to accept just a --key that encodes all the key
      info, now that there is metadata in keys.
      9d49fe2c
  24. Mar 12, 2011
  25. Mar 02, 2011
  26. Mar 01, 2011