Commit graph

78 commits

Author SHA1 Message Date
Joey Hess
108f711d37
todo 2015-12-10 14:54:03 -04:00
Joey Hess
f80a3d8cd0
check InodeCache in inAnnex et al
This avoids querying the database when the content file doen't exist
(or otherwise fails the provided check). However, it does add overhead of
querying the database, and will certianly impact performance.
2015-12-10 14:51:04 -04:00
Joey Hess
2b8f6b8b2f
check inode cache in prepSendAnnex
This does mean one query of the database every time an object is sent.
May impact performance.
2015-12-10 14:50:52 -04:00
Joey Hess
ce73a96e4e
use InodeCache when dropping a key to see if a pointer file can be safely reset
The Keys database can hold multiple inode caches for a given key. One for
the annex object, and one for each pointer file, which may not be hard
linked to it.

Inode caches for a key are recorded when its content is added to the annex,
but only if it has known pointer files. This is to avoid the overhead of
maintaining the database when not needed.

When the smudge filter outputs a file's content, the inode cache is not
updated, because git's smudge interface doesn't let us write the file. So,
dropping will fall back to doing an expensive verification then. Ideally,
git's interface would be improved, and then the inode cache could be
updated then too.
2015-12-09 17:54:54 -04:00
Joey Hess
3311c48631
move InodeSentinal from direct mode code to its own module
Will be used outside of direct mode for v6 unlocked files, and is already
used outside of direct mode when adding files to annex.
2015-12-09 15:52:11 -04:00
Joey Hess
8a818088a3
link/copy pointer files to object content when it's added 2015-12-09 15:27:29 -04:00
Joey Hess
37c9026c6e
todo 2015-12-08 13:07:45 -04:00
Joey Hess
9923b8dc77
long walk led to long list of things to do 2015-12-07 17:24:16 -04:00
Joey Hess
712c9fc590
require "annex/objects/" before key in pointer files
This removes ambiguity, because while someone might have "WORM--foo" in a
file that's not intended to be a git-annex pointer file,
"annex/objects/WORM--foo" is less likely.

Also, 664cc987e8 had a caveat about symlink
targets being parsed as pointer files, and now the same parser is used for
both.

I did not include any hash directories before the key in the pointer file,
as they're not needed. However, if they were included, the parser would
still work ok.
2015-12-07 15:45:08 -04:00
Joey Hess
2cbcb4f1a8
update associated files database on smudge and clean 2015-12-07 14:41:22 -04:00
Joey Hess
2fe21d47c5
init: Configure .git/info/attributes to use git-annex as a smudge filter.
Note that this changes the default behavior of git add in a newly
initialized repository; it will add files to the annex.

Don't like that this could break workflows, but it's necessary in order for
any pointer files in the repo to be handled by git-annex.
2015-12-04 17:57:15 -04:00
Joey Hess
e7f75b079d
don't let git-annex direct be run in a v6 repo 2015-12-04 16:33:09 -04:00
Joey Hess
ccc49861ca
add v6; keep v5 working for now and manual upgrade
Since all places where a repo is used in direct mode need to have git-annex
upgraded before the repo can safely be converted to v6, the upgrade needs
to be manual for now.

I suppose that at some point I'll want to drop all the direct mode support
code. At that point, will stop supporting v5, and will need to auto-upgrade
any remaining v5 repos. If possible, I'd like to carry the direct mode
support for say, a year or so, to give people plenty of time to upgrade and
avoid disruption.
2015-12-04 16:14:48 -04:00
Joey Hess
20ca89dfa3
skeleton smudge/clean filters 2015-12-04 13:03:39 -04:00
Joey Hess
3f63666727
file map analysis 2015-11-24 11:39:47 -04:00
Joey Hess
cf0130894e
notes on merge 2015-11-23 18:10:50 -04:00
Joey Hess
fe55caa2ae
upgrading 2015-11-23 17:57:47 -04:00
Joey Hess
33fb0de1a3
smudge design 2015-11-23 16:53:05 -04:00
Joey Hess
7a68b1978d took another look at this 2015-04-08 18:09:05 -04:00
Joey Hess
e2853b3fec update 2011-10-25 11:39:15 -07:00
Joey Hess
b96443364e smudge update: Not practical. 2011-08-30 13:29:07 -04:00
Joey Hess
5ef11350aa link to patch 2011-08-29 16:41:47 -04:00
Joey Hess
cd199e442f update; showstopper issue with current git
developed a patch for git, we'll see if they like it..
2011-08-29 16:31:47 -04:00
Joey Hess
b2c5639dcc update 2011-08-29 13:29:39 -04:00
Joey Hess
3f7c0b6970 further investigation 2011-02-25 15:50:17 -04:00
Joey Hess
07769fc949 more 2011-01-26 13:40:11 -04:00
Joey Hess
758019cc18 update 2011-01-26 13:34:39 -04:00
Joey Hess
06ca13b103 add 2011-01-26 13:21:51 -04:00