Commit graph

10617 commits

Author SHA1 Message Date
mih
58db7bb16d 2021-03-12 09:33:24 +00:00
Joey Hess
1d7fa63149
Added support for git-remote-gcrypt's rsync URIs
Which access a remote using rsync over ssh, and which git pushes to much
more efficiently than ssh urls.

There was some old partial support for rsync URIs from 2013, but it seemed
incomplete, and did not use rsync over ssh. Weird.

I'm not sure if there's any remaining benefit to using the non-rsync url
forms with gcrypt, now that this is implemented? Updated docs to encourage
using the rsync urls.

This commit was sponsored by Svenne Krap on Patreon.
2021-03-09 15:58:09 -04:00
Joey Hess
15891441f1
close 2021-03-09 14:00:11 -04:00
Joey Hess
1facddbfae
close long-fixed bug 2021-03-09 13:58:22 -04:00
Joey Hess
e07eabbf7f
Fix support for local gcrypt repositories with a space in their URI
Git.Remote.parseRemoteLocation had a hack to handle URIs that contained
characters like spaces, which is something git unfortunately allows
despite not being a valid URI. However, that hack looked for "//" to
guess something was an URI, and these gcrypt URIs, being to a local
path, don't contain that. So instead escape all illegal characters and
check if the resulting thing is an URI.

And that was already done by Git.Construct.fromUrl, so
internally the gcrypt URI with a space looks like "gcrypt::foo%20bar"
and that needs to be de-escaped when converting back from URI to local
repo path.

This change might also allow a few other almost-valid URIs to be handled
as URIs by git-annex. None that contain "//" will change, and any
behavior change should result in git-annex doing closer to a right thing
than it did before, probably.

This commit was sponsored by Noam Kremen on Patreon.
2021-03-09 12:49:51 -04:00
Joey Hess
d3578f3b66
close as dup 2021-03-09 11:48:41 -04:00
tomdhunt
3639ce1a99 2021-03-08 19:07:19 +00:00
tomdhunt
55f7eae066 2021-03-08 18:40:10 +00:00
Joey Hess
deac6f12b5
forgot to add this comment earlier 2021-03-05 12:40:39 -04:00
kyle
324f2c06c5 Added a comment: thanks 2021-03-02 20:51:53 +00:00
Joey Hess
a14001785e
fix --branch combined with --unlocked or --locked
Since it's using git ls-tree anyway, can just look at the file modes to see
if they're unlocked or are symlinks.
2021-03-02 13:47:27 -04:00
Joey Hess
25e4ab7e81
Prevent combinations of options such as --all with --include
Previously such nonsensical combinations always treated the matching option
as if it didn't match.

For now, made find --branch refuse matching options that need a
filename, because one is not provided to them in a way they'll use.
There's an open bug report to support it, but making it error out is
better than the old behavior of not finding what it was asked to.

Also, made --mimetype combined with eg --all work, by looking at the
object file when operating on keys.
2021-03-01 16:25:23 -04:00
Joey Hess
7a089f05b2
move comment to correct bug 2021-03-01 15:24:21 -04:00
Joey Hess
0482424fad
analysis 2021-03-01 13:36:18 -04:00
arelius@a7e47ae13cb3452464261e3a99bfe6d2c25895fd
c802c0685e Added a comment 2021-02-25 21:46:22 +00:00
kyle
6a98e69f2f 2021-02-24 22:37:06 +00:00
Joey Hess
61c3797dd5
comment and close not a bug 2021-02-24 13:31:19 -04:00
Joey Hess
0c90ccc40c
retitle 2021-02-24 13:16:03 -04:00
Joey Hess
0f09185683
comment 2021-02-24 13:15:58 -04:00
m15
c98b3cde6c 2021-02-24 10:44:02 +00:00
arelius@a7e47ae13cb3452464261e3a99bfe6d2c25895fd
7bf0f95f38 2021-02-24 04:52:39 +00:00
arelius@a7e47ae13cb3452464261e3a99bfe6d2c25895fd
def4ac2f90 Added a comment 2021-02-24 04:32:08 +00:00
arelius@a7e47ae13cb3452464261e3a99bfe6d2c25895fd
c3ab606dd6 2021-02-24 04:30:59 +00:00
Atemu
5e5829a8d4 2021-02-23 15:16:50 +00:00
Joey Hess
530e96b80e
fix unannex data overwrite bug
unannex, uninit: When an annexed file is modified, don't overwrite the
modified version with an older version from the annex

