aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* reorderGravatar 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.
* | move InodeSentinal from direct mode code to its own moduleGravatar Joey Hess2015-12-09
| | | | | | | | | | Will be used outside of direct mode for v6 unlocked files, and is already used outside of direct mode when adding files to annex.
* | link/copy pointer files to object content when it's addedGravatar Joey Hess2015-12-09
| |
* | avoid clean filter trying to annex a pointer fileGravatar Joey Hess2015-12-09
| |
* | avoid pre-commit hook messing up new-style unlocked files in v6 repoGravatar Joey Hess2015-12-09
| |
* | stash DbHandle in Annex stateGravatar Joey Hess2015-12-09
| |
* | refactor and improve pointer file handling codeGravatar Joey Hess2015-12-09
| |
* | todoGravatar Joey Hess2015-12-08
| |
| * add news item for git-annex 5.20151208Gravatar Joey Hess2015-12-08
| |
| * prep release5.20151208Gravatar Joey Hess2015-12-08
| |
| * responseGravatar Joey Hess2015-12-08
| |
| * Added a comment: Problems initializing glacier remoteGravatar ben2015-12-08
| |
| * I started using a repo on S3, so that partially answered my question about ↵Gravatar wsha.code+ga@b38779424f41c5701bbe5937340be43ff1474b2d2015-12-08
| | | | | | | | how files are stored on S3.
| * Added a commentGravatar wsha.code+ga@b38779424f41c5701bbe5937340be43ff1474b2d2015-12-08
| |
| * Added a comment: How to view configuration of special remotes?Gravatar cantora@432fae6be728a32ac472387df86a8922f059d4a62015-12-08
| |
| * Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2015-12-07
| |\
| * | devblogGravatar Joey Hess2015-12-07
| | |
* | | long walk led to long list of things to doGravatar Joey Hess2015-12-07
| | |
* | | require "annex/objects/" before key in pointer filesGravatar Joey Hess2015-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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, ee0c34c8f2f94775b39ef10ed580cab47d2f929c 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.
* | | support pointer filesGravatar Joey Hess2015-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | update associated files database on smudge and cleanGravatar Joey Hess2015-12-07
| | |
* | | associated files databaseGravatar Joey Hess2015-12-07
| | |
* | | wordingGravatar Joey Hess2015-12-07
| | |
* | | Merge branch 'master' into smudgeGravatar Joey Hess2015-12-07
|\| |
| | * Added a commentGravatar sts2015-12-07
| |/
| * Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2015-12-06
| |\
| * | fix temp filenameGravatar Joey Hess2015-12-06
| | | | | | | | | | | | | | | | | | | | | 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.
| * | avoid too long temp dir templateGravatar Joey Hess2015-12-06
| | | | | | | | | | | | | | | 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.
| * | cleanupGravatar Joey Hess2015-12-06
| | |
| * | avoid looping trying to make temp dir when the name is too longGravatar Joey Hess2015-12-06
| | | | | | | | | | | | | | | Only loop when directory creation fails due to the directory existing already.
| | * Added a commentGravatar torpidus2015-12-06
| | |
| * | generalize catchHardwareFault to catchIOErrorTypeGravatar Joey Hess2015-12-06
| |/
| * (no commit message)Gravatar torpidus2015-12-06
| |
| * Fix broken link to other bugGravatar samuel.hym+bugs@a85e9c44dc6369ad6b12e8e6a3896ad34f7df4a32015-12-06
| |
| * Report bug due to broken createSymbolicLinkGravatar samuel.hym+bugs@a85e9c44dc6369ad6b12e8e6a3896ad34f7df4a32015-12-06
| |
| * mGravatar spwhitton2015-12-05
| |
| * Copy hints for Emacs users from propellor coding style pageGravatar spwhitton2015-12-05
| |
| * (no commit message)Gravatar a@b34f238966e58f7c2ea550cc4cab3005c0e331502015-12-05
| |
| * Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2015-12-04
| |\
| * | devblogGravatar Joey Hess2015-12-04
| | |
* | | init: Configure .git/info/attributes to use git-annex as a smudge filter.Gravatar Joey Hess2015-12-04
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | refactorGravatar Joey Hess2015-12-04
| | |
* | | commentsGravatar Joey Hess2015-12-04
| | |
* | | don't let git-annex direct be run in a v6 repoGravatar Joey Hess2015-12-04
| | |
* | | add v6; keep v5 working for now and manual upgradeGravatar Joey Hess2015-12-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | auto-configure filter.annex.smudge and clean on initGravatar Joey Hess2015-12-04
| | |
* | | merge clean into smudge commandGravatar Joey Hess2015-12-04
| | | | | | | | | | | | | | | | | | The git filter config can be used to map the single git-annex command to the 2 actions, and this avoids "git annex clean" being used for this thing, it might have a better use for that name later.