git-annex/doc/bugs/Failing_to_execute_bash_remotes_windows.mdwn
Joey Hess 5358fb992a
Windows: Improve handling of shebang in external special remote program, searching for the program in the PATH.
findShellCommand needs a full path to a file in order to check it for a
shebang on Windows. It was being run with only the base name of the external
special remote program, which would only work when it was in the current
directory.

This is why users in
https://github.com/DanielDent/git-annex-remote-rclone/pull/10 and elsewhere
were complaining that the previous improvements to git-annex didn't make
git-remote-rclone work on Windows.

Also, reworked checkearlytermination, which while it worked, seemed
to rely on a race condition. And, improved its error messages.

This commit was sponsored by Shane-o on Patreon.
2017-03-08 15:59:00 -04:00

58 lines
2.4 KiB
Markdown

### Please describe the problem.
Trying to execute an external remote shell script on windows fails.
### What steps will reproduce the problem?
$git annex initremote test type=external externaltype=rclone encryption=none
initremote test git-annex: Cannot run git-annex-remote-rclone -- Make sure it's in your PATH and is executable.
### What version of git-annex are you using? On what operating system?
windows, using git-bash
git-annex version: 6.20170214-g2233a50
build flags: Assistant Webapp Pairing Testsuite S3(multipartupload)(storageclasses) WebDAV ConcurrentOutput TorrentParser Feeds Quvi
key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 SHA1E SHA1 MD5E MD5 WORM URL
remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
local repository version: 5
supported repository versions: 3 5 6
upgrade supported from repository versions: 2 3 4 5
operating system: mingw32 i386
### Please provide any additional information below.
I've also tried fooling around with the proxy, which may help with pinpointing the issue?
[[!format sh """
$ git-annex-remote-rclone
VERSION 1
$ git annex proxy -- git-annex-remote-rclone
git-annex: git-annex-remote-rclone: createProcess: does not exist (No such file or directory)
failed
git-annex: proxy: 1 failed
$ git annex proxy -- which git-annex-remote-rclone
/d/bin/git-annex-remote-rclone
$ git annex proxy -- /d/bin/git-annex-remote-rclone
git-annex: D:/bin/git-annex-remote-rclone: createProcess: invalid argument (Exec format error)
failed
git-annex: proxy: 1 failed
$ git annex proxy -- sh /d/bin/git-annex-remote-rclone
VERSION 1
# End of transcript or log.
"""]]
### 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)
Oh yeah! This software is awesome. After getting used to having "dummy" shortcuts to content I don't currently have, with the simple ability to get/drop that content, I can't believe I haven't seen this anywhere before. If there is anything more impressive than this software, it's the support it has had from Joey over all this time. I'd have pulled my hair out long ago. :P
> [[fixed|done]] although untested --[[Joey]]