Commit graph

919 commits

Author SHA1 Message Date
Joey Hess
c5b6c55afc
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-11 13:33:14 -04:00
Joey Hess
0240775f32
adding arm64 build, and improved termux installation process
* Added arm64 Linux standalone build. (No autobuilder yet.)
* Improved termux installation process.

Added git-annex-install.sh script to avoid user needing to type as much in
termux. The scope of this script is limited; runshell handles the rest.

Runshell runs termux-fix-shebang on the shell scripts. The problem is
the bundled bin/sh script, deleting that script also works, but then the
others probably use the system Android /bin/sh, which could be old or
broken or not posix or whatever. Using termux sh to run the scripts is
better.

This commit was sponsored by Eric Drechsel on Patreon.
2018-10-11 13:32:00 -04:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
897e5ba57d Added a comment: Works now!! 2018-10-11 16:09:00 +00:00
Joey Hess
3b8ce5a89a
update 2018-10-10 18:16:07 -04:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
87206a985a Added a comment: aarch64 still broken, please help 2018-10-09 09:17:11 +00:00
Joey Hess
9d7fe7d1f2
response 2018-10-08 12:10:02 -04:00
anarcat
2bbe1a8faf Added a comment: asked upstream 2018-10-07 18:07:05 +00:00
Teyras
8317223b98 Added a comment: gcrypt support 2018-10-06 12:14:45 +00:00
madalu
c38656d70e Fix typo 2018-09-22 22:46:20 +00:00
madalu
d61b22202c Warning about upcoming shutdown of webdav access to box.com 2018-09-22 22:45:45 +00:00
anarcat
f396676dba link to webdav more explicitely 2018-09-06 01:01:04 +00:00
Joey Hess
10138056dc
v6: avoid accidental conversion when annex.largefiles is not configured
v6: When annex.largefiles is not configured for a file, running git add or
git commit, or otherwise using git to stage a file will add it to the annex
if the file was in the annex before, and to git otherwise. This is to avoid
accidental conversion.

Note that git-annex add's behavior has not changed, for reasons explained
in the added comment.

Performance: No added overhead when annex.largefiles is configured.
When not configured, there is an added call to catObjectMetaData,
which involves a round trip through git cat-file --batch.
However, the earlier catKeyFile primes the cache for it.

This commit was supported by the NSF-funded DataLad project.
2018-08-27 14:51:10 -04:00
Joey Hess
35e1697377
expand 2018-08-17 10:48:18 -04:00
Joey Hess
82cfcfc838
better index file refresh method
Use git update-index --refresh, since it's a little bit more
efficient and the user can be told to run it if a locked index prevents
git-annex from running it.

This also fixes the problem where an annexed file was deleted in the index
and a get of another file that uses the same key caused the index update to
add back the deleted file. update-index will not add back the deleted file.

Documented in tips/unlocked_files.mdwn the gotcha that the index update
may conflict with other operations. I can't see any way to possibly avoid
that conflict.

One new todo about a race that causes a modification to be accidentially
staged.

Note that the assistant only flushes the git command queue when it
commits a modification. I have not tested the assistant with v6 unlocked
files, but assume most users of the assistant won't care if the index
shows a file as modified for a while.

This commit was supported by the NSF-funded DataLad project.
2018-08-16 14:16:24 -04:00
Joey Hess
63a81cd20a
response 2018-08-09 15:49:36 -04:00
Joey Hess
7b9762b6af
document converting from git to annex and back 2018-08-09 15:06:51 -04:00
Joey Hess
c5d93650c9
prevent fetch/merge/push to cache 2018-08-03 14:10:05 -04:00
yarikoptic
214a6b7742 Added a comment: could we just make it "avoidable"? 2018-08-03 17:54:01 +00:00
Joey Hess
38190c6ca2
response 2018-08-03 13:28:11 -04:00
Joey Hess
1a02fc1159
Fix wrong sorting of remotes when using -J
It was sorting by uuid, rather than cost!

