我的公司正在转向TFS。我们目前正在使用Tortoise SVN。我希望能够在SVN中留下一个项目,但有些人如何禁用它以便人们无法提交更改,但我们仍然可以看到历史记录。
到目前为止,我已经重命名了一个项目并发布了一条消息,表明它目前处于TFS状态,而不是进行更改。我遇到的问题是,所有的历史都消失了。我想保留历史。
请帮忙。
答案 0 :(得分:0)
对于问题的第一部分,“如何在SVN中创建只读的东西?”,我不知道。如果您进行完整的历史记录迁移,则不需要这样做。
您只将最新的源代码移至TFS,因此您当然没有历史记录。如果你想将历史从SVN迁移到TFS,我看到的最简单的方法是使用Git作为中间人。
Git natively supports SVN。 There are tools that allow Git and TFS to interoperate。既然您可以从SVN获取代码到Git,并且您可以从Git获取代码到TFS,您可以将您的SVN版本历史记录转储到Git中,然后将其从Git迁移到TFS。
基本流程如下:
git svn
将SVN存储库转换为Git存储库这样,会保留历史记录,但时间戳会丢失。
当然,我假设您正在使用TFVC。如果您正在使用Git-in-TFS,那就更容易了:一旦您从SVN数据创建了Git存储库,只需将其推入TFS即可完成。
答案 1 :(得分:0)
通过在服务器中使用start-commit
hook
,我知道如何禁用存储库中的任何提交或更改
钩子只是一个.bat
文件,其中包含以下内容:
echo committing is disabled for that repository. >&2
exit 1
将文件命名为start-commit.bat
并将其放在存储库的hooks
文件夹中。就是这样。
注意:强>
这是一个windows
脚本..对于其他服务器,您需要另一个脚本。
答案 2 :(得分:0)
我最终做的是从SVN删除项目。这使它消失但如果你回到以前的版本,你会发现删除修订版。如果您认为您可以下载已签入的最新版本,但无法提交更改。您也可以从这一点看到所有历史记录。