问题标签 [kiln]
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 - 如何从 Mercurial 存储库中删除大文件
另请参阅此问题。
在不知道自己在做什么的情况下,我启用了 largefiles 扩展,提交了一个文件并将其推送到 kiln。现在我知道我的方式的错误,我需要永久恢复这种变化。
我遵循了 SO 关于该主题的指导;我可以在本地删除大文件,但这不会影响窑中的远程仓库。我尝试在 Kiln 服务器上的 KilnRepositories 中打开 repo 并删除 largefiles 文件夹(以及从需要文件中删除“大文件”),但是在几次推/拉文件夹后,需要的行又回来了。
有没有办法让它永久化?(设置要求只读也不起作用)。
mercurial - TortoiseHG 相位错误
出于某种原因,TortoiseHG 不再认为我推送的变更集具有public
; 它将它们保持为“默认值”。
有什么方法可以强制 TortoiseHG 与远程存储库“同步”,并搞清楚这一点?
窑里有办法吗?
mercurial - 配置 HG 以对特定服务器使用未压缩传输
是否可以将 Mercurial 或 TortoiseHG 配置为在从某些服务器拉取或克隆时始终使用未压缩传输?我们在 Kiln 上有存储库,这些存储库具有位于本地 LAN 上的子存储库(主要是大型二进制文件)。当克隆或从 Kiln 拉取时,不应该使用未压缩的,但是子存储库应该使用未压缩的。我想指定任何时候 HG 访问我们的本地服务器,它应该使用未压缩的。我们使用 HgLab 作为我们的本地存储库服务器。
git - 如何使用 Git 使用 Kiln 管理分支?
我的公司正在使用 Kiln,因此开发人员可以在 Git 和 Mercurial 之间使用他们喜欢的工具。我是 Git 用户,从未使用过 Mercurial。
Kiln在使用分支时有一些不理解。当我使用 Kiln 界面创建一个新分支时,它实际上是创建一个新存储库,而不是一个分支。即使 Kiln 将其显示为“分支”而不是“存储库”。当我在 Git 中克隆存储库时,git branch -a
并没有显示我刚刚创建的远程分支。我需要独立克隆每个伪分支。
另一方面,如果我在 Git 中创建一个分支并将其推送到远程,它不会在 Kiln 上创建一个分支,而是在所有分支中都可以看到某种称为“头部”的“子分支”。非常混乱。但是显然没有办法通过 Kiln 接口创建这些与 Git 完美配合的“子分支”。我也不知道他们是否在 Mercurial 上运行良好。
我确信这与 Kiln 的亲水星“哲学”有关。我对 Mercurial 做了一些研究,发现分支系统与 Git 完全不同。克隆存储库以创建分支是正常的,而在 Git 中这是无意义的。Mercurial 也有不能删除的“命名分支”,Kiln 开发人员不鼓励使用它们。我的“子分支”实际上可以是“命名分支”吗?问题是我可以使用git push origin :sub-branch
.
答案一定很明显,因为分支是 Mercurial 和 Git 的一个重要特性,Kiln 必须以简单而优雅的方式使用这两种工具进行分支工作。但我无法弄清楚 Kiln 的逻辑。我担心 Kiln 可能对 Mercurial 过于友好,并且 Git 支持可能更像是一种 hack。
fogbugz - 将 Kiln 提交链接到fogbugz 票证
我有一个窑 repo 和一个 FB 系统。它们是集成的,因此当我提交某些内容时,如果我在提交消息中包含“Case 333”,它将链接到 Fogbugz 票证 333。
我该如何从另一边做到这一点?如果我忘记添加案例编号,如何从fogbugz 端进行连接?我查看了fogbugz的帮助,他们只告诉你如何执行Case 333方法,在你已经提交之后这没有帮助,因为你不能编辑提交消息。
mercurial - Kiln Mercurial 版本库
我们使用带有 mercurial 的 Kiln。
简化描述,我们有 2 种存储库。
一些
每个发布版本的“ CurrentDevelopment ”和存储库,例如发布版本13.1的 13.1。(还有用户存储库等,如 hginit.com 中所述,但暂时可以忽略)
现在有时我们需要对已发布的版本进行修复。所以我们在发布版本的存储库中修复它。对于13.1。
然后我们不能从13.1拉到currentDevelopment存储库
这似乎工作正常。
但是现在我们可以在“ CurrentDevelopment ”中做一些事情,一个月后我们认识到13.1也需要这种改变但是我不能从CurrentDevelopment拉到13.1因为还有很多其他的改变我不想有在13.1中
我知道这是某种我不容易实现的“樱桃采摘”。但是,如果源代码不多,我会在13.1中重新编码它们。
但是在那之后,当我对13.1进行更改时,我会拉动当前开发,我也会拉动已经包含在CurrentDevelopment中的更改:-/ 所以在最坏的情况下,我可能会遇到合并失败和重复代码?我不确定 mercurial 是否会安全地识别出此代码也包含在内。
实现这些特定于版本的存储库并处理它们之间的更改的推荐方法是什么?特别是如果以后在子版本分支中需要更改当前的开发存储库?
fogbugz - 您的服务器的 Kiln 是否正在退役?
我正在研究Kiln Harmony 功能,发现 FogCreek 只在 On Demand 中做广告。在“你如何获得它”部分,他们甚至没有提到它不适用于 On Premise 版本。
因此,我开始查找“Kiln on your Server”定价的详细信息,以查看包含的内容。我什至找不到许可的定价了。托管版本现在是唯一可用的 Kiln 吗?
我向客户服务提交了同样的问题,但我还没有得到答复。
http://www.fogcreek.com/kiln/pricing.html
它有这样一段文字说明:
立即免费试用 Kiln 45 天 — 功能齐全、用户数不受限制且无需信用卡。正在为您的服务器寻找窑炉?学到更多。
当您点击“了解更多”时,您将获得
Kiln 目前可通过 On Demand 获得。如果您目前在服务器上使用 FogBugz,并且想了解有关迁移到 On Demand 环境以便您的团队可以使用 Kiln 的更多信息,请联系我们。
我们在我们的服务器上使用 FogBugz 和 Kiln,所以这很麻烦,如果我只是看到一些东西,我想了解一下。
git - 从 Kiln 迁移到 github,git 在历史记录中有 .git 文件夹时出错
我们的来源是通过 SVN,然后是 Mercurial,现在是 git。当我们在 Kiln 中从 Mercurial 转换为 Git 时,我们没有遇到任何问题。然而,现在我们转移到 github,我们得到了这些错误:
这是因为在我们的历史中,我们的源代码树中确实有一些 git 项目。所以现在我正在尝试用以下方法修剪它们:
我已经阅读了几个关于此的问题/常见问题解答,但我想知道是否因为我们正试图删除一个 git 文件夹,如果这是问题所在。我很想得到一些反馈。
mercurial - Mercurial 存储库清理保留 Kiln/Fogbugz 历史记录
TL;DR 版本:是否可以在不破坏 Kiln/Fogbuz 历史的情况下重组 Mercurial 存储库?还是我必须重新开始?
我有一个非常混乱的存储库,需要进行一些认真的清理,并且正在尝试找出最好的方法。目标是完全删除一些文件——它们不应该出现在任何提交中,永远——移动一些目录,并将一个目录拆分到一个完全独立的存储库中。我知道,我知道——你不应该能够改变历史。但是,在这种情况下,它要么更改历史记录,要么从头开始使用新的存储库。
有问题的存储库在 Mercurial 中管理,远程存储库托管在Kiln中。在Fogbugz中跟踪问题。由于一些提交链接处理规则,提交消息中对问题(案例)编号的任何引用Case 123
都将转换为指向相关 Fogbugz 案例的链接。反过来,提到的案例有一个附有提交消息的注释。
当前结构
项目文件结构目前是这样的:
目标结构
我想要的结构是这样的:
a-plugin-folder
将移至其自己的单独存储库。test-config-file.php
将不再在存储库中进行跟踪。理想情况下,我还会对分支进行一些小的修剪和重命名。
在我的梦想世界中,file-with-sensitive-and-non-sensitive-info.php
会以某种方式始终如一地被跟踪,但是敏感信息(几个密码)被拉到一个不受版本控制的配置文件中。我意识到这可能是一厢情愿的想法。
我目前的想法
我目前的想法是,我的愿望清单基本上是不可能的:从现在开始,我可以创建新的、结构合理的存储库,但不能保留我的更改历史记录,也无法进行我需要进行的根本性结构更改。在这个视图中,我应该使用当前的代码库,按照我想要的方式重新组织它,并将它作为变更集 1 提交给两个新的存储库(根存储库和插件存储库)。然后,我会在某处备份旧存储库的副本以供参考。主要缺点:(1) 我丢失了所有历史记录,(2) Kiln 和 Fogbugz 对历史提交的交叉引用都是吐司。
我的问题
所以,问题来了:有什么方法可以做我想做的事——重组,拉出一些文件,让一切看起来很漂亮——而不丢失我所有的历史?
我考虑过使用hg convert
扩展名,大量使用filemap
,splicemap
和branchmap
选项。我用这种方法看到的问题包括:(1) 破坏所有先前的构建,(2) 根本没有file-with-sensitive-and-non-sensitive-info.php
先前的构建(或将其留在里面,这会破坏这一点),以及 (3) 大量渲染许多提交消息在他们引用文件名或 repo 结构的程度上是不正确的。换句话说,与刚开始干净、结构合理的存储库相比,我不确定这个选项对我有多大帮助。
我还考虑过极端的选择:编写某种自定义脚本来构建一个新的存储库,方法是遍历每个现有的提交,从 中剥离敏感信息,file-with-sensitive-and-non-sensitive-info.php
在必要的范围内重写提交消息,并提交所有内容的修订版本。从理论上讲,这可以解决我所有的问题,但代价是重新发明轮子并且可能要花费大量时间。我正在寻找不等同于编写整个hg
扩展的东西。
编辑:我正在考虑创建一个空的存储库,然后编写一个脚本,一次使用hg export
并hg import
带来一个变更集,在必要时进行编辑以从文件中去除密码等敏感信息。有没有理由这不起作用?
version-control - 使用 TortoiseHg/Mercurial 成功推送更改后,Kiln 不显示更改集
我将所有变更集都推送到了 kiln 上的存储库。如果您查看该列下方Phase
,它会显示我的变更集是公开的
但是,截至一周前,我的任何更改都没有出现在我的 kiln 存储库中,尽管每当我推送这些更改时都会获得绿色的“成功”标签。
这是我的日志的样子
不知道是什么问题,有人有什么建议吗?