Svn Subversion:需要找出存储库中被忽略的内容
大局: 我正在使用一个SVN代码库,我希望有一个本地Mercurial存储库用于本地版本控制。在创建Mercurial存储库时,我想知道SVN将忽略哪些文件(例如创建的临时文件等) 我真正想要的是找到那些被忽略的模式。因此,如果SVN被告知忽略*.sdf,我不希望看到它忽略的所有sdf文件。我想看看*.sdf,这样我就可以把它放在我的.hgignore文件中 这可能吗Svn Subversion:需要找出存储库中被忽略的内容,svn,mercurial,Svn,Mercurial,大局: 我正在使用一个SVN代码库,我希望有一个本地Mercurial存储库用于本地版本控制。在创建Mercurial存储库时,我想知道SVN将忽略哪些文件(例如创建的临时文件等) 我真正想要的是找到那些被忽略的模式。因此,如果SVN被告知忽略*.sdf,我不希望看到它忽略的所有sdf文件。我想看看*.sdf,这样我就可以把它放在我的.hgignore文件中 这可能吗 谢谢 您可以在目录结构中递归调用svn propget svn:ignore 首次破解解决方案(在bash中)类似于: svn
谢谢 您可以在目录结构中递归调用
svn propget svn:ignore
首次破解解决方案(在bash中)类似于:
svn list -R | xargs -I{} svn propget svn:ignore {}
但这是:
#/usr/bin/python
导入操作系统
导入子流程
#运行命令并将输出存储在变量中,拆分为换行符上的列表
路径=子进程。检查_输出(['svn','list','-R'])。拆分行()
对于路径中的路径:
#[-1]是“字符串中最后一个字符”的Python表示法,因此。。。
#查找尾部路径分隔符以指示“目录”
如果路径[-1]==os.sep:
忽略=子进程。检查_输出(['svn','propget','svn:ignore',path])
如果忽略:
打印路径
打印忽略
hg svn genignore
构建。hgignore fromsvn:ignore
树中的定义svn:忽略树中的
WC>svn pg svn:ignore -v -R
Properties on '.':
svn:ignore
*.bak
*.tmp
Properties on '1':
svn:ignore
*.bak
*.tmp
*.dbg
*.raw
Properties on '1\2':
svn:ignore
*.bak
*.tmp
*.dbg
*.raw
*.1bg
生成的.hgignore
将
.hgignore
syntax:glob
*.bak
*.tmp
1/*.bak
1/*.tmp
1/*.dbg
1/*.raw
1/2/*.bak
1/2/*.tmp
1/2/*.dbg
1/2/*.raw
1/2/*.1bg
显然,可以而且必须对其进行优化和压缩。N
注
如果在SVN 1.8+中使用,SVN:global忽略(首选,可读性更好)
当前Mercurial | HGSubversion在genignore中不使用并忽略此属性
附注2
至少Mercurial 2.11无法克隆本地(
文件:///
)Subversion 1.8+存储库,它们必须由httpd或svnserve提供服务。他们没有尝试过,但这看起来肯定更懒(在本例中更好):@lazybacker啊,甚至更好。我不知道propget支持递归选项。谢谢分享,我很高兴现在知道了。
WC>svn pg svn:global-ignores -v -R
Properties on '.':
svn:global-ignores
*.bak
*.tmp
Properties on '1':
svn:global-ignores
*.dbg
*.raw
Properties on '1\2':
svn:global-ignores
*.1bg