svn 仓库没有写的权力。所以是 git svn clone 到本地,修改后 push 到 git 仓库。 现在从 git 仓库 clone 下项目,该如何取 svn 拉更新呢?
git svn rebase Migrating from a git-svn v1 layout... Data from a previous version of git-svn exists, but .git/svn (required for this version (1.7.1) of git-svn) does not exist. Done migrating from a git-svn v1 layout
Unable to determine upstream SVN information from working tree history
#2 楼 @mogodb 提示的很清楚了。git clone 下来的仓库没有对应的 svn 仓库的信息。
http://ivanz.com/2009/01/15/selective-import-of-svn-branches-into-a-gitgit-svn-repository/
#5 楼 @larrylv 好像有问题 git svn clone -s svn:// git remote add origin xxx git push origin
git clone git://xxx git svn init -s svn:// 可以把 svn 信息写入.git/config 但是此时 git svn info 运行出问题,运行了很久,报错:说找不到 svn 信息 但是此时 git svn fetch 可以正常执行,不过从 r1 开始下载,这就奇怪了,从 git clone 来的代码不是包含很多 版本了么,为何要从 r1 开始下载? 此时 git svn find-rev r1 也报错,很奇怪啊
git svn clone -s -r 40000:HEAD https://svn.parrot.org/parrot # choose some recent-ish commit http://trac.parrot.org/parrot/wiki/git-svn-tutorial
你应该需要两个本地分支,一个是 svn_local,svn_local 只用来从 svn 仓库拉代码,因为你没有写权限;一个是 git_local,从 svn_local checkout 而来,然后你再把 git remote 加上,用这个分支开发以及从 svn_local 那 merge 代码,push 到 git remote。
#8 楼 @wtl 文档中的所有操作从 git svn clone 开始,并且最终也是用 git svn 命令提交到 svn 上去,这么操作显然没问题
但是,现在的操作是从 git clone 开始的,会有很多问题
git clone 之后,git svn log 就报错了,
git svn log Migrating from a git-svn v1 layout... Data from a previous version of git-svn exists, but .git/svn (required for this version (1.7.1) of git-svn) does not exist. Done migrating from a git-svn v1 layout