[英]How to “svn ignore” a file, without overriding the existing ignore list
我想在我們的登記中遞歸地忽略一堆文件,例如/bin
和/obj
以及*.user
。 我在一個名為.svnignore
的文件中列出了所有這些模式,這個文件已經簽入。我可以遞歸地將這個忽略列表應用到每個目錄,如下所示:
svn propset svn:ignore -R -F .svnignore。
當我們添加新的項目和內容時,我經常運行它。 不過,現在我想忽略只 /QEData
根( 不是遞歸的,只是一個實例)目錄。 因此,運行上面的命令后,我運行:
svn propset svn:忽略QEData。
但是, 這似乎消除了根目錄中.svnignore
所有模式,並僅使用/QEData
模式替換它們。 如何在不覆蓋該目錄上的現有忽略的情況下添加到忽略列表?
注意:我正在尋找可以在Windows和/或PowerShell上編寫腳本的答案。
非交互式Windows類型的propedit
echo NEWSTRING> PATH\TO\TEMPFILE
svn pg PROPERTY >> PATH\TO\TEMPFILE
svn ps PROPERTY -F PATH\TO\TEMPFILE .
del PATH\TO\TEMPFILE
每個這樣的偽pe將在屬性值列表的末尾添加兩個空字符串,無論如何在處理時忽略空行
關於global-ignore的注意事項
同
svn propget svn:global-ignores -v
Properties on '.':
svn:global-ignores
*.dat
和WC一樣
dir /B /S
z:\WC\a.txt
z:\WC\Sub
z:\WC\b.dat
z:\WC\Sub\c.dat
z:\WC\Sub\d.txt
有狀態
svn st --no-ignore
? Sub
I b.dat
即,簡而言之 - 如果進入WC的目錄,定義了svn:global-ignores模式,則在此子目錄中添加了子目錄和文件,匹配和不匹配模式,提交時選擇所有需要的 TortoiseSVN並且只需要對象
這可以幫忙嗎?
echo -e "`svn propget svn:ignore`\nQEData" | svn propset svn:ignore -F - .
更新:
這可以是腳本添加忽略的基礎
#!/bin/sh
if [ $# -ne 1 ]
then
echo -e "Usage: `basename $0` <something to be ignored>\n"
exit 1
fi
IGNORE=$1
echo -e "`svn propget svn:ignore`\n$IGNORE" | svn propset svn:ignore -F - .
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.