Tidak dapat melakukan rsync ke volume lain dengan Git Bash

10

Saya menggunakan git bash di mesin windows: versi 2.7.2 (versi 32-bit) dari Git untuk Windows yang dibangun pada 2016-02-23 tersedia dari https://git-scm.com .

Dalam bash saya dapat menyalin direktori dari /c/ke /e/(drive USB thumb). Namun, saya mendapatkan kesalahan saat mencoba menggunakan rsync. Saya mencoba menambahkan cygdriveke nama direktori, tetapi itu tidak berhasil. Juga mencoba menambahkan -e(hanya untuk melihat apa yang akan terjadi) yang tidak berhasil.

Saya menyebutkan bahwa perintah salin berfungsi karena aneh bahwa saya dapat melihat drive satu arah, tetapi tidak melihatnya dengan cara lain.

Salinan yang berhasil: masukkan deskripsi gambar di sini

Tidak berhasil rsync: masukkan deskripsi gambar di sini

Terima kasih, dan tolong beri komentar jika Anda downvote untuk membantu saya membuat pertanyaan menjadi lebih baik.

Latar belakang dan penelitian tambahan:

Kesalahan 255

Pada titik tertentu saya percaya bahwa saya mendapatkan kesalahan yang sama persis (255), yang membawa saya ke pos ini. Namun, solusinya di sini terkait dengan cygwin, bukan git bash. /programming/16969119/dotcloud-push-on-cygwin-fails-with-rsync-error-unexplained-error-code-255

Vagina dan rsync

Ada banyak disucssion bagus tentang mekanisme rsync, terutama dari mitchellh. Namun, saya tidak yakin komponen mana yang mereka rujuk ada di instalasi saya, atau yakin bagaimana cara mengatakannya. Saya mengajukan pertanyaan terpisah di situs ini tentang masalah itu. sumber: https://github.com/mitchellh/vagrant/issues/3236

Mendaftar drive di lingkungan Linux yang ditiru

sumber: http://mingw-users.1079350.n2.nabble.com/Windows-c-drive-td6555321.html Ketika saya melakukannya cat /etc/fstabsaya mendapatkan yang berikut:

$ 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

Yang saya pikir menunjukkan bahwa ada volume bernama cygdrive, namun saya belum menemukan perintah yang berhasil mengakses nama itu.

Kemungkinan pertanyaan rangkap:

@kenorb menyarankan bahwa pertanyaan ini adalah duplikat dari Mengapa cwRsync tidak berfungsi di Windows? .

Saya tidak ingat melihat posting ini kemarin, tetapi yang ini terlihat paling seperti milik saya. Saya masih berpikir itu berbeda karena pertanyaan ini diposting pada tahun 2011, dan versi rsyncini dari 2016. Versi sebelumnya yang saya gunakan kemarin pagi (yang diinstal pada 2015) memberikan kesalahan yang berbeda, dan mendorong saya untuk meningkatkan versi git saya / git bash.

Jika pertanyaan itu adalah duplikat, tidak ada (hingga sekarang) jawaban yang diterima, dan jawaban teratas tidak berfungsi untuk saya.

Secara umum, semua penelitian ini membuat saya percaya bahwa ada beberapa masalah dengan rsyncport Windows, dan ini hanya yang terbaru.

Saya pikir masalahnya dapat diselesaikan dengan saya menentukan drive secara berbeda ... tapi saya tidak tahu apa yang akan berhasil. Saya sudah mencoba menggunakan nama drive, huruf drive, sintaks backslash windows colon. Jelas itu tidak berhasil, dan pada akhirnya saya hanya menebak.

rsync dalam msysgit

Pada 10/18/11 Werner BEROUX berkata

Apakah mungkin untuk melarikan diri sehingga melewati "/ c / Folder" sebagai argumen ke aplikasi? Git mentransformasikannya menjadi "C: \ Folder" secara default dan sepertinya saya tidak bisa menghindarinya bahkan dengan menggunakan metode pelolosan yang umum. https://groups.google.com/forum/#!topic/msysgit/J1hvt9Ave8g

Saya tidak yakin apakah ini terkait, saya pikir mereka mencoba menggunakan rsync di dalam perintah git, tetapi menarik bahwa mereka mengalami masalah dengan nama path. Saya ingin tahu apakah kesalahan ini disebabkan oleh jalur yang diterjemahkan untuk menyertakan :?

Kode kesalahan 12 dan 255 (Edit pada 21 Maret 2016)

Karena orang lain (@davidpostill) mengatakan ini adalah duplikat juga, saya pikir saya akan mencoba jawaban / komentar dalam pertanyaan lain lagi.

Yang teratas memilih jawaban dan komentar dari pertanyaan lain masih tidak bekerja untuk saya, yang membawa saya kembali ke kesimpulan bahwa ini adalah masalah yang berbeda.

Berikut ini adalah hasil dari mencoba rsync dari thumb drive, seperti yang disarankan dalam komentar terakhir dari jawaban yang dipilih atas pertanyaan lain :

Pertama saya mencoba menggunakan /c/, yang merupakan cara untuk merujuk drive di perintah lain di Bash untuk 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]

Saya mendapat kesalahan yang sama dengan /cygwinawalan:

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:Sudah mencoba berbagai jenis penambahan , tetapi seperti yang telah ditunjukkan di masa lalu, tanda titik dua rsyncmenganggapnya sebagai koneksi jarak jauh, dan gagal dengan kesalahan 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]
geneorama
sumber
Bisakah Anda mentranskripsikan kesalahan Anda ke dalam teks? Lihat: Mencegah tangkapan layar kode dan / atau kesalahan
kenorb
Apakah kamu sudah mencoba rsync -trd c:/examp/ e:/?
ams
@ ya, kesalahan yang sama
geneorama
Membangun kembali mysys2mungkin membantu, tetapi saya ragu untuk mengikuti langkah-langkah ini. Saya dapat hidup tanpanya rsync, tetapi saya tidak mampu membobol git github.com/git-for-windows/git/wiki/Building-msys2-runtime
geneorama
Sudahkah Anda mencoba WSL . Ini memungkinkan mount dan rsyncing thumb-drive.
Peter Berbec

Jawaban:

0

Dua tahun kemudian, saya menemukan jawaban yang sepertinya berfungsi pada komputer terbaru saya (Windows 10, 64 bit).

  1. Instal git bash untuk Windows
  2. Unduh rsyncdari futureware.at *
  3. Ekstrak ke mana saja, saya pilih C:\rsync-3.1.2-2-x86_64.pkg
  4. Tambahkan folder bin ke bagian atas jalur sistem Anda

* Saya tidak tahu siapa yang ada di belakang futureware.at, saya lebih suka untuk menautkan ke sumber yang lebih utama.

Saya juga memposting jawabannya di sini sebagai jawaban atas pertanyaan yang lebih umum, karena saya tidak ingat di mana pertanyaan ini pada saat itu.

geneorama
sumber
0

Dari http://repo.msys2.org/msys/x86_64/ unduh paket berikut:

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

Membongkar masing-masing dengan tar -xf, dan kemudian dari usr/bincopy rsync.exe, msys-2.0.dll, msys-z.dlldan msys-iconv-2.dllke direktori dari mana Anda ingin menjalankan rsync. Tes dengan rsync.exe -h.

pemutih
sumber