summaryrefslogtreecommitdiff
path: root/Annex
Commit message (Collapse)AuthorAge
* refactorGravatar Joey Hess2016-03-09
|
* Always try to thaw content, even when annex.crippledfilesystem is set.Gravatar Joey Hess2016-03-09
|
* Merge branch 'no-cbits'Gravatar Joey Hess2016-03-05
|\
* | clarifyGravatar Joey Hess2016-03-01
| |
* | Fix data loss that can occur when annex.pidlock is set in a repository.Gravatar Joey Hess2016-03-01
| |
* | metadata: Added -r to remove all current values of a field.Gravatar Joey Hess2016-02-29
| |
* | Support --metadata field<number, --metadata field>number etc to match ranges ↵Gravatar Joey Hess2016-02-27
| | | | | | | | | | | | | | of numeric values. Similarly (well, for free), support preferred content expressions like metadata=field<number and metadata=field>number
* | Include magic database in the linux and OSX standalone builds.Gravatar Joey Hess2016-02-26
| |
* | add catCommitGravatar Joey Hess2016-02-25
| |
* | refactorGravatar Joey Hess2016-02-25
| |
* | Avoid crashing when built with MagicMime support, but when the magic ↵Gravatar Joey Hess2016-02-23
| | | | | | | | database cannot be loaded.
* | Fix memory leak in last release, which affected commands like git-annex ↵Gravatar Joey Hess2016-02-19
| | | | | | | | | | | | | | status when a large non-annexed file is present in the work tree. The whole file was strictly read, and so buffered in memory, and remained buffered for some time when running git-annex status.
* | fix windows buildGravatar Joey Hess2016-02-16
| |
* | fix numerous problem with test suite on crippled filesystems etcGravatar Joey Hess2016-02-16
| |
* | annex.addunlockedGravatar Joey Hess2016-02-16
| | | | | | | | | | | | | | * add, addurl, import, importfeed: When in a v6 repository on a crippled filesystem, add files unlocked. * annex.addunlocked: New configuration setting, makes files always be added unlocked. (v6 only)
* | escape slashes in annex pointer filesGravatar Joey Hess2016-02-16
| | | | | | | | | | | | | | | | | | | | | | The problem with having the slashes unescaped is, it broke parsing, since the parser takes the filename to get the part containing the key. That particularly affected URL keys. This makes the format be the same as symlinks point to, which keeps things simple. Existing pointer files will continue to work ok.
* | force strict file readGravatar Joey Hess2016-02-15
| | | | | | | | | | | | Avoid possibly having the file open still when it gets deleted. Needed on Windows, particularly.
* | allow \r in pointer filesGravatar Joey Hess2016-02-15
| | | | | | | | | | git-annex doesn't write \r, but it can be present due to line ending conversions or perhaps user edits.
* | Windows: Fix v6 unlocked files to actually work.Gravatar Joey Hess2016-02-15
| | | | | | | | | | Pointer files were not being treated as annex content, so "git annex get" didn't replace them with the object.
* | When initializing a v6 repo on a crippled filesystem, don't force it into ↵Gravatar Joey Hess2016-02-15
| | | | | | | | direct mode.
* | more windows build fixGravatar Joey Hess2016-02-15
| |
* | fix windows buildGravatar Joey Hess2016-02-15
| |
| * move old ghc compat code into separate module; eliminate WITH_CLIBSGravatar Joey Hess2016-02-15
|/ | | | | This avoids hsc2hs being run except when building for the old version of ghc. Should speed up builds.
* create directory for transfer lock file, and catch perm errorGravatar Joey Hess2016-02-12
| | | | | | | | | | | | | | | | | Before, the call to mkProgressUpdater created the directory as a side-effect, but since that ignored failure to create it, this led to a "does not exist" exception when the transfer lock file was created, rather than a permissions error. So, make sure the directory exists before trying to lock the file in it. When a PermissionDenied exception is caught, skip making the transfer lock. This lets downloads from readonly remotes happen. If an upload is being tried, and the lock file can't be written due to permissions, then probably the actual transfer will fail for the same reason, so I think it's ok that it continues w/o taking the lock in that case.
* init: Fix bugs in submodule .git symlink fixup, that occurred when ↵Gravatar Joey Hess2016-02-08
| | | | initializing in a subdirectory of a submodule and a submodule of a submodule.
* matchexpression: Added --largefiles option to parse an annex.largefiles ↵Gravatar Joey Hess2016-02-03
| | | | expression.
* annex.largefiles: Add support for mimetype=text/* etc, when git-annex is ↵Gravatar Joey Hess2016-02-03
| | | | linked with libmagic.
* Limit annex.largefiles parsing to the subset of preferred content ↵Gravatar Joey Hess2016-02-03
| | | | | | expressions that make sense in its context. So, not "standard" or "lackingcopies", etc.
* simplifyGravatar Joey Hess2016-02-03
|
* refactorGravatar Joey Hess2016-02-03
|
* avoid unnecessary building of a one-off MapGravatar Joey Hess2016-02-03
| | | | A case lookup should be more efficient.
* annex.largefiles can be configured in .gitattributes tooGravatar Joey Hess2016-02-02
| | | | | This is particulary useful for v6 repositories, since the .gitattributes configuration will apply in all clones of the repository.
* add "nothing" to preferred content DSLGravatar Joey Hess2016-02-02
| | | | | Same as "not anything"; will be particularly useful in annex.largefiles gitattributes.
* Unneded constraintGravatar Gabor Greif2016-01-28
|
* Another redundant constraintGravatar Gabor Greif2016-01-28
|
* add the known associated file to the list of othersGravatar Joey Hess2016-01-26
|
* Fix nasty reversion in the last release that broke sync --content's handling ↵Gravatar Joey Hess2016-01-26
| | | | | | | | | | | | | | of many preferred content expressions. The type checker should have noticed this, but the changes to mapM that make it accept any Traversable hid the fact that it was not being passed a list at all. Thus, what should have returned an empty list most of the time instead returned [""] which was treated as the name of the associated file, with disasterout consequences. When I have time, I should add a test case checking what sync --content drops. I should also consider replacing mapM with one re-specialized to lists.
* optimise getUUIDGravatar Joey Hess2016-01-20
| | | | | This avoids a Map lookup each time it's called, instead the GitConfig field lazily looks it up once and then caches.
* remove 163 lines of code without changing anything except importsGravatar Joey Hess2016-01-20
|
* immediate queue flushing when annex.queuesize=1Gravatar Joey Hess2016-01-13
| | | | | | | | | Previously, it only flushed when the queue got larger than 1. Also, make the queue auto-flush when items are added, rather than needing to be flushed as a separate step. This simplifies the code and make it more efficient too, as it avoids needing to read the queue out of the state to check if it should be flushed.
* fix one more test failure with v6 unlocked file merge conflict resolutionGravatar Joey Hess2016-01-08
|
* better fix for slash in view metadataGravatar Joey Hess2016-01-08
| | | | | | | | | The homomorphs are back, just encoded such that it doesn't crash in LANG=C However, I noticed a bug in the old escaping; [pseudoSlash] was escaped the same as ['/','/']. Fixed by using '%' to escape pseudoSlash. Which requires doubling '%' to escape it, but that's already done in the escaping of worktree filenames in a view, so is probably ok.
* view: Avoid using cute unicode homomorphs for '/' and '\' and instead use ↵Gravatar Joey Hess2016-01-08
| | | | ugly escaping, as the unicode method doesn't work on non-unicode supporting systems.
* avoid confusing git with a modified ctime in clean filterGravatar Joey Hess2016-01-07
| | | | | | | Linking the file to the tmp dir was not necessary in the clean filter, and it caused the ctime to change, which caused git to think the file was changed. This caused git status to get slow as it kept re-cleaning unchanged files.
* migrate and rekey v6 unlocked file supportGravatar Joey Hess2016-01-07
|
* migrate: Copy over metadata to new key.Gravatar Joey Hess2016-01-07
|
* use TopFilePath for associated filesGravatar Joey Hess2016-01-05
| | | | | | | | | | | | | | | Fixes several bugs with updates of pointer files. When eg, running git annex drop --from localremote it was updating the pointer file in the local repository, not the remote. Also, fixes drop ../foo when run in a subdir, and probably lots of other problems. Test suite drops from ~30 to 11 failures now. TopFilePath is used to force thinking about what the filepath is relative to. The data stored in the sqlite db is still just a plain string, and TopFilePath is a newtype, so there's no overhead involved in using it in DataBase.Keys.
* scan for unlocked files on init/upgrade of v6 repoGravatar Joey Hess2016-01-01
|
* convert isPointerFile from Annex to IOGravatar Joey Hess2016-01-01
|
* fix failing git-annex unused test case in v6Gravatar Joey Hess2015-12-30
| | | | | | | | | | | | | WorkTree.lookupFile was finding a key for a file that's deleted from the work tree, which is different than the v5 behavior (though perhaps the same as the direct mode behavior). Fix by checking that the work tree file exists before catting its key. Hopefully this won't slow down much, probably the catKey is much more expensive. I can't see any way to optimise this, except perhaps to make Command.Unused check if work tree files exist before/after calling lookupFile. But, it seems better to make lookupFile really only find keys for worktree files; that's what it's intended to do.