SVN- Tek bir çekimde birden fazla dosya nasıl işlenir


104

Aşağıdaki gibi tek seferde farklı dizinler arasında birden fazla dosya kaydetmeye çalıştım,

svn commit –m”log msg” mydir/dir1/file1.c mydir/dir2/myfile1.h mydir/dir3/myfile3.c etc etc

O zamandan beri, bazı dosyaları yürütme listesinden çıkarmak istediğim için her dosya adını yukarıdaki gibi komut satırına yerleştirdim. Onu not defterine koydum ve yaklaşık 25 dosya geldi. Komut satırına kopyalayıp yapıştırdığımda, son birkaç dosya eksik ve sanırım bu bir komut satırı arabellek sınırlaması (?) Olabilir. Tampon uzunluğunu artırabileceğim herhangi bir seçenek var mı?

Tüm dosyaları bir metin dosyasına koyup svn commit için argüman olarak verebileceğim herhangi bir seçenek var mı?


8
@Thi - Yıkmak için GUI kullanmayanlar mazoşisttir. Tortoise SVN veya Linux eşdeğerini edinin.
tpow

1
Arabellek uzunluğunda bir kısıtlama varsa, SVN'de olmayacak, kullandığınız kabukta olacaktır.
Colin Fine

20
@cinquTimo: Her şey için bir GUI kullanmayı tercih edebilirsiniz. Diğer insanlar yapmaz.
Colin Fine

@Colin, öyle düşünüyorum, bu durumda kabuk tampon uzunluğu nasıl artırılır?
Thi

3
"Yıkmak için GUI kullanmayanlar mazoşistlerdir." - Mazoşizm yıkımı kullanmaktır, ancak bazılarımızın başka seçeneği yoktur.
Daniel

Yanıtlar:


157

Birlikte yürütmek istediğiniz bir dizi dosyayı takip etmek için bir svn değişiklik listesi kullanabilirsiniz .

Bağlantılı sayfa birçok ayrıntıya giriyor, ancak işte bir yönetici özeti örneği:

$ svn changelist my-changelist mydir/dir1/file1.c mydir/dir2/myfile1.h
$ svn changelist my-changelist mydir/dir3/myfile3.c etc.
... (add all the files you want to commit together at your own rate)
$ svn commit -m"log msg" --changelist my-changelist

30

--targets ARGARG'nin kaydetme için hedefleri içeren metin dosyasının adı olduğu seçeneği kullanabilirsiniz .

svn ci --targets myfiles.txt -m "another commit"

Bu bash komutunda benim için çalışıyor:find . -name \*my.mask | xargs svn ci -m"message" --targets -
AS

28

Bunun gibi birkaç dosyayı işlerken hiçbir sorun yaşamadım:

svn commit fileDir1/ fileDir2/ -m "updated!"

Bu benim için çalışmıyor. "Svn: '/' çalışan bir kopya değil" hatası alınıyor. Burada sorumu gönderdim, bakabilirsiniz. askubuntu.com/questions/442742/how-to-update-dir-on-svn-server/…

Evet güzel çalıştı. Ayrıca benim belge kökümde çalışan kopya ağaç yapısındaki tüm değişiklikleri şununla gerçekleştirebilirim:> svn commit. -m 'toplu taahhüt mesajı'
Grigoreas P.

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.