| Commit message (Collapse) | Author | Age |
|
|
|
| |
Speeds up hashSymlink and hashPointerFile.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
An unlocked present file does not have a pointer file in the worktree, so
info skipped counting it.
It may be that unused was also affected by the problem, but it seemed not
to be in my tests. I think because of the use of the associatedFilesFilter.
This fix slows down both info and unused a little bit, since they have to
query the contents of files from git, but only when handling unlocked files.
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
of numeric values.
Similarly (well, for free), support preferred content expressions like
metadata=field<number and metadata=field>number
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
database cannot be loaded.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* 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)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
Avoid possibly having the file open still when it gets deleted.
Needed on Windows, particularly.
|
| |
| |
| |
| |
| | |
git-annex doesn't write \r, but it can be present due to line ending
conversions or perhaps user edits.
|
| |
| |
| |
| |
| | |
Pointer files were not being treated as annex content, so "git annex get"
didn't replace them with the object.
|
| |
| |
| |
| | |
direct mode.
|
| | |
|
| | |
|
|/
|
|
|
| |
This avoids hsc2hs being run except when building for the old version of ghc.
Should speed up builds.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
initializing in a subdirectory of a submodule and a submodule of a submodule.
|
|
|
|
| |
expression.
|
|
|
|
| |
linked with libmagic.
|
|
|
|
|
|
| |
expressions that make sense in its context.
So, not "standard" or "lackingcopies", etc.
|
| |
|
| |
|
|
|
|
| |
A case lookup should be more efficient.
|
|
|
|
|
| |
This is particulary useful for v6 repositories, since the .gitattributes
configuration will apply in all clones of the repository.
|
|
|
|
|
| |
Same as "not anything"; will be particularly useful in annex.largefiles
gitattributes.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This avoids a Map lookup each time it's called, instead the GitConfig field
lazily looks it up once and then caches.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
ugly escaping, as the unicode method doesn't work on non-unicode supporting systems.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|