Soru Tüm dönüştürülmemiş dosyaların bir listesini SVN'den nasıl alabilirim?


Bazen gelişiyorsunuz ve projenizde birkaç dosya oluşturduğunuzu unutmayı taahhüt ediyorsunuz. Daha sonra birkaç gün boyunca arkadaşınız Subversion'ınızı oluşturuyor ve bazı dosyaların eksik olduğu konusunda şikayet ediyor. Farkındasın, ah bok, bu dosyaları eklemeyi unuttum!

Subversion'dan sürüm kontrolü altında olmayan dosyaların listesini nasıl alabilirim, bu yüzden depoya her şeyi ekledim eminim?


76
2017-10-19 05:25


Menşei




Cevaplar:


Kullan svn status komut:

svn status | grep ^?

Versiyonlanmamış dosyalar a ile gösterilir. hattın başında.

Her zaman, depoya eklenmemesi gereken belirli dosyalarınız olduğunu fark ederseniz (örneğin, oluşturulan ikili dosyalar), svn:ignore İçerdiği dizinin özelliği, bu dosyaların kullanımı sırasında gösterilmeyecek svn status.


98
2017-10-19 05:26



Şahsen, ben her zaman "svn ci" önce "svn diff", ama bu yavaş bazen, ben her zaman "svn diff" önce stat "svn", kullanışlı çünkü o zaman ben şeyler eklemek için unutmayın :) - ephemient
Eklemek istediğiniz çok sayıda dönüştürülmemiş dosya varsa, şunu yapın: svn st | grep ^? | awk '{print $2} | xargs svn add  Bu, ilk olarak, dönüştürülmemiş dosyaları bulacaktır, awk, satırdaki yalnızca ikinci öğeyi (yani dosya yolu) yazdıracaktır ve xargs, bu yolu svn eklemenin bir argümanını oluşturacaktır. - duality_
Awk komutunun sonunda tek bir alıntı eksik. Komut şu şekilde olmalıdır: svn st | grep ^? | awk '{print $2}' | xargs svn add - jplandrain
Windows'ta da çalışır: svn status | find "?" - Florian Straub


Bazı dosyalar 'yoksay' durumuna girdiyse, 'svn durumunda' görünmezler. İhtiyacın olacak:

svn status --no-ignore

41
2017-08-29 14:05



Ayrıca, kurulumumda varsayılan olarak svn durumu tarafından yok sayılan ikili dosyalar için de yararlıdır. Muhtemelen bunu yapan bazı ayarların farkında değilim, ama --no-ignore bu senaryoda bana yardımcı oldu. - Andy Weinstein
Bu cevabın kabul edilen cevap benim durumumda çalışmadığından (linux ortamında ikili dosyalar için) kabul edilen cevap olmalıdır. - Asqan


Windows üzerinde çalışıyorsanız, benzer bir şey yapabilirsiniz Greg HewgillPowerShell kullanarak cevap.

(svn stat) -match '^\?'

Bu, tüm dönüştürülmemiş ve yok sayılan dosyaları bulmak ve silmek için oldukça kolay bir şekilde genişletilebilir.

(svn stat "--no-ignore") -match '^[I?]' -replace '^.\s+','' | rm

Umarım birisine yardım eder!


15
2017-07-04 12:42



Bu nasıl () -math aradı? - Pavel Petrov


Veya Windows komut satırından:

svn stat | find "?"

10
2017-11-26 17:05





Sürüm oluşturmayan dosyaların tüm yollarını listelemek için bu komutu kullanabilirsiniz:

svn status | awk '/^?/ {print $2}'

İlk kısım bir svn statusve sonra çıktıyı yönlendirir AWK hangi basit filtre yapacak "ilk karakter olmalı?" "o zaman ikinci yol" olan dosya yolunu "yazdıracaktır.

svn status her zaman değil yok sayılan dosyaları yazdır. Bu yolu kullanarak bir dosya veya yol ekleyebilirsiniz.

svn propset svn:ignore "PATH OR PATERN"

0
2017-09-25 11:00



Bu tüm sonuçları almak gibi görünüyor svn statussadece sürüm olmayan dosyalar değil. Komutun olması gerektiğine inanıyorum svn status | awk '/^\?/ {print $2}' kaçmak ?Filtre bir regex ifadesi olduğu gibi. - KymikoLoco