Commit graph

44994 commits

Author SHA1 Message Date
Joey Hess
3a48eafce4
tweaks 2024-05-30 13:30:10 -04:00
Joey Hess
adf17f5038
Merge branch 'master' of ssh://git-annex.branchable.com 2024-05-30 13:26:44 -04:00
Joey Hess
f877afe930
tip 2024-05-30 13:26:34 -04:00
Joey Hess
0155abfba4
git-remote-annex: Support urls like annex::https://example.com/foo-repo
Using the usual url download machinery even allows these urls to need
http basic auth, which is prompted for with git-credential. Which opens
the possibility for urls that contain a secret to be used, eg the cipher
for encryption=shared. Although the user is currently on their own
constructing such an url, I do think it would work.

Limited to httpalso for now, for security reasons. Since both httpalso
(and retrieving this very url) is limited by the usual
annex.security.allowed-ip-addresses configs, it's not possible for an
attacker to make one of these urls that sets up a httpalso url that
opens the garage door. Which is one class of attacks to keep in mind
with this thing.

It seems that there could be either a git-config that allows other types
of special remotes to be set up this way, or special remotes could
indicate when they are safe. I do worry that the git-config would
encourage users to set it without thinking through the security
implications. One remote config might be safe to access this way, but
another config, for one with the same type, might not be. This will need
further thought, and real-world examples to decide what to do.
2024-05-30 12:24:16 -04:00
yarikoptic
d23ae92da8 Added a comment 2024-05-30 14:34:32 +00:00
yarikoptic
285a7ff3c3 Added a comment 2024-05-30 14:29:43 +00:00
Joey Hess
3f33616068
security 2024-05-29 22:55:06 -04:00
Joey Hess
efa684ab8a
todo 2024-05-29 18:21:17 -04:00
yarikoptic
f186485fab Added a comment 2024-05-29 18:31:16 +00:00
yarikoptic
09626c8114 Added a comment: odd odd odd 2024-05-29 18:25:23 +00:00
yarikoptic
e05564c297 Added a comment: odd odd odd 2024-05-29 18:25:11 +00:00
yarikoptic
60a7dea828 get is silently stuck. 2024-05-29 18:14:44 +00:00
Joey Hess
98762a2f96
group: Added --list option
Seemed to make sense to exclude groups used only by dead repositories.
2024-05-29 13:37:35 -04:00
Joey Hess
09a0552489
split off todo, comment 2024-05-29 13:16:36 -04:00
Joey Hess
14daed9db7
Merge branch 'master' of ssh://git-annex.branchable.com 2024-05-29 13:00:34 -04:00
Joey Hess
ecd3487d6d
run cleanupInitialization in all code paths
This is just a good idea, I think. But it fixes this specific bug:

With buggy git version 2.45.1, git clone from an annex:: url, which has
a git-annex branch in it. Then in the repository, git fetch. That
left .git/annex/objects/ populated with bundles, since it did not clean
up. So later using git-annex failed to autoinit.
2024-05-29 12:57:10 -04:00
Joey Hess
e19916f54b
add config-uuid to annex:: url for --sameas remotes
And use it to set annex-config-uuid in git config. This makes
using the origin special remote work after cloning.

Without the added Logs.Remote.configSet, instantiating the remote will
look at the annex-config-uuid's config in the remote log, which will be
empty, and so it will fail to find a special remote.

The added deletion of files in the alternatejournaldir is just to make
100% sure they don't get committed to the git-annex branch. Now that
they contain things that definitely should not be committed.
2024-05-29 12:50:00 -04:00
derphysiker
dfb0c4683c Added a comment 2024-05-29 06:58:16 +00:00
Joey Hess
b0ff819850
clarify which rclone special remote
Now that there are several.
2024-05-28 16:56:27 -04:00
Joey Hess
06cf131ef6
document using git-remote-annex with httpalso 2024-05-28 16:52:36 -04:00
Joey Hess
bbf49c9de7
httpalso just worked, with one small issue to fix 2024-05-28 16:26:16 -04:00
Joey Hess
2106cb0fce
Merge branch 'master' of ssh://git-annex.branchable.com 2024-05-28 16:10:13 -04:00
Joey Hess
e13678780c
fix perms of manifest object
With the directory special remote, manifest objects uploaded by
git-remote-annex were mode 600. This prevented accessing them
from a httpalso special remote, for example.

