【发布时间】:2010-09-13 09:24:05
【问题描述】:
我将一个 zip 文件解压到一个透明的视图中。现在我想将完整的文件树添加到存储库中。 GUI 只为单个文件/目录提供“添加到源代码控制...”。你知道如何递归地添加整棵树吗?
(我在 Windows 系统上,但安装了 Cygwin。)
【问题讨论】:
我将一个 zip 文件解压到一个透明的视图中。现在我想将完整的文件树添加到存储库中。 GUI 只为单个文件/目录提供“添加到源代码控制...”。你知道如何递归地添加整棵树吗?
(我在 Windows 系统上,但安装了 Cygwin。)
【问题讨论】:
我宁愿使用 clearfsimport 脚本,更好地导入多次相同的文件集,并且自动:
因此,如果您的 'zip 文件交付需要定期更新,clearfsimport 是不错的选择,但有以下选项:
clearfsimport -preview -rec -nset c:\sourceDir\* m:\MyView\MyVob\MyDestinationDirectory
注意:
来自CMWiki,关于“nset”选项:
默认情况下,clearfsimport 旨在供 vob 所有者或特权用户使用,但用户经常忽略 -nsetevent 选项,任何用户都可以使用该选项。
此选项驱动 clearfsimport 不将元素的时间戳设置为 vob 之外的源文件对象的时间戳(需要特权访问)。
这样做有一个不明显的副作用:一旦创建了具有当前时间戳的版本,即使是 vob 所有者也无法在其上导入具有较旧版本的版本(因为它会) 时间戳,没有这个 -nsetevent 选项。 IE。一旦您使用此选项,普通用户或特权用户,您或多或少都会继续使用它。
【讨论】:
这是我使用 Windows 资源管理器发现的另一种方法:
Search...。*。Ctrl-A) 文件/目录。ClearCase > Add to source control...。你去...
【讨论】:
ClearCase Remote Client 7.1.2,这个版本是特定的吗?
由于我无法访问 clearfsimport ,因此我分两步添加了文件/目录:
1.) find . ! -path . -type d | xargs cleartool mkelem -mkpath -nc
这将为所有新目录递归创建节点
2.) find ./ -type f | xargs cleartool mkelem -nc
这将递归地为所有新文件创建节点
【讨论】:
-mkpath 一起使用就足够了——目录是即时添加的。 (也许效率较低——恐怕目录中的每个文件都会被签出)。
当您选择“添加到源代码管理”时,ClearTeam Explorer 版本 8(可能更早)具有递归添加子目录/文件的功能。当“添加到源代码管理”对话框出现时,选中“包括所选目录的后代工件”复选框并取消选中“仅检出后代文件,不检出后代目录”复选框。
【讨论】:
您必须使用命令行。 Explorer 中的上下文菜单不会递归执行此操作!
clearfsimport –recurse /usr/src/projectx /vobs/projectx/src
【讨论】:
这是执行此操作的脚本 以及从 Explorer 集成脚本的提示
http://www.ibm.com/developerworks/rational/library/4687.html
【讨论】:
有类似的要求以递归方式将目录添加到 ClearCase。由于我无法访问 clearfsimport 工具,也没有将 ClearCase 与 Windows 资源管理器集成,因此在 ClearCase GUI 中找到了一个简单的解决方案。
1) 使用“添加到源代码管理”菜单选项添加根目录。 2) 点击该目录,然后使用“ClearCase Search”搜索该目录下的所有Private Files。 3)从搜索结果和“添加到源代码管理”中选择所有
你去吧!整个目录是从 ClearCase GUI 中递归添加的
【讨论】:
【讨论】:
【讨论】:
我同意, 如果要进行版本控制的文件数量很大,则 Windows 资源管理器中的 find+select+add-to-source-control 不是一个好的选择。如上所述,如果我们尝试添加大量文件,explorer.exe 会崩溃。
clearfsimport 是完成这项任务的最佳且最省心的实用程序。
-GP
【讨论】: