Commit graph

31996 commits

Author SHA1 Message Date
Joey Hess
b6e4ed9aa7
export: re-send lost exported files after fsck notices they're gone
When content has been lost from an export remote and  git-annex fsck --from
remote has noticed it's gone, re-running git-annex export or git-annex sync
--content will re-upload it.

Note that normally there's no way to remove a single file from an export.
doc/design/exporting_trees_to_special_remotes.mdwn talks about this
in the section "dropping from exports and copying to exports". But, if
a file is somehow deleted or corrupted on the export, and fsck notices
this, it will update the location log to say it's missing.

So, checking the location log when determining if a file needs to be sent
to the export will let such missing files be added back in. There's
otherwise no way to do so. It does not fall afoul of the races documented
in the abovementioned section, I think.

This commit was sponsored by Ryan Newton on Patreon.
2018-06-14 12:22:12 -04:00
Joey Hess
4a3f1a15c5
improve indent 2018-06-14 11:40:23 -04:00
ghen1
1a0620fdf8 Added a comment 2018-06-13 17:18:49 +00:00
https://christian.amsuess.com/chrysn
c7dc4ee5c6 Added a comment: Update on using SAF 2018-06-13 14:57:10 +00:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
a439041e40 Added a comment 2018-06-13 10:46:25 +00:00
https://christian.amsuess.com/chrysn
93befcea96 Added a comment: Re: comment 5 2018-06-12 19:01:09 +00:00
Joey Hess
760f66829a
display p2pstdio stderr after auth
Display error messages that come from git-annex-shell when the p2p protocol
is used, so that diskreserve messages, IO errors, etc from the remote side
are visible again.

Felt like it should perhaps use outputError, so --json-error-messages would
include these, but as an async IO action, it can't, and this would need
MessageState to be converted to a tvar. Anyway, when not using p2pstdio,
that's not done; nor is it done for stderr from external special remotes
or other commands, so punted on the idea for now.

This commit was sponsored by mo on Patreon.
2018-06-12 14:59:05 -04:00
Joey Hess
90a3afb60f
adb: Android serial numbers are not all 16 characters long, so accept other lengths.
I can't find any documentation of how long it should be. Hard to imagine
it being shorter than 4 characters though, so put that in as a conservative
lower bound.

This commit was sponsored by Nick Piper on Patreon.
2018-06-12 13:56:01 -04:00
Joey Hess
98168e8f2e
Merge branch 'master' of ssh://git-annex.branchable.com 2018-06-12 12:55:41 -04:00
Joey Hess
b0492384bb
response 2018-06-12 12:54:29 -04:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
75e4e45bea 2018-06-12 16:46:40 +00:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
eca49304fe 2018-06-12 16:46:22 +00:00
Joey Hess
1694642969
document that multiple groupwanted are not combined 2018-06-12 12:44:53 -04:00
Joey Hess
e615357bdd
response 2018-06-12 12:16:18 -04:00
Rizwan
a9d271a616 Added a comment: Are these methods still working? 2018-06-12 14:58:03 +00:00
madapeedikakkaran@2c5c8bb4520ebf2526afb49c8dcbcb60fb295973
80917c2958 Added a comment: Termux Error 2018-06-12 11:54:02 +00:00
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