问题标签 [dcommit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
48 浏览

git - 如何在 git svn dcommit 之前创建存档?

当我推送到 svn 服务器时,我正在尝试为我的项目创建一个 zip 存档。我的旧设置将使用远程 git repo 上的 post-receive 挂钩来执行此操作。但是,我现在使用的是 svn,而且我不拥有 svn 服务器,所以我不能在那里放任何东西。我已经设置了以下 pre-push 钩子,但这没有运行git svn dcommit

关于我可以使用哪个钩子的任何想法?

谢谢!

0 投票
0 回答
143 浏览

git - dcommit to sourceforge - 如何调整我的 .git/config 和作者文件?

以下是我的配置的相关部分:

试过:

如您所见,我在 master (我只是从 git 分支中挑选了一个提交 - 没有花哨的合并和东西)

我有两个问题:

  • 如何调整配置中的 url - 或者我<URL>应该将什么传递给--commit-url <URL>flag ?我不想搞砸任何事情并最终在错误的分支中提交(如您所见,svn 布局是非标准的)
  • 实际上我正在提交另一个人的更改。我编辑了提交消息以添加:

    whereAUTHOR匹配 SVN 配置中的名称,但EMAIL不匹配。这足以让作者被正确记录吗?我相信电子邮件不会在 SVN 方面有所作为

我只是想更加确定,因为我不想弄乱 SVN 回购。我宁愿推过去https

0 投票
1 回答
480 浏览

git - 带有同步 SVN 备份的 Git

我已经在 SVN 上工作了一段时间,现在我正处于迁移到 GIT 的过程中,原因很明显。我已经可以从 svn 中创建 git 存储库了。

由于我对 GIT 不是很自信,在有效地选择它作为我的版本控制系统之前,我希望在使用 GIT 的同时保持 SVN 存储库与 GIT 同步。

我完全可以通过 post push hooks 做到这一点,但我有以下问题:

1) svn 提交由同一个用户(控制执行 dcommits 的 GIT 存储库的用户)完成。

2) 为了让 git svn 评估要在 SVN 上提交的新差异,它通过添加一个丑陋的“git-svn-id”来更改 GIT 提交元数据。这会改变 commit-sha,因此需要一个额外的 git pull ,它还会在存储库树中创建一个“钻石”。

有没有办法避免这种情况?

请注意,我可以通过确保一侧同步(从 GIT 到 SVN)来满足我的要求,而相反的情况不一定要成立。

提前致谢。

0 投票
1 回答
546 浏览

git - Git svn rebase:文件过期 - 尾随空格

我在使用 git svn 时遇到问题。我有一份报告,主要由 Windows 用户使用,但我使用 Linux。

我已经对此回购进行了更改,但今天我得到了这个git svn dcommit

我在本地仓库中有一个干净的提交,但不能执行git svn dcommit. 要提交的文件有尾随空格,但没关系。

我应该怎么办 ?

我已经尝试了很多东西,.gitconfig但都没有奏效。当前的.gitconfig

0 投票
1 回答
301 浏览

commit - 如果 SVN 存储库中有新提交,防止 dcommit 自动变基

运行时,如果 SVN 存储库中存在的所有提交未集成到正在提交的分支中git svn dcommitgit-svn将自动执行等效操作。git svn rebase是否可以禁用此行为?我想git svn docmmit失败,就像git push默认情况下在非快进推送中失败一样。

我说的是这种行为:

之后,重新提交的提交将自动提交。

0 投票
1 回答
227 浏览

git - 如何使用 git svn 克隆 svn repo 并能够同时提交 git 和 svn?

我有以下情况:

我正在移植一个大型 repo,我想从中将一些目录分离到具有独立/单独历史记录的 git 存储库中,例如:

这将创建一个 git 存储库,其中包含从src/project1主干下提取的源代码和单独的历史记录,我将能够将它推送到任何我想要的地方。

但是我需要(一段时间)也能够推送到 svn repo,并考虑到我只从我的项目中下载了一个目录的历史记录而不是主干,这并不是那么简单:

那我该怎么做呢?从 svn 提取多个 repos 到 git 并提交到 git 和 svn(记住那些较小的 git repos 中的历史与 svn 中的历史不同(子集))

编辑

启动运行克隆操作后,git svn rebase我会得到:

0 投票
1 回答
163 浏览

git - 2 个团队的 git-svn 桥接器的一般工作流程

最近我读了很多关于 GIT-SVN 桥的东西,我自己尝试过,但是当事情变得艰难时我不知何故失败了。

环境 我们是2个团队:一个用SVN,一个用rebel,用GIT。为了同步,我在 2 个存储库之间建立了一座桥梁。SVN 团队有 x 个开发人员每天推送 10 次,并且大部分是红色构建,GIT 团队有 6 个开发人员,他们希望每周只获取一次或者当他们有东西要提交时,所以他们保持构建大部分是绿色的。

