svn - 使用奇数分支结构时 Git-svn 分支软管 dcommit

标签 svn git configuration branch git-svn

我有一个老板,过去式,他决定将 svn 分支放在与主干相同的文件夹中。通常,这不会对我产生太大影响,但由于我使用的是 git-svn,所以一切进展顺利。在我进行提取后,它为我的根文件夹中的每个分支创建了一个文件夹,所以我有三个文件夹,drupal、trunk 和 client。 drupal文件夹是git的master分支,client和trunk是svn分支。

merge 和提交效果很好,事实上,与 git 相关的所有东西都运行得很好。然而 dcommit 完全被控制了,它试图提交一个名为 client 的文件夹和一个名为 trunk 的文件夹。我什至无法想象这会对 svn 造成什么破坏。

所以我的问题是,我在 .git/config 中做错了什么,我能做些什么来解决这个问题,还是我将不得不受苦并重新使用 svn?

请不要让我回去。我觉得我受不了了。王八蛋的老板,就知道如何留下遗产。

[svn-remote "svn"]
        url = https://svn.mydomain.com/svn/project_name
        fetch = trunk:refs/remotes/trunk
        branches = *:refs/remotes/*
        tags = tags/*:refs/remotes/tags/*

通常分支线看起来像这样(使用 --stdlayout 时):

branches = branches/*:refs/remotes/branches/*

ls 的输出是这样的:

$ ls
client/ docs/ drupal/ sql/ trunk/

git -a 输出:

* master
  trunk
  remotes/git-svn
  remotes/trunk

最佳答案

我认为你在更改时破坏了 .git/config:

branches = branches/*:refs/remotes/*

branches = *:refs/remotes/*

将你的 .git/config 改回原来的样子。然后添加一个新的 Remote (我从这个页面发现,http://www.dmo.ca/blog/20070608113513/)类似于这种格式,但替换为您的服务器的信息:

[svn-remote "svn34"]
    url = svn+ssh://your-server/home/svn/project-name/branches/3.4.x
    fetch = :refs/remotes/git-svn-3.4

请注意添加新“远程”以跟踪新分支的区别。您当前的 Remote 不能用于跟踪不同的分支(从 gi​​t-svn 文档看来)。

关于svn - 使用奇数分支结构时 Git-svn 分支软管 dcommit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2769502/

相关文章:

linux - 使用提交后 Hook 时出现 SVN 提交合并错误

git - 禁用 GitHub 上的 merge 按钮,直到 pull 请求获得批准

git - PHPStorm key 对设置以使用 gitlab

oracle - 流利的NHibernate-配置Oracle数据提供程序ODP

c# - 我是否必须派生自 ConfigurationSection 以支持每个用户的设置?

linux - 颠覆 : File properties

svn - Intellij 14 无法结帐颠覆

.net - 是否可以本地化 web.config 文件中的 appSettings 信息?

python - 如何在 python 脚本中获取 svn 两个修订版的完整上下文差异?

GIT Diff 在许多文件上说 100644 → 100755