Merge branch 'master' into ospath
This commit is contained in:
commit
96c953a4b7
13 changed files with 117 additions and 14 deletions
|
@ -52,7 +52,7 @@ environment:
|
||||||
|
|
||||||
# Windows core tests
|
# Windows core tests
|
||||||
- ID: WinP39core
|
- ID: WinP39core
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
||||||
STACK_ROOT: "c:\\sr"
|
STACK_ROOT: "c:\\sr"
|
||||||
# MacOS core tests
|
# MacOS core tests
|
||||||
- ID: MacP38core
|
- ID: MacP38core
|
||||||
|
@ -73,7 +73,7 @@ skip_commits:
|
||||||
cache:
|
cache:
|
||||||
- C:\sr -> stack.yaml
|
- C:\sr -> stack.yaml
|
||||||
- C:\Users\appveyor\AppData\Local\Programs\stack -> stack.yaml
|
- C:\Users\appveyor\AppData\Local\Programs\stack -> stack.yaml
|
||||||
- /Users/appveyor/.stack -> stack.yaml
|
- C:\projects\git-annex\.stack-work -> stack.yaml
|
||||||
|
|
||||||
# turn of support for MS project build support (not needed)
|
# turn of support for MS project build support (not needed)
|
||||||
build: off
|
build: off
|
||||||
|
|
|
@ -40,12 +40,14 @@ import Control.Concurrent
|
||||||
import Control.Concurrent.STM
|
import Control.Concurrent.STM
|
||||||
import Control.Concurrent.Async
|
import Control.Concurrent.Async
|
||||||
import qualified Data.ByteString as B
|
import qualified Data.ByteString as B
|
||||||
import qualified Data.ByteString as BS
|
|
||||||
import qualified Data.ByteString.Lazy as L
|
import qualified Data.ByteString.Lazy as L
|
||||||
import qualified System.FilePath.ByteString as P
|
import qualified System.FilePath.ByteString as P
|
||||||
import qualified Data.Map as M
|
import qualified Data.Map as M
|
||||||
import qualified Data.Set as S
|
import qualified Data.Set as S
|
||||||
|
#ifndef mingw32_HOST_OS
|
||||||
|
import qualified Data.ByteString as BS
|
||||||
import System.IO.Unsafe
|
import System.IO.Unsafe
|
||||||
|
#endif
|
||||||
|
|
||||||
proxyRemoteSide :: ProtocolVersion -> Bypass -> Remote -> Annex RemoteSide
|
proxyRemoteSide :: ProtocolVersion -> Bypass -> Remote -> Annex RemoteSide
|
||||||
proxyRemoteSide clientmaxversion bypass r
|
proxyRemoteSide clientmaxversion bypass r
|
||||||
|
@ -262,7 +264,11 @@ proxySpecialRemote protoversion r ihdl ohdl owaitv oclosedv mexportdb = go
|
||||||
proxyget offset af k = withproxytmpfile k $ \tmpfile -> do
|
proxyget offset af k = withproxytmpfile k $ \tmpfile -> do
|
||||||
let retrieve = tryNonAsync $ Remote.retrieveKeyFile r k af
|
let retrieve = tryNonAsync $ Remote.retrieveKeyFile r k af
|
||||||
(fromRawFilePath tmpfile) nullMeterUpdate vc
|
(fromRawFilePath tmpfile) nullMeterUpdate vc
|
||||||
|
#ifndef mingw32_HOST_OS
|
||||||
ordered <- Remote.retrieveKeyFileInOrder r
|
ordered <- Remote.retrieveKeyFileInOrder r
|
||||||
|
#else
|
||||||
|
_ <- Remote.retrieveKeyFileInOrder r
|
||||||
|
#endif
|
||||||
case fromKey keySize k of
|
case fromKey keySize k of
|
||||||
#ifndef mingw32_HOST_OS
|
#ifndef mingw32_HOST_OS
|
||||||
Just size | size > 0 && ordered -> do
|
Just size | size > 0 && ordered -> do
|
||||||
|
|
4
Test.hs
4
Test.hs
|
@ -37,9 +37,9 @@ import qualified Git.Types
|
||||||
import qualified Git.Ref
|
import qualified Git.Ref
|
||||||
import qualified Git.LsTree
|
import qualified Git.LsTree
|
||||||
import qualified Git.FilePath
|
import qualified Git.FilePath
|
||||||
import qualified Git.Bundle
|
|
||||||
import qualified Annex.Locations
|
import qualified Annex.Locations
|
||||||
#ifndef mingw32_HOST_OS
|
#ifndef mingw32_HOST_OS
|
||||||
|
import qualified Git.Bundle
|
||||||
import qualified Types.GitConfig
|
import qualified Types.GitConfig
|
||||||
#endif
|
#endif
|
||||||
import qualified Types.TrustLevel
|
import qualified Types.TrustLevel
|
||||||
|
@ -452,7 +452,7 @@ test_git_remote_annex exporttree
|
||||||
git_annex "get" [annexedfile] "get from origin special remote"
|
git_annex "get" [annexedfile] "get from origin special remote"
|
||||||
diruuid="89ddefa4-a04c-11ef-87b5-e880882a4f98"
|
diruuid="89ddefa4-a04c-11ef-87b5-e880882a4f98"
|
||||||
#else
|
#else
|
||||||
test_git_remote_annex exporttree =
|
test_git_remote_annex _exporttree =
|
||||||
-- git-remote-annex is not currently installed on Windows
|
-- git-remote-annex is not currently installed on Windows
|
||||||
return ()
|
return ()
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -70,13 +70,11 @@ openLock sharemode f = do
|
||||||
Right h -> Just h
|
Right h -> Just h
|
||||||
#else
|
#else
|
||||||
h <- withTString (fromRawFilePath f') $ \c_f ->
|
h <- withTString (fromRawFilePath f') $ \c_f ->
|
||||||
c_CreateFile c_f gENERIC_READ sharemode security_attributes
|
c_CreateFile c_f gENERIC_READ sharemode (maybePtr Nothing)
|
||||||
oPEN_ALWAYS fILE_ATTRIBUTE_NORMAL (maybePtr Nothing)
|
oPEN_ALWAYS fILE_ATTRIBUTE_NORMAL (maybePtr Nothing)
|
||||||
return $ if h == iNVALID_HANDLE_VALUE
|
return $ if h == iNVALID_HANDLE_VALUE
|
||||||
then Nothing
|
then Nothing
|
||||||
else Just h
|
else Just h
|
||||||
where
|
|
||||||
security_attributes = maybePtr Nothing
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
dropLock :: LockHandle -> IO ()
|
dropLock :: LockHandle -> IO ()
|
||||||
|
|
|
@ -78,7 +78,7 @@ moveFile src dest = tryIO (R.rename src dest) >>= onrename
|
||||||
case r of
|
case r of
|
||||||
(Left _) -> return False
|
(Left _) -> return False
|
||||||
(Right s) -> return $ isDirectory s
|
(Right s) -> return $ isDirectory s
|
||||||
|
#endif
|
||||||
|
|
||||||
copyright :: Copyright
|
copyright :: Copyright
|
||||||
copyright = author JoeyHess (2022-11)
|
copyright = author JoeyHess (2022-11)
|
||||||
#endif
|
|
||||||
|
|
|
@ -62,4 +62,4 @@ make[3]: *** [Makefile:156: Build/Standalone] Error 1
|
||||||
make[3]: Leaving directory '/home/runner/work/git-annex/git-annex/git-annex-source'
|
make[3]: Leaving directory '/home/runner/work/git-annex/git-annex/git-annex-source'
|
||||||
make[2]: *** [Makefile:164: linuxstandalone] Error 2
|
make[2]: *** [Makefile:164: linuxstandalone] Error 2
|
||||||
```
|
```
|
||||||
|
> [[done]] --[[Joey]]
|
||||||
|
|
68
doc/bugs/git-lfs_special_insists_on_https.mdwn
Normal file
68
doc/bugs/git-lfs_special_insists_on_https.mdwn
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
### Please describe the problem.
|
||||||
|
|
||||||
|
Trying to copy annexed files to an lfs server via the configured http schemed url results in an error of this form:
|
||||||
|
|
||||||
|
[[!format sh """
|
||||||
|
$ git-annex copy -t lfsonly
|
||||||
|
copy mod_access_compat.so (HttpExceptionRequest Request {
|
||||||
|
host = "computer-ubul.local"
|
||||||
|
port = 5965
|
||||||
|
secure = True
|
||||||
|
requestHeaders = [("Accept","application/vnd.git-lfs+json"),("Content-Type","application/vnd.git-lfs+json"),("User-Agent","git-annex/10.20241031-1~ndall+1")]
|
||||||
|
path = ".git/info/lfs/objects/batch"
|
||||||
|
queryString = ""
|
||||||
|
method = "POST"
|
||||||
|
proxy = Nothing
|
||||||
|
rawBody = False
|
||||||
|
redirectCount = 10
|
||||||
|
responseTimeout = ResponseTimeoutDefault
|
||||||
|
requestVersion = HTTP/1.1
|
||||||
|
proxySecureMode = ProxySecureWithConnect
|
||||||
|
}
|
||||||
|
(InternalException (HandshakeFailed (Error_Packet_Parsing "Failed reading: invalid header type: 72\nFrom:\theader\n\n")))) failed
|
||||||
|
copy mod_autoindex.so (HttpExceptionRequest Request {
|
||||||
|
host = "computer-ubul.local"
|
||||||
|
port = 5965
|
||||||
|
secure = True
|
||||||
|
requestHeaders = [("Accept","application/vnd.git-lfs+json"),("Content-Type","application/vnd.git-lfs+json"),("User-Agent","git-annex/10.20241031-1~ndall+1")]
|
||||||
|
path = ".git/info/lfs/objects/batch"
|
||||||
|
queryString = ""
|
||||||
|
method = "POST"
|
||||||
|
proxy = Nothing
|
||||||
|
rawBody = False
|
||||||
|
redirectCount = 10
|
||||||
|
responseTimeout = ResponseTimeoutDefault
|
||||||
|
requestVersion = HTTP/1.1
|
||||||
|
proxySecureMode = ProxySecureWithConnect
|
||||||
|
}
|
||||||
|
(InternalException (HandshakeFailed (Error_Packet_Parsing "Failed reading: invalid header type: 72\nFrom:\theader\n\n")))) failed
|
||||||
|
copy: 2 failed
|
||||||
|
"""]]
|
||||||
|
|
||||||
|
From what I can see, there is no way to work around this. Unlike, for example, the S3 special remotes, initremote doesn't take a protocol=http setting.
|
||||||
|
|
||||||
|
|
||||||
|
### What steps will reproduce the problem?
|
||||||
|
|
||||||
|
[[!format sh """
|
||||||
|
$ git-annex initremote lfsonly type=git-lfs encryption=none url=http://computer-ubul.local:5965/
|
||||||
|
initremote lfsonly ok
|
||||||
|
(recording state in git...)
|
||||||
|
$ git config annex.security.allowed-ip-addresses 172.17.0.1 # required to overcome ConnectionRestricted error
|
||||||
|
$ git-annex copy -t lfsonly
|
||||||
|
... eror from above
|
||||||
|
"""]]
|
||||||
|
|
||||||
|
### What version of git-annex are you using? On what operating system?
|
||||||
|
|
||||||
|
git-annex/10.20241031-1~ndall+1 on Ubuntu 22.04 LTS:
|
||||||
|
|
||||||
|
Linux computer-ubul 6.8.0-40-generic #40~22.04.3-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 30 17:30:19 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
|
||||||
|
|
||||||
|
### Please provide any additional information below.
|
||||||
|
|
||||||
|
Nil
|
||||||
|
|
||||||
|
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
|
||||||
|
|
||||||
|
Love git-annex. Long time supporter.
|
|
@ -0,0 +1,8 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="jnkl"
|
||||||
|
avatar="http://cdn.libravatar.org/avatar/2ab576f3bf2e0d96b1ee935bb7f33dbe"
|
||||||
|
subject="comment 6"
|
||||||
|
date="2025-01-30T18:52:14Z"
|
||||||
|
content="""
|
||||||
|
Thank you!
|
||||||
|
"""]]
|
1
doc/forum/Forcing_offline_behavior.mdwn
Normal file
1
doc/forum/Forcing_offline_behavior.mdwn
Normal file
|
@ -0,0 +1 @@
|
||||||
|
It seems that things like `git annex wanted . present` cause network activity, maybe git-annex fetches remotes and tries to look up IDs and such. I didn't find a general flag to disables this. Something like `--offline` would be nice for scripts in networks that might hang indefinitely in certain situations. Does this exist? 🤔
|
|
@ -0,0 +1 @@
|
||||||
|
What does the ```--fast``` option in ```git annex get -A --fast``` do?
|
|
@ -0,0 +1,13 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="joey"
|
||||||
|
subject="""comment 1"""
|
||||||
|
date="2025-01-30T18:56:04Z"
|
||||||
|
content="""
|
||||||
|
Nothing. --fast happens to be parsed as a global option so it's
|
||||||
|
accepted with every command, but it does not change the usual behavior of
|
||||||
|
`git-annex get` at all.
|
||||||
|
|
||||||
|
Commands like `git-annex copy`
|
||||||
|
that implement a different behavior for --fast have it documented
|
||||||
|
in their individual man pages.
|
||||||
|
"""]]
|
|
@ -0,0 +1,8 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="dmcardle"
|
||||||
|
avatar="http://cdn.libravatar.org/avatar/b79468a0d03ec3ec7acbae547c4fa994"
|
||||||
|
subject="comment 2"
|
||||||
|
date="2025-01-30T13:56:30Z"
|
||||||
|
content="""
|
||||||
|
I just created rclone [issue #8349](https://github.com/rclone/rclone/issues/8349) to track this.
|
||||||
|
"""]]
|
|
@ -341,25 +341,25 @@ content from the key-value store.
|
||||||
|
|
||||||
Initializes a new cluster.
|
Initializes a new cluster.
|
||||||
|
|
||||||
See [[git-annex-initcluster](1) for details.
|
See [[git-annex-initcluster]](1) for details.
|
||||||
|
|
||||||
* `updatecluster`
|
* `updatecluster`
|
||||||
|
|
||||||
Update records of cluster nodes.
|
Update records of cluster nodes.
|
||||||
|
|
||||||
See [[git-annex-updatecluster](1) for details.
|
See [[git-annex-updatecluster]](1) for details.
|
||||||
|
|
||||||
* `extendcluster`
|
* `extendcluster`
|
||||||
|
|
||||||
Adds an additional gateway to a cluster.
|
Adds an additional gateway to a cluster.
|
||||||
|
|
||||||
See [[git-annex-extendcluster](1) for details.
|
See [[git-annex-extendcluster]](1) for details.
|
||||||
|
|
||||||
* `updateproxy`
|
* `updateproxy`
|
||||||
|
|
||||||
Update records with proxy configuration.
|
Update records with proxy configuration.
|
||||||
|
|
||||||
See [[git-annex-updateproxy](1) for details.
|
See [[git-annex-updateproxy]](1) for details.
|
||||||
|
|
||||||
* `schedule repository [expression]`
|
* `schedule repository [expression]`
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue