summaryrefslogtreecommitdiff
path: root/Command/Migrate.hs
Commit message (Collapse)AuthorAge
* remove unused backend machineryGravatar Joey Hess2011-07-05
| | | | | | | | | | | | | 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.
* add whenM and unlessMGravatar Joey Hess2011-05-17
| | | | | Just more golfing.. I am pretty sure something in a library somewhere can do this, but I have been unable to find it.
* migrate: Use current filename when generating new key, for backends where ↵Gravatar Joey Hess2011-05-16
| | | | the filename affects the key name.
* refactor some boilerplateGravatar Joey Hess2011-05-15
|
* migrate: Support migrating v1 SHA keys to v2 SHA keys with size information ↵Gravatar Joey Hess2011-03-23
| | | | that can be used for free space checking.
* refactorGravatar Joey Hess2011-03-23
|
* migrate: Bugfix for case when migrating a file results in a key that is ↵Gravatar Joey Hess2011-03-23
| | | | | | | | | | | already present in .git/annex/objects. For example, this could happen if using SHA1 and a file with content "foo" were added to that backend. Then a file with "content" foo were migrated from the WORM backend. Assume that, if a backend assigned the same key, the already annexed content must be the same. So, the "old" content can be reused.
* free space checkingGravatar Joey Hess2011-03-22
| | | | | | | | Free space checking is now done, for transfers of data for keys that have free space metadata. (Notably, not for SHA* keys generated with git-annex 0.24 or earlier.) The code is believed to work on Linux, FreeBSD, and OSX; check compile-time messages to see if it is not enabled for your OS.
* avoid version check before running version and upgrade commandsGravatar Joey Hess2011-03-19
| | | | | There are two types of commands; those that access the repository and those that don't. Sorted.
* better directory handlingGravatar Joey Hess2011-01-27
| | | | | | | | | | 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.
* parameterize Backend typeGravatar Joey Hess2011-01-25
| | | | | This allows the Backend type to not depend on the Annex type, and so the Annex type can later be moved out of TypeInternals.
* got rid of Core moduleGravatar Joey Hess2011-01-16
| | | | Most of it was to do with managing annexed Content, so put there
* migrate: Fix support for --backend option.Gravatar Joey Hess2011-01-11
|
* copyright yearsGravatar Joey Hess2011-01-08
|
* New migrate subcommand can be used to switch files to using a different ↵Gravatar Joey Hess2011-01-08
backend, safely and with no duplication of content.