“svn add *”甚至添加那些被忽略的文件
我正在使用 svn add * 将文件添加到 svn,它添加了配置文件,该文件肯定会被添加以忽略。
lyuba@lyuba-laptop:/workspace/project$ svn propget svn:ignore
.sass-cache
config.js
什么可能导致问题?
I am using svn add * to add files to the svn, and it adds the config file which is for sure added to ignore.
lyuba@lyuba-laptop:/workspace/project$ svn propget svn:ignore
.sass-cache
config.js
What can cause the problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
超级老问题,但我刚才遇到了这个问题,我找到的解决方案没有在这里列出。阿德里安·史密斯的答案是正确的。我认为文档和 SVN 本身在 5 年内已经有了很多更新。这是我在 SVN 文档
简短的版本是使用 svn add --force 。这对我来说非常有用。
Super old Question but I ran into this issue just now and the solution I found is not listed here. Adrian Smith's answer is on the right track. I assume the docs and SVN itself have seen many updates in 5 years. Here is what I found in the SVN docs
The short version is use
svn add --force .
This works perfectly for me.在 UNIX 和 Linux 中,如果您说
那么 shell 将展开目录中的所有文件,程序将看到与您键入
etc 相同的内容。这意味着 Subversion 命令认为您已明确列出要添加的文件。在这种情况下,即使可能设置了 svn:ignore 属性,它也会添加它。
来自
svn:ignore
的文档 (我的重点):In UNIX and Linux, if you say
Then the shell will expand all the files in the directory and the program will see the same as if you'd typed
etc. This means that the Subversion command thinks you've explicitly listed the file for adding. In this case, it'll add it, even though the
svn:ignore
property might be set.From the documentation of
svn:ignore
(my emphasis):使用此命令而不是 svn add --force * :
在这种情况下,svn 本身解析目录中的所有文件,并考虑忽略的文件,但是当您使用 * 时,您明确告诉 svn 添加所有文件。
Use this command instead of
svn add --force *
:In this case svn itself parse all files in directory and it considers the ignored files, but when you use *, you explicitly tell svn to add all files.
我发现这个问题包含一个非常好的解决方案。由于答案实际上并没有回答问题,所以我不认为它是重复的。
简而言之,使用 unix 工具的强大功能(在 Windows 上与 cygwin 一起使用)
: grep '?' | sed 's/^.* /svn add /' | sed 's/^.* /svn add /' | bash
I found that this question contains a very good solution. As the answer is not actually answering the question, I do not think it is duplicate.
In brief use the power of unix tools (works with cygwin on windows):
svn status | grep '?' | sed 's/^.* /svn add /' | bash
您是否尝试过提交 config.js 以查看它是否真的被忽略?我认为如果你明确告诉 svn 将文件添加到版本控制中,它会覆盖忽略。
Have you tried committing the config.js to see if it is really ignored? I think if you specifically tell svn to add a file to version control, it'll over ride the ignore.