Avoid future bugs of this kind by changing the Ord to primarily compare
by cost, with uuid only used when the cost is the same.

This commit was supported by the NSF-funded DataLad project.
2018-08-03 13:10:50 -04:00
yarikoptic
8de71a743c Added a comment: re: annex merge cache 2018-08-02 18:49:51 +00:00
Joey Hess
03ac0978d6
response 2018-08-02 14:16:18 -04:00
yarikoptic
5d56429a1e Added a comment: re: annex merge cache 2018-08-02 17:35:22 +00:00
yarikoptic
62b5f4e90f Added a comment: re: parallel and costs 2018-08-02 17:28:46 +00:00
Joey Hess
184cae8172
followup 2018-08-02 13:15:59 -04:00
yarikoptic
05e573e672 Added a comment: could be taken as a feature! but also annex should avoid merging cache git-annex 2018-08-02 14:30:51 +00:00
yarikoptic
7d74517717 Added a comment: is it "safe" to tune? 2018-08-02 13:53:04 +00:00
yarikoptic
7281099574 Added a comment: is not going from cache with parallel get e.g. -J 2 2018-08-02 13:33:09 +00:00
Joey Hess
5b1c1b1490
Merge branch 'master' of ssh://git-annex.branchable.com 2018-08-01 15:34:53 -04:00
Joey Hess
6e6c9cc6d3
Added --accessedwithin matching option.
Useful for dropping old objects from cache repositories.

But also, quite a genrally useful thing to have..

Rather than imitiating find's -atime and other options, all of which are
pretty horrible to use, I made this match files accessed within a time
period, using the same duration format used by git-annex schedule and
--limit-time

In passing, changed the --limit-time option parser to parse the
duration, instead of having it later throw an error.

This commit was supported by the NSF-funded DataLad project.
2018-08-01 15:34:03 -04:00
Joey Hess
fd5a392006
cache remotes via annex-speculate-present
Added remote.name.annex-speculate-present config that can be used to
make cache remotes.

Implemented it in Remote.keyPossibilities, which is used by the
get/move/copy/mirror commands, and nothing else. This way, things like
whereis will not show content that's speculatively present.

The assistant and sync --content were not using Remote.keyPossibilities,
and were changed to use it.

The efficiency hit should be small; Remote.keyPossibilities is only
used before transferring a file, which is the expensive operation.
And, it's only doing one lookup of the remoteList and a very cheap
filter over it.

Note that, git-annex still updates the location log when copying content
to a remote with annex-speculate-present set. In this case, the location
tracking will indicate that content is present in the remote. This may
not be wanted for caches, or may not be a real problem for them. TBD.

This commit was supported by the NSF-funded DataLad project.
2018-08-01 14:28:05 -04:00
msloco@dab095e2e54192078b3eedcd000f7d838a169f5b
2ca412754a Added a comment: samee here 2018-07-31 22:21:48 +00:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
46e86cc5b0 Added a comment: still broken on aarch64 2018-07-29 08:48:22 +00:00
Joey Hess
081f8e57c6
Support working trees set up by git-worktree.
Support working trees set up by git-worktree, by setting up some symlinks
such that git-annex links work right.

Also improved support for repositories created with --separate-git-dir.
At least recent git makes a .git file for those (older may have used a
symlink?), so that also needs to be converted to a symlink.

