将TFS签到推送到SVN

时间:2016-11-02 09:35:57

标签: svn tfs

我已经看过tfs2svnSvnBridge,但这两者都不是我想要的。

我们在TFS中有我们的项目源代码,但是我们的客户希望将源代码的夜间副本推送到他们自己的SVN远程存储库。

我遇到git-tfs这是Git和TFS之间的双向桥梁,git-svn是Git和SVN之间类似的双向桥梁。我想我可以在工作流程中将两者结合起来,但直接的svn-tfs将是更简洁的解决方案!

或者,源代码可以同时成为两个独立的源代码控制存储库类型的一部分吗?

是否有其他人有类似要求并解决了问题?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下解决方法:将TFS克隆到GIT并将GIT repo推送到SVN。您可以通过ps脚本实现此目的。以下是相反的脚本(来自SVN-GIT-TFS)供您参考:

for i in "${!SVN_TRUNK[@]}"
do
    mkdir ${GIT_REPO[$i]}
    cd ${GIT_REPO[$i]}      
    fromRevision=$(svn log -l 1 -r{2013-06-01}:HEAD ${SVN_TRUNK[$i]} | awk '/^r[0-9]+/ {sub(/r/,"",$1); print  $1}' )
    toRevision=$(svn info -rHEAD ${SVN_TRUNK[$i]} | grep Revision | cut -d' ' -f2)

    git svn init ${SVN_TRUNK[$i]} --no-metadata
    echo 'svn fetch ' ${GIT_REPO[$i]} ' from ' $fromRevision ' to ' $toRevision
    git svn fetch -r $fromRevision:$toRevision

    git tf configure http://tfs:8080/tfs/defaultcollection '$/Portfolio Implementation/Versions/Iteration36RC/'${GIT_REPO[$i]}
    git tf checkin --deep
    cd ..
done