summaryrefslogtreecommitdiff
path: root/Command/Unannex.hs
Commit message (Collapse)AuthorAge
* Support git's core.sharedRepository configurationGravatar Joey Hess2012-04-21
| | | | | | This is incomplete, it does not honor it yet for hash directories and other annex bookkeeping files. Some of that is not needed for a bare repo; some of it may be.
* added ifM and nuked 11 lines of codeGravatar Joey Hess2012-03-14
| | | | no behavior changes
* type alias cleanupGravatar Joey Hess2011-12-31
|
* improve outputGravatar Joey Hess2011-12-22
|
* split out Git/Command.hsGravatar Joey Hess2011-12-14
|
* cleanupGravatar Joey Hess2011-12-09
|
* unannex improvementsGravatar Joey Hess2011-12-09
| | | | | | | | | Added files don't have to be committed before they can be unannexed. unannex no longer commits existing staged changes unannex of the last file in a directory now works, before it failed because git rm deleted the directory out from under it,
* factor out a stopUnlessGravatar Joey Hess2011-12-09
| | | | code melt for lunch
* add support for using hashDirLower in addition to hashDirMixedGravatar Joey Hess2011-11-28
| | | | | | | | | | 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.
* better limiting of start actions to only run whenAnnexedGravatar Joey Hess2011-11-10
| | | | | Mostly only refactoring, but this does remove one redundant stat of the symlink by copy.
* reorder repo parameters lastGravatar Joey Hess2011-11-08
| | | | | | | | | | | | | 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.
* clean up check selection codeGravatar Joey Hess2011-10-29
| | | | | | | | | This new approach allows filtering out checks from the default set that are not appropriate for a command, rather than having to list every check that is appropriate. It also reduces some boilerplate. Haskell does not define Eq for functions, so I had to go a long way around with each check having a unique id. Meh.
* cleanupGravatar Joey Hess2011-10-27
|
* Fail if --from or --to is passed to commands that do not support them.Gravatar Joey Hess2011-10-27
|
* refactored and generalized pre-command sanity checkingGravatar Joey Hess2011-10-27
|
* reorganize log modulesGravatar Joey Hess2011-10-15
| | | | no code changes
* renameGravatar Joey Hess2011-10-05
|
* renameGravatar Joey Hess2011-10-04
|
* factor out common importsGravatar Joey Hess2011-10-03
| | | | no code changes
* refactorGravatar Joey Hess2011-09-23
|
* remove command type definitionsGravatar Joey Hess2011-09-15
| | | | | | | These were a mistake, they make the type signatures harder to read and less flexible. The CommandSeek, CommandStart, CommandPerform, and CommandCleanup types were a good idea, but composing them with the parameters expected is going too far.
* clean up params in usage displayGravatar Joey Hess2011-09-15
|
* split groups of related functions out of UtilityGravatar Joey Hess2011-08-22
|
* unannex: only commit, no -aGravatar Joey Hess2011-07-14
| | | | -a is actually not needed; only commit staged changes
* unannex: Clean up use of git commit -a.Gravatar Joey Hess2011-07-14
| | | | | | | | This was more complex than would be expected. unannex has to use git commit -a since it's removing files from git; git commit filelist won't do. Allow commands to be added to the Git queue that have no associated files, and run such commands once.
* 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.
* unannex: In --fast mode, file content is left in the annex, and a hard link ↵Gravatar Joey Hess2011-07-04
| | | | made to it.
* add web special remoteGravatar Joey Hess2011-07-01
| | | | | Generalized LocationLog to PresenceLog, and use a presence log to record urls for the web special remote.
* renamed GitRepo to GitGravatar Joey Hess2011-06-30
| | | | It was always imported qualified as Git anyway
* factor out file list stuff from GitRepoGravatar Joey Hess2011-06-29
| | | | | GitRepo is getting too large an interface; these all fit nicely into a submodule.
* refactor some boilerplateGravatar Joey Hess2011-05-15
|
* Periodically flush git command queue, to avoid boating memory usage too much.Gravatar Joey Hess2011-04-07
| | | | | | | Since the queue is flushed in between subcommand actions being run, there should be no issues with actions that expect to queue up some stuff and have it run after they do other stuff. So I didn't have to audit for such assumptions.
* 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.
* use ShellParam typeGravatar Joey Hess2011-02-28
| | | | | So, I have a type checked safe handling of filenames starting with dashes, throughout the code.
* unannex: Fix recently introduced bug when attempting to unannex more than ↵Gravatar Joey Hess2011-02-09
| | | | one file at a time.
* add check for unclean treeGravatar Joey Hess2011-02-01
|
* unannex: Commit staged changes at endGravatar Joey Hess2011-02-01
| | | | | to avoid some confusing behavior with the pre-commit hook, which would see some types of commits after an unannex as checking in of an unlocked file.
* 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
* unannex: Now skips files whose content is not present, rather than it being ↵Gravatar Joey Hess2011-01-08
| | | | an error. This allows gradual conversion from one backend to another by running unannex followed by add in each repository.
* refactor in preparation for adding a git-annex-shell commandGravatar Joey Hess2010-12-30
|
* rename some stuff and prepare to break out more into Command/*Gravatar Joey Hess2010-12-30
|
* In .gitattributes, the git-annex-numcopies attribute can be used to control ↵Gravatar Joey Hess2010-11-28
| | | | the number of copies to retain of different types of files.
* finished hlintingGravatar Joey Hess2010-11-22
|
* refactor param seekingGravatar Joey Hess2010-11-11
|
* use -- before filenames when running git add, git rm, etcGravatar Joey Hess2010-11-10
|
* Annexed file contents are now made unwritable and put in unwriteable ↵Gravatar Joey Hess2010-11-08
| | | | directories, to avoid them accidentially being removed or modified. (Thanks Josh Triplett for the idea.)
* refactoring, no code changes reallyGravatar Joey Hess2010-11-08
|
* broke subcommands out into separate modulesGravatar Joey Hess2010-11-02