it-swarm-tr.com

Svn 'güncel değil' hatasını nasıl aşarsınız?

Subversion'da bir dizin yapısını bir konumdan diğerine taşımaya çalışıyorum, ancak Item '*' is out of date commit hatası alıyorum.

Son sürümü kontrol ettim (söyleyebileceğim kadarıyla). svn st -u, mv komutlarından başka hiçbir fark çıkarmaz.

329
Tim Visher

Bazen bunu TortoiseSVN ile pencerelerde alıyorum. Benim için çözüm, indirilecek veya güncellenecek herhangi bir revizyon olmamasına rağmen, dizini svn update. Sihirli bir şekilde düzelten meta veriye bir şey yapıyor.

621
Michael

Tüm bariz şeyleri ve buradaki diğer önerileri denedikten sonra, hiçbir şansı olmadan, bir Google araması bu bağlantıya yönlendirdi (bağlantı artık çalışmıyor) - Subversion: Dosyanız veya dizininizin dışında olduğunu söylüyor.) -date

Kısaca, hile . Svn dizinine (suçlu dosyayı içeren dizinde) ve "all-wcprops" dosyasını silin .

Başka hiçbir şey yapmadığında benim için çalıştı.

41
Tom Bushell

Bu sorunun .svn dosyasından geldiğine inanıyorum. Eski ebeveynde, yeni ebeveynde veya esasında yanlış. Başlangıç ​​noktanıza dönmeyi deneyeceğim. Klasörün temiz bir kopyasını almak için dışa aktarma kullanın. Temiz kopyayı yeni konuma taşıyın ve taşıma işlemini yapmak için bir ekleme ve silme kullanın. Bu SVN'nin yaptığı şeyi manuel olarak yapıyor, ancak işe yarayabilir.

39
Jim Deville

Bunun benim için işe yaradığını buldum:

svn update
svn resolved <dir>
svn commit
32
Per Löwgren

Yerel kopyayı güncellemeye ve söz konusu öğeyi geri almaya çalıştım ve hala 'güncel' hata oluştu. Bu nedense işe yaradı:

svn update --force /path/to/dir/or/file
14
Aaron Hall

Sadece birkaç klasörde aynı problemi yaşadım ve bunu taahhüt etmek için yaptım.

1) "Team Synchronize" perspektifinde, klasöre sağ tıklayın> Geçersiz Kıl ve Güncelle
2) Klasörü tekrar silin
3) Kabul et ve mutlu ol

10
Rafael Xavier

Teşekkür ederim. Bu sadece benim için çözdü. svn update --force/dosya ismine giden yol /

Yerel dizindeki son dosyanız aynıysa, bilgi isteminde bulunulmaz. Dosya farklıysa, tf, mf etc ... komutunu ister. Mf (mayın dolu) seçimi hiçbir şeyin üzerine yazılmamasını sağlar ve bittiğinde tamamlayabilirim.

Jay CompuMatter

5
Jay

Bir güncelleme düğmesine basarak çözmeyi başardım

5
Alvin567

@ Alexander-Klyubin’in önerdiği gibi, depodaki hareketi yapın. Ayrıca, özellikle taşınacak çok miktarda veriye sahipseniz daha hızlı olacak, çünkü tüm bu verileri ağ üzerinden tekrar aktarmak zorunda kalmayacaksınız.

svn mv https://[email protected]/svn/old/ https://[email protected]/svn/new/

iyi çalışması gerekir

4
Aeon

Komutu çalıştırmadan önce dosyanızı veya yolunuzu kaldırın, değişikliklerinizi yapın

Sudo rm -r /path/to/dir/

sonra:

svn up and commit or delete 
3
Clamorious

"Güncel değil" iletisinin en az bir başka nedeni var. Benim durumumda sorun "svn propset svn: ignore -F .gitignore" komutunu kullanarak yaratılan .svn/dir-props idi. ilk kez. .Svn/dir-props silme kötü bir fikir gibi görünüyor ve diğer hatalara neden olabilir, bu nedenle hatalı "svn propset" i temizlemek için "svn propdel" kullanmak en iyisi olabilir.

# Normal state, works fine.
> svn commit -m"bump"  
Sending        eac_cpf.xsl
Transmitting file data .
Committed revision 509.

# Set a property, but forget to commit.
> svn propset svn:ignore -F .gitignore .
property 'svn:ignore' set on '.'

# Edit a file. Should have committed before the edit.
> svn commit -m"bump"                   
Sending        .
svn: Commit failed (details follow):
svn: File or directory '.' is out of date; try updating
svn: resource out of date; try updating

