Commit graph

43101 commits

Author SHA1 Message Date
Joey Hess
38e9ea8497
one-way escaping of newlines in uuid.log
A repository can have a newline in its description due to being in a
directory containing a newline, or due to git-annex describe being
passed a string with a newline in it for some reason. Putting that
newline in uuid.log breaks its format.

So, escape the newline when it enters uuid.log, to \n

This is a one-way escaping, it is not converted back to a newline
when reading the log. If it were, commands like git-annex info and
whereis would display a multi-line description, which could be confusing
to read.

And, implementing roundtripping would necessarily cause problems if an
old version of git-annex were used to set a description that contained
whatever special character is used to escape the \n. Eg, a \ or if
it used the ! prefix before base64 data that is used in some other logs,
the ! character. Then the description set by the old git-annex would not
roundtrip.

There just doesn't seem to be any benefit of roundtripping newlines through,
so why bother? And, git often displays \n for newline when a filename
contains a newline, so git-annex doing it in this case seems sorta ok
by analogy to git.

(Some other git-annex logs can also have newlines put into them if the
user really wants to break git-annex. For example:
git-annex config annex.largefiles "foo
bar"
The full list is probably config.log, remote.log, group.log,
preferred-content.log, required-content.log,
group-preferred-content.log, schedule.log. Probably there is no
good reason to use a newline in any of these, and the breakage is
probably limited to the bad data the user put in not coming back out.
And users can write any garbage to log files themselves manually in any
case. So, I am not going to address all of those at this time. If a
problem such as this one with the newline in the repository path comes
up, it can be dealt with on a case by case basis.)

Sponsored-by: Dartmouth College's Datalad project
2023-03-13 14:19:32 -04:00
Joey Hess
0784c3e72a
tag datalad
It links to a datalad issue, so I suppose this is right?
2023-03-13 13:51:10 -04:00
Joey Hess
a6bebe3c0f
make hashFile support paths with newlines
git hash-object --stdin-paths is a newline protocol so it cannot
support them. It would help to not use absPath, when the problem
is that the repository itself is in a path with a newline. But,
there's a reason it used absPath, which is that
git hash-object --stdin-paths actually chdirs to the top of the
repository on startup! That is not documented, and I think is a bug
in git.

I considered making the path relative to the top of the repo, but
then what if this is a git bug and gets fixed? git-annex would break
horribly.

So instead, keep the absPath, but when the path contains a newline,
fall back to running git hash-object once per file, which avoids
the problem with newlines and --stdin-paths. It will be slower,
but this is an edge case. (Similar slow code paths are already used
elsewhere when dealing with filenames with newlines and other parts
of git that use line-based protocols.)

Sponsored-by: Dartmouth College's Datalad project
2023-03-13 13:43:40 -04:00
Joey Hess
e7ed9b7cbb
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-12 13:41:00 -04:00
Joey Hess
2323af3736
importfeed: Display feed title
When importing a bunch of feeds, this makes it more clear what it's working
on. Also, I sometimes want to delete a particular feed from a list of feeds
but don't know which url belongs to the feed, and this solves that.

Control characters are filtered out just to protect against some feed
putting escape character stuff in the feed, which could be a
security problem. (Control characters also get filtered out of
importfeed filenames.)

Sponsored-by: Luke Shumaker on Patreon
2023-03-11 13:52:45 -04:00
Daniel Höxtermann
231761146e Fix typos "=yet" -> "=yes" 2023-03-10 18:07:20 +01:00
Joey Hess
f1672fe171
fixed 2023-03-10 12:13:30 -04:00
Joey Hess
7b700d1f5e
fix oops
amdd64 vs arm64 confusion
2023-03-10 12:10:38 -04:00
Joey Hess
3e7a5f7577
typo 2023-03-10 12:05:17 -04:00
Joey Hess
59a0263587
fix links 2023-03-10 12:04:14 -04:00
Joey Hess
d8feda7a2f
added arm64-ancient build
Added arm64 build for ancient kernels, needed to support Android phones
whose kernels are too old to support kernels used by the current arm64
build.

Updated Android/git-annex-install to use it. (Also made it use i386-ancient
because that seems like a good idea.)

