gpt4 book ai didi

svn - 是否可以将 Subversion 存储库作为 Git 子模块?

转载 作者:IT王子 更新时间:2023-10-29 01:18:09 27 4
gpt4 key购买 nike

有没有办法将 Subversion 存储库作为 Git 子模块添加到我的 Git 存储库中?

类似于:

git-svn submodule add https://svn.foo.com/svn/proj --stdlayout svn-project

其中 https://svn.foo.com/svn/proj 指向 Subversion 存储库。

我知道有 git-svn 允许与 Subversion 存储库交互。所以我在想,也许有一种方法可以使用 git-svn checkout Subversion 存储库,然后将其用作子模块。

最佳答案

没有。最好的办法是在专用的 git 存储库中设置 svn 存储库的镜像。

git svn clone -s http://subversion.example.com/ mysvnclone
cd mysvnclone
git remote add origin git@example.com:project.git
git push origin master

然后你可以将git仓库作为子模块添加到原始项目中

cd /path/to/gitproject
git submodule add git://example.com/project.git -- svn-project
git add svn-project
git commit -m "Add submodule"

svn:externals 和 git submodule 之间存在一个概念上的差异,如果您从颠覆的角度来看这个问题,可能会让您感到困惑。 git 子模块与您提供的修订 Hook 。如果“上游”发生变化,那么您必须更新子模块的引用。

所以当我们与上游颠覆重新同步时:

cd /path/to/mysvnclone
git svn rebase
git push

... git 项目仍将使用我们之前提交的原始修订版。要更新到 svn HEAD,你必须使用

cd /path/to/gitproject/svn-project
git checkout master
git pull
cd ..
git add svn-project
git commit -m"Update submodule"

关于svn - 是否可以将 Subversion 存储库作为 Git 子模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/465042/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com