git-annex.git
10 years agoadd: In v6 mode, acts on modified files.
Joey Hess [Tue, 15 Dec 2015 18:17:00 +0000 (14:17 -0400)]
add: In v6 mode, acts on modified files.

Same as was done in direct mode, except in v6 mode add always adds files
locked, so

10 years agofix incorrect doc change
Joey Hess [Tue, 15 Dec 2015 18:14:19 +0000 (14:14 -0400)]
fix incorrect doc change

10 years agoavoid pre-commit check having to do with v5 unlocked files when in v6 mode
Joey Hess [Tue, 15 Dec 2015 18:09:36 +0000 (14:09 -0400)]
avoid pre-commit check having to do with v5 unlocked files when in v6 mode

10 years agorename stuff for v5 unlocked files to indicate it's old
Joey Hess [Tue, 15 Dec 2015 18:08:07 +0000 (14:08 -0400)]
rename stuff for v5 unlocked files to indicate it's old

10 years agoupdate doc for v6
Joey Hess [Tue, 15 Dec 2015 18:07:54 +0000 (14:07 -0400)]
update doc for v6

10 years agoadd: no need to make pass for old unlocked files in v6
Joey Hess [Tue, 15 Dec 2015 18:02:53 +0000 (14:02 -0400)]
add: no need to make pass for old unlocked files in v6

10 years agohave clean filter check if the filename was already in use by an old key
Joey Hess [Tue, 15 Dec 2015 17:06:52 +0000 (13:06 -0400)]
have clean filter check if the filename was already in use by an old key

The annex object for it may have been modified due to hard link, and
that should be cleaned up when the new version is added. If another
associated file has the old key's content, that's linked into the annex
object. Otherwise, update location log to reflect that content has been
lost.

10 years agoadd getAssociatedKey
Joey Hess [Tue, 15 Dec 2015 17:05:23 +0000 (13:05 -0400)]
add getAssociatedKey

I guess this is just as efficient as the getAssociatedFiles query, but I
have not tried to optimise the database yet.

10 years agoupdate inode cache to cover file even when nothing needs to be done to linkAnnex
Joey Hess [Tue, 15 Dec 2015 17:02:33 +0000 (13:02 -0400)]
update inode cache to cover file even when nothing needs to be done to linkAnnex

This covers the case where multiple files have the same content and are
added with git add. Previously only the one that was linked to the annex
got its inode cached; now both are.

10 years agotodo
Joey Hess [Tue, 15 Dec 2015 16:38:32 +0000 (12:38 -0400)]
todo

10 years agoMerge branch 'master' into smudge
Joey Hess [Tue, 15 Dec 2015 16:01:21 +0000 (12:01 -0400)]
Merge branch 'master' into smudge

10 years agoDebian: Build depend on concurrent-output.
Joey Hess [Sat, 12 Dec 2015 16:19:31 +0000 (12:19 -0400)]
Debian: Build depend on concurrent-output.

In unstable now.

10 years agoavoid smudge filter returning invalid content
Joey Hess [Fri, 11 Dec 2015 21:53:37 +0000 (17:53 -0400)]
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.

10 years ago2 more data -> 2 more days
http://www.ryantm.com/ [Fri, 11 Dec 2015 21:04:54 +0000 (21:04 +0000)]
2 more data -> 2 more days

10 years agodevblog
Joey Hess [Fri, 11 Dec 2015 20:24:21 +0000 (16:24 -0400)]
devblog

10 years agoupdate
Joey Hess [Fri, 11 Dec 2015 20:22:40 +0000 (16:22 -0400)]
update

10 years agochecked getKeysPresent; it's ok for v6 unlocked files
Joey Hess [Fri, 11 Dec 2015 20:12:42 +0000 (16:12 -0400)]
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.

10 years agofsck for v6 unlocked files
Joey Hess [Fri, 11 Dec 2015 20:05:56 +0000 (16:05 -0400)]
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.

10 years agofinish v6 git-annex lock
Joey Hess [Fri, 11 Dec 2015 19:13:36 +0000 (15:13 -0400)]
finish v6 git-annex lock

This was a doozy!

10 years agoonly make 1 hardlink max between pointer file and annex object
Joey Hess [Fri, 11 Dec 2015 17:56:12 +0000 (13:56 -0400)]
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.

10 years agoMerge branch 'master' into smudge
Joey Hess [Fri, 11 Dec 2015 17:50:31 +0000 (13:50 -0400)]
Merge branch 'master' into smudge

