summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* have clean filter check if the filename was already in use by an old keyGravatar Joey Hess2015-12-15
| | | | | | | | 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.
* add getAssociatedKeyGravatar Joey Hess2015-12-15
| | | | | I guess this is just as efficient as the getAssociatedFiles query, but I have not tried to optimise the database yet.
* update inode cache to cover file even when nothing needs to be done to linkAnnexGravatar Joey Hess2015-12-15
| | | | | | 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.
* todoGravatar Joey Hess2015-12-15
|
* Merge branch 'master' into smudgeGravatar Joey Hess2015-12-15
|\
| * Debian: Build depend on concurrent-output.Gravatar Joey Hess2015-12-12
| | | | | | | | In unstable now.
* | avoid smudge filter returning invalid contentGravatar Joey Hess2015-12-11
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * 2 more data -> 2 more daysGravatar http://www.ryantm.com/2015-12-11
| |
| * devblogGravatar Joey Hess2015-12-11
| |
* | updateGravatar Joey Hess2015-12-11
| |
* | checked getKeysPresent; it's ok for v6 unlocked filesGravatar Joey Hess2015-12-11
| | | | | | | | | | | | 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.
* | fsck for v6 unlocked filesGravatar Joey Hess2015-12-11
| | | | | | | | | | | | | | | | 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.
* | finish v6 git-annex lockGravatar Joey Hess2015-12-11
| | | | | | | | This was a doozy!
* | only make 1 hardlink max between pointer file and annex objectGravatar Joey Hess2015-12-11
| | | | | | | | | | | | | | 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.
* | Merge branch 'master' into smudgeGravatar Joey Hess2015-12-11
|\|
| * fsck: Failed to honor annex.diskreserve when checking a remote.Gravatar Joey Hess2015-12-11
| |
| * Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2015-12-11
| |\
| * | webdav: When testing the WebDAV server, send a file with content. The empty ↵Gravatar Joey Hess2015-12-11
| | | | | | | | | | | | file it was sending tickled bugs in some php WebDAV server.
| * | commentGravatar Joey Hess2015-12-11
| | |
| * | commentGravatar Joey Hess2015-12-11
| | |
| * | commentGravatar Joey Hess2015-12-11
| | |
| * | add Blackblaze B2 extranal special remote to the listGravatar Joey Hess2015-12-11
| | |
| * | commentGravatar Joey Hess2015-12-11
| | |
| * | clean upGravatar Joey Hess2015-12-11
| | |
* | | wipGravatar Joey Hess2015-12-11
| | |
| | * Added a commentGravatar yminus2015-12-10
| | |
* | | v6 git-annex unlockGravatar Joey Hess2015-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | add generalized linkAnnex'Gravatar Joey Hess2015-12-10
| | |
* | | always format pointer file with a trailing newlineGravatar Joey Hess2015-12-10
| | | | | | | | | | | | | | | | | | | | | 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
| | * Added a commentGravatar http://joeyh.name/2015-12-10
| | |
* | | todoGravatar Joey Hess2015-12-10
| | |
* | | check InodeCache in inAnnex et alGravatar Joey Hess2015-12-10
| | | | | | | | | | | | | | | | | | 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.
* | | check inode cache in prepSendAnnexGravatar Joey Hess2015-12-10
| | | | | | | | | | | | | | | This does mean one query of the database every time an object is sent. May impact performance.
* | | moveGravatar Joey Hess2015-12-10
| | |
* | | Merge branch 'master' into smudgeGravatar Joey Hess2015-12-10
|\| |
| * | commentGravatar Joey Hess2015-12-10
| | |
| | * Added a comment: Complete removalGravatar fbicknel@01ede624a1a56b3998b823e9b60da0ff81cccb162015-12-10
| | |
| * | Add S3 features to git-annex version output.Gravatar Joey Hess2015-12-10
| |/
| * commentGravatar Joey Hess2015-12-10
| |
| * responseGravatar Joey Hess2015-12-10
| |
| * responseGravatar Joey Hess2015-12-10
| |
| * Added a comment: The downsideGravatar https://openid.stackexchange.com/user/27ceb3c5-0762-42b8-8f8a-ed21c284748f2015-12-10
| |
* | make clear when code is using deprecated direct mode filesGravatar Joey Hess2015-12-09
| |
* | reorderGravatar Joey Hess2015-12-09
| |
| * (no commit message)Gravatar https://openid.stackexchange.com/user/3ee5cf54-f022-4a71-8666-3c2b5ee231dd2015-12-09
| |
| * Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2015-12-09
| |\
| * | devblogGravatar Joey Hess2015-12-09
| | |
* | | Merge branch 'master' into smudgeGravatar Joey Hess2015-12-09
|\| |
* | | use InodeCache when dropping a key to see if a pointer file can be safely resetGravatar Joey Hess2015-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | add inode cache to the dbGravatar Joey Hess2015-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.