| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
With --fast, unavailable local remotes are filtered out of the fast set.
This way, if there are local remotes, --fast always acts only on them,
and if none are mounted, acts on nothing. This consistency is better
than --fast acting on different remotes depending on what's mounted.
|
| |
|
| |
|
| |
|
|
|
|
| |
even if they have the lowest cost, we cannot use them
|
|
|
|
|
| |
mergeLocal always creates the local sync branch, so no need to check that
it exists later.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
mergeFrom is never called on branches that don't exist anymore
|
| |
|
|
|
|
| |
syncs those, in addition to any specified at the command line.
|
|
|
|
| |
I was too heavy-handed in optimising away pushes
|
|
|
|
|
|
| |
Some changes to make automated syncing nicer. Merge from both the remote's
$branch and its synced/$branch; either could have new changes. Create
synced/$branch on the remote when pushing.
|
| |
|
| |
|
| |
|
|
|
|
| |
and a nice error message if syncing is not set up yet
|
|
|
|
|
|
| |
This optimises away the need to run anything in some common cases.
It's particularly useful on push; no need to push if the tracking branch
we just pulled is the same as the branch we're going to push.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The other uses of it can all be simplified using Git.Ref.base,
Git.Ref.under, and show.
In some cases, describe was being used to shorten the branch name
unnecessarily, and I instead pass the fully qualified name to git.
|
| |
|
|
|
|
|
|
|
|
| |
git-annex normally only runs the branch update once per run, for speed, but
since this fetches new remote git-annex tracking branches, they need to be
merged in after that fetch. An earlier call to Remote.byName was causing
the update to run before the fetch sometimes, but it could have been
anything. Just force the update to happen in the right place.
|
| |
|
|
|
|
|
| |
as described in the previous commit to the documentation. The loggin UI
is not great yet.
|
|
|
|
|
| |
Out of general principles, it did not seem to actually speed it
up appreciably. (I suspect ghc is being smart.)
|
| |
|
|
|
|
| |
is output by git annex find.
|
| |
|
|
|
|
| |
Generally useful, and allows the test suite to test it.
|
| |
|
|
|
|
|
| |
Left a few Prelude.head's in where it was checked not null and too hard to
remove, etc.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
A crash on parsing was fixed a while ago. This adds support for fully
correctly parsing multiline git config values, using git config --null.
Since git-annex-shell configlist uses normal git config output, I left in
support for that too; the two forms of config output can be easily
identified by the parser. Since configlist only prints the annex.uuid
config, there's no risk of multiline values there, so no need to change it.
|
| |
|
| |
|
|
|
|
|
| |
Constructors and configuration make sense in separate modules.
A separate Git.Types is needed to avoid cycles.
|
| |
|
| |
|
| |
|
|
|
|
| |
by running git commit, pull, and push for you.
|
|
|
|
|
| |
There are still hundreds of places that use partial functions head, tail,
init, and last.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Added files don't have to be committed before they can be unannexed.
unannex no longer commits existing staged changes
unannex of the last file in a directory now works, before it failed because
git rm deleted the directory out from under it,
|
|
|
|
| |
code melt for lunch
|
| |
|