工作副本中的本地SVN忽略?

48

有没有办法在不污染svn属性的情况下忽略本地工作副本中的文件?我不想我的本地忽略模式(例如临时文件)被发布到仓库并造成存储大量无用信息。

就像在git中,我可以使用.git/info/exclude。在SVN中是否有类似的方法呢?


相关:https://dev59.com/K3RB5IYBdhLWcg3wZmhz - Joey
我发现这个答案很有用:https://dev59.com/k2Ei5IYBdhLWcg3wjs9j#21170219 - Gabriel Devillers
4个回答

32
你可以将它们放入变更列表 ignore-on-commit 中。请参见此问题及其答案
编辑: 这只适用于TortoiseSVN和其他一些客户端,而不适用于svn本身。

2
谢谢。实际上我知道这个方法,但 ignore-on-commit 只能在 svn 1.5+ 中使用,并非每个客户端都支持它(例如 Subclipse)。 - Adrian Shum
虽然这种方法并不完全符合我的需求,但我认为它是SVN的最佳和最正式的答案。谢谢 :) - Adrian Shum
1
忽略提交不会被发布给其他客户端。官方参考 - Nickolas
1
@Nickolas,“local”到工作副本的意思确实就是这样。 - Joey
1
你所提到的其他问题和答案指出,ignore-on-commit 只对 Tortoise GUI 有效... svn 命令行仍然会尝试提交这些文件,这是不幸的。 - Roger

15

有的。前往TortoiseSvn设置 -> 通用。

有一个全局忽略编辑框。以下是忽略不想进入存储库的项目的好起点:

*.fbl6 *.fbpInf *.fb6lck *.*scc *.aps *.bak *.cache *.eto *.ilk *.ncb *.obj *.patch *.pch *.plg *.rdl.data *.sbr *.sqlsuo *.suo *.svclog *.tlh *.tli *.tmp *.user *.vshost.* *DXCore.Solution [Bb]in [Dd]ebug [Oo]bj [Rr]elease _[Rr]e[Ss]harper.* _UpgradeReport_Files Ankh.Load Backup* CVS PrecompiledWeb svnignore[.-] [Tt]humbs.db UpgradeLog*.* _vti_* lint.db

6
哦,对!我差点忘记了,“全局”的忽略列表实际上是“本地的”(意思是它被保留在本地而不被同步到svn)。谢谢你提醒我!然而,这会影响所有的工作副本,在其中我可能希望在一个工作副本中忽略该文件,但在另一个工作副本中不忽略。 - Adrian Shum
1
我在寻找如何忽略foo.vshost.exe时发现了这个 - 似乎.vshost.的模式不起作用,现在我发现*.vshost.*可以。 - Greg Domjan

6

这项技术更像是.gitignore而不是.git/info/excludes无惧地管理 svn:ignore):

  • Create a .svnignore in the top of your project.
  • Make a list of files/wildcards you care to ignore
  • Save it

Now, from the top of your project, you can do:

$ svn propset svn:ignore -F .svnignore  .

至少这样你只需要进行一次propset更改。

你仍然需要跟踪或忽略你的.svnignore(就像.gitignore一样)。


4
如果你想避免完全下载远程目录,可以使用以下命令:svn update --set-depth exclude <folder-to-ignore>

1
这只适用于不下载远程目录(例如,我在local/widgets上工作,不在乎有local/largelibrary,我可以设置深度以从本地排除largelibrary:largelibrary将永远不会同步,并且如果我在本地创建它,则会引起冲突)。点赞,因为这正是我的用例,其他答案不适用。 - LSerni
谢谢您指出这一点,@Iserni。我相信我的用例也是如此,其中存储库非常大,并且有许多文件夹我根本不关心。我已将该解释添加到答案中。 - emragins
这与问题完全无关。 - Kip
我在寻找一种方法来实现这个答案中描述的内容时,发现了这个问题。 - Sepster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接