Joey Hess
1870186632
fixed logFile
2011-06-22 16:17:16 -04:00
Joey Hess
2e5c8ca6bf
use git-annex branch for location log
2011-06-22 16:01:32 -04:00
Joey Hess
d3f0106f2e
move LocationLog into Annex monad from IO
...
It will need to run in Annex so it can use Branch
2011-06-22 14:27:50 -04:00
Joey Hess
6aab88fa25
more monadic operator use
2011-05-15 15:27:49 -04:00
Joey Hess
cad0e1c8b7
simplified a bunch of Maybe handling
2011-05-15 03:38:08 -04:00
Joey Hess
09a16176de
read log files strictly
...
This avoids leaking fds when an operation needs to read a lot of log files,
as unused will.
2011-04-02 20:36:01 -04:00
Joey Hess
f005a84e56
add loggedKeys
2011-04-02 15:50:51 -04:00
Joey Hess
616e6f8a84
Use lowercase hash directories for locationlog files
...
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.
2011-04-02 13:49:03 -04:00
Joey Hess
6ab63c438d
not really a bug
...
This can occur if a local remote repo has not been initted, so has no uuid
yet.
2011-04-01 21:24:06 -04:00
Joey Hess
5eb76d2b03
improve upgrade
2011-03-16 11:53:46 -04:00
Joey Hess
dd5448eb07
added 2 level hashing
...
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.
2011-03-15 23:58:27 -04:00
Joey Hess
6d3df8a083
more pure code refactoring
2011-01-29 23:56:40 -04:00
Joey Hess
04fe906ac6
use safewritefile
2011-01-28 12:35:51 -04:00
Joey Hess
a8ce30401d
add checks that location log files are committed
...
currently failing for move --to
2011-01-11 16:00:40 -04:00
Joey Hess
500ddd7f4b
add a check for unknown UUID when logging
2011-01-04 17:03:29 -04:00
Joey Hess
52ec6e748d
do not need to use Git.relative here (it is a no-op in this case anyway)
2010-11-28 16:31:20 -04:00
Joey Hess
57adb0347b
hlint tweaks
...
Remotes.hs next, and also Backend/* and Command/*
2010-11-22 15:46:57 -04:00
Joey Hess
a51b364a35
trim exports
2010-11-15 13:00:43 -04:00
Joey Hess
b2c28c1ac0
more Wall cleaning
2010-10-31 15:50:07 -04:00
Joey Hess
59672d32ed
write to tmp file
...
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.
2010-10-31 01:06:58 -04:00
Joey Hess
d5a0c16298
more space saving by not locking location log for read
...
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.
2010-10-30 23:34:40 -04:00
Joey Hess
694a33e91b
syntax tweaks
2010-10-28 14:20:02 -04:00
Joey Hess
833d4b342e
copyright statements
2010-10-27 16:53:54 -04:00
Joey Hess
24ee4439d4
use git command queue
2010-10-26 16:15:29 -04:00
Joey Hess
1aa19422ac
git annex move --from remote almost working
2010-10-25 17:17:03 -04:00
Joey Hess
4b1086cc7d
experimentally, removing all actual git committing
...
Idea is the user will commit when ready, just stage everything.
2010-10-18 01:52:06 -04:00
Joey Hess
a4dc920f6b
remove some old todos
2010-10-17 16:44:06 -04:00
Joey Hess
909f619c07
tweaks
2010-10-16 16:20:49 -04:00
Joey Hess
6f3572e47f
more reorg, spiffed up state monad
2010-10-14 03:18:11 -04:00
Joey Hess
48643b68b3
convert GitRepo to qualified import
2010-10-14 02:36:41 -04:00
Joey Hess
eda80e44c5
add module that only exports abstract types
2010-10-14 02:12:41 -04:00
Joey Hess
e28ff5bdaf
almost able to get files from remotes now!
2010-10-13 15:55:18 -04:00
Joey Hess
b7858ada03
bugfixes
2010-10-12 20:04:36 -04:00
Joey Hess
476f66abb9
now that a uuid is used, don't need to rejoin
2010-10-12 18:31:02 -04:00
Joey Hess
3b89924f53
record annexed files in log
2010-10-12 18:25:41 -04:00
Joey Hess
b882fe8410
locationlog will use uuids
2010-10-12 18:06:34 -04:00
Joey Hess
ebc3fbe9ae
explicit exports
2010-10-11 17:52:46 -04:00
Joey Hess
af82586adf
split up Types
2010-10-11 17:19:55 -04:00
Joey Hess
c5d7ca0a5a
use Data.Time instead of Data.DateTime
...
The latter has shady rounding. The new module is a bit harder to use, but
worth it, it adds subsecond timestamps too.
2010-10-10 22:22:53 -04:00
Joey Hess
e5514e0cb0
update
2010-10-10 18:05:37 -04:00
Joey Hess
dce9c2e080
convert GitRepo to struct with constructor
2010-10-10 16:06:36 -04:00
Joey Hess
cc23519235
update
2010-10-10 15:04:18 -04:00
Joey Hess
a55f49efb6
update
2010-10-10 12:41:20 -04:00
Joey Hess
7ad4a0bb7d
log compaction
2010-10-10 12:32:15 -04:00
Joey Hess
f98fa53d7f
fixed close after locking
2010-10-10 11:08:40 -04:00
Joey Hess
60c672e444
strictness and handle closing
2010-10-10 02:22:35 -04:00
Joey Hess
e64d1becf4
robustness fix
...
avoid crash if the seconds field is not numeric
2010-10-10 00:02:07 -04:00
Joey Hess
381e6f84e5
robustness
2010-10-09 23:35:05 -04:00
Joey Hess
011118dbdf
adding file presence calculation code
2010-10-09 22:46:35 -04:00
Joey Hess
9ae522bb76
add status field to log
2010-10-09 22:29:16 -04:00