Commit graph

31980 commits

Author SHA1 Message Date
ghen1
0c5b4582a6 2018-06-11 03:29:06 +00:00
Joey Hess
e489b28bd7
Merge branch 'master' of ssh://git-annex.branchable.com 2018-06-08 12:03:53 -04:00
Joey Hess
c3c28f7617
add GETINFO to external protocol (for ronnypfa)
External special remotes can now add info to `git annex info $remote`, by
replying to the GETINFO message.

Had to generalize some helpers to allow consuming multiple messages from
the remote.

The code added to Remote/* here is AGPL licensed, thus changed the license
of the files.

This commit was sponsored by Jake Vosloo on Patreon.
2018-06-08 11:56:24 -04:00
yves.noirjean@3f9b06d19a920fbf5c82340c362e5971b00d4af2
2b45511bd5 Added a comment 2018-06-08 15:17:17 +00:00
yves.noirjean@3f9b06d19a920fbf5c82340c362e5971b00d4af2
8397151b2b 2018-06-08 13:03:20 +00:00
yves.noirjean@3f9b06d19a920fbf5c82340c362e5971b00d4af2
cb57900e7a 2018-06-08 13:02:34 +00:00
sudoman
8cba78f266 initial but submission 2018-06-05 22:08:57 +00:00
Joey Hess
0f566ed242
removal of the rest of remoteGitConfig
In keyUrls, the GitConfig is used only by annexLocations
to support configured Differences. Since such configurations affect all
clones of a repository, the local repo's GitConfig must have the same
information as the remote's GitConfig would have. So, used getGitConfig
to get the local GitConfig, which is cached and so available cheaply.

That actually fixed a bug noone had ever noticed: keyUrls is
used for remotes accessed over http. The full git config of such a
remote is normally not available, so the remoteGitConfig that keyUrls
used would not have the necessary information in it.

In copyFromRemoteCheap', it uses gitAnnexLocation,
which does need the GitConfig of the remote repo itself in order to
check if it's crippled, supports symlinks, etc. So, made the
State include that GitConfig, cached. The use of gitAnnexLocation is
within a (not $ Git.repoIsUrl repo) guard, so it's local, and so
its git config will always be read and available.

(Note that gitAnnexLocation in turn calls annexLocations, so the
Differences config it uses in this case comes from the remote repo's
GitConfig and not from the local repo's GitConfig. As explained above
this is ok since they must have the same value.)

Not very happy with this mess of different GitConfigs not type-safe and
some read only sometimes etc. Very hairy. Think I got it this change
right. Test suite passes..

This commit was sponsored by Ethan Aubin.
2018-06-05 14:48:37 -04:00
Joey Hess
a5f598a6aa
remove use of remoteGitConfig
Unfortunately one more use remains..

This should be just as fast as the other method. The remote's Git.Repo
has already had its config read, so Annex.new's call to Git.Config.read
is a noop.

Thid commit was sponsored by andrea rota.
2018-06-05 13:15:04 -04:00
Joey Hess
b94294a43d
remove no longer needed uuid check in prepSocket
Since 3dd43df9c2, the socket warmup does
not run git-annex-shell on the remote host, and the point of this check
was to avoid error messages running git-annex-shell when it was not
installed. So the check is not needed any longer.

Also, this is one of only two uses of remoteGitConfig, which
I want to get rid of for reasons explained in
fc5888300f.

This commit was sponsored by Fernando Jimenez on Patreon.
2018-06-05 12:51:17 -04:00
Joey Hess
fc5888300f
fix annex-checkuuid
Fixed annex-checkuuid implementation, so that remotes configured that way
can be used. This was 100% broken from the first commit of it, oops.

This commit was sponsored by Øyvind Andersen Holm.
2018-06-04 16:52:22 -04:00
Joey Hess
f1303e9146
close 2018-06-04 16:52:10 -04:00
Joey Hess
09aa4ee7e5
remove unused gitConfigRepo 2018-06-04 16:51:25 -04:00
Joey Hess
c3e1d0550f
fix incorrect comment 2018-06-04 16:50:53 -04:00
ypid
8afefb9ebe Added a comment 2018-06-04 19:42:30 +00:00
Joey Hess
67e46229a5
change Remote.repo to Remote.getRepo
This is groundwork for letting a repo be instantiated the first time
it's actually used, instead of at startup.

The only behavior change is that some old special cases for xmpp remotes
were removed. Where before git-annex silently did nothing with those
no-longer supported remotes, it may now fail in some way.

The additional IO action should have no performance impact as long as
it's simply return.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon
2018-06-04 15:30:26 -04:00
Joey Hess
dc5550a54e
analysis 2018-06-04 13:14:20 -04:00
Joey Hess
2e6a6024c2
avoid unncessary version output differences in different contexts
Show operating system and repository version list when run outside
a git repo too.

Also made it only display the local repository version when in a git-annex
repo. Before it showed "unknown" when run in a git repo that was not
git-annex initialized. That seemed like confusing behavior.

This commit was sponsored by Jochen Bartl on Patreon.
2018-06-04 12:26:18 -04:00
Joey Hess
95f7295b67
followup 2018-06-04 12:12:56 -04:00
Joey Hess
ac06c34d05
update 2018-06-04 10:22:13 -04:00
davicastro
86f41ce2f9 Added a comment: Consequences of this error message 2018-06-04 14:16:23 +00:00
RonnyPfannschmidt
c197077e89 Added a comment: the remote im working on 2018-06-04 07:51:57 +00:00
ypid
37ca93b834 2018-06-03 13:08:33 +00:00
ypid
2d13c23112 Fix typo in bug report 2018-06-03 12:50:27 +00:00
ypid
b00415a3ff Create bug report: Operating system should be contained in git annex version output 2018-06-03 12:48:47 +00:00
ypid
951b3375bd Fix spelling in doc/design/iabackup.mdwn 2018-06-03 12:28:26 +00:00
sawmke
6eecfb19e6 2018-06-02 17:24:14 +00:00
cbaines
d4a610222b Add Guix to the installation instructions, as there is now package available! 2018-06-01 14:38:16 +00:00
cbaines
5ab9875fa3 Add install page for Guix 2018-06-01 14:37:08 +00:00
andrew
493b80efb0 Added a comment 2018-05-31 17:43:21 +00:00
andrew
6b711948d1 Added a comment 2018-05-31 17:39:10 +00:00
Joey Hess
8016dc2f31
response 2018-05-31 11:51:37 -04:00
Joey Hess
f09a235c87
Merge branch 'master' of ssh://git-annex.branchable.com 2018-05-31 11:49:35 -04:00
Joey Hess
0c803eee71
list all (non-archived) done bugs, not only most recent 10 2018-05-31 11:48:53 -04:00
andrew
008fd0d536 Added a comment: bare remotes, workflow 2018-05-31 12:50:55 +00:00
marek@33e8ba4fbc201af14a2badcc0656024401f5c916
abd3e65f34 Added a comment: Fixed a first problem and then ran into bigger problems 2018-05-31 09:29:30 +00:00
marek@33e8ba4fbc201af14a2badcc0656024401f5c916
bfabce7895 removed 2018-05-31 09:23:20 +00:00
marek@33e8ba4fbc201af14a2badcc0656024401f5c916
fea798acd8 Added a comment: Quick fix 2018-05-31 09:22:57 +00:00
jasonb885
57411ecafd 2018-05-31 04:19:20 +00:00
jasonb885
5c6b80c442 2018-05-31 04:17:13 +00:00
andrew
624fb46b03 Added a comment 2018-05-31 03:15:37 +00:00
jhnichol@cce81d2a480707652a3340ea2f24b3dc4b1f808c
dffb0c1f5a Added a comment 2018-05-30 17:36:31 +00:00
andrew
c1c9d95595 2018-05-30 17:12:46 +00:00
Joey Hess
88b9ebe4a2
response 2018-05-30 12:31:24 -04:00
Joey Hess
1c8ee99b46
Fix build with ghc 8.4+, which broke due to the Semigroup Monoid change
https://prime.haskell.org/wiki/Libraries/Proposals/SemigroupMonoid

I am not happy with the fragile pile of CPP boilerplate required to support
ghc back to 7.0, which git-annex still targets for both the android build
and the standalone build targeting old linux kernels. It makes me unlikely
to want to use Semigroup more in git-annex, because the benefit of the
abstraction is swamped by the ugliness. I actually considered ripping out
all the Semigroup instances, but some are needed to use
optparse-applicative.

The problem, I think, is they made this transaction on too fast a timeline.
(Although ironically, work on it started in 2015 or earlier!)
In particular, Debian oldstable is not out of security support, and it's
not possible to follow the simpler workarounds documented on the wiki and
have it build on oldstable (because the semigroups package in it is too
old).

I have only tested this build with ghc 8.2.2, not the newer and older
versions that branches of the CPP support. So there could be typoes, we'll
see.

This commit was sponsored by Brock Spratlen on Patreon.
2018-05-30 12:28:43 -04:00
Joey Hess
519c693030
Merge branch 'master' of ssh://git-annex.branchable.com 2018-05-30 11:30:29 -04:00
joseph.rawson.works@85a210ab8c0e37a0b2d6bb235738b20e23e8878f
b04b96d824 Added a comment: Using youtube-dl commandline options with git-annex-addurl 2018-05-30 15:29:16 +00:00
Joey Hess
7346301e3b
Merge branch 'master' of ssh://git-annex.branchable.com 2018-05-30 11:28:53 -04:00
Joey Hess
ecd534f1ee
response 2018-05-30 11:28:38 -04:00
Joey Hess
b23c54fbb3
Revert "response"
This reverts commit 96373a8555.

Contained unrelated change.
2018-05-30 11:27:54 -04:00