This commit was sponsored by Nick Piper on Patreon.
2018-07-18 14:27:26 -04:00
Joey Hess
49cc94f61f
add docs about p2p --pair being broken in old versions 2018-07-05 11:52:52 -04:00
Joey Hess
096f2261a7
added an example transcript 2018-07-04 15:26:07 -04:00
Joey Hess
ba0745b5c2
S3: fix documentation of publicurl
5f0f063a7a documented it as being
configured automatically, but the code never did that. Rather than try
to hard-code whatever urls amazon  uses for its buckets, it seems better
to ask the user to find the url and set it.
2018-07-02 12:30:39 -04:00
Joey Hess
4f3b9db725
Merge branch 'master' of ssh://git-annex.branchable.com 2018-06-26 11:09:50 -04:00
CandyAngel
b356b2405c Added a comment 2018-06-26 10:38:21 +00:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
5162395494 Added a comment: Not working on OnePlus 5T either 2018-06-26 10:32:09 +00:00
Joey Hess
3160cadba3 git-annex version 6.20180626
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEKKUAw1IH6rcvbA8l2xLbD/BfjzgFAlstCaQACgkQ2xLbD/Bf
 jzh5nxAAn7D9soTI0ex6AVDDo2CjOyTTDVrIcl2h5XizfuUD3ev5P0TR3BZmzpAb
 MI6uaZ8kxqZ/eGAsBTyH9PsV7QVYIdht9t89ytP4xWyTQiOgjyJeA6PnJl4zVK9z
 Y8Of3mlylaz+97+sndljpsvy/KHENrHI7HHd+qxAu7wKysJxG6fJB7CjremkjaCI
 zAwg3mIy72ZKyuR/8hL9puJN9fdfw1ulkzQR+he007e/HkurPCwgRAOYW/Aa2tpY
 Oigdb9a6/0nl/VnOS8ZyHrSPRrhLH9c4IBmsdC1Xt5NDVmID/sWgD9uPF9dsHSMF
 OM25QdSlJ5cSNg+/XCpmmhC9MjgKkuVNpZ/fWBaHFs6KYgGhtZcAayQdz5AmMS2N
 HTPWB1IxZiV5TQHQpLbdH/q3RfNtRq1G1tc24zpd/zdhzijeTM6D8n4No6LXNq8X
 7U0qcrp9TdLOpBCTf6Jrg/7qFaXddHoEW1e3KrsOmB0hlYHuNxfY4bs0+ROeXGOT
 00koezcbF8kEI0ekoDvJjtVqaUq+608YjJZ5v7dE0vbtTj0KGbl5EHwC9atUluCX
 MHyTDY89uq68g4HIDytL001ZLvE3EUGJc4jh3+OMDzuZSKB5uwJIIky+qIaQu34K
 QJrZuyAIY0sVFV6LUX9nwqTW6Nnx/bB+kZ6k0+gx+Lpf7pUpE+o=
 =kex4
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEKKUAw1IH6rcvbA8l2xLbD/BfjzgFAlsxnX4ACgkQ2xLbD/Bf
 jzjK1xAAnJ58ZxLyTYlCZRcKiR81UHS/Mk6+SDAjRIRbT0SsY+6gSP55XKjrcuOb
 Jatp+6cNNSgk2lBpn37mq+rYIqboFh9moDRK7JSh1mDHCVtIwdARGblFRfuwaWPi
 xHnu+Pj43+SP7OF+8qP8/kDM+js3iMS+0gvBBz8pQN/yJDROXii6u0eONOd7vbER
 iRY9QpJdj5lp3hjaWfXt5iJC0re0eOAY4eUSHPsFIASysShnn33dFPOZ2hbhRKjR
 unQHUVIUE+ehmW3w9qIqn+9v2kca7laGK11cvzYRpmu/9rrvpf+RF1h42S8822dP
 CKHvxDkBGbyqTA+F9/6zpU1i9/ARgHFDpScRcdq7ZJi9FbWabKDklHCsgxwrkdXb
 +FXgb7N5Sa4+eVDNUf4rxldtLPX53nrtZ3IqrGiCWApCvbysNyP5kE0nix02l9z2
 xzY2vlpicx7TOMoO9mZesSFNgRzuFAbbya/zDJrz+xfgSRYXRYg58yTpmhpTFvSI
 h3Fw6+MYvehvRdAweLtoQt2p/UV2MAWrTpNzFoqgf2OCQOiH97ACDHn8Yki9rnQi
 NuMsqv9WOYQs4SaygDZMKemgAxftf3uaXiBW0RzHHwwWnDjHhqsEioOvOhNNyZbz
 U3OjKrH1JZlkNHlIBQD4BsWGLlIct66ZTU3k2OxPEp+mpEG/Xi4=
 =p+cW
 -----END PGP SIGNATURE-----

