Commit graph

3193 commits

Author SHA1 Message Date
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
dba8fc8a1c export remoteList 2011-12-30 19:10:54 -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
http://joey.kitenet.net/
2260eca688 Added a comment 2011-12-30 21:49:07 +00:00
bremner
4610f28f17 Added a comment: repo name conventions? 2011-12-30 21:41:15 +00: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
26040d6419 add base, under
The describe function was only intended to generate a human-visible
description of a branch, but taking the base of a branch is a useful
operation to be able to do no matter the human-visible representation.

Converting a branch like refs/heads/master to refs/heads/origin/master
is also a useful operation, and under can do that.
2011-12-30 16:48:26 -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
Joey Hess
925b6390aa add forceUpdate
This code is picked from my tweak-fetch branch, which already did the needed
refactoring.
2011-12-30 15:57:28 -04:00
Joey Hess
dc83d721c2 Merge remote-tracking branch 'nomeata/master' into sync 2011-12-30 15:02:37 -04:00
Joey Hess
5287d1dc3f fixed behavior when multiple insteadOf configs are provided for the same url base
Consider this git config --list case:

url.git+ssh://git@example.com/.insteadOf=gl
url.git+ssh://git@example.com/.insteadOf=shared

Since config is stored in a Map, only the last of the values for this key
was stored and available for use by the insteadOf code. But that
is wrong; git allows either "gl" or "shared" to be used in an url and
the insteadOf value to be substituted in.

To support this, it seems best to keep the existing config map as-is,
and add a second map that accumulates a list of multiple values for
config keys. This new fullconfig map can be used in the rare places where
multiple values for a key make sense, without needing to complicate
everything else.

Haskell's laziness and data sharing keep the overhead of adding
this second map low.
2011-12-30 14:07:46 -04:00
http://www.joachim-breitner.de/
3dffcf9ccb Added a comment: Finally some code 2011-12-29 19:58:31 +00: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
Joachim Breitner
559bbdb424 Outline extended git annex sync semantics in the documentation 2011-12-27 19:23:41 +01:00
http://joey.kitenet.net/
6068cef038 Added a comment: git tweak-fetch 2011-12-26 18:50:36 +00:00
Joey Hess
85f1f3a63a Updated to build with monad-control 0.3. 2011-12-24 23:05:23 -04:00
Joey Hess
6d4382a89e Merge branch 'new-monad-control' 2011-12-24 23:02:42 -04:00
http://www.openid.albertlash.com/openid/
2101ef20d1 2011-12-25 01:55:45 +00:00
http://www.openid.albertlash.com/openid/
899b20f89c 2011-12-24 17:05:38 +00:00
Joey Hess
ffefe742d8 fix typo 2011-12-24 12:59:45 -04:00
Joey Hess
82cc5d3d31 slightly improve typography 2011-12-24 12:59:45 -04:00
http://joey.kitenet.net/
0c107c98de Added a comment 2011-12-24 16:54:31 +00:00
http://joey.kitenet.net/
c87a814046 Added a comment 2011-12-24 16:49:13 +00:00
http://www.joachim-breitner.de/
ab1435310c Added a comment 2011-12-24 12:51:43 +00:00
http://www.joachim-breitner.de/
ffe9973ed5 Added a comment 2011-12-24 12:49:41 +00:00
http://www.openid.albertlash.com/openid/
ccddaf2f5c Added a comment 2011-12-24 06:08:46 +00:00
http://adamspiers.myopenid.com/
4eafd43cce Added a comment: Any update on this? 2011-12-24 01:05:08 +00:00
http://adamspiers.myopenid.com/
f78b0cb4e7 2011-12-24 00:48:37 +00:00
http://adamspiers.myopenid.com/
1202e605d7 2011-12-24 00:45:43 +00:00
http://adamspiers.myopenid.com/
010780dc55 add a page for openSUSE install instructions 2011-12-24 00:13:43 +00:00
https://www.google.com/accounts/o8/id?id=AItOawmKPMUX0YHBjE93eBsEnacwZsddSDue3PY
4fb3114228 Added a comment 2011-12-23 22:04:09 +00:00
http://joey.kitenet.net/
56e4acfa24 Added a comment 2011-12-23 19:19:53 +00:00
http://adamspiers.myopenid.com/
bfa5509dbd Added a comment: Cool 2011-12-23 19:16:51 +00:00
http://joey.kitenet.net/
131d560ba6 Added a comment 2011-12-23 18:43:05 +00:00
Joey Hess
499b9dcacd Merge branch 'master' of ssh://git-annex.branchable.com 2011-12-23 14:09:36 -04:00
Joey Hess
1940e52793 skip repos without a description set when --in="" is specified
Picking one of probably several remotes with no description set was not
useful behavior.
2011-12-23 14:08:04 -04:00
http://joey.kitenet.net/
cbaf13e587 Added a comment 2011-12-23 18:02:24 +00:00
http://joey.kitenet.net/
d5889f8271 Added a comment 2011-12-23 17:52:21 +00:00
http://adamspiers.myopenid.com/
74e86b6da2 Added a comment 2011-12-23 17:24:59 +00:00
http://adamspiers.myopenid.com/
d3e80eabe8 Added a comment 2011-12-23 17:22:12 +00: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
http://adamspiers.myopenid.com/
fe65981de8 Added a comment 2011-12-23 17:14:03 +00:00