用例: “桥”不是自动化的(还),因此它在我的计算机上,所以我负责合并分支并正确提交它们。因此,GIT 团队分为 2 个:其中一些在分支“branch1”上工作,其余的在“branch2”上工作。它们总是成对工作,所以当“branch1”完成时,我们为下一个任务创建另一个分支。

我尝试做的事情: 为了清楚起见,我从 master 创建了一个名为“masterSpace”的分支。我每天早上都在 master 上做 git-svn rebase,然后我将更改合并到 masterSpace 中。开发人员在需要时从 masterSpace“branch1”创建开发人员提交内容的地方。完成后,我必须在 SVN 上提交所有内容。我试过这样

然后开发人员会从这个 masterSpace 创建一个新的分支,让所有的东西都是最新的,并且这个过程会重复自己

问题: 我尝试使用具有单个提交并且效果很好的分支进行此操作,但是经过 2 周的工作后事情变得很糟糕......然后我的工作流程失败了。在我 decommited 之后,相同的提交在 master 和“masterSpace”上有不同的 ID,所以下次我尝试 dcommit 时,我遇到了很多冲突。即使在我将 master 合并到 masterSpace 之后。我什至尝试了一个简单的场景:

在此之后,我就像提前 10 次提交(因为我猜是之前提交的 ID)。所以……死胡同

Q1:解决方案? 我们的环境和用例的正确工作流程是什么,以便 GIT 和 SVN 团队可以同步并和平工作?我认为“masterSpace”是多余的,它永远不会像我想象的那样工作。不过,我必须为 dcommits 找到一个快速的解决方案,这样我的团队才不会浪费时间或代码。一些有用的信息:我们大约每 2 周更换一个分支。完成后,我们可以扔掉用过的分支并从master创建另一个

Q2:如何让一切自动化? 在不久的将来,我计划将我的“桥梁”移到詹金斯身上。是否有可能找到一种解决方案使其自动运行?比如在“jenkinsbranch”上合并一个分支。Jenkins 自动构建这个分支,如果它是绿色的,它会提交它,如果不是,等待另一个推送来修复构建

在我最初的场景中,我计划将“masterSpace”作为 jenkins 的“master”。开发人员会将他的分支合并到“masterSpace”中,jenkins 会创建一个 svn-rebase 并自动构建它,如果它是绿色的,则 dcommits 所有更改。否则,它会等待开发人员修复构建。但是……好像我错了。

TL:DR 当一个团队在 2 个不同的分支上工作了几周并希望在 SVN 中提交它们(并与 SVN 同步)时,正常的工作流程是什么?

0 投票
1 回答
426 浏览

git - 我的语法有什么问题?(从 gi​​t 迁移到 svn 的批处理文件)

我需要将一些 git 存储库迁移到 subversion。

有些项目有很多我想保留的历史。作者的名字也必须保持不变。

在修补并寻找其他方法来实现这一点之后,我似乎仍然无法让它正常工作。

我需要迁移的 git 存储库是我 C 盘上的本地存储库。我需要将这些存储库迁移到的 svn 服务器位于本地网络上。

到目前为止,这是我想出的:

当我尝试执行时,它也显示此错误:

“无法从 HEAD 历史记录中确定上游 SVN 信息。”

现在,在人们告诉我之前,我知道以前曾在这里问过类似的问题,我读了很多,但它们似乎没有提供使这项工作有效的缺失“关键”。

任何帮助表示赞赏。

控制台输出:

0 投票
1 回答
181 浏览

git - 如何忽略“git svn dcommit”中的子模块?

'git svn dcommit' 失败并出现以下错误

6aa885dabeb4f7d78ffcf45f6eb720c60a3e5b50 在 /build/git/share/perl5/Git/SVN/Editor.pm 第 440 行的存储库中不存在

无法在 /build/git/libexec/git-core/git-svn 第 1017 行读取对象 6aa885dabeb4f7d78ffcf45f6eb720c60a3e5b50

发现问题是因为后来添加到 git repo 的子模块。有没有办法在git svn dcommit不影响 git repo 的情况下忽略子模块提交。

笔记:

找到了一个重写历史的解决方案,避免使用 Filter-branch 选项的子模块,但我想这会篡改已经在生产环境中的 repo。

0 投票
1 回答
52 浏览

git - Git 和 SVN 通过 git svn 分支合并。哪种程序最好?

我正在使用 git svn 在 git 和 SVN 之间同步源。我喜欢与分支机构合作,这就是问题所在。

我正在创建一个分支: git svn branch mybranch

之后我检查分支。在我修改了源代码后,我准备将 mybranch 合并到 master 分支。

你怎么样?git merge 不起作用,并且 git merge --no-ff 创建一个提交。您是否使用cherry-pick 来挑选那些提交?如何在不丢失在 mybranch 中创建的提交的情况下将更改从 mybranch 集成到 master?

非常感谢!