如何禁用Tortoise SVN中的项目

时间:2014-12-10 23:35:43

标签: visual-studio version-control tfs tortoisesvn

我的公司正在转向TFS。我们目前正在使用Tortoise SVN。我希望能够在SVN中留下一个项目,但有些人如何禁用它以便人们无法提交更改,但我们仍然可以看到历史记录。

到目前为止,我已经重命名了一个项目并发布了一条消息,表明它目前处于TFS状态,而不是进行更改。我遇到的问题是,所有的历史都消失了。我想保留历史。

请帮忙。

3 个答案:

答案 0 :(得分:0)

对于问题的第一部分,“如何在SVN中创建只读的东西?”,我不知道。如果您进行完整的历史记录迁移,则不需要这样做。

您只将最新的源代码移至TFS,因此您当然没有历史记录。如果你想将历史从SVN迁移到TFS,我看到的最简单的方法是使用Git作为中间人。

Git natively supports SVNThere are tools that allow Git and TFS to interoperate。既然您可以从SVN获取代码到Git,并且您可以从Git获取代码到TFS,您可以将您的SVN版本历史记录转储到Git中,然后将其从Git迁移到TFS。

基本流程如下:

  1. 使用git svn将SVN存储库转换为Git存储库
  2. 使用Git-TF将您的Git存储库挂钩到TFS并推送更改。
  3. 这样,会保留历史记录,但时间戳会丢失

    当然,我假设您正在使用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删除项目。这使它消失但如果你回到以前的版本,你会发现删除修订版。如果您认为您可以下载已签入的最新版本,但无法提交更改。您也可以从这一点看到所有历史记录。