# Delete the property.
> svn propdel svn:ignore .              
property 'svn:ignore' deleted from '.'.

# Now the commit works fine.
> svn commit -m"bump"     
Sending        eac_cpf.xsl
Transmitting file data .
Committed revision 510.
2
infogizmo

Github svn köprüsünü kullanıyorsanız, bunun nedeni github'un şeylerinde bir şeylerin değişmesi olabilir. Çözüm basit, sadece svn switch komutunu kullanmanız gerekiyor, bu da kendisini düzgün bulmasını sağlar, sonra günceller ve her şey çalışır. Sadece ödemenizin kökünden aşağıdakini çalıştırın

svn info | grep Relative 
svn switch path_from_previous_command
svn update

veya

svn switch `svn info | grep Relative | sed 's_.*: __'`
svn update

Bu çözümün temeli Lee Preimesberger bloguna

2
Perkins

Daha düşük bir gözden geçirme değil, başınızı kontrol ettiğinizden emin misiniz? Ayrıca, en son sürüme sahip olduğunuzdan emin olmak için bir güncelleme yaptınız mı?

Bununla ilgili bir tartışma var http://svn.haxx.se/users/archive-2007-01/0170.shtml .

2
jgreep

Taşıma işlemini doğrudan depoda yapın.

2
Alexander

Sunucunuzu ve istemcinizi Subversion 1.9'a yükseltin.

out of date hatası normalde yapmaması gerektiğinde rastgele gerçekleşirse, işleme koyduğunuzda, eski ve desteklenmeyen bir Subversion 1.7 veya daha eski bir istemci veya sunucu kullandığınızı gösterebilir.

Sorunu çözmek için sunucuyu ve istemcileri yükseltmelisiniz. İlgili Subversion 1.9 Sürüm Notları girişine bakın: HTTPv1 üzerinden işlem yapılırken "güncel değil" hataları.

1
bahrep

Hata, söz konusu dosyayı güncellemediğiniz için, önce güncelleme yaptıktan sonra dosyayı kabul edebilirsiniz.

1
abhishek pant

svn mv veya sadece mv kullanarak taşıyor musunuz? Sadece mv kullanmak bu soruna neden olabilir.

1
Ryan Bigg

