簡體   English   中英

如何“svn忽略”一個文件,而不覆蓋現有的忽略列表

[英]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並且只需要對象

TSVN承諾

這可以幫忙嗎?

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM