代码之家  ›  专栏  ›  技术社区  ›  Dan

将遗留项目(带日期的文件夹系列)导入Subversion

  •  3
  • Dan  · 技术社区  · 16 年前

    我继承的项目不受版本控制,有数百个文件夹,每个文件夹的日期都是:2006-11-26、2006-11-27等等。。。谢天谢地,他们似乎在努力创建文件夹方面做得相当不错,即使(几周)没有任何变化。

    我想要的是一个脚本/工具,它将用最旧的文件夹创建一个新的存储库,然后按顺序自动应用所有subversion命令,将以后的每个文件夹转换为新的修订版。

    额外的优点:让脚本/工具也根据文件夹名修改时间戳属性,这样subversion中的历史记录更接近现实。

    非常感谢你的帮助。

    P、 我更愿意在Linux下完成这一切,但是如果有(喘息!)Windows解决方案,乞丐不能挑三拣四,不是吗?

    2 回复  |  直到 16 年前
        1
  •  3
  •   Leigh Caldwell    16 年前

    我认为shell脚本解决方案不会太难。像这样的:

    for d in 200*
    do
        cp -a $d/* svndir/
        cd svndir
        svn add *
        svn commit
        cd ..
    done
    

    cp-a将保留时间戳,但svn历史记录将显示当前日期提交的所有内容。也许您可以使用“date”命令在每次复制和提交时根据目录名(值$d)实际设置服务器日期。不过,这可能有点过头了。

        2
  •  2
  •   Peter Parker    16 年前

    对于这个用例 load-dirs.pl 创建后,它会获取您的目录并将其导入Subversion,还可以维护重命名和删除的版本历史记录。subversion存储库中提供了一个好的文档(上面的链接)