| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
|
|
|
|
|
| |
Another process may stage journalled files before the lock is
taken, so need to get the list of journalled files afterwards.
It's unfortunate this means getting the directory contents twice,
but it seems better to do that than sometimes take the lock
unnecessarily.
|
|
|
|
| |
a remote. Note that pushInsteadOf is not used; that and pushurl are reserved for actual git pushes. Closes: #644278
|
|
|
|
|
| |
And a theoretical fix to branchstate cache invalidation, but not a bug
that could actually happen.
|
|
|
|
|
| |
It was checking if it needed to merge on every branch access, fix it to
only check once.
|
|
|
|
| |
avoids git warning "error: duplicate parent xxx ignored"
|
|
|
|
| |
only write index once
|
|
|
|
|
|
|
|
|
|
|
| |
* git-annex now asks git-annex-shell to verify that it's operating in
the expected repository.
* Note that this git-annex will not interoperate with remotes using
older versions of git-annex-shell.
The reason for this check is to avoid git-annex getting confused about
what remote repository actually contains a value. It's a prerequisite for
supporting git insteadOf aliases.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* New or changed repository descriptions in uuid.log now have a timestamp,
which is used to ensure the newest description is used when the uuid.log
has been merged.
* Note that older versions of git-annex will display the timestamp as part
of the repository description, which is ugly but otherwise harmless.
|
| |
|
|
|
|
| |
(but not test suite build failure)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
In case the exception is caught higher up, don't leave the environment
dirty.
|
|
|
|
| |
no code changes
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
All changes to files in the branch are now made via pure functions that
transform the old file into the new. This will allow adding locking
to prevent read/write races. It also makes the code nicer, and purer.
I noticed a behavior change, really a sort of bug fix. Before,
'git annex untrust foo --trust bar' would change both trust levels
permanantly, now the --trust doesn't get stored.
|
| |
|
|
|
|
|
|
| |
Actually, let's do a targeted fix of the actual forkProcess that was not
waited on. The global reap is moved back to the end, after the long-running
git processes actually exit.
|
|
|
|
|
| |
Specifically, when using gpg, a zombie is forked for each file, so waiting
until shutdown to reap won't do.
|
| |
|
|
|
|
| |
their descriptions.
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
| |
I think that I broke this in some fairly recent refactoring.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This yields a second or so speedup in unused, find, etc. Seems that even
when the ByteString is immediately split and then converted to Strings,
it's faster.
I may try to push ByteStrings out into more of git-annex gradually,
although I suspect most of the time-critical parts are already covered
now, and many of the rest rely on libraries that only support Strings.
|
| |
|
| |
|
|
|
|
| |
didn't bother to benchmark this
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added Git.ByteString which replaces Git IO methods with ones using lazy
ByteStrings. This can be more efficient when large quantities of data are
being read from git.
In Git.LsTree, parse git ls-tree output more efficiently, thanks
to ByteString. This benchmarks 25% faster, in a benchmark that includes
(probably predominately) the run time for git ls-tree itself.
In real world numbers, this makes git annex unused 2 seconds faster for
each branch it needs to check, in my usual large repo.
|
| |
|
| |
|
| |
|
| |
|