| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
Kqueue needs to remember which files failed to be added due to being open,
and retry them. This commit gets the data in place for such a retry thread.
Broke KeySource out into its own file, and added Eq and Ord instances
so it can be stored in a Set.
|
|
|
|
|
|
| |
generating a key
This already made migrate's code a lot simpler.
|
|
|
|
| |
This way it's clear when a backend does not implement its own fsck checks.
|
| |
|
| |
|
| |
|
|
|
|
| |
no code changes
|
|
|
|
| |
Did all sources except Remotes/* and Command/*
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Now that SHA and other backends can have size info, fsck should check it
whenever available.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
or may not match locale settings, any attempt to decode filenames will fail for some files. So instead, do all output in binary mode.
|
| |
|
|
|
|
|
|
|
|
| |
Based on http://hackage.haskell.org/trac/ghc/ticket/3307 ,
whether FilePath contains decoded unicode varies by OS.
So, add a configure check for it.
Also, renamed showFile to filePathToString
|
|
|
|
|
|
|
|
|
| |
Internally, the filenames are stored as un-decoded unicode.
I tried decoding them, but then haskell tries to access the wrong files.
Hmm.
So, I've unhappily chosen option "B", which is to decode filenames before
they are displayed.
|
|
|
|
|
|
|
|
|
|
| |
Rename Locations functions for better consitency, and make their values
more consistent too.
Used </> rather than manually building paths. There are still more places
that manually do so, but are tricky, due to the behavior of </> when
the second FilePath is absolute. So I only changed places where
it obviously was relative.
|
|
|
|
| |
Now that it only contains types used by the backends
|
| |
|
|
|
|
|
| |
This allows the Backend type to not depend on the Annex type, and
so the Annex type can later be moved out of TypeInternals.
|
|
|
|
| |
Most of it was to do with managing annexed Content, so put there
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* fsck: Check if annex.numcopies is satisfied.
* fsck: Verify the sha1 of files when the SHA1 backend is used.
* fsck: Verify the size of files when the WORM backend is used.
* fsck: Allow specifying individual files to fsk if fscking everything
is not desired.
* fsck: Fix bug, introduced in 0.04, in detection of unused data.
|
| |
|
| |
|
| |
|
|
|
|
| |
with size and mtime in the key, it's redundant
|
| |
|
| |
|
|
|