Git Bashで別のボリュームにrsyncできない


10

私はWindowsマシンでgit bashを使用しています:https: //git-scm.comから入手できる2016-02-23に基づいてビルドされたGit for Windowsのバージョン2.7.2(32ビットバージョン)。

bash内では、ディレクトリ/c//e/(USBサムドライブ)からにコピーできます。しかし、を使用しようとするとエラーが発生しますrsynccygdriveディレクトリ名に追加してみましたが、うまくいきませんでした。また、-e(何が起こるかを確認するために)機能しないものを追加してみました。

コピーコマンドが機能するのは、ドライブをある方向から見ることはできるが、別の方法では見ることができないのは奇妙だからです。

成功したコピー: ここに画像の説明を入力してください

失敗rsyncここに画像の説明を入力してください

ありがとうございます。質問をよりよくするために反対票を投じる場合はコメントしてください。

追加の背景と研究:

エラー255

ある時点で、私はまったく同じエラー(255)を受け取っていたと思います。ただし、ここでの解決策cygwinはgit bashではなくに関連しています。 /programming/16969119/dotcloud-push-on-cygwin-fails-with-rsync-error-unexplained-error-code-255

浮浪者とrsync

のメカニズムについてrsync、特にからは、多くの良い議論がありmitchellhます。しかし、私はそれらが参照するコンポーネントが私のインストールに存在するのか、どのように伝えるのか確信がありませんでした。この問題について、このサイトで別の質問をしました。ソース:https : //github.com/mitchellh/vagrant/issues/3236

エミュレートされたLinux環境でのドライブのリスト

ソース:http : //mingw-users.1079350.n2.nabble.com/Windows-c-drive-td6555321.html実行 するとcat /etc/fstab、次のようになります。

$ cat /etc/fstab
# For a description of the file format, see the Users Guide
# http://cygwin.com/cygwin-ug-net/using.html#mount-table

# DO NOT REMOVE NEXT LINE. It remove cygdrive prefix from path
none / cygdrive binary,posix=0,noacl,user 0 0
none /tmp usertemp binary,posix=0,noacl 0 0

という名前のボリュームがあることを示していると思いますがcygdrive、その名前に正常にアクセスするコマンドは見つかりませんでした。

重複する可能性のある質問:

@kenorbは、この質問はなぜWindowsでcwRsyncが機能しないと同じであることを示唆し ています。

昨日この記事を見た覚えはありませんが、これは私のものに最も似ています。この質問は2011年に投稿されており、このバージョンrsyncは2016年のものであるため、まだ異なると思います。昨日の朝に使用していた以前のバージョン(2015年にインストールされたもの)は、別のエラーを出し、gitのバージョンをアップグレードするように促しました/ git bash。

その質問が重複している場合、(現在のところ)受け入れられた回答はなく、上位の回答は私にとっては機能しません。

一般的に、このすべての調査によりrsync、Windowsポートにはいくつかの問題があり、これは最新の問題にすぎないと確信しました。

ドライブを別の方法で指定することで問題を解決できると思いますが、何が機能するのかわかりません。ドライブ名、ドライブ文字、Windowsコロンのバックスラッシュ構文を使用してみました。明らかにそれはうまくいきませんでした、そして結局私は推測しています。

msysgitのrsync

10/18/11にウェルナー・ベロクスは言った

「/ c / Folder」を引数としてアプリケーションに渡すようにエスケープすることは可能ですか?Gitはそれをデフォルトで「C:\ Folder」に変換し、一般的なエスケープ方法を使用しても回避できないようです。 https://groups.google.com/forum/#!topic/msysgit/J1hvt9Ave8g

これが関連しているかどうかはわかりませんが、gitコマンド内でrsyncを使用しようとしていると思いますが、パス名に問題があるのは興味深いことです。パスが含まれるように変換されているために発生するこれらのエラーは:

エラーコード12および255(2016年3月21日編集)

他の誰か(@davidpostill)もこれは重複していると言っているので、他の質問の回答/コメントをもう一度試すと思いました。

上位投票の回答と他の質問のコメントはまだ機能しなかったため、これは別の問題であるという結論に戻りました。

他の質問でのトップ投票の回答の最後のコメントで提案されているように、サムドライブからrsyncを試した結果は次のとおりです。

まず/c/、を使用してみました。これは、Bash for Windowsの他のコマンドでドライブを参照する方法です。

user@computer MINGW32 /e
$ rsync -trd /c/examp/ .
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [Receiver=3.0.9]

/cygwinプレフィックスで同じエラーが発生しました:

user@computer MINGW32 /e
$ rsync -trd /cygwin/c/examp/ .
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [Receiver=3.0.9]

さまざまな種類のを追加しようc:としましたが、以前に指摘されたように、コロンはrsyncリモート接続であると考えさせ、エラー255で失敗します。

user@computer MINGW32 /e
$ rsync -trd /c:/examp/ .
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [Receiver=3.0.9]

エラーをテキストに書き写せますか?参照:コードやエラーのスクリーンショットを
落とす

試しましたrsync -trd c:/examp/ e:/か?
ams

@amsはい、同じエラー
ジェネラマ2016年

再構築mysys2が役立つかもしれませんが、私はこれらの手順に従うのをためらっています。なしrsyncで生活できますが、git github.com / git
for

WSLを試しましたか。それは親指ドライブマウントとrsyncingを許可します。
Peter Berbec

回答:


0

2年後、最新のコンピューター(Windows 10、64ビット)で動作するように見える答えを見つけました。

  1. Windowsにgit bashをインストールする
  2. futureware.atrsyncからダウンロード*
  3. どこにでも抽出、選択 C:\rsync-3.1.2-2-x86_64.pkg
  4. システムパスの先頭にbinフォルダーを追加します

* futureware.atの背後にいるのは誰なのかわかりません。より主要なソースにリンクしたいと思います。

また、その質問がどこにあったのか思い出せなかったため、より一般的な質問に対する回答をここに掲載しました。


0

http://repo.msys2.org/msys/x86_64/から、次のパッケージをダウンロードします。

http://repo.msys2.org/msys/x86_64/rsync-3.1.3-1-x86_64.pkg.tar.xz
http://repo.msys2.org/msys/x86_64/msys2-runtime-3.0.7-6-x86_64.pkg.tar.xz
http://repo.msys2.org/msys/x86_64/zlib-1.2.8-3-x86_64.pkg.tar.xz
http://repo.msys2.org/msys/x86_64/libiconv-1.16-1-x86_64.pkg.tar.xz

各を開梱tar -xfし、その後からusr/binコピーrsync.exemsys-2.0.dllmsys-z.dllmsys-iconv-2.dllあなたはrsyncを実行したい場所からディレクトリにコピーします。でテストしrsync.exe -hます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.