Git Bash ile başka bir birime yeniden senkronize edilemiyor


10

Windows makinesinde git bash kullanıyorum: https://git-scm.com adresinde bulunan 2016-02-23 üzerine kurulu Windows için Git'in 2.7.2 (32 bit sürümü) sürümünü kullanıyorum .

Bash içinde bir dizini (USB başparmak sürücüsü) ' /c/e kopyalayabilirim /e/. Ancak, kullanmaya çalıştığımda hata alıyorum rsync. cygdriveDizin adlarını eklemeyi denedim , ama işe yaramadı. Ayrıca -eişe yaramadı (sadece ne olacağını görmek için) eklemeye çalıştı .

Kopyalama komutunun çalıştığını belirtiyorum, çünkü sürücüyü bir şekilde görebilmem garip ama başka bir şekilde göremiyorum.

Başarılı kopya: resim açıklamasını buraya girin

Başarısız rsync: resim açıklamasını buraya girin

Teşekkür ederim ve soruyu daha iyi hale getirmeme yardımcı olmak için aşağı inerseniz lütfen yorum yapın.

Ek arkaplan ve araştırma:

Hatası 255

Bir noktada tam olarak aynı hatayı aldığımı düşünüyorum (255), bu beni bu mesaja götürdü. Ancak buradaki çözüm cygwingit bash ile değil. /programming/16969119/dotcloud-push-on-cygwin-fails-with-rsync-error-unexplained-error-code-255

Vagrant ve rsync

rsyncÖzellikle ' nin mekaniği hakkında çok iyi tartışmalar var mitchellh. Ancak, kurulumumda hangi bileşenlere başvurduklarından veya nasıl anlatacağından emin değildim. Bu konuda bu konuda ayrı bir soru sordum. Kaynak: https://github.com/mitchellh/vagrant/issues/3236

Öykünülen Linux ortamlarındaki sürücüleri listeleme

Kaynak: http://mingw-users.1079350.n2.nabble.com/Windows-c-drive-td6555321.html Ben ne zaman cat /etc/fstabben izleyici kitlesi elde:

$ 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

Bence adında bir birim olduğunu gösterir cygdrive, ancak bu ada başarıyla erişen bir komut bulamadım.

Olası yinelenen soru:

@kenorb bu sorunun neden cwRsync'in Windows'ta çalışmadığını yineledi ? .

Dün bu yazıyı gördüğümü hatırlamıyorum, ama bu benimkine en çok benziyor. Hala farklı olduğunu düşünüyorum çünkü bu soru 2011 yılında gönderildi ve bu sürümü rsync2016'dan geliyor. Dün sabah kullandığım önceki sürüm (2015'te yüklendi) farklı bir hata verdi ve git versiyonumu yükseltmemi istedi / git bash.

Bu soru yineleniyorsa, (şu andan itibaren) kabul edilmiş bir cevap yoktur ve üstteki cevap benim için işe yaramıyor.

Genel olarak, tüm bu araştırmalar rsync, Windows bağlantı noktalarında birkaç sorun olduğuna ve bunun yalnızca en güncel sorun olduğuna inanmamı sağladı .

Sorunun sürücüyü farklı bir şekilde belirleyerek benim tarafımdan çözülebileceğini düşünüyorum ... ama ne işe yarayacağını bilmiyorum. Sürücü adını, sürücü harfini, windows iki nokta üst üste işareti sözdizimini kullanmayı denedim. Açıkçası işe yaramadı ve sonunda sadece tahmin ediyorum.

msysgit içinde rsync

18/10/11 tarihinde Werner BEROUX dedi

Bir uygulamaya argüman olarak "/ c / Folder" iletmek için kaçmak mümkün müdür? Git bunu varsayılan olarak "C: \ Klasör" e dönüştürür ve yaygın kaçış yöntemlerini kullanarak bile bundan kaçınamıyorum. https://groups.google.com/forum/#!topic/msysgit/J1hvt9Ave8g

Bunun ilgili olup olmadığından emin değilim, sanırım git komutunun içinde rsync kullanmaya çalışıyorlar, ancak yol adlarıyla ilgili sorun yaşıyorlar. Çevirilen yolun neden olduğu bu hataların bir :?

Hata kodları 12 ve 255 (21 Mart 2016'da düzenle)

Başkası (@davidpostill) bunun da bir kopya olduğunu söylediğinden, diğer sorudaki cevapları / yorumları tekrar deneyeceğim diye düşündüm .

En çok oy alan diğer soruya verilen cevaplar ve yorumlar hala benim için işe yaramadı, bu da beni bunun farklı bir sorun olduğu sonucuna götürüyor.

Diğer soruya en çok oy alan cevabın son yorumunda önerildiği gibi, başparmak sürücüsünden rsync'i denemenin sonuçları şunlardır :

İlk olarak /c/, Windows için Bash'teki diğer komutlardaki sürücülere başvurmanın yolu olan kullanmayı denedim .

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Önek ile aynı hatayı aldım :

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]

Çeşitli ekleme türlerini denedim c:, ancak geçmişte belirtildiği gibi, iki nokta üst üste rsyncbunun uzak bir bağlantı olduğunu düşünüyor ve bu da 255 hatasıyla başarısız oluyor.

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]

Hatalarınızı metne çevirebilir misiniz lütfen? Bkz: Kod ve / veya hataların ekran görüntülerinden
vazgeçilmesi

Denedin rsync -trd c:/examp/ e:/mi
ams

@ams evet, aynı hata
geneorama

Yeniden oluşturma mysys2yardımcı olabilir, ancak bu adımları izlemekten çekinmeyin. Ben olmadan yaşayabilirim rsync, ama git github.com/git-for-windows/git/wiki/Building-msys2-runtime
geneorama 17:16

Eğer denediniz wsl . Thumb-drive bağlantılarına ve rsyncing'e izin verir.
Peter Berbec

Yanıtlar:


0

İki yıl sonra, en son bilgisayarımda (Windows 10, 64 bit) işe yarayan bir cevap buldum.

  1. Windows için Git Bash Kurulumu
  2. Yükleme rsyncgelen futureware.at *
  3. Her yere ayıkla, seçiyorum C:\rsync-3.1.2-2-x86_64.pkg
  4. Ekle bin sistem yolunun üstüne klasörü

* Futureware.at'ın arkasında kim olduğunu bilmiyorum, daha birincil bir kaynağa bağlamayı tercih ederim.

Ben de cevap attılar burada bu soruyu o sırada nerede hatırlamıyorum çünkü, daha genel bir soruya yanıt olarak.


0

Http://repo.msys2.org/msys/x86_64/ adresinden aşağıdaki paketleri indirin:

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

Her paketinden çıkarın tar -xfve sonra gelen usr/binkopya rsync.exe, msys-2.0.dll, msys-z.dllve msys-iconv-2.dllrsync çalıştırmak isteyen yerden dizine. İle test edin rsync.exe -h.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.