2014-12-10 63 views
0

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

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

请帮忙。

回答

0

我最终做的是从SVN中删除项目。这使它消失,但如果你回到以前的版本,你会发现删除版本。如果您认为您能够下拉签入的最新版本,但无法提交更改。您也可以从这一点看到所有历史记录。

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,推动在变化

这样,历史将被保留,但时间戳将丢失

当然,我假设你在使用TFVC。如果您使用的是Git-in-TFS,则更容易:从SVN数据创建Git存储库后,只需将其推入TFS即可完成。

+0

我们没有进行迁移。我们没有进行迁移的主要原因是因为项目没有正确设置。我基本上不得不重建项目,然后检查他们到TFS。我们也没有使用GIT。我真正想要做的就是,让SVN非常明显,项目不再从那里编码,并且您需要使用TFS版本。我不知道正确的策略,或多或少,我希望如何断开任何给定项目的所有当前结账,以便他们必须从TFS获取它,但保留历史IN SVN。 – hondaman2003 2014-12-11 15:07:02

0

好东西,我知道如何禁用任何承诺或以上版本库的修改是通过在服务器使用start-commithook
挂钩是一个简单的.bat文件与此内容:

echo committing is disabled for that repository. >&2 
exit 1 

名称文件start-commit.bat,并将其放入存储库的hooks文件夹中。这就是全部。

注:
这是一个windows脚本。对于其他服务器,你需要另一个脚本。

相关问题