【问题标题】:Push TFS checkins to SVN将 TFS 签入推送到 SVN
【发布时间】:2016-11-03 18:10:36
【问题描述】:

我查看了tfs2svnSvnBridge,但都不是我想要的。

我们的项目源代码位于 TFS 中,但我们的客户希望每晚将源代码副本推送到他们自己的 SVN 远程存储库。

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

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

有没有其他人有类似的要求并解决了问题?

【问题讨论】:

  • 你对 SvnBridge 做了什么尝试?

标签: svn tfs


【解决方案1】:

您可以尝试以下解决方法:将 TFS 克隆到 GIT 并将 GIT 存储库推送到 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

【讨论】:

    猜你喜欢
    • 2018-02-13
    • 2018-04-03
    • 2016-12-10
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 2010-09-11
    • 2017-09-16
    • 1970-01-01
    相关资源
    最近更新 更多