summaryrefslogtreecommitdiff
path: root/LocationLog.hs
Commit message (Collapse)AuthorAge
* code simplification thanks to applicative functorsGravatar Joey Hess2011-08-25
|
* hlint tweaksGravatar Joey Hess2011-07-15
| | | | Did all sources except Remotes/* and Command/*
* cleanupGravatar Joey Hess2011-07-07
|
* Bugfix: Forgot to de-escape keys when upgrading.Gravatar Joey Hess2011-07-07
| | | | | | | Could result in bad location log data for keys that contain [&:%] in their names. (A workaround for this problem is to run git annex fsck.) `git annex unused --from remote` could also run into the broken code.
* 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 hashing to web log filesGravatar Joey Hess2011-07-01
|
* add the addurl commandGravatar Joey Hess2011-07-01
|
* 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
* Modify location log parser to allow future expansion.Gravatar Joey Hess2011-06-28
| | | | | | Since the logs have just been moved into the git-annex branch, don't need to worry about backwards compatability with old versions of git-annex that would fail to parse location logs with extra fields tacked on.
* rewrite loggedkeys to use git-annex branchGravatar Joey Hess2011-06-22
| | | | | | That sucking sound is a whole page of code vanishing to be replaced with return . catMaybes . map (logFileKey . takeFileName) =<< Branch.files What can I say, git is my database, and haskell my copilot.
* fixed logFileGravatar Joey Hess2011-06-22
|
* use git-annex branch for location logGravatar Joey Hess2011-06-22
|
* move LocationLog into Annex monad from IOGravatar Joey Hess2011-06-22
| | | | It will need to run in Annex so it can use Branch
* more monadic operator useGravatar Joey Hess2011-05-15
|
* simplified a bunch of Maybe handlingGravatar Joey Hess2011-05-15
|
* read log files strictlyGravatar Joey Hess2011-04-02
| | | | | This avoids leaking fds when an operation needs to read a lot of log files, as unused will.
* add loggedKeysGravatar Joey Hess2011-04-02
|
* Use lowercase hash directories for locationlog filesGravatar Joey Hess2011-04-02
| | | | | | to avoid some issues with git on OSX with the mixed-case directories. No migration is needed; the old mixed case hash directories are still read; new information is written to the new directories.
* not really a bugGravatar Joey Hess2011-04-01
| | | | | This can occur if a local remote repo has not been initted, so has no uuid yet.
* improve upgradeGravatar Joey Hess2011-03-16
|
* added 2 level hashingGravatar Joey Hess2011-03-15
| | | | | | This means there can be 1024 subdirs, each with up to 1024 sub-subdirs. So with hundreds of millions of annexed objects, each leaf directory will have only a few files on average.
* more pure code refactoringGravatar Joey Hess2011-01-29
|
* use safewritefileGravatar Joey Hess2011-01-28
|
* add checks that location log files are committedGravatar Joey Hess2011-01-11
| | | | currently failing for move --to
* add a check for unknown UUID when loggingGravatar Joey Hess2011-01-04
|
* do not need to use Git.relative here (it is a no-op in this case anyway)Gravatar Joey Hess2010-11-28
|
* hlint tweaksGravatar Joey Hess2010-11-22
| | | | Remotes.hs next, and also Backend/* and Command/*
* trim exportsGravatar Joey Hess2010-11-15
|
* more Wall cleaningGravatar Joey Hess2010-10-31
|
* write to tmp fileGravatar Joey Hess2010-10-31
| | | | | | | Writing to a tmp file means no locking is needed, and it fixes a bug introduced by the last commit, which made log files be read lazily, so they could still be open when written, which breaks due to haskell's internal locking.
* more space saving by not locking location log for readGravatar Joey Hess2010-10-30
| | | | | | | | | | | | | | | | Actions that need to read all the location logs, like "git annex get .", were still using a lot of memory, and profiling pointed at the location log reading as the problem. Not locking them for read, and thus avoiding the strict reading fixes the problem, although I don't quite understand why. (Oddly, -sstderr profiling did not show the memory as used, though top showed dozens of MB being used.) Anyway, it's fine to not lock location logs for read, since the log format and parser should be safe if a partial read of a file being written happens. Note that that could easily happen anyway, if doing a git pull, etc, especially if git needs to union merge in changes from elsewhere. The worst that will happen is git-annex could get a bad or out of date idea about locations and refuse to eg, --drop something.
* syntax tweaksGravatar Joey Hess2010-10-28
|
* copyright statements0.02Gravatar Joey Hess2010-10-27
|
* use git command queueGravatar Joey Hess2010-10-26
|
* git annex move --from remote almost workingGravatar Joey Hess2010-10-25
|
* experimentally, removing all actual git committingGravatar Joey Hess2010-10-18
| | | | Idea is the user will commit when ready, just stage everything.
* remove some old todosGravatar Joey Hess2010-10-17
|
* tweaksGravatar Joey Hess2010-10-16
|
* more reorg, spiffed up state monadGravatar Joey Hess2010-10-14
|
* convert GitRepo to qualified importGravatar Joey Hess2010-10-14
|
* add module that only exports abstract typesGravatar Joey Hess2010-10-14
|
* almost able to get files from remotes now!Gravatar Joey Hess2010-10-13
|
* bugfixesGravatar Joey Hess2010-10-12
|
* now that a uuid is used, don't need to rejoinGravatar Joey Hess2010-10-12
|
* record annexed files in logGravatar Joey Hess2010-10-12
|
* locationlog will use uuidsGravatar Joey Hess2010-10-12
|
* explicit exportsGravatar Joey Hess2010-10-11
|
* split up TypesGravatar Joey Hess2010-10-11
|
* use Data.Time instead of Data.DateTimeGravatar Joey Hess2010-10-10
| | | | | The latter has shady rounding. The new module is a bit harder to use, but worth it, it adds subsecond timestamps too.