【问题标题】:How to "svn ignore" a file, without overriding the existing ignore list如何“svn忽略”文件,而不覆盖现有的忽略列表
【发布时间】:2014-08-09 00:57:05
【问题描述】:

我想在我们的登记中递归地忽略一堆文件,例如/bin/obj*.user。我在一个名为.svnignore 的文件中有一个所有这些模式的列表,该文件已签入。我可以递归地将这个忽略列表应用于每个目录,如下所示:

svn propset svn:ignore -R -F .svnignore .

当我们添加新项目和东西时,我会经常运行它。但是,现在我想忽略 just 根中的 /QEData 目录(不是递归的,只是那个 one 实例)。所以,在运行了上面的命令之后,我接着运行:

svn propset svn:ignore QEData .

但是,this 似乎清除了根目录上 .svnignore 中的所有模式,并将它们替换为 just /QEData 模式。如何添加到忽略列表而不覆盖该目录上现有的忽略?

注意:我正在寻找可以在 Windows 和/或 PowerShell 上编写脚本的答案。

【问题讨论】:

    标签: windows svn


    【解决方案1】:

    这有帮助吗?

    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 - .
    

    【讨论】:

    • 哎呀,谈谈黑客!我不敢相信 Subversion 中的 ignore 功能是 this 不好!
    • 忽略 svn 中的功能只是一个属性,很抱歉告诉你:(
    • 这很好,但是没有办法轻松地将数据追加到现有属性,也没有办法继承属性,所以每次添加新目录时,您必须再次递归应用您的忽略属性。
    • 另外,这个答案只是将字符串 -e "svn propget svn:ignore\nQEData" 添加到我的忽略列表中。不过,我会继续搞砸这个想法,如果我有什么工作,我会更新你的答案。
    • 哦应该更具体!是的,我需要一个 Windows 解决方案。
    【解决方案2】:

    非交互式 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 都会在属性值列表的末尾添加两个空字符串,空行在 SVN 处理时会被忽略

    关于全局忽略的注意事项

    svn propget svn:global-ignores -v
    Properties on '.':
      svn:global-ignores
        *.dat
    

    和厕所一样

    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 选择 所有需要只需要个对象

    【讨论】:

    • 谢谢!是的,我认为临时文件将是解决我原来问题的唯一解决方案。但似乎global-ignores 是我正在做的事情的方式。
    猜你喜欢
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多