Commit graph

22662 commits

Author SHA1 Message Date
Joey Hess
fdbfe88168
fix external script for filenames with spaces from protocol
Fix the external special remotes git-annex-remote-ipfs,
git-annex-remote-torrent and the example.sh template to correctly support
filenames with spaces.

This commit was sponsored by John Peloquin on Patreon.
2017-08-17 16:20:09 -04:00
Joey Hess
dafafad115
external: nice error message for keys with spaces in their name
External special remotes will refuse to operate on keys with spaces in
their names. That has never worked correctly due to the design of the
external special remote protocol. Display an error message suggesting
migration.

Not super happy with this, but it's a pragmatic solution. Better than
complicating the external special remote interface and all external special
remotes.

Note that I only made it use SafeKey in Request, not Response. git-annex
does not construct a Response, so that would not add any safety. And
presumably, if git-annex avoids feeding any such keys to an external
special remote, it will never have a reason to make a Response using such a
key. If it did, it would result in a protocol error anyway.

There's still a Serializeable instance for Key; it's used by P2P.Protocol.
There, the Key is always in the final position, so it's ok if it contains
spaces.

Note that the protocol documentation has been fixed to say that the File
may contain spaces. One way that can happen, even though the Key can't,
is when using direct mode, and the work tree filename contains spaces.
When sending such a file to the external special remote the worktree
filename is used.

This commit was sponsored by Thom May on Patreon.
2017-08-17 16:18:34 -04:00
Joey Hess
5421e8f695
comment 2017-08-17 15:15:40 -04:00
https://launchpad.net/~felixonmars
b985eb2d75 Added a comment 2017-08-17 19:10:24 +00:00
Joey Hess
8cff67841c
plan 2017-08-17 14:41:21 -04:00
Joey Hess
68a0f99ba6
Merge branch 'master' of ssh://git-annex.branchable.com 2017-08-17 13:58:14 -04:00
Joey Hess
d39c120afa
add annex-ignore-command and annex-sync-command configs
Added remote configuration settings annex-ignore-command and
annex-sync-command, which are dynamic equivilants of the annex-ignore
and annex-sync configurations.

For this I needed a new DynamicConfig infrastructure. Its implementation
should be as fast as before when there is no dynamic config, and it caches
so shell commands are only run once.

Note that annex-ignore-command exits nonzero when the remote should be ignored.
While that may seem backwards, it allows using the same command for it as
for annex-sync-command when you want to disable both.

