add GITMANIFEST to parseKeyVariety

git-remote-annex: Fix bug that prevented using it with external special
remotes, leading to protocol error messages involving "GITMANIFEST".
This commit is contained in:
Joey Hess 2024-10-19 17:12:23 -04:00
parent bbc2d47782
commit 82e91b380a
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
4 changed files with 29 additions and 0 deletions

View file

@ -5,6 +5,8 @@ git-annex (10.20240928) UNRELEASED; urgency=medium
can be combined with --authenv.
* Allow enabling the servant build flag with older versions of stm,
allowing building with ghc 9.0.2.
* git-remote-annex: Fix bug that prevented using it with external special
remotes, leading to protocol error messages involving "GITMANIFEST".
-- Joey Hess <id@joeyh.name> Thu, 17 Oct 2024 11:02:17 -0400

View file

@ -354,6 +354,7 @@ parseKeyVariety "WORM" = WORMKey
parseKeyVariety "URL" = URLKey
parseKeyVariety "VURL" = VURLKey
parseKeyVariety "GITBUNDLE" = GitBundleKey
parseKeyVariety "GITMANIFEST" = GitManifestKey
parseKeyVariety b
| "X" `S.isPrefixOf` b =
let b' = S.tail b

View file

@ -46,3 +46,5 @@ I'm slowly integrating it into everything I do because it's so cool. Right now,
- git-remote-annex - Seems incredibly promising despite issues I've had getting it to install (see below) let alone work quite yet
Also, if anyone is having issue using git-remote-annex, like I did running on OSX installed via homebrew, the solution is to add a symlink manually from (e.g.) `$(realpath /opt/homebrew/bin/git-annex[-shell]) <- /opt/homebrew/bin/git-remote-annex`. In other words, the current homebrew recipe simply doesn't symlink the git-annex command to git-remote-annex on your path, which git annex automagically act like a git remote helper if called like this so luckily it's an easy fix.
> [[fixed|done]] I *think*, please comment if not --[[Joey]]

View file

@ -0,0 +1,24 @@
[[!comment format=mdwn
username="joey"
subject="""comment 1"""
date="2024-10-19T20:48:11Z"
content="""
I got this protocol level dump:
[2024-10-19 16:59:54.229607011] (Annex.ExternalAddonProcess) /home/joey/bin/rclone[1] <-- CHECKPRESENT GITMANIFEST--1eb4e389-9aea-4968-a947-498fd52645e0
[2024-10-19 16:59:54.230079229] (Annex.ExternalAddonProcess) /home/joey/bin/rclone[1] --> CHECKPRESENT-FAILURE GITMANIFEST--1eb4e389-9aea-4968-a947-498fd52645e0
That protocol looks fine, problem is parseKeyVariety does not have a parser for the
GITMANIFEST key type. Once I added that, it got to a different failure that
looked due to my lack of setup of rclone, presumably it would work with a
properly setup rclone.
I think this probably affects using any special remote with git-remote-annex.
This is still a fairly new and not much used feature, and I may not have tested
it with external special remotes when developing it.
Re your questions, git-remote-annex doesn't care about the details of how
the special remote is configured, it's up to you to provide an url that
provides all necessary configuration options for the special remote,
whatever those are. Spaces in a path should work if properly url-encoded.
"""]]