This commit was sponsored by Mark Reidenbach on Patreon.
2021-02-22 13:35:00 -04:00
Joey Hess
224bc7579b
bug report 2021-02-22 13:03:22 -04:00
Joey Hess
dd97017246
Merge branch 'master' of ssh://git-annex.branchable.com 2021-02-22 12:40:06 -04:00
Joey Hess
3ba349eec3
comment 2021-02-22 12:38:34 -04:00
EvanDeaubl
abb70e83dd Added a comment: One possible workaround 2021-02-22 16:23:41 +00:00
zsolt1
4381ad636e Added a comment 2021-02-21 18:11:36 +00:00
Lukey
4f63f0d162 Added a comment 2021-02-20 21:35:10 +00:00
zsolt1
0f68eed33c Added a comment: reproduce 2021-02-20 19:06:45 +00:00
zsolt1
c71f005889 2021-02-20 19:02:26 +00:00
Joey Hess
48310f2d55
windows build fix from jwodder 2021-02-15 13:35:01 -04:00
falsifian
4407ade4c3 Added a comment 2021-02-12 03:52:39 +00:00
jwodder
80ec124fb0 2021-02-11 16:06:00 +00:00
jwodder
69f2fb7a23 2021-02-11 16:04:20 +00:00
Joey Hess
f36a0c1b13
deal with cabal unpack not preserving execute bit 2021-02-08 14:32:24 -04:00
Joey Hess
3a66cd715f
avoid making absolute git remote path relative
When a git remote is configured with an absolute path, use that path,
rather than making it relative. If it's configured with a relative path,
use that.

Git.Construct.fromPath changed to preserve the path as-is,
rather than making it absolute. And Annex.new changed to not
convert the path to relative. Instead, Git.CurrentRepo.get
generates a relative path.

A few things that used fromAbsPath unncessarily were changed in passing to
use fromPath instead. I'm seeing fromAbsPath as a security check,
while before it was being used in some cases when the path was
known absolute already. It may be that fromAbsPath is not really needed,
but only git-annex-shell uses it now, and I'm not 100% sure that there's
not some input that would cause a relative path to be used, opening a
security hole, without the security check. So left it as-is.

Test suite passes and strace shows the configured remote url is used
unchanged in the path into it. I can't be 100% sure there's not some code
somewhere that takes an absolute path to the repo and converts it to
relative and uses it, but it seems pretty unlikely that the code paths used
for a git remote would call such code. One place I know of is gitAnnexLink,
but I'm pretty sure that git remotes never deal with annex symlinks. If
that did get called, it generates a path relative to cwd, which would have
been wrong before this change as well, when operating on a remote.
2021-02-08 13:18:01 -04:00
yarikoptic
2038d839cc Added a comment: why relative path? 2021-02-08 14:47:43 +00:00
yarikoptic
30728860ac removed 2021-02-08 14:46:11 +00:00
yarikoptic
6834093433 Added a comment 2021-02-08 14:44:39 +00:00
falsifian
be5a0e4b8f 2021-02-05 05:11:24 +00:00
gueux
59fa8b7671 Added a comment 2021-02-03 17:20:24 +00:00
gueux
31f5482729 Added a comment 2021-02-03 17:06:24 +00:00
jrollins
627940cf7b Added a comment 2021-02-02 17:43:19 +00:00
Joey Hess
d631304237
remove priority tag (unused) 2021-02-02 12:42:20 -04:00
Joey Hess
ba0de2d26a
comment 2021-02-02 12:33:01 -04:00
Joey Hess
e8d31910d0
update tutorial to work with 6 year old version of git-annex-shell 2021-02-02 12:26:37 -04:00
jrollins
4e5a27841a Added a comment 2021-02-01 19:30:54 +00:00