使用subversion创建新存储库的正常工作流程是创建一个新的存储库,检查存储库根目录,创建我的分支标记和主干文件夹,并在主干中放置我的初始文件。然后我提交这个“初始导入”,从我的硬盘驱动器中删除签出的存储库并检查主干。然后我就可以开始工作了。

然而,当处理大量导入时,想想数百个megs,以及异地版本控制托管(基于http)这个初始导入可能需要相当长的时间来提交。更糟糕的是,在提交后我需要重新检查这个巨大的行李箱。

有没有办法让subversion使用trunk的本地副本而不再对已经存在的数据进行检查?

有帮助吗?

解决方案

有 - 它被称为“就地导入”,它在Subversion FAQ中有所涉及:

http://subversion.tigris.org/faq.html#in -place导入

您真正在做的是在存储库中创建一个新的空项目,检查空项目您的本地文件夹 - 将您的文件夹转换为工作副本 - 然后将所有(现有)文件添加到'空'project,所以当你进行svn提交时,它们会被添加到存储库中。

其他提示

我同意“就地导入”程序,并使用TTB结构的脚本(upvoted both)。

只是一个小提示:

如果使用http(s),则不应在单次提交中导入巨大(数十万)个文件,因为显示版本历史记录的时间按比例缩放添加条目的数量。出现这种情况的原因是apache必须再次对svnaccess文件中的所有添加路径进行身份验证(当然,仅当您启用了基于路径的授权时)。这可能会导致您的存储库无法使用,因为所有文件都必须在svn日志中等待这个大转速。

您应该在目录级别划分巨额导入

我通常使用“svn mkdir”在创建存储库后立即在服务器上直接创建trunk / tags / branches。然后我可以查看空主干,将我的初始文件移动到该目录,添加并提交它们,然后开始工作。

svn checkout --force允许您检查现有路径上的工作副本。它会保留旧文件并添加仅存储在您的存储库中的文件。

用于创建存储库:您可以使用大多数Subversion发行版中提供的“svnmucc”命令在单个提交中对存储库执行多个mkdir命令(例如 SlikSVN )。

在没有参数的情况下键入svnmucc以获得一些帮助。

如果您已签出单个文件夹,请将文件复制到其中,运行 svn add svn commit ;您不需要删除文件并重新签出。

使用这些文件:一旦他们按照你的描述提交,他们就可以开始工作了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top