This commit was sponsored by Trenton Cronholm on Patreon.
2017-08-17 13:54:14 -04:00
michalrus
60f6445532 Added a comment 2017-08-17 17:53:24 +00:00
pitsa@5f5d24a1fb7ba0d050ae7cf95b4c3032002e8e38
14fc9318d5 Added a comment: Thanks 2017-08-17 16:35:33 +00:00
Joey Hess
86428f6261
comment 2017-08-17 12:17:47 -04:00
Joey Hess
05ef86fcf3
comment 2017-08-17 12:05:30 -04:00
Joey Hess
801c636caf
comment 2017-08-17 11:58:41 -04:00
Joey Hess
537dff4958
response 2017-08-17 11:55:56 -04:00
Joey Hess
04de2ede83
close 2017-08-17 11:49:42 -04:00
CandyAngel
22df6eaa74 Added a comment 2017-08-17 10:22:54 +00:00
olaf
df59575cdc Added a comment: manual mode? 2017-08-17 07:35:41 +00:00
https://openid.stackexchange.com/user/8a69a637-97cb-41e6-8f45-00f08ba54d6e
332ec5669c Added a comment 2017-08-16 18:18:27 +00:00
https://openid.stackexchange.com/user/8a69a637-97cb-41e6-8f45-00f08ba54d6e
e15f5f9dae Added a comment 2017-08-16 17:16:14 +00:00
https://openid.stackexchange.com/user/8a69a637-97cb-41e6-8f45-00f08ba54d6e
64bbd451f5 Added a comment 2017-08-16 17:10:58 +00:00
https://openid.stackexchange.com/user/8a69a637-97cb-41e6-8f45-00f08ba54d6e
a6a0fa9323 2017-08-16 16:49:46 +00:00
woffs
f6550dc7e7 Added a comment 2017-08-16 13:02:56 +00:00
michalrus
eaf2137ee7 Added a comment 2017-08-16 12:58:25 +00:00
michalrus
ee72ef5c3a Added a comment 2017-08-16 12:47:48 +00:00
michalrus
9acc5f6a8e Added a comment 2017-08-16 11:03:03 +00:00
michalrus
f1fa56f388 2017-08-16 10:59:01 +00:00
olaf
7b2c6d45c6 Added a comment 2017-08-16 01:01:02 +00:00
olaf
d35f0a1e98 2017-08-15 23:42:07 +00:00
olaf
debbd6cad8 Added a comment 2017-08-15 23:28:58 +00:00
Joey Hess
7713c3e0ec
idea 2017-08-15 15:45:31 -04:00
Joey Hess
48a89f0f92
hmm 2017-08-15 15:31:01 -04:00
Joey Hess
73d04d5565
responses, bug I noticed 2017-08-15 14:42:22 -04:00
Joey Hess
19a784df03
comment 2017-08-15 14:07:12 -04:00
Joey Hess
fac77375f3
Merge branch 'master' of ssh://git-annex.branchable.com 2017-08-15 13:56:24 -04:00
Joey Hess
69dcb08d7a
Disable http-client's default 30 second response timeout when HEADing an url to check if it exists. Some web servers take quite a long time to answer a HEAD request. 2017-08-15 13:56:12 -04:00
Joey Hess
e5109468e2
forwarded 2017-08-15 13:53:51 -04:00
Joey Hess
35fc273218
comment 2017-08-15 13:26:23 -04:00
Joey Hess
f6128f96d1
comment 2017-08-15 13:00:33 -04:00
Joey Hess
5ef13d77c5
comment 2017-08-15 12:54:12 -04:00
Joey Hess
2eb6309d3e
move, copy: Support --batch. 2017-08-15 12:39:10 -04:00
olaf
22da64d0f4 2017-08-15 07:38:31 +00:00
Joey Hess
2cecc8d2a3
Added GIT_ANNEX_VECTOR_CLOCK environment variable
Can be used to override the default timestamps used in log files in the
git-annex branch. This is a dangerous environment variable; use with
caution.

Note that this only affects writing to the logs on the git-annex branch.
It is not used for metadata in git commits (other env vars can be set for
that).

There are many other places where timestamps are still used, that don't
get committed to git, but do touch disk. Including regular timestamps
of files, and timestamps embedded in some files in .git/annex/, including
the last fsck timestamp and timestamps in transfer log files.

A good way to find such things in git-annex is to get for getPOSIXTime and
getCurrentTime, although some of the results are of course false positives
that never hit disk (unless git-annex gets swapped out..)

So this commit does NOT necessarily make git-annex comply with some HIPPA
privacy regulations; it's up to the user to determine if they can use it in
a way compliant with such regulations.

Benchmarking: It takes 0.00114 milliseconds to call getEnv
"GIT_ANNEX_VECTOR_CLOCK" when that env var is not set. So, 100 thousand log
files can be written with an added overhead of only 0.114 seconds. That
should be by far swamped by the actual overhead of writing the log files
and making the commit containing them.

This commit was supported by the NSF-funded DataLad project.
2017-08-14 14:19:58 -04:00
pitsa@5f5d24a1fb7ba0d050ae7cf95b4c3032002e8e38
f071d1382e 2017-08-13 08:38:17 +00:00
https://launchpad.net/~liori
91dc11933e Added a comment 2017-08-12 15:31:24 +00:00
yarikoptic
8427c44e11 Added a comment 2017-08-12 04:08:04 +00:00
yarikoptic
3c2aa54f21 initial whining about 2 ssh prompts 2017-08-12 04:06:19 +00:00
xloem
ff6f9e203e Added a comment: Git History 2017-08-10 00:25:27 +00:00
yarikoptic
0eff80b493 Added a comment: relates to being on NFS 2017-08-09 17:26:40 +00:00
yarikoptic
9844556d13 Added a comment: comes and goes! 2017-08-09 17:11:37 +00:00
yarikoptic
33884c2a6d Added a comment: "reproduces" in a complete git installation 2017-08-09 17:07:17 +00:00
Tafnzart
062e446791 2017-08-09 13:21:02 +00:00