10 years agofsck: Failed to honor annex.diskreserve when checking a remote.
Joey Hess [Fri, 11 Dec 2015 17:50:27 +0000 (13:50 -0400)]
fsck: Failed to honor annex.diskreserve when checking a remote.

10 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 11 Dec 2015 16:15:29 +0000 (12:15 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

10 years agowebdav: When testing the WebDAV server, send a file with content. The empty file...
Joey Hess [Fri, 11 Dec 2015 16:13:20 +0000 (12:13 -0400)]
webdav: When testing the WebDAV server, send a file with content. The empty file it was sending tickled bugs in some php WebDAV server.

10 years agocomment
Joey Hess [Fri, 11 Dec 2015 15:27:33 +0000 (11:27 -0400)]
comment

10 years agocomment
Joey Hess [Fri, 11 Dec 2015 15:23:57 +0000 (11:23 -0400)]
comment

10 years agocomment
Joey Hess [Fri, 11 Dec 2015 15:20:35 +0000 (11:20 -0400)]
comment

10 years agoadd Blackblaze B2 extranal special remote to the list
Joey Hess [Fri, 11 Dec 2015 15:06:02 +0000 (11:06 -0400)]
add Blackblaze B2 extranal special remote to the list

10 years agocomment
Joey Hess [Fri, 11 Dec 2015 15:04:48 +0000 (11:04 -0400)]
comment

10 years agoclean up
Joey Hess [Fri, 11 Dec 2015 15:03:22 +0000 (11:03 -0400)]
clean up

10 years agowip
Joey Hess [Fri, 11 Dec 2015 14:42:18 +0000 (10:42 -0400)]
wip

10 years agoAdded a comment
yminus [Thu, 10 Dec 2015 22:25:26 +0000 (22:25 +0000)]
Added a comment

10 years agov6 git-annex unlock
Joey Hess [Thu, 10 Dec 2015 20:12:05 +0000 (16:12 -0400)]
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.

10 years agoadd generalized linkAnnex'
Joey Hess [Thu, 10 Dec 2015 20:07:50 +0000 (16:07 -0400)]
add generalized linkAnnex'

10 years agoalways format pointer file with a trailing newline
Joey Hess [Thu, 10 Dec 2015 20:06:58 +0000 (16:06 -0400)]
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

10 years agoAdded a comment
http://joeyh.name/ [Thu, 10 Dec 2015 18:58:46 +0000 (18:58 +0000)]
Added a comment

10 years agotodo
Joey Hess [Thu, 10 Dec 2015 18:54:03 +0000 (14:54 -0400)]
todo

10 years agocheck InodeCache in inAnnex et al
Joey Hess [Thu, 10 Dec 2015 18:51:04 +0000 (14:51 -0400)]
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.

10 years agocheck inode cache in prepSendAnnex
Joey Hess [Thu, 10 Dec 2015 18:29:34 +0000 (14:29 -0400)]
check inode cache in prepSendAnnex

This does mean one query of the database every time an object is sent.
May impact performance.

10 years agomove
Joey Hess [Thu, 10 Dec 2015 18:20:38 +0000 (14:20 -0400)]
move

10 years agoMerge branch 'master' into smudge
Joey Hess [Thu, 10 Dec 2015 18:07:11 +0000 (14:07 -0400)]
Merge branch 'master' into smudge

10 years agocomment
Joey Hess [Thu, 10 Dec 2015 16:31:26 +0000 (12:31 -0400)]
comment

10 years agoAdded a comment: Complete removal
fbicknel@01ede624a1a56b3998b823e9b60da0ff81cccb16 [Thu, 10 Dec 2015 16:16:43 +0000 (16:16 +0000)]
Added a comment: Complete removal

10 years agoAdd S3 features to git-annex version output.
Joey Hess [Thu, 10 Dec 2015 15:42:49 +0000 (11:42 -0400)]
Add S3 features to git-annex version output.

10 years agocomment
Joey Hess [Thu, 10 Dec 2015 15:22:28 +0000 (11:22 -0400)]
comment

10 years agoresponse
Joey Hess [Thu, 10 Dec 2015 15:20:01 +0000 (11:20 -0400)]
response

10 years agoresponse
Joey Hess [Thu, 10 Dec 2015 15:15:06 +0000 (11:15 -0400)]
response

10 years agoAdded a comment: The downside
https://openid.stackexchange.com/user/27ceb3c5-0762-42b8-8f8a-ed21c284748f [Thu, 10 Dec 2015 03:45:09 +0000 (03:45 +0000)]
Added a comment: The downside

10 years agomake clear when code is using deprecated direct mode files
Joey Hess [Wed, 9 Dec 2015 23:43:15 +0000 (19:43 -0400)]
make clear when code is using deprecated direct mode files

10 years agoreorder
Joey Hess [Wed, 9 Dec 2015 23:38:37 +0000 (19:38 -0400)]
reorder

10 years ago(no commit message)
https://openid.stackexchange.com/user/3ee5cf54-f022-4a71-8666-3c2b5ee231dd [Wed, 9 Dec 2015 23:01:21 +0000 (23:01 +0000)]

10 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 9 Dec 2015 22:14:19 +0000 (18:14 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

10 years agodevblog
Joey Hess [Wed, 9 Dec 2015 22:13:31 +0000 (18:13 -0400)]
devblog

10 years agoMerge branch 'master' into smudge
Joey Hess [Wed, 9 Dec 2015 21:58:59 +0000 (17:58 -0400)]
Merge branch 'master' into smudge

10 years agouse InodeCache when dropping a key to see if a pointer file can be safely reset
Joey Hess [Wed, 9 Dec 2015 21:47:05 +0000 (17:47 -0400)]
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.

10 years agoadd inode cache to the db
Joey Hess [Wed, 9 Dec 2015 21:00:37 +0000 (17:00 -0400)]
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.

10 years agoAdded a comment
openmedi [Wed, 9 Dec 2015 20:18:48 +0000 (20:18 +0000)]
Added a comment

10 years agomove InodeSentinal from direct mode code to its own module
Joey Hess [Wed, 9 Dec 2015 19:42:16 +0000 (15:42 -0400)]
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.

10 years agolink/copy pointer files to object content when it's added
Joey Hess [Wed, 9 Dec 2015 19:25:14 +0000 (15:25 -0400)]
link/copy pointer files to object content when it's added

10 years agoavoid clean filter trying to annex a pointer file
Joey Hess [Wed, 9 Dec 2015 19:24:32 +0000 (15:24 -0400)]
avoid clean filter trying to annex a pointer file

10 years agoavoid pre-commit hook messing up new-style unlocked files in v6 repo
Joey Hess [Wed, 9 Dec 2015 19:18:25 +0000 (15:18 -0400)]
avoid pre-commit hook messing up new-style unlocked files in v6 repo

10 years agostash DbHandle in Annex state
Joey Hess [Wed, 9 Dec 2015 18:55:47 +0000 (14:55 -0400)]
stash DbHandle in Annex state

10 years agorefactor and improve pointer file handling code
Joey Hess [Wed, 9 Dec 2015 18:25:33 +0000 (14:25 -0400)]
refactor and improve pointer file handling code

10 years agoAdded a comment: anyone saw/worked on backend for watchdox service? (not free one...
https://me.yahoo.com/a/EbvxpTI_xP9Aod7Mg4cwGhgjrCrdM5s-#7c0f4 [Tue, 8 Dec 2015 19:45:03 +0000 (19:45 +0000)]
Added a comment: anyone saw/worked on backend for watchdox service? (not free one but needed :-/)

10 years agotodo
Joey Hess [Tue, 8 Dec 2015 17:07:45 +0000 (13:07 -0400)]
todo

10 years agoadd news item for git-annex 5.20151208
Joey Hess [Tue, 8 Dec 2015 15:28:19 +0000 (11:28 -0400)]
add news item for git-annex 5.20151208

10 years agoprep release
Joey Hess [Tue, 8 Dec 2015 15:14:28 +0000 (11:14 -0400)]
prep release

10 years agoresponse
Joey Hess [Tue, 8 Dec 2015 15:13:55 +0000 (11:13 -0400)]
response

10 years agoAdded a comment: Problems initializing glacier remote
ben [Tue, 8 Dec 2015 10:39:30 +0000 (10:39 +0000)]
Added a comment: Problems initializing glacier remote

10 years agoI started using a repo on S3, so that partially answered my question about how files...
wsha.code+ga@b38779424f41c5701bbe5937340be43ff1474b2d [Tue, 8 Dec 2015 10:02:06 +0000 (10:02 +0000)]
I started using a repo on S3, so that partially answered my question about how files are stored on S3.

10 years agoAdded a comment
wsha.code+ga@b38779424f41c5701bbe5937340be43ff1474b2d [Tue, 8 Dec 2015 09:44:49 +0000 (09:44 +0000)]
Added a comment

10 years agoAdded a comment: How to view configuration of special remotes?
cantora@432fae6be728a32ac472387df86a8922f059d4a6 [Tue, 8 Dec 2015 08:29:12 +0000 (08:29 +0000)]
Added a comment: How to view configuration of special remotes?

10 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 7 Dec 2015 21:25:20 +0000 (17:25 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

10 years agodevblog
Joey Hess [Mon, 7 Dec 2015 21:24:44 +0000 (17:24 -0400)]
devblog

10 years agolong walk led to long list of things to do
Joey Hess [Mon, 7 Dec 2015 21:24:16 +0000 (17:24 -0400)]
long walk led to long list of things to do

10 years agorequire "annex/objects/" before key in pointer files
Joey Hess [Mon, 7 Dec 2015 19:45:08 +0000 (15:45 -0400)]
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, 664cc987e806800ef46794f356003321170c1060 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.

10 years agosupport pointer files
Joey Hess [Mon, 7 Dec 2015 19:22:01 +0000 (15:22 -0400)]
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.

10 years agoupdate associated files database on smudge and clean
Joey Hess [Mon, 7 Dec 2015 18:35:46 +0000 (14:35 -0400)]
update associated files database on smudge and clean

10 years agoassociated files database
Joey Hess [Mon, 7 Dec 2015 17:42:03 +0000 (13:42 -0400)]
associated files database

10 years agowording
Joey Hess [Mon, 7 Dec 2015 16:30:10 +0000 (12:30 -0400)]
wording

10 years agoMerge branch 'master' into smudge
Joey Hess [Mon, 7 Dec 2015 16:29:34 +0000 (12:29 -0400)]
Merge branch 'master' into smudge

10 years agoAdded a comment
sts [Mon, 7 Dec 2015 08:12:26 +0000 (08:12 +0000)]
Added a comment

10 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Sun, 6 Dec 2015 20:56:16 +0000 (16:56 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

10 years agofix temp filename
Joey Hess [Sun, 6 Dec 2015 20:50:37 +0000 (16:50 -0400)]
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.

10 years agoavoid too long temp dir template
Joey Hess [Sun, 6 Dec 2015 20:42:40 +0000 (16:42 -0400)]
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.

10 years agocleanup
Joey Hess [Sun, 6 Dec 2015 20:36:35 +0000 (16:36 -0400)]
cleanup

10 years agoavoid looping trying to make temp dir when the name is too long
Joey Hess [Sun, 6 Dec 2015 20:29:36 +0000 (16:29 -0400)]
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.

10 years agoAdded a comment
torpidus [Sun, 6 Dec 2015 20:29:26 +0000 (20:29 +0000)]
Added a comment

10 years agogeneralize catchHardwareFault to catchIOErrorType
Joey Hess [Sun, 6 Dec 2015 20:26:38 +0000 (16:26 -0400)]
generalize catchHardwareFault to catchIOErrorType

10 years ago(no commit message)
torpidus [Sun, 6 Dec 2015 18:51:12 +0000 (18:51 +0000)]

10 years agoFix broken link to other bug
samuel.hym+bugs@a85e9c44dc6369ad6b12e8e6a3896ad34f7df4a3 [Sun, 6 Dec 2015 10:02:35 +0000 (10:02 +0000)]
Fix broken link to other bug

10 years agoReport bug due to broken createSymbolicLink
samuel.hym+bugs@a85e9c44dc6369ad6b12e8e6a3896ad34f7df4a3 [Sun, 6 Dec 2015 10:01:00 +0000 (10:01 +0000)]
Report bug due to broken createSymbolicLink

10 years agom
spwhitton [Sat, 5 Dec 2015 19:52:38 +0000 (19:52 +0000)]
m

10 years agoCopy hints for Emacs users from propellor coding style page
spwhitton [Sat, 5 Dec 2015 19:52:17 +0000 (19:52 +0000)]
Copy hints for Emacs users from propellor coding style page

10 years ago(no commit message)
a@b34f238966e58f7c2ea550cc4cab3005c0e33150 [Sat, 5 Dec 2015 18:17:45 +0000 (18:17 +0000)]

10 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 4 Dec 2015 22:05:18 +0000 (18:05 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

10 years agodevblog
Joey Hess [Fri, 4 Dec 2015 21:57:34 +0000 (17:57 -0400)]
devblog

10 years agoinit: Configure .git/info/attributes to use git-annex as a smudge filter.
Joey Hess [Fri, 4 Dec 2015 21:57:15 +0000 (17:57 -0400)]
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.

10 years agorefactor
Joey Hess [Fri, 4 Dec 2015 21:18:26 +0000 (17:18 -0400)]
refactor

10 years agocomments
Joey Hess [Fri, 4 Dec 2015 20:46:00 +0000 (16:46 -0400)]
comments