Merge tag '6.20180626' - previously embargoed security release
2018-06-25 21:56:43 -04:00
bqone@ea19c1433d6c23d05a56fe7b055d92010ab75ffb
89a2c1b220 Added a comment: Not working on OnePlus 6 2018-06-25 15:57:13 +00:00
jared@ce91556d9548d318ec3f690b5f9bc33721256e4d
5f64260ce3 Added a comment: Unable to access public s3 remote without S3 credentials. 2018-06-21 13:47:27 +00:00
anarcat
d889d9666d hashdeep integration 2018-06-18 12:45:32 +00:00
Joey Hess
e62c4543c3
default to not using youtube-dl, for security
Pity, but same reasoning as curl applies to it.

This commit was sponsored by Peter on Patreon.
2018-06-17 14:51:02 -04:00
Joey Hess
28720c795f
limit url downloads to whitelisted schemes
Security fix! Allowing any schemes, particularly file: and
possibly others like scp: allowed file exfiltration by anyone who had
write access to the git repository, since they could add an annexed file
using such an url, or using an url that redirected to such an url,
and wait for the victim to get it into their repository and send them a copy.

* Added annex.security.allowed-url-schemes setting, which defaults
  to only allowing http and https URLs. Note especially that file:/
  is no longer enabled by default.

* Removed annex.web-download-command, since its interface does not allow
  supporting annex.security.allowed-url-schemes across redirects.
  If you used this setting, you may want to instead use annex.web-options
  to pass options to curl.

With annex.web-download-command removed, nearly all url accesses in
git-annex are made via Utility.Url via http-client or curl. http-client
only supports http and https, so no problem there.
(Disabling one and not the other is not implemented.)

Used curl --proto to limit the allowed url schemes.

Note that this will cause git annex fsck --from web to mark files using
a disallowed url scheme as not being present in the web. That seems
acceptable; fsck --from web also does that when a web server is not available.

youtube-dl already disabled file: itself (probably for similar
reasons). The scheme check was also added to youtube-dl urls for
completeness, although that check won't catch any redirects it might
follow. But youtube-dl goes off and does its own thing with other
protocols anyway, so that's fine.

Special remotes that support other domain-specific url schemes are not
affected by this change. In the bittorrent remote, aria2c can still
download magnet: links. The download of the .torrent file is
otherwise now limited by annex.security.allowed-url-schemes.

This does not address any external special remotes that might download
an url themselves. Current thinking is all external special remotes will
need to be audited for this problem, although many of them will use
http libraries that only support http and not curl's menagarie.

The related problem of accessing private localhost and LAN urls is not
addressed by this commit.

This commit was sponsored by Brett Eisenberg on Patreon.
2018-06-16 11:57:50 -04:00
madapeedikakkaran@2c5c8bb4520ebf2526afb49c8dcbcb60fb295973
80917c2958 Added a comment: Termux Error 2018-06-12 11:54:02 +00:00
https://christian.amsuess.com/chrysn
357680620f Added a comment: Platform addendum for "Debugging "No such file or directory"" 2018-05-15 20:29:57 +00:00
https://christian.amsuess.com/chrysn
2b087634ef Added a comment: Debugging "No such file or directory" 2018-05-15 19:57:34 +00:00
https://christian.amsuess.com/chrysn
bbbc1802cd Added a comment: Debugging "No such file or directory" 2018-05-15 19:19:38 +00:00