Commit graph

26179 commits

Author SHA1 Message Date
Joey Hess
f5d4ee9b63
Merge branch 'master' into smudge 2015-12-15 12:01:21 -04:00
Joey Hess
04e00146ed
Debian: Build depend on concurrent-output.
In unstable now.
2015-12-12 12:19:31 -04:00
Joey Hess
42caf42857
avoid smudge filter returning invalid content
1. git add file
2. git commit
3. modify file
4. git commit
5. git reset HEAD^

Before this fix, that resulted in git saying the file was modified. And
indeed, it didn't have the content it should in the just checked out ref,
because step 3 modified the object file for the old key.
2015-12-11 18:01:50 -04:00
http://www.ryantm.com/
5e01b40151 2 more data -> 2 more days 2015-12-11 21:04:54 +00:00
Joey Hess
3e54d95aa3
devblog 2015-12-11 16:24:21 -04:00
Joey Hess
cc2d78870c
update 2015-12-11 16:22:40 -04:00
Joey Hess
1dad3af3fc
checked getKeysPresent; it's ok for v6 unlocked files
When a v6 unlocked files is removed from the work tree,
unused doesn't show it. When it gets removed from the index,
unused does show it. This is the same as a locked file.
2015-12-11 16:12:42 -04:00
Joey Hess
e7183d83d3
fsck for v6 unlocked files
This only adds 1 stat to each file fscked for locked files, so
added overhead is minimal.

For unlocked files it has to access the database to see if a file
is modified.
2015-12-11 16:07:54 -04:00
Joey Hess
7790e059b2
finish v6 git-annex lock
This was a doozy!
2015-12-11 15:28:34 -04:00
Joey Hess
50e83b606c
only make 1 hardlink max between pointer file and annex object
If multiple files point to the same annex object, the user may want to
modify them independently, so don't use a hard link.

Also, check diskreserve when copying.
2015-12-11 14:00:21 -04:00
Joey Hess
c608a752a5
Merge branch 'master' into smudge 2015-12-11 13:50:31 -04:00
Joey Hess
abd66c7089
fsck: Failed to honor annex.diskreserve when checking a remote. 2015-12-11 13:50:27 -04:00
Joey Hess
4407df6314
Merge branch 'master' of ssh://git-annex.branchable.com 2015-12-11 12:15:29 -04:00
Joey Hess
0f126440ca
webdav: When testing the WebDAV server, send a file with content. The empty file it was sending tickled bugs in some php WebDAV server. 2015-12-11 12:13:20 -04:00
Joey Hess
48bc7a9057
comment 2015-12-11 11:27:33 -04:00
Joey Hess
4ea479f776
comment 2015-12-11 11:23:57 -04:00
Joey Hess
9e34ed66f7
comment 2015-12-11 11:20:35 -04:00
Joey Hess
b12fc8cf1b
add Blackblaze B2 extranal special remote to the list 2015-12-11 11:06:02 -04:00
Joey Hess
bbfd454edc
comment 2015-12-11 11:04:48 -04:00
Joey Hess
eee5bede24
clean up 2015-12-11 11:03:22 -04:00
Joey Hess
c910b4e255
wip 2015-12-11 10:42:18 -04:00
yminus
3e59d498c4 Added a comment 2015-12-10 22:25:26 +00:00
Joey Hess
e2c8dc6778
v6 git-annex unlock
Note that the implementation uses replaceFile, so that the actual
replacement of the work tree file is atomic. This seems a good property to
have!

It would be possible for unlock in v6 mode to be run on files that do not
have their content present. However, that would be a behavior change from
before, and I don't see any immediate need to support it, so I didn't
implement it.
2015-12-10 16:12:48 -04:00
Joey Hess
9dffd3d255
add generalized linkAnnex' 2015-12-10 16:08:19 -04:00
Joey Hess
06a8256bf6
always format pointer file with a trailing newline
Before the smudge filter added a trailing newline, but other things that
wrote formatPointer to a file did not.

also some new pointer staging code to use later
2015-12-10 16:06:58 -04:00
http://joeyh.name/
a6dec1c9db Added a comment 2015-12-10 18:58:46 +00:00
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
fbicknel@01ede624a1a56b3998b823e9b60da0ff81cccb16
4b31d9c404 Added a comment: Complete removal 2015-12-10 16:16:43 +00: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