Commit graph

26152 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
3b2a7f216d
move 2015-12-10 14:20:38 -04:00
Joey Hess
3d936fdb59
Merge branch 'master' into smudge 2015-12-10 14:07:11 -04:00
Joey Hess
b376047cc3
comment 2015-12-10 12:31:26 -04:00
Joey Hess
a0528db092
Add S3 features to git-annex version output. 2015-12-10 11:42:49 -04:00
Joey Hess
d283fa4fe9
comment 2015-12-10 11:22:28 -04:00
Joey Hess
79dd48546a
response 2015-12-10 11:20:01 -04:00
Joey Hess
2f25b8360f
response 2015-12-10 11:15:06 -04:00
https://openid.stackexchange.com/user/27ceb3c5-0762-42b8-8f8a-ed21c284748f
7a03f55aa0 Added a comment: The downside 2015-12-10 03:45:09 +00:00
Joey Hess
3719d1b390
make clear when code is using deprecated direct mode files 2015-12-09 19:43:15 -04:00
Joey Hess
aa88851ec1
reorder 2015-12-09 19:38:37 -04:00
https://openid.stackexchange.com/user/3ee5cf54-f022-4a71-8666-3c2b5ee231dd
b9312e3554 2015-12-09 23:01:21 +00:00
Joey Hess
d0449ac1e4
Merge branch 'master' of ssh://git-annex.branchable.com 2015-12-09 18:14:19 -04:00
Joey Hess
3964d3388b
devblog 2015-12-09 18:13:31 -04:00
Joey Hess
bf98d2bd77
Merge branch 'master' into smudge 2015-12-09 17:58:59 -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
5e8c628d2e
add inode cache to the db
Renamed the db to keys, since it is various info about a Keys.

Dropping a key will update its pointer files, as long as their content can
be verified to be unmodified. This falls back to checksum verification, but
I want it to use an InodeCache of the key, for speed. But, I have not made
anything populate that cache yet.
2015-12-09 17:00:37 -04:00
openmedi
ef664f089f Added a comment 2015-12-09 20:18:48 +00: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
ba39f993f5
avoid clean filter trying to annex a pointer file 2015-12-09 15:24:32 -04:00
Joey Hess
751120c171
avoid pre-commit hook messing up new-style unlocked files in v6 repo 2015-12-09 15:18:54 -04:00
Joey Hess
05b598a057
stash DbHandle in Annex state 2015-12-09 14:55:47 -04:00
Joey Hess
78a6b8ce05
refactor and improve pointer file handling code 2015-12-09 14:27:43 -04:00
https://me.yahoo.com/a/EbvxpTI_xP9Aod7Mg4cwGhgjrCrdM5s-#7c0f4
5ef6ed8b9a Added a comment: anyone saw/worked on backend for watchdox service? (not free one but needed :-/) 2015-12-08 19:45:03 +00:00
Joey Hess
37c9026c6e
todo 2015-12-08 13:07:45 -04:00
Joey Hess
e1961bf806
add news item for git-annex 5.20151208 2015-12-08 11:28:19 -04:00
Joey Hess
e74e612945
prep release 2015-12-08 11:14:28 -04:00
Joey Hess
e276f4abb2
response 2015-12-08 11:13:55 -04:00
ben
4f3dd0b7b2 Added a comment: Problems initializing glacier remote 2015-12-08 10:39:30 +00:00
wsha.code+ga@b38779424f41c5701bbe5937340be43ff1474b2d
a690782429 I started using a repo on S3, so that partially answered my question about how files are stored on S3. 2015-12-08 10:02:06 +00:00
wsha.code+ga@b38779424f41c5701bbe5937340be43ff1474b2d
c92917d24a Added a comment 2015-12-08 09:44:49 +00:00
cantora@432fae6be728a32ac472387df86a8922f059d4a6
c71a6e3a0d Added a comment: How to view configuration of special remotes? 2015-12-08 08:29:12 +00:00
Joey Hess
50398c69a1
Merge branch 'master' of ssh://git-annex.branchable.com 2015-12-07 17:25:20 -04:00
Joey Hess
d9ec9a56d4
devblog 2015-12-07 17:24:44 -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
664cc987e8
support pointer files
Backend.lookupFile is changed to always fall back to catKey when
operating on a file that's not a symlink.

catKey is changed to understand pointer files, as well as annex symlinks.

Before, catKey needed a file mode witness, to be sure it was looking at a
symlink. That was complicated stuff. Now, it doesn't actually care if a
file in git is a symlink or not; in either case asking git for the content
of the file will get the pointer to the key.

This does mean that git-annex will treat a link
foo -> WORM--bar as a git-annex file, and also treats
a regular file containing annex/objects/WORM--bar as a git-annex file.

Calling catKey could make git-annex commands need to do more work than
before. This would especially be the case if a repo contained many regular
files, and only a few annexed files, as now git-annex will need to ask
git about the contents of the regular files.
2015-12-07 15:35:36 -04:00
Joey Hess
2cbcb4f1a8
update associated files database on smudge and clean 2015-12-07 14:41:22 -04:00
Joey Hess
a6e5ee0d0e
associated files database 2015-12-07 14:35:37 -04:00
Joey Hess
63c466449f
wording 2015-12-07 12:30:10 -04:00
Joey Hess
62a2fba1cd
Merge branch 'master' into smudge 2015-12-07 12:29:34 -04:00
sts
bf02216690 Added a comment 2015-12-07 08:12:26 +00:00
Joey Hess
bd6f694687
Merge branch 'master' of ssh://git-annex.branchable.com 2015-12-06 16:56:16 -04:00
Joey Hess
2936153fc4
fix temp filename
Was not putting it inside the temp dir, but next to it!

This was just wrong, and it led to a longer filename that desired being
used, leading to some bug reports.
2015-12-06 16:54:01 -04:00
Joey Hess
6e71094e7d
avoid too long temp dir template
The filename might be at or close to the filename length limit, so using it
as the template for the temp dir would then fail.
2015-12-06 16:42:40 -04:00
Joey Hess
969d54f914
cleanup 2015-12-06 16:36:35 -04:00
Joey Hess
4591569607
avoid looping trying to make temp dir when the name is too long
Only loop when directory creation fails due to the directory existing
already.
2015-12-06 16:29:36 -04:00