问题标签 [transplant]
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.
mercurial - 移植到一个变更集中
我正在尝试将更改从几个变更集中移动到另一个分支上的一个变更集中。我想跳过这两者之间的其他更改,所以我不想简单地合并所有内容。
hg transplant
正确移动更改,但现在我想将它们展平为单个提交。我怎样才能做到这一点?
version-control - 在 hg 中,如何在从另一个仓库重新定位和/或移植时删除分支名称?
基本上,我想尝试的是将 hg 修订版从实验性 repo 的一个分支拉到主线的克隆中。但我想丢弃分支名称,以便可以直接推送到服务器端主线 repo。最好举一个简单的例子:
如您所见,主线现在包含一个带有“branch: bar_branch”的 rev。我不希望这个版本有一个分支(即它应该是默认的)。
如果这需要使用rebase、移植或其他工具重写历史记录,那也没关系。我已经尝试了这两种方法,但无法正常工作。两个存储库之间的最新修订哈希可能最终不同。
所以我希望 hg_mainline 的最高版本看起来像:
没有命名的分支。
同样,如果没有从 hg_experimental 中保留哈希,也没关系。
我目前正在使用来自 Ubuntu PPA 的 hg 1.6.2+55-18e1e7520b67。
编辑:
我也用过 1.3.1。我对两者都进行了以下测试,这里的结果是相同的。
我让它与移植一起工作,但仅限于grep -v
kludge。
和:
无论有没有合适的 grep,hg export 都不起作用。
变更集补丁看起来像:
我从实验中导出:
并尝试通过以下方式导入主线:
它失败了:
编辑2:
如前所述,导出方法失败只是因为文件为空。它适用于--git
或适用于非空文件。
mercurial - 无需提交即可移植到工作区
有没有办法在不提交的情况下移植单个变更集?我希望能够在提交之前查看更改。
svn - 如何在svn中移植补丁
我曾经使用 git 在不同分支之间移植功能,rebase
, rebase --onto
,cherry-pick
是我使用的典型工具。但现在我必须使用 svn。我不喜欢使用 svn 的内置merge
命令,因为它会将所有提交合并为一个“合并提交”,尽管在 1.5 之后具有一些历史可追溯性。假设我有从 r100 到 r110 in 的一系列提交branchA
,现在我想将此功能移植到branchB
并branchC
通过使用相同的提交注释一一重播这些提交(解决两者之间的任何冲突)。是否有任何自动工具可以为我做到这一点?
mercurial - 在 mercurial 中,有没有办法在移植期间合并?
似乎移植所做的是从变更集中制作一个补丁并将其应用到目标之上,类似于qimport -r
then qpush
。
因此,当某些大块头无法申请时,您会收到拒绝文件并且必须手动“修复合并”。
有没有办法运行类似于的视觉合并rebase
?
不用说,我必须使用移植而不是变基,因为我不想包含所有后代变更集,即我正在挑选樱桃。
我会发布一个我想到的自我答案,但我想知道是否有简单/更好的方法。
mercurial - Mercurial - 在新代码提示之上重新设置旧代码分支,忽略分支与旧代码的合并
我正在玩弄Adium 源代码,发现他们有一个未发布的分支,adium-1.4
它通过使用 XMPP 修复了 facebook 聊天集成,称为facebook-xmpp
. 一切都很好,遵守它并且它有效。
问题是,如果我想在最新的 Adium 1.5 中拥有相同的功能,它的代码从大约两年前的旧版本中分离出来(旧版本的一些变更集不时被移植),我想我' d 必须以某种方式重新调整构成facebook-xmpp
分支的整个变更集范围,并将其应用到新adium-1.5
分支的尖端。我认为这可能会起作用,因为facebook-xmpp
它看起来主要是添加新代码,所以它应该很容易与最新的开发代码集成。
但是,由于facebook-xmpp
分支合并adium-1.4
了多次,我发现变基也会将合并的更改从 on 拉入adium-1.4
,adium-1.5
这会导致很多合并冲突。
问题是,有没有办法adium-1.5
只移植到添加到facebook-xmpp
分支的变更集,不包括与合并的变更集adium-1.4
?
git - 如何在与上游合并时在 git 中实现“浮动”的私有分支?
我有另一个组织的存储库的一个分支。我在 repo 中的最新标签,它不是头部,我已经从该标签创建了一个永远不会被推送到上游的分支。这就是为什么我认为分支是私有的。
我已经对我的私人分支做出了承诺,并在我的生产环境中使用了该代码。当对上游存储库进行新标记时,我希望能够提取他们的更改。
但是,我希望始终将我的提交保持在最后一个标签之上的整洁堆栈中。那时我不想合并,因为我的提交最终会在历史上很久很久,我希望看到它们就在最前面,这样当我在我的存储库上使用某些工具时,我可以轻松地使用它们。
所以真的,我想要一个“浮动”分支,当我将上游更改带到我的存储库时,我可以移植到任意点。
[编辑] 但是,我不相信我可以使用变基,因为这是一个历史重写操作。你看,我在两台机器上使用我的存储库,我的开发和生产。我在开发机器上提交,推送到 github,然后拉到生产环境。所有这些都与我最初派生的上游存储库的更改无关。
我对移植、摘樱桃或任何其他可能适合的工具并不完全清楚。不管它是什么工具,我认为它不应该重写历史。从我的阅读中,我看到在 push 时重写 repo 历史是一个禁忌。所以我不确定我应该使用什么命令来移植一个分支而不重写历史。
如果我使用的是 mercurial,我可能会考虑使用版本控制的 mq。我不知道 git 的类似解决方案是否有,或者是否有另一种更适合 git 的工具。
[编辑]
在评估了我在这里得到的回复后,我最终确定挑选樱桃是正确的答案。在所有情况下,rebase 都会删除历史记录,并且由于这是一个共享存储库,因此删除历史记录是不可接受的,至少根据我读过的每个来源都是如此。
然而,Cherry-picking 会将提交复制到我的工作树,而不会将其从其原始位置删除。所以我可以将我的更改副本放在最新标签的顶部,并将它们整齐地堆放在一起。
作为记录,我还尝试使用 Mercurial 执行此操作,方法是使用 hg-git 扩展,它允许您使用 hg 克隆 git 存储库。这有利有弊。最大的缺点是,我用完后,它无法推动。hg-git 在那之前一直工作得很愉快,然后告诉你它不支持 hg 1.9。假的,至少可以这么说。另一个缺点是克隆和提取大量更改非常慢。但是,mq 和 TortoiseHg 的合并冲突解决工具是对 git cherry-pick 和 Smartgit 的合并冲突解决的巨大改进。我希望 hg-git 可以工作。
我想最后,“浮动”对于我的更改分支来说并不是一个很好的描述,因为结果是复制它而不是移动它。抱歉我的描述可能很糟糕,我仍在弄清楚这些选项到底是什么。谢谢您的帮助。
module - prestashop 1.4 在新的钩子中移植家庭特色模块
我正在尝试将主页特色产品移到“newdiv”中的列 div 之外,如下所示:
为此,我编辑了 FrontController.php,添加了显示页脚的钩子('HOOK_FEATURED_HOME' => Module::hookExec('homeFeatured')):
在文件 footer.tpl 我添加了钩子:
我在数据库中添加
在 module/homefeatured/homefeatured.php 我添加了:
在课程结束时
我没有在 div newdiv 中看到任何内容。
当我尝试将模块移植到后台办公室的新挂钩时,我收到:
c# - C#中的HexBinaryAdapter?
我想使用 C# 来实现用 Java 编写的编码功能,但它有一些我以前从未见过的代码。
C#中是否有任何类似的API或方法,或者我也需要实现它?
android - 将我的ios应用程序移植到android应用程序很难吗?
我有一些ios app想要实现部署到android play市场,难不难?我知道如何开发object c程序,但不熟悉android编码。任何建议将不胜感激!谢谢!