The directory special remote just copies the file perms. Which is fine
except in this case the file perms were wrong.
2024-05-28 16:09:52 -04:00
Joey Hess
cb7f15e733
clean up man page 2024-05-28 15:29:38 -04:00
Joey Hess
80d236b789
enable debug output
When annex.debug is set, since --debug is not implemented for
git-remote-annex.
2024-05-28 15:20:22 -04:00
yarikoptic
4ba024cc08 Added a comment 2024-05-28 17:51:02 +00:00
Joey Hess
d2efa141bb
update 2024-05-28 13:36:27 -04:00
Joey Hess
2ffe077cc2
git-remote-annex: brought back max-git-bundles config
An incremental push that gets converted to a full push due to this
config results in the inManifest having just one bundle in it, and the
outManifest listing every other bundle. So it actually takes up more
space on the special remote. But, it speeds up clone and fetch to not
have to download a long series of bundles for incremental pushes.
2024-05-28 13:28:19 -04:00
Joey Hess
ce95cac195
add git-remote-annex to standalone builds
Didn't add to windows installer because I don't currently have a Windows
system to test.
2024-05-28 13:12:51 -04:00
Joey Hess
e9a2e4e94d
comment 2024-05-28 13:00:54 -04:00
Joey Hess
cb9f7b5646
update 2024-05-28 12:50:54 -04:00
Joey Hess
14443fd307
update 2024-05-28 12:46:56 -04:00
Joey Hess
3318d25c65
adjust unlocked execute bit handling
When building an adjusted unlocked branch, make pointer files executable
when the annex object file is executable.

This slows down git-annex adjust --unlock/--unlock-present by needing to
stat all annex object files in the tree. Probably not a significant
slowdown compared to other work they do, but I have not benchmarked.

I chose to leave git-annex adjust --unlock marked as stable, even though
get or drop of an object file can change whether it would make the pointer
file executable. Partly because making it unstable would slow down
re-adjustment, and partly for symmetry with the handling of an unlocked
pointer file that is executable when the content is dropped, which does not
remove its execute bit.
2024-05-28 12:39:42 -04:00
Joey Hess
1bb819f597
retitle and comment 2024-05-28 12:07:58 -04:00
Joey Hess
e19f56e7d8
Merge branch 'master' of ssh://git-annex.branchable.com 2024-05-28 10:27:50 -04:00
Joey Hess
a52d5cc903
avoid using dropWhileEnd
That needs bytestring-0.11.1.0 and several builds don't have that.
2024-05-28 10:27:36 -04:00
Joey Hess
c6669990fb
update 2024-05-28 09:19:00 -04:00
nobodyinperson
f6c0f55ad1 Added a comment: Yep, would be nice! 2024-05-28 12:18:59 +00:00
m.risse@77eac2c22d673d5f10305c0bade738ad74055f92
bab6d3e58f Added a comment: Re: worktree provisioning 2024-05-28 12:06:39 +00:00
Joey Hess
c2483f6e6d
update 2024-05-27 22:44:35 -04:00
derphysiker
f90511ec43 2024-05-27 18:33:44 +00:00
Joey Hess
0975e792ea
git-remote-annex: Fix error display on clone
cleanupInitialization gets run when an exception is thrown, so needs to
avoid throwing exceptions itself, as that would hide the error message
that the user needs to see.
2024-05-27 13:28:05 -04:00
Joey Hess
a766475d14
split out a todo 2024-05-27 12:50:46 -04:00
Joey Hess
e64add7cdf
git-remote-annex: support importrree=yes remotes
When exporttree=yes is also set. Probably it would also be possible to
support ones with only importtree=yes, by enabling exporttree=yes for
the remote only when using git-remote-annex, but let's keep this
simple... I'm not sure what gets recorded in .git/annex/ state
differently in the two cases that might cause a problem when doing that.

Note that the full annex:: urls generated and displayed for such a
remote omit the importree=yes. Which is ok, cloning from such an url
uses an exporttree=remote, but the git-annex branch doesn't get written
by this program, so once the real config is available from the git-annex
branch, it will still function as an importree=yes remote.
2024-05-27 12:35:42 -04:00
Joey Hess
126d188812
reorg 2024-05-27 11:58:21 -04:00
Joey Hess
bb7b026b18
remove redundant call to checkSpecialRemoteProblems 2024-05-27 11:57:36 -04:00
Joey Hess
5a48f7b34e
Merge branch 'master' of ssh://git-annex.branchable.com 2024-05-27 11:16:25 -04:00
Joey Hess
6f51ba740d
comment 2024-05-27 11:16:21 -04:00
derphysiker
9442937865 Added a comment 2024-05-25 13:00:08 +00:00
Joey Hess
5e0d9c2029
comment 2024-05-24 17:32:50 -04:00