Sponsored-by: Noam Kremen on Patreon
2023-03-10 11:59:03 -04:00
Joey Hess
8c0051930e
comment 2023-03-10 11:48:37 -04:00
Joey Hess
f75d98450c
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-10 11:42:18 -04:00
Joey Hess
ff141c093e
include subdir when checking export branch is checked out
sync: Fix a reversion that prevented sending files to exporttree=yes
remotes when annex-tracking-branch was configured to branch:subdir
(Introduced in version 10.20230214)

Sponsored-by: Kevin Mueller on Patreon
2023-03-10 11:41:52 -04:00
Joey Hess
89c68f9a60
close 2023-03-10 10:33:20 -04:00
yarikoptic
db8d50dbeb Added a comment 2023-03-10 02:52:08 +00:00
yarikoptic
996868f552 original idea on some "native" support for ephemeral datalad clones. 2023-03-10 02:50:38 +00:00
Joey Hess
1eb64f0249
fix OSx build better 2023-03-09 11:43:55 -04:00
Joey Hess
91129f508f
comment 2023-03-08 12:18:55 -04:00
Joey Hess
59adf4309c
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-08 12:17:40 -04:00
Joey Hess
0dac6411d8
fix build on OSX
Breakage from 54ad1b4cfb
2023-03-08 12:17:09 -04:00
Joey Hess
ba2d51ca80
remove redundant import 2023-03-08 11:41:20 -04:00
hurlebouc
9f280d506d Added a comment 2023-03-08 15:16:29 +00:00
hurlebouc
7ca1bd2c70 Added a comment 2023-03-08 15:11:26 +00:00
yarikoptic
3babe84e46 initial report on newlines fiasco 2023-03-08 14:41:56 +00:00
yarikoptic
68632e6f22 initial report on deficiency of copy --from --to 2023-03-08 04:16:15 +00:00
yarikoptic
2aa54cff2a FTBFS bug report 2023-03-07 21:17:04 +00:00
Joey Hess
f1f2588b72
open bug 2023-03-06 13:05:02 -04:00
Joey Hess
50185da5df
comment 2023-03-06 12:39:59 -04:00
Joey Hess
175091da90
comment 2023-03-06 12:27:39 -04:00
Joey Hess
efd5bfa72d
re-close with comment 2023-03-06 12:25:39 -04:00
Joey Hess
433608753a
further fix windows build
Thanks to jkniiv for this patch.
2023-03-06 12:15:53 -04:00
Joey Hess
89373c04bb
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-06 12:13:29 -04:00
Joey Hess
c622b3ee9c
update 2023-03-05 17:37:34 -04:00
jkniiv
f9deee36c7 Added a comment 2023-03-05 20:18:02 +00:00
benibilme
4b1a7e4d9e Added a comment: Hello, 2023-03-05 20:04:03 +00:00
derphysiker
d1ce91dfff Added a comment 2023-03-04 20:45:48 +00:00
derphysiker
0da1d11db6 2023-03-04 20:38:49 +00:00
jkniiv
04b70c093d retitle bug report now that it's reopened 2023-03-04 19:36:13 +00:00
jkniiv
19c09af793 reopen bug, 2nd try -- now with backslashes :) 2023-03-04 19:33:13 +00:00
jkniiv
a8437ebe13 reopen bug -- the fix Joey committed didn't build 2023-03-04 19:29:21 +00:00
jkniiv
771fb186cc Added a comment: ok, that didn't quite resolve it 2023-03-04 19:15:32 +00:00
derphysiker
c0a8e789c5 Added a comment 2023-03-04 11:11:27 +00:00
benibilme
d58d21dd73 2023-03-04 07:56:58 +00:00
benibilme
81ed1bfed5 2023-03-04 07:55:02 +00:00
benibilme
3a7d8360ed 2023-03-04 07:47:02 +00:00
benibilme
510ee11ad4 2023-03-04 07:41:57 +00:00
benibilme
88c21dec56 2023-03-04 07:39:03 +00:00
benibilme
a725abee55 2023-03-04 07:37:46 +00:00
benibilme
061312db23 2023-03-04 07:36:06 +00:00