summaryrefslogtreecommitdiff
path: root/Annex/Content
Commit message (Collapse)AuthorAge
* hlintGravatar Joey Hess2013-04-03
|
* remove old debug printGravatar Joey Hess2013-03-16
|
* Bugfix: Fix bug in inode cache sentinal check, which broke copying to local ↵Gravatar Joey Hess2013-03-12
| | | | repos if the repo being copied from had moved to a different filesystem or otherwise changed all its inodes'
* detect renames during commit, and .. um, do nothing special because it's ↵Gravatar Joey Hess2013-03-11
| | | | | | lunch time But I'm well set up to fast-track direct mode adds for renames now.
* remove Eq instance for InodeCacheGravatar Joey Hess2013-03-11
| | | | | | | | | There are two types of equality here, and which one is right varies, so this forces me to consider and choose between them. Based on this, I learned that the commit in git anex sync was always doing a strong comparison, even when in a repository where the inodes had changed. Fixed that.
* remove debug printGravatar Joey Hess2013-02-23
|
* fix inverted logicGravatar Joey Hess2013-02-22
|
* fix sameInodeCache to check the inode change sentinalGravatar Joey Hess2013-02-22
| | | | | This should fix the problem where the assistant, on Android, re-adds every file on startup.
* only create inode sentinal file when initializing a new repoGravatar Joey Hess2013-02-20
|
* Direct mode: Support filesystems like FAT which can change their inodes each ↵Gravatar Joey Hess2013-02-19
| | | | time they are mounted.
* hlintGravatar Joey Hess2013-02-18
|
* Revert "Clean up direct mode cache and mapping info when dropping keys."Gravatar Joey Hess2013-02-15
| | | | | | | | | This reverts commit f797939d15a2b414e62b28ccb0bd9e5b77978d76. This was buggy, it caused the direct mode cache to be lost when dropping keys, so when the file is gotten back, it's stored in indirect mode. Note to self: Do not attempt bug fixes at 6 am!
* split out Utility.InodeCacheGravatar Joey Hess2013-02-14
|
* Clean up direct mode cache and mapping info when dropping keys.Gravatar Joey Hess2013-02-07
| | | | | | | | | | | | | | These files were left behind, and made getKeysPresent find keys that were not present. It would be expensive to make getKeysPresent check that the actual key files are present (it just lists the directories). But that's not needed if we just clean up the stale cache and mapping files. To handle systems that were in direct mode and got switched back with stale direct mode files, made cleanObjectLoc remove all files in the key's directory. git annex unused will still list keys that are gone but for which the stale direct mode files exists. To deal with that, made dropunused remove the key's directory even if the key does not seem to be present.
* ensure that content directory is thawed when writing direct mode mapping and ↵Gravatar Joey Hess2013-01-26
| | | | cache files
* allow lazy reading of map contentsGravatar Joey Hess2013-01-18
| | | | Don't explicitly close; hGetContents will close when read is done.
* Avoid filename encoding errors when writing direct mode mappings.Gravatar Joey Hess2013-01-18
|
* Fix direct mode mapping code to always store direct mode filenames relative ↵Gravatar Joey Hess2013-01-18
| | | | to the top of the repository, even when operating inside a subdirectory.
* fix logic error breaking direct mode assistant autocommit of modified filesGravatar Joey Hess2012-12-28
|
* assistant direct mode file add/change bookkeepingGravatar Joey Hess2012-12-25
| | | | | | | | | | | | | | When a file is changed in direct mode, the old content is probably lost (at least from the local repo), and bookeeping needs to be updated to reflect this. Also, synthetic add events are generated at assistant startup, so make it detect when the file has not really changed, and avoid re-adding it. This does add the overhead of querying the runing git cat-file for the key that's recorded in git for the file, each time a file is added or modified in direct mode.
* more quickcheck funGravatar Joey Hess2012-12-19
|
* normalise associated filesGravatar Joey Hess2012-12-19
| | | | | Sometimes ./file will be passed in, and sometimes file; need to treat these the same.
* direct mode merging works!Gravatar Joey Hess2012-12-18
| | | | | Automatic merge resoltion code needs to be fixed to preserve objects from direct mode files.
* whitespace fixGravatar Joey Hess2012-12-13
|
* direct mode committingGravatar Joey Hess2012-12-12
|
* fix associated files to not fall back to object locationGravatar Joey Hess2012-12-12
|
* make parent directoryGravatar Joey Hess2012-12-12
|
* updateGravatar Joey Hess2012-12-10
|
* direct mode mappings now updated by git annex syncGravatar Joey Hess2012-12-10
| | | | | Still lots to do to make sync handle direct mode, but this is a good first step.
* Got object sending working in direct mode.Gravatar Joey Hess2012-12-08
| | | | | | | | | | | However, I don't yet have a reliable way to deal with files being modified while they're being transferred. I have code that detects it on the sending side, but the receiver is still free to move the wrong content into its annex, and record that it has the content. So that's not acceptable, and I'll need to work on it some more. However, at this point I can use a direct mode repository as a remote and transfer files from and to it.
* update the cache automatically when moving objects in or outGravatar Joey Hess2012-12-08
|
* support for checking presence of objects in direct modeGravatar Joey Hess2012-12-07
Also for dropping objects in direct mode. Checking presence reliably needs a cache of mtime, size, and inode. This way, if a file is modified, keys that point to it are no longer present. Also, the code for restoring the symlink when removing objects is unnecessarily messy. calcGitLink was generating links starting with "../../remote/.git/", when running "git annex move --from remote". I put in a workaround, but calcGitLink should probably be fixed. There is not yet support for getting objects from repositories in direct mode; it still looks for content in .git/annex/objects, and there's no once place I can change to fix that. Also, getting objects from direct mode repositories is problematic since the can be changed while the object is being transferred. It probably needs to quarantine it first.