StarTeam - 使用 stcmd 检查重命名文件的特定修订版
是否可以获得文件特定版本的文件名?
问题是,当使用以下命令行时,结果不是 someFile.txt,而是 otherFile.txt:
stcmd.exe co -nologo -pwdfile pwd.txt -p "user@server/project/folder" -vn 1 -rp out someFile.txt
原因是:文件 otherFile.txt 在某个时刻被重命名为 otherFile.txt,历史记录并没有丢失。不幸的是,stcmd.exe hist 的输出不提供信息,该文件已被重命名。这实际上使得将项目的完整历史记录正确导入到不同的 VCS 中变得不可能。
Is it possible to obtain filename of the specific revision of the file?
The problem is when following command line is used, result is not someFile.txt, but it is otherFile.txt:
stcmd.exe co -nologo -pwdfile pwd.txt -p "user@server/project/folder" -vn 1 -rp out someFile.txt
The reason is: file otherFile.txt at some point was renamed to otherFile.txt, and history was not lost. Unfortunately, output of the stcmd.exe hist does not provide information, that file was renamed. This makes practically impossible to import correctly full history of the project into different VCS.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,stcmd 中没有办法做到这一点。您最终需要在裸目录中运行签出并检查写入了哪些文件。即使签出的输出也会显示新的文件名,而不是重命名之前的原始文件名。
无论如何,使用 stcmd 将历史记录导出到不同的 VCS 几乎是不可能的。删除、共享、移动、重命名和单个项目/文件夹配置更改都将被错误报告,除非您在视图创建时间之前的几秒内检查每个视图配置。
编写 StarTeam SDK 应用程序可能会提供更好的结果,但这仍然会遇到相同的基本问题。您将能够迭代任何文件的历史记录,并查看任何单独修订的文件名,而无需检查任何内容,至少。
从 StarTeam 导出真实历史非常困难。
No, there isn't a way in stcmd to do it. You would end up needing to run the checkout in a bare directory and check to see what file was written. Even the output of the checkout will say the new filename, not the original before the rename.
Exporting history to a different VCS would be nearly impossible using stcmd, anyway. Deletes, shares, moves, renames, and individual item/folder configuration changes would all be improperly reported unless you were checking every view configuration at individual seconds back to the view's creation time.
Writing a StarTeam SDK app might provide better results, but that still runs into the same basic issues. You would be able to iterate through history of any file and see what the filename was for any individual revision without checking anything out, at least.
Exporting real history from StarTeam is very hard.