| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This does mean that it has to write out temp files containing updated
objects for the merge. So may use more disk space, and disk IO, but that
should generally win out over needing to launch N separate
git hash-object processes.
|
|
|
|
| |
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.
|
|
|
|
| |
(cherry picked from commit 6efa2492bb0c34279f535e79228016555bdb915c)
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| | |
Klaus Ethgen.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes behavior in this situation:
l1 <- lockShared Nothing "lck"
l2 <- lockShared Nothing "lck"
dropLock l1
dropLock l2
Before, the lock was dropped upon the second dropLock call, but the fd
remained open, and would never be closed while the program was running.
Fixed by a rather round-about method, but it should work well enough.
It would have been simpler to open open the shared lock once, and not open
it again in the second call to lockShared. But, that's difficult to do
atomically.
This also affects Windows and PID locks, not just posix locks.
In the case of pid locks, multiple calls to waitLock within the same
process are allowed because the side lock is locked using a posix lock,
and so multiple exclusive locks can be taken in the same process. So,
this change fixes a similar problem with pid locks.
l1 <- waitLock (Seconds 1) "lck"
l2 <- waitLock (Seconds 1) "lck"
dropLock l1
dropLock l2
Here the l2 side lock fd remained open but not locked,
although the pid lock file was removed. After this change, the second
dropLock will close both fds to the side lock, and delete the pidlock.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
been updated to also use exiftool. Thanks, Klaus Ethgen.
|
| |
| |
| |
| |
| |
| |
| | |
of numeric values.
Similarly (well, for free), support preferred content expressions like
metadata=field<number and metadata=field>number
|
| |
| |
| |
| | |
finished testing recent commits, and I did solve it
|
| | |
|
| |
| |
| |
| | |
database cannot be loaded.
|
| |
| |
| |
| | |
system gpg will be preferred over it.
|
| | |
|
| |
| |
| |
| | |
repository.
|
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| | |
Pointer files were not being treated as annex content, so "git annex get"
didn't replace them with the object.
|
| |
| |
| |
| | |
direct mode.
|
|/ |
|
|
|
|
|
|
| |
annex/objects but didn't reach the work tree.
This also handles fixing up after f9dfeaf801da2e4d5879b3de5895dc3cef68a329
|
|
|
|
|
| |
This also handles fixing up after the bad data written by
f9dfeaf801da2e4d5879b3de5895dc3cef68a329.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
representable in the current locale.
This is a mostly backwards compatable change. I broke backwards
compatability in the case where a filename starts with double-quote.
That seems likely to be very rare, and v6 unlocked files are a new feature
anyway, and fsck needs to fix missing associated file mappings anyway. So,
I decided that is good enough.
The encoding used is to just show the String when it contains a problem
character. While that adds some overhead to addAssociatedFile and
removeAssociatedFile, those are not called very often. This approach has
minimal decode overhead, because most filenames won't be encoded that way,
and it only has to look for the leading double-quote to skip the expensive
read. So, getAssociatedFiles remains fast.
I did consider using ByteString instead, but getting a FilePath converted
with all chars intact, even surrigates, is difficult, and it looks like
instance PersistField ByteString uses Text, which I don't trust for problem
encoded data. It would probably be slower too, and it would make the
database less easy to inspect manually.
|
|
|
|
|
|
|
|
|
|
|
|
| |
avoiding use of it in such a locale.
Instead -J will behave as if it was built without concurrent-output support
in this situation. Ie, it will be mostly quiet, except when there's an
error.
Note that it's not a problem for a filename to contain invalid utf-8 when
in a utf-8 locale. That is handled ok by concurrent-output. It's only
displaying unicode characters in a non-unicode locale that doesn't work.
|
|
|
|
|
| |
* checkpresentkey: Allow to be run without an explicit remote.
* checkpresentkey: Added --batch.
|
|
|
|
|
|
| |
This lets readonly repos be used. If a repo is readonly, we can ignore the
keys database, because nothing that we can do will change the state of the
repo anyway.
|
| |
|
|
|
|
|
|
| |
instead of the default DNS-style access.
untested
|
|
|
|
|
|
|
|
| |
temporary store location for a key. Thanks, wzhd.
That trailing slash is needed for legacy chunked mode, because it puts the
chunks in a subdir under the key. But, outside legacy chunked mode, it's BS
and it's amazing it worked at all with some webdav servers.
|
|
|
|
| |
servers. Thanks, wzhd.
|
|
|
|
| |
initializing in a subdirectory of a submodule and a submodule of a submodule.
|
|
|
|
| |
without C libraries that may be hard to install.
|