Joey Hess
a1aea174d7
fsck: Do backend-specific check before checking numcopies is satisfied.
...
This way, when a checksum check fails and the content is moved aside,
the numcopies check also warns if there are not enough copies.
2012-01-03 18:40:47 -04:00
Joey Hess
aa0882691b
Added remote.name.annex-web-options configuration setting, which can be used to provide parameters to whichever of wget or curl git-annex uses (depends on which is available, but most of their important options suitable for use here are the same).
2012-01-02 14:20:20 -04:00
Joey Hess
508b427c7b
tweak
2012-01-02 11:57:02 -04:00
Joey Hess
f0957426c5
skip local remotes that are not available (ie, not mounted)
...
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.
2011-12-31 04:50:39 -04:00
Joey Hess
4a02c2ea62
type alias cleanup
2011-12-31 04:11:58 -04:00
Joey Hess
a2ec2d3760
refactor and check for a detached HEAD
2011-12-31 03:38:58 -04:00
Joey Hess
8a33573caf
better filtering out of special remotes
2011-12-31 03:27:37 -04:00
Joey Hess
6cd4c7efcd
never pick special remotes in --fast
...
even if they have the lowest cost, we cannot use them
2011-12-31 03:14:05 -04:00
Joey Hess
c61642ef0c
remove unnecessary check
...
mergeLocal always creates the local sync branch, so no need to check that
it exists later.
2011-12-31 03:08:44 -04:00
Joey Hess
aa64b8ceaf
refactor
2011-12-31 03:01:18 -04:00
Joey Hess
2998340abb
really fix check that remote needs merged
2011-12-31 02:45:12 -04:00
Joey Hess
9a7a77488e
tweak
2011-12-31 02:18:16 -04:00
Joey Hess
0396f9c795
tweak
2011-12-31 02:15:13 -04:00
Joey Hess
f2b584ad74
fix check that remote branch needs merged
2011-12-31 02:03:39 -04:00
Joey Hess
79231bcff0
minor cleanups
...
mergeFrom is never called on branches that don't exist anymore
2011-12-31 01:51:39 -04:00
Joey Hess
015a497914
avoid syncing remotes configured annex-ignore, unless explicitly specified
2011-12-31 01:42:42 -04:00
Joey Hess
e7d3e546c2
sync --fast: Selects some of the remotes with the lowest annex.cost and syncs those, in addition to any specified at the command line.
2011-12-30 21:17:36 -04:00
Joey Hess
a31b7d93c8
push when git-annex branch changed
...
I was too heavy-handed in optimising away pushes
2011-12-30 19:38:46 -04:00
Joey Hess
79872e360e
automated syncing
...
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.
2011-12-30 19:24:57 -04:00
Joey Hess
f6f7ee7131
automatically create the syncbranch
2011-12-30 18:52:24 -04:00
Joey Hess
14d16b77b3
refactor
2011-12-30 18:37:55 -04:00
Joey Hess
52104dae6f
refactor
2011-12-30 18:36:40 -04:00
Joey Hess
56488e807b
check that synced/master exists before trying to use it
...
and a nice error message if syncing is not set up yet
2011-12-30 18:19:45 -04:00
Joey Hess
f2fa29bf3b
check if branches are up-to-date before merging, pushing
...
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.
2011-12-30 18:04:01 -04:00
Joey Hess
9d85baa314
improve wording
2011-12-30 17:54:09 -04:00
Joey Hess
4400f65967
message cleanup
2011-12-30 17:38:38 -04:00
Joey Hess
556618a3ec
avoid using Git.Ref.describe except for when generating user messages
...
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.
2011-12-30 17:01:03 -04:00
Joey Hess
5d17da5eb3
update to my indentation style
2011-12-30 16:24:30 -04:00
Joey Hess
5728bb58e0
force git-annex branch update after fetching remotes
...
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.
2011-12-30 16:03:41 -04:00
Joachim Breitner
b6e7b40be4
By default, sync with all remotes having the synced/ branch
2011-12-29 20:50:57 +01:00
Joachim Breitner
0ee1141f30
Implement branch-syncing in Command.Sync
...
as described in the previous commit to the documentation. The loggin UI
is not great yet.
2011-12-29 18:37:30 +01:00
Joey Hess
b05c08b5c1
reorder less expensive terminal first
...
Out of general principles, it did not seem to actually speed it
up appreciably. (I suspect ghc is being smart.)
2011-12-23 13:19:28 -04:00
Joey Hess
fdf02986cf
find --json
2011-12-23 01:08:19 -04:00
Joey Hess
06bafae9e0
Format strings can be specified using the new --find option, to control what is output by git annex find.
2011-12-22 18:31:44 -04:00
Joey Hess
7892397020
improve output
2011-12-22 14:50:20 -04:00
Joey Hess
1c28237e0c
map: --fast disables use of dot to display map
...
Generally useful, and allows the test suite to test it.
2011-12-20 16:42:35 -04:00
Joey Hess
87c1c103ea
add back message
2011-12-16 16:56:31 -04:00
Joey Hess
95d2391f58
more partial function removal
...
Left a few Prelude.head's in where it was checked not null and too hard to
remove, etc.
2011-12-15 18:19:36 -04:00
Joey Hess
52fe8a17f3
remove leftover debug print
2011-12-15 13:12:17 -04:00
Joey Hess
09cd042775
Properly handle multiline git config values.
...
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.
2011-12-15 12:48:27 -04:00
Joey Hess
ef28b3fef7
split out Git/Command.hs
2011-12-14 15:56:11 -04:00
Joey Hess
02f1bd2bf4
split more stuff out of Git.hs
2011-12-14 15:43:13 -04:00
Joey Hess
13fff71f20
split out three modules from Git
...
Constructors and configuration make sense in separate modules.
A separate Git.Types is needed to avoid cycles.
2011-12-13 15:06:49 -04:00
Joey Hess
543d0d2501
split out Git/Ref.hs
2011-12-12 18:30:33 -04:00
Joey Hess
6edaabd040
reinject: Add a sanity check for using an annexed file as the source file.
2011-12-12 13:43:52 -04:00
Joey Hess
4200b8038a
separate operations
2011-12-10 12:21:22 -04:00
Joey Hess
fb8231f3a1
sync: New command that synchronises the local repository and default remote, by running git commit, pull, and push for you.
2011-12-09 20:27:22 -04:00
Joey Hess
28699c95a7
some work on avoiding partial functions
...
There are still hundreds of places that use partial functions head, tail,
init, and last.
2011-12-09 18:10:41 -04:00
Joey Hess
95e748cbd4
inverted logic
2011-12-09 13:38:28 -04:00
Joey Hess
252b2e92b0
cleanup
2011-12-09 13:31:51 -04:00