如何为已导入的目录重新添加--no-ignore标志(无需再次删除和导入)?

How to readd --no-ignore flag for a already imported directory (without delete and import again)?

提问人:wcminipgasker2023 提问时间:7/5/2023 更新时间:7/5/2023 访问量:44

问:

例如,假设我有一个导入到 svn 的目录,名为 forgotNoIgnoreDirectory,我在导入到 svn 时忘记添加 --no-ignore 标志,这会导致 SVN UI 工具隐藏新添加的文件,如果我忘记了我错过了这个项目中的 --no-ignore 标志,可能会导致文件丢失。有没有办法将--no-ignore标志重新添加到forgotNoIgnoreDirectory?

注意:我不想重新导入项目,因为它需要其他用户再次签出项目。我也知道我可以将--force添加到文件中,但有时我可能会忘记添加。而且我不想要一个需要额外设置的解决方案,比如修改 ~/.subversion/config。

简单来说:我只想要一个解决方案,而不是再次删除和导入,它改变了forgotNoIgnoreDirectory的状态,这样forgotNoIgnoreDirectory的行为将与我添加的--no-ignore在导入svn时完全相同。有没有办法这样做?

SVN的

评论


答:

2赞 Friedrich 7/5/2023 #1

在没有该选项的情况下运行不会导致默认情况下忽略导入的文件。svn import--no-ignore

默认情况下,如果文件与全局或本地忽略列表中的项目匹配,则在导入过程中将忽略这些文件(即不会导入它们)。例如,如果将属性设置为忽略可执行文件,则不会导入任何 EXE 文件。svn:ignore*.exe

如果这导致您错过了某些文件,您可以稍后使用工作副本中的常用命令添加它们。svn add

忽略文件在 Subversion 中是一个相当大的话题,Red Bean Book 中有几章专门讨论它。忽略未版本化项目一章将是开始的地方。Subversion 也永远不会忽略添加的文件,因此您不会意外地忽略您的工作。

如果忽略的文件应该有问题,检查属性应该是第一步:svn:ignore

svn propget svn:ignore .
# If they're wrong, change them with
svn propedit svn:ignore .

但这确实是一个不同的话题。

请注意,导入到 URL,而不是工作副本。因此,在看到导入的文件之前,您必须获得工作副本。svn importsvn update

所以要走的路是:

svn import whatever repo_url
svn update working_copy
# check that all the files are actually there