这让我感到困惑。
我有一个laravel项目,我使用subversion进行版本控制。 Laravel项目有一个文件夹:
app/storage/cache
app/storage/logs
app/storage/meta
app/storage/sessions
app/storage/views
我需要每个子文件夹,但我不希望他们的内容存储在我的存储库中。当我运行svn status
时,我也 super super 不希望内容显示在我的列表中。
我尝试使用以下方法将svn:ignore
属性添加到每个文件夹中:
svn propset svn:ignore * .
但是当我运行svn status
我看到有人使用svn propset svn:ignore *.* .
来忽略文件夹中的所有内容。我也尝试了一下,但它仍然无法工作(可能是因为文件通常没有使图案不匹配的扩展名)。
我有什么误解吗?
编辑:
这里是命令svn proplist
和svn status
的输出:
[chriss-mbp:storage]: svn proplist *
Properties on 'cache':
svn:ignore
Properties on 'logs':
svn:ignore
Properties on 'meta':
svn:ignore
Properties on 'sessions':
svn:ignore
Properties on 'views':
svn:ignore
[chriss-mbp:storage]: svn status
? logs/laravel.log
? meta/services.json
? sessions/3a792417f991b8eb744c06ce73a616604fcca6d3
? views/7a8aece605b3d3e46f3aa693f077c301
? views/93279b38fe9be84844babfd1c383f74d
? views/bbf7bfd90b52526ecd113046a994d2b0
? views/f2824491ec74e36ce353ab66ce66ad11
更新:
所以我可以通过进入svnx添加svn:ignore
属性和*
字符,选择我要添加ignore属性的文件夹,单击属性按钮,然后添加svn:ignore
作为一个新属性,*
未加引号和未转义,因为它的价值。当通过svnx和命令行查看时,此更改肯定会忽略文件夹中的所有内容。
当我返回命令行并运行svn pl views
时,它返回:
[chriss-mbp:storage]: svn pl views/
Properties on 'views':
svn:ignore
它就像忽略属性那样,但是没有具体的要忽略的东西(我猜这意味着"忽略一切"?)。但是,奇怪的是,我可以在svnx中添加星号,并且它不会通过命令行显示。
我很高兴我无视工作,但我真的不明白为什么它会起作用的确切原因。如果有人想填补空白,我很乐意给他们支票。
答案 0 :(得分:0)
我认为您需要转义或引用您传递给命令的*,以防止shell扩展它而不是将其用作传递给svn propset
命令的文字值。或者,尝试使用propset上的propedit
或-F
标志分别加载文本编辑器或传入文件。
答案 1 :(得分:0)
关于问题的第二部分(在更新之后):
svn pl views
显示在文件夹views
上设置的属性列表。所以你实际上只是看到设置了svn:ignore
属性但你看不到它的内容。
要查看属性的内容,您可以:
使用svn pl -v views
获取proplist命令的详细输出。这将列出所有属性及其值。
使用svn pg svn:ignore views
获取属性svn:ignore
的内容(pg
是propget
的别名)