Bunu yaptım ve benim için çalıştı:
1. Dosyanızın yedeğini alın. Kodunuzu bir metin dosyasına kopyalayabilirsiniz.
2. Yapmak istediğiniz dosyayı sağ tıklayın >> Takım >> Geçmişi Göster. 3. "Geçmişi Göster" panelinde bu dosyanın tüm revizyonlarını göreceksiniz. Dosyanın son revizyonuna sağ tıklayın >> Revizyon Al: Yerel değişikliklerinizi geçersiz kılar.
4. Şimdi, kodunuzu yedek dosyadaki en son dosyayla birleştirin (adım # 1).
5. Yeni birleştirilen dosyayı senkronize et ve tamamla.

1
Sameer Patel

Her biri birkaç dosya içeren birkaç dizini sildikten sonra rastgele bu hatayı aldım. Dizinleri Netbeans aracılığıyla sildim ve aslında onları silmedim. Yalnızca dizin içindeki her şeyi siliyor ve Netbeans içindeki dizine olan başvuruyu kaldırıyor gibiydi. Yine de dosya sisteminde hala varlardı. Dosya sisteminden silindiklerinden emin olun ve işlemi tekrar deneyin.

1
Bower

Dir, güvenli tutmak için yerel makineme taşıdım, sonra svn aptal dizini sildim ve sonra kabul ettim. Klasörü yerel makinemden eklemeye çalıştığımda STILL hatayı fırlattı (klasörü yeniden adlandırmaya çalıştığımda SVN hareketi aynı şeyi yaptı). Bu yüzden geri döndüm, sonra bir mkdir DIRNAME yaptım, ekledim ve kabul ettim. Sonra içeriğini ekledim ve kabul ettim ve işe yaradı.

1
Melissa

Bir kez benzer bir sorunu yeni bir çalışma kopyasını kontrol ederek ve .svn dizini değiştirerek bu yeni teslim edilmiş olanla işleme hatalarını atmak suretiyle çözdüyseniz. Benim davamın nedeni, bir depo bozulmasından ve bir yedeklemeden geri yükleme işleminden sonra çalışan kopyanın, restore edilmiş depoda bulunmayan bir revizyona işaret etmesiydi. Ayrıca "tarih dışı" hatalar da var. Çalışma kopyasını çalışmadan önce güncellemek bunu çözmedi, ancak .svn yerine yukarıda anlatıldığı gibi değiştirildi.

1
fileunderwater

Doğrudan .svn'deki değişiklik hariç tümünü denedi. Hiçbir şey yardımcı olmadı, işte çözümüm.

Eclipse> Pencere> Görünümü Göster> Tarihçe Birden fazla svn "Override & Update"/"Revert"/delete file ve checkout yaptım, ancak bu dosyanın en yeni sürümde olmadığını gördüm.

Böylece Paket Gezgini> Dosyaya sağ tıklayın> ile değiştir> Depodan Son.

Geçmiş Görünümü'ndeki bir başka bakış da, dosyanın şu anda en son sürümde olduğunu gösterdi.

1
katana0815

"Temizle" Seni takip edecek.

Svn klasörüne sağ tıklayın ve 'Temizle'yi tıklayın, bu hatayı alırsanız bunu yapın.

1

Benim durumumda sadece yerel versiyonun silinmesi ve yeni kopyanın kullanıma alınması bir çözümdü.

0
Macilias

Bunu bir commit dizininden trunk yapmaya çalışırken buldum. trunk dizininden svn update yapmak hatayı çözmedi; ancak, üst dizinden svn update yapmak (.svn dizininin ait olduğu) hatayı çözdü.

Olanlar hakkındaki tahminde bulunmak (diğerleri arasında bir kullanım durumu olması durumunda, bu “svn: E160024: kaynak güncel değil; güncellemeyi deneyin” için birden fazla neden olabilir): trunk ile birlikte, branches dizini vardı. GitHub'dan bir branches/branch-1master içine çektim. svn update işlevini trunk yerine üst dizinden (yani çalışan kopyamın kökü) yapmak, branches içinde trunk yerine bir şeyler yapmış görünüyor. commit 'yi tekrar denemeye başladığımda hiçbir hata olmadı.

Ancak, yukarıda belirttiğim gibi, bu muhtemelen diğerleri arasında bir durumdur.

Not: Birisinin önerdiğinden farklı olarak, .svn dizininde elle oynamanın iyi bir fikir olduğuna inanmıyorum.

0
Hibou57

bazı dosyaları taahhüt etmeye çalışırken bu hatayı aldım, sadece çalışan kopyamda olmayan bir dosya/klasördü. GERÇEKTEN dosyaları taşıma ve yeniden kontrol etmenin zorluğundan geçmek istemedim, sonunda .svn/input dosyasını düzenleyerek sona erdi ve sorunlu dizin referansını kaldırdım.

0
Al W

Bu, daha önceki bir sürümdeki bir dalı bagajdan gelen dosyalar ile güncellediğimde oldu. Gövde ödeme klasörümden klasörleri kopyalamak için Windows Gezgini'ni kullandım ve bunları yayın dalı ödeme klasörünün Eclipse görünümüne yapıştırdım. Şimdi Windows Gezgini, "." İle başlayan "gizli" dosyaları göstermeyecek şekilde yapılandırılmıştı, bu nedenle yayın dalım ödeme klasörüme yapıştırılmakta olan tüm yanlış. Svn dosyalarının farkında değildi. Doh!

Benim çözümüm, zarar görmüş Eclipse projesini havaya uçurmak, tekrar kontrol etmek ve yeni dosyaları daha dikkatli bir şekilde kopyalamaktı. Ayrıca "gizli" dosyaları göstermesi için Windows'u değiştirdim.

0
Jim Ferrans

Sadece komut satırına svn yapın veya pencerelerdeyseniz svn güncelleme seçeneğini seçin.

  • Bu yapıldığında, bu taahhüt ve diğerleri gibi daha ileri eylemlerde bulunmanıza izin verir.
0
Indrajeet Gour

Çözmek için, dosyayı sorunla geri almam ve çalışan kopyamı güncellemem gerekiyordu, daha sonra dosyayı tekrar değiştirdim ve bu adımlardan sonra hata artık yaşanmadı.

0
sandolkakos

Bu hatayı yeni aldım. Tavsiye ettiğim şey, orjinal sunucunun olup olmadığını ilk önce sunucunuza kontrol etmeniz. Bazen değişiklikler yerel klasörünüzde yapılmaz. Durum buysa, yalnızca klasörünüzü silin ve tekrar ödeme yapın.

0
brunch875