在我的git控制的应用程序中将svn repo拉入一个文件夹

时间:2010-12-16 14:49:38

标签: svn git

我有一个应用程序,我使用git管理源代码控制。其中一个文件夹只是应用程序外部的另一个文件夹内容的副本,位于svn控制的仓库中。具体来说:

此文件夹:

<app root>/public/assets/players/millionaire

只需要使用url:

使用svn repo的内容
http://<my_domain>/charanga/elearning%20players/millionaire_DEPLOY

目前我的工作流程是

  • 收到有关svn repo已更新的通知
  • 转到svn文件夹并执行“svn update”
  • 将svn文件夹(减去.svn文件夹)的内容rsync到相关的应用程序文件夹中
  • “git status”查看更改,“git commit”提交它们。

但这有点笨拙。有什么选择自动合并svn文件夹?我可以避免在我的git控制的代码库中拥有所有.svn文件夹吗? (这没有合理的理由,我只想尽可能保持干净)

感谢任何建议 - 最多

1 个答案:

答案 0 :(得分:0)

听起来您的工作流程可以使用CommitMonitor来实现:该工具定期检查SVN仓库并且(根据屏幕截图中的图像2),它允许您指定在检测到新版本时应执行的脚本:

alt text

脚本的内容可以是(在bash中):

#!/bin/bash
# define variables
SVN_REPO="http://<my_domain>/charanga/elearning%20players/millionaire_DEPLOY"
GIT_REPO="$APP_ROOT/public/assets/players/millionaire"
# fetch latest svn revision
svn export --force $SVN_REPO $GIT_REPO # force because the files already exist
cd $GIT_REPO
# commit the changes to git
git commit -a -m "pulled in from SVN"

这样,您根本不需要拥有SVN回购的本地WC ......