问题标签 [subtree]
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.
git - 如何将补丁应用于 git 子树合并?
我通过执行子树合并将子项目添加到 git 存储库。我现在需要对子项目应用补丁,但运行“git apply -v patch_name.patch”什么也没返回。没有错误消息,也没有任何文件被更改。
我已经尝试单独克隆子项目(即,进入子目录/tmp)并将其与主项目下的子项目目录中的内容进行比较;目录是一样的。
当我对 /tmp 下的克隆运行补丁时,它会按预期应用。似乎问题与子项目目录是子树合并的结果有关。
我想我可以修补新克隆下的文件,然后将它们复制到我的主项目下的子项目目录中。看来我不应该那样做。有没有更好的方法来解决这个问题?
javascript - 更改 JavaScript InfoVis Toolkit 的 Spacetree 的子树方向
我正在使用 JIT (JavaScript InfoVis Toolkit) Spacetree。示例:http ://thejit.org/static/v20/Jit/Examples/Spacetree/example1.html
将整个树的方向更改为顶部、右侧、底部或左侧是微不足道的:
..但我想在主树的特定子树上执行此操作。到目前为止,我一直无法弄清楚这一点。基本上,我使用 Spacetree 来显示站点地图,并且我希望默认情况下整个站点都可见,而不会被切断。我已经设置了选项,以便整个树可见(约束:false,levelsToShow:3),但是树本身对于窗口来说太大了。我意识到完全避免这种情况可能是不可能的,但改变特定子树的方向(可能基于深度?)将优化树占据的空间并将其更多或全部内容置于可见视图中。
如果描述不够明显,树的画布的大小就是窗口的大小。
提前致谢!我期待听到任何答复。
git - Git 的子树合并策略没有选择正确的目录
我有一个看起来像这样的存储库:
subrepo
是 github 上的一个存储库,我的存储库中有一个远程存储库,例如sub
,它可以跟踪它,但是没有一个文件被合并。
我想要的是sub/master
在subrepo
文件夹中合并。我知道这一点a_file_in_subrepo
并且与another.ext
他们完全一样,sub/master
但是如果我跑步,git merge -s subtree sub/master
我不会得到我想要的,而是得到:
我真的很困惑。我知道它猜测要自动合并到的目录,我可以覆盖它吗?
git - git subtree 将更改推送回子树项目
以下内容的缩写:我想将提交消息推送到子树,但只有适用于该树的消息。我该怎么做呢?
我有两个项目,Master
和Slave
. Slave
被检出为Master
检出到lib/slave
的子树,git subtree merge --prefix=lib/slave --squash projects/slave
其中projects/slave
一个分支Slave
被检出:
分支机构:
主项目/从站 → 从站
现在我正在我的master
分支上工作,对作为两个项目一部分的文件进行提交,一切都很顺利。现在我想将更改推回Slave
:
- git结帐奴隶
- 混帐???掌握
如果我进行正常的合并,无论是否修改了任何文件,我都会为每个提交给 master 提交提交lib/slave
。或者我可以做一个--squash
并且只得到一个提交,但是我丢失了日志消息。
那么如何获得适当的日志消息呢?例如,如果我的master
日志历史是:
- 将图像添加到主控
- 仅从站中修改的文件
- 仅对 master 进行更多更改
- master和slave中的修改文件
我希望将其添加到Slave
:
- 仅从站中修改的文件
- master和slave中的修改文件
git - 使用 git 但不使用 git 子模块在子目录中安装 wordpress
我正在使用 git(基于 Mark Jaquith 的 Wordpress Local Dev 帖子)在本地主机上工作以实现 wordpress 工作流程。我的文件结构看起来像这样
本地开发
- .git
- 索引.php
- .htaccess
- wp-config.php
- local-config.php(忽略)
- 内容/主题/
- 内容/插件/
- 内容/上传/(忽略)
- 核心/(wordpress核心)
我想要做的是从 github 获取最新的 wordpress 并将其放入 core/ 以便升级过程看起来像
但是我花了很多时间弄清楚如何将 Wordpress 放在自己的目录中,而无需
- 使用svn
- 使用 git pull 进入 local.dev 并手动将文件移动到 core/ 中。
我错过了什么?
谢谢
git - 使用子树合并策略,历史没有合并
我正在尝试通过“子树合并”将外部 SVN 存储库用作我的存储库中的子树。我相信这应该保持库中文件的历史完整,但它不起作用 - 来自合并到我的主分支中的子树的库没有历史记录,但在我添加它们时提交 - 这是一个历史记录来说明我的意思,正是我将要达到的状态如下。
这就是我正在做的尝试让它发挥作用:
这“有效”,但是,正如我所说,当我查看我的历史记录时,我希望从 libYAML 存储库中看到完整的历史记录,但我没有 - 如上所述。
algorithm - 如何生成从根节点展开的所有子树?
我需要一种有效的算法来生成从根节点扩展的所有子树。该算法应该适用于任何树结构。任何人都可以贡献代码吗?
例如,给定树的边为 0->1、0->2、2->3。有六个子树:0,
0,1
0,2
0,1,2
0,2,3
0,1,2,3
c - 如何在 BST C 语言中删除子树?
我想做pop函数来删除节点的节点和子树。这是我的代码
在我使用 pop 之前,Pre 函数运行良好。但是在我使用 pop 功能之后,它就中断了。谁能知道错误在哪里?
algorithm - 部分子树匹配算法
我搜索了论坛,但我无法弄清楚其他类似的问题是否必然与这个问题有关。
我要做的是将子树与对象树匹配。
我知道有基于后缀树或自动机的模式匹配算法,但我不确定它们是否适用于此。
我试图将图片中红色节点给出的子树与更大的树进行匹配,无论树的整体结构或红色节点是否有子节点。
直接模式匹配不起作用的原因是没有可用的节点排序(后/预排序、广度)。
所以我正在考虑编写一个递归算法,它从子树的根开始并尝试匹配节点,然后是它们的子节点。
我想知道是否存在任何这样的(有效的算法)。抱歉,如果这已经被问到了。
git - 使用 git subtree push 的“致命:坏对象”错误
这是一个菜鸟问题,但我有能力解决这个问题。我继承了一个似乎是回购损坏的 git 子树的奇怪问题。
这是场景:基于 git 的项目 A 的子树正在项目 B 中使用。部署脚本的一部分使用将子树推送到项目 B 的 repo:
git subtree push -P sub/path/name --squash git@github.com:MyCo/project_b.git projectb_branch
它开始推送提交并失败
我在源代码库的 git 日志中搜索了 SHA。它显示在提交中:
目标 repo (project_b) 确实具有该 SHA 的提交,但源 repo 没有。我浏览了子树 shell 脚本,我可以看到它在尝试使用 git log 查找该对象时失败了(在调用 git log -l --pretty=format:'%T' {sha} 的 toptree_for_commit 函数中)。
在这一点上,我有点不知所措,但渴望找到解决方案。在我有限的知识允许的范围内,我已经对此进行了研究,因此我欢迎任何可以让我更接近解决方案的提示、技巧或 RTFM。
我由衷的感谢!