SVN (Subversion) Sorunu "Dosyanın eklenmesi planlandı, ancak eksik" - Sürümleri Kullanma


97

SVN için Sürümler kullanıyorum.

Bu mesajı taahhüt etmeye ve almaya çalışıyorum:

Kaydetme başarısız (ayrıntılar aşağıdadır): '/Users/mike/Sites/mysite.com/astss-cvsdude/Trunk/cart/flashfile.swf' eklenmesi planlandı, ancak eksik

Sanırım bunun sebebi depoya dosyalar eklemiş olmam ve daha sonra bunları dosya sistemi aracılığıyla silmiş olmamdır.

Sadece değişikliğimi not etmesini ve değişikliği depoya uygulamasını istiyorum.

Bunu nasıl aşabilirim?

Yanıtlar:


123

Ne yapmaya çalıştığından emin değilim: Dosyayı şu yolla eklediyseniz:

svn add myfile

svn'e sadece bir sonraki işleminizi yaptığınızda bu dosyayı deponuza koymasını söylediniz . Bir yazmadan önce havuzda değişiklik olmaz

svn commit

Dosyayı kaydetmeden önce silerseniz, svnkayıtlarında yer alır (çünkü onu eklediniz) ancak dosya artık mevcut olmadığı için arşive gönderemezsiniz.

Yani ya dosyayı arşive kaydetmek ve ardından çalışan kopyanızdan silmek istersiniz: Bu durumda dosyanızı geri almaya çalışın (çöp kutusundan?), İşlemi yapın ve daha sonra dosyayı şu yolla silin:

svn delete myfile
svn commit

Geri almak addve dosyayı atmak istiyorsanız,

svn revert myfile

bu, svn(bu durumda) eklenti İşlemini geri almasını söyler .

DÜZENLE

Üzgünüm, Max OSX için "Sürümler" GUI istemcisini kullandığınızın farkında değildim. Öyleyse, ya GUI'yi kullanarak içeren dizini geri almayı deneyin ya da soğuk suya atlayın ve gizli Mac komut kabuğunuzu ateşleyin :-) (Almanca OSX'te "Terminal" olarak adlandırılır, İngilizcede nasıl açılacağı hakkında hiçbir fikriniz yok versiyon ...)


2
Buradaki sorun, bir GUI kullanmasıdır. Komut satırını yine de kullanabiliyorsa svn rm, dizinde olmasa bile sadece dosyayı kullanabilir.
Pikrass

Tamam, OSX için "Sürümler" istemcisinden haberdar değildim. Yine de "eski haline dönme" yi kullanabilmeli, değil mi? Bu, Windows'ta TortoiseSVN ile çalışır.
MartinStettner

svn temizliği ve sonra svn rms ... Yardımlarınız için teşekkürler çocuklar. Svn'e "bak, işletim sistemimin varsayılan dosya yöneticisi aracılığıyla bazı dosyalar ekledim ve şu anda bu klasördeki şeyler, bu deponun şu anki durumunun olmasını istediğim şey ... şimdi izin ver olur ... bana bu dosyalarla ne yapıp ne yapamayacağımı söyleme, ama evet, hepsini benim için takip et. "?
Mike

1
Bir svn add *otomatik olarak tüm yeni, değiştirilmemiş dosyaları ekler ve svn commitbu değişiklikleri hemen arşive kaydeder. Afaik'in kaldırılması için eşdeğer bir işlem yoktur, bu nedenle dosyaları kaldırırsanız, svn rmmanuel olarak aramanız gerekir.
MartinStettner

Sadece FYI, ben de bu problemi yaşadım ve işe yaramıyor svn rmbile --force- diyor does not exist. Yani svn revertburada yapılacak doğru şey.
Michel Müller

25

Aynı mesajı görüntüleyen Sürümler ile aynı sorunu yaşadım. Rahatsız edici dosyalara sağ tıkladım ve sağ tıklama menüsünden 'Geri Dön ...' seçeneğini seçtim ve her şey iyiydi.

Temelde Sürümler (aslında Subversion) dosyayı yine de eklemek istediğinizi düşünür, ancak dosya sisteminde sildiğiniz için dosyayı bulamaz. Geri Döndür seçeneği, Subversion'a onu eklemeyi unutmasını söyler.


Bu hatayı alıyordum çünkü uygulama hiyerarşisinden bir klasörü silmiştim. Aynı ada sahip boş bir klasör ekledim ve işe yaradı.
Yogi

10

Bir dosya eklemek ve sonra onu silmek, hata olarak kabul edilen bir işlem türüdür - ve bu yüzden SVN size söylüyor. Ona bazı dosya verilerini beklemesini söylediniz ve işlem yaptığınızda vermeyin, kırmızı ışıklar yanıp sönüyor ve sirenler sönüyor!

Cevap, eklemenizi geri almak, alternatif olarak dosyayı teslim etmek ve ardından dosya sisteminden ve depodan kaldırmak için 'svn rm'yi kullanmaktır.


Bunu, bir dosya ekleyip yanlış veya başka bir şey yaptığım Xcode'dan alıyorum ve Xcode'a silmesini (çöp kutusuna git) söylüyorum. Maalesef Xcode onu bu durumda bırakıyor ve dosyayı silmesine rağmen benim için
svn'den

3

Bu benim benzer sorunumu çözdü. Değişiklikleri geri almak için kullandım, sonra her şeyi ekledim ve terminalde değişiklikleri gerçekleştirdim

svn add folder_path/*
svn commit -m "message"

2

Bir klasör referansındaki dosyaları yeniden adlandırmak için Xcode kullanmaktan kaçının. Xcode kullanarak bir dosyayı yeniden adlandırırsanız, kayıt için işaretlenir. Daha sonra kaydetmeden önce silerseniz, bu hatayla sonuçlanırsınız.


0

Dosyayı VS içinden sildim, ardından 'Depo Gezgini'nden dosyayı çalışma kopyasına kopyaladım.


0

TortoiseSVN kullanıyorsanız…

"Yapılan Değişiklikler" bölümündeki kaydetme pencerenizden, sorun teşkil eden tüm dosyaları seçebilir, ardından sağ tıklayıp sil'i seçebilirsiniz. İşlemi tamamlayın ve dosyalar planlanan eklemelerden kaldırılacaktır.

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.