问题标签 [keyword-expansion]

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 回答
2898 浏览

tfs - TFS 和关键字扩展

我们刚刚将一些项目从 Microsoft Visual SourceSafe (VSS) 移至 Microsoft Team Foundation Server (TFS),现在注意到关键字扩展不再有效。

例如,关键字 like $Log$or$Header$不再扩展为正确的值。

谁能告诉我们这是为什么?

0 投票
3 回答
169 浏览

version-control - 源文件顶部的源代码管理签入注释

我注意到我们系统中的一些源文件存在差异,其中一些包含源代码控制签入注释,而另一些则没有。签入时,这些注释会自动添加到文件顶部:

这似乎在我工作过的所有公司中都很普遍,但我必须承认我很难理解这一点。一般来说,评论不是那么好,经常是那些早已离开的人留下的,即使它们的标准很高,也很难将它们与物理代码更改联系起来。

令我震惊的是,您实际上是在更改要签入的文件。现在,对于将要编译的文件来说,这可能不是这样的问题,但对于其他文件(例如 JavaScript 文件)来说可能是一场灾难。

所以真的,我的疑问是在第一个实例中提供此功能背后的概念动机是什么?真的有人觉得这些评论有用吗?

另外,我很想知道这是否是源代码控制系统中普遍支持的功能。我知道 PVCS、VSS 和 Subversion(Subversion Keyword Substitution),但我想知道它是否也适用于一些更流行的 DVCS。

一如既往地感谢您的帮助。

0 投票
2 回答
1792 浏览

version-control - 如何在 Mercurial 中扩展某些版本关键字?

在 CVS$LOG$中,我可以放入源文件,当文件被签入时,$LOG$文件中的真实日志将被扩展。

但是如何在 Mercurial 中实现这一点?当然,我指的是其他关键字,例如最新的签到日期和时间。

0 投票
2 回答
604 浏览

git - 是否有一个钩子可以更新克隆/拉取文件中的 $Id$?

我有一个裸露的(远程)GIT 存储库,其中有几个有幸提交的用户。在存储库克隆/拉取上,我希望每个包含魔法的源文件$Id:$都扩展为 smth。喜欢:$Id: <name-of-last-committer> <data>

如果这个展开/折叠的魔术字符串不会影响文件修改状态,那就太棒了。

我想它是通过钩子完成的。我想知道是否有任何现成的这样的钩子?或者我的任务如何$Id解决?谢谢。

0 投票
3 回答
198 浏览

git - Github - 如何在您的源代码中包含信息

他们是一种将最后提交号/分支信息注入您在 github 中的代码文件的方法吗?也许使用某种保留字或标记?我对高级源代码控制和 git 有点陌生,如果我没有使用正确的术语并随时改写问题,请原谅。

0 投票
4 回答
1129 浏览

git - Git 关键字扩展或替代

在这里阅读了一些关于这个主题的帖子后,我意识到有很多反对使用关键字替换的缺点。尽管如此,我需要一种方法来解决以下问题,并希望有人可能对如何使用 git 解决这个问题有一个想法(无论是否使用关键字替换):

我有一个使用 git 作为 VCS 的主应用程序。这个主要应用程序的一部分(一组 XML 文件)正在被一个实用程序使用,我也使用 git(单独的 repo)。

现在,主应用程序和实用程序具有不同的发布周期,每当我发布实用程序的新版本时,我都会从主应用程序复制最新的 XML 文件集。在该实用程序中,这组 XML 文件是 git 中的非版本控制内容,因此它甚至没有签入到 repo。

到目前为止,每当我查看此实用程序的不同版本(由 git 管理并标记版本)时,我都无法知道包含的 XML 文件集指的是哪个“版本”(更好:提交哈希) .

所以我在想:如果我可以在这些 XML 文件中拥有最新的提交 SHA(作为评论),我总是知道我的实用程序的某个版本引用了哪一组 XML 文件。这种方法有什么问题吗,或者这是要走的路?如果是,我如何将最新的 commit-SHA 放入我的 XML 文件中?(我读到 $Id:$ 不会接受 commit-SHA,而是一些“blob”-SHA?)

0 投票
2 回答
2536 浏览

python - 您可以将关键字参数扩展与常规关键字参数结合起来吗?

我想做的是:

但这不起作用。有没有办法将字典扩展与显式参数结合起来,或者我需要在第二个字典中定义显式参数,合并两者,然后扩展结果?

0 投票
1 回答
1187 浏览

eclipse - Eclipse Git 关键字扩展

每次我将源代码检出到 git-hub 服务器时,我都需要更新我的源代码修订关键字(@version、@date 等)。

你可能知道:

在 Git 中这样做的主要问题是,您无法在提交后修改包含有关提交信息的文件,因为 Git 首先校验文件。

基本上我想要实现的是我的源代码应该如下所示:

在这里这里你可以找到关于如何在 Git 中实现这一点的完整描述。

事实证明,您可以编写自己的过滤器,以便在提交/签出时在文件中进行替换。这些是“清洁”和“涂抹”过滤器。在 .gitattributes 文件中,您可以为特定路径设置一个过滤器,然后设置在文件被签出之前(“涂抹”,参见图 7-2)和提交之前处理文件的脚本。

所以我知道如何用 git 命令来做。我已经测试过,它可以正常工作!我真正的问题是我想通过使用 Eclipse IDE 来实现同样的目标。在 Eclipse 中,我有 Eclipse Git,它是基于 JGit 的 Eclipse Team 提供程序,JGit 是 Git 版本控制系统的纯 Java 实现。

在 Eclipse EGit 中没有这样的命令“git checkout”,但可以通过硬重置来完成(右键单击您的项目,然后选择团队 -> 重置 -> 硬)。不幸的是,这不会运行您的清洁/涂抹过滤器,实际上您将从 git hub 获得源代码的纯副本,而无需关键字扩展。

我希望我已经详细描述了整个故事,因为现在我要问:

  • 这在 Eclipse 中使用 EGit 可行吗?
0 投票
0 回答
279 浏览

git - 如何快速替换 git-svn 存储库中的 svn 关键字?

我在git-svn使用 svn 关键字(如$Revision$,$Id$$Date$. 虽然通常它们不必被替换,但将正确的 SVN 修订版(git svn find-rev $(git log FILENAME | head -n1 | awk ' { print $2 } ')如果它是实际的 SVN 提交可以通过)放入已编译的二进制文件中会很有帮助。如何轻松实现这一目标?

0 投票
1 回答
961 浏览

rtc - Rational Team Concert - 版本号/关键字扩展

我正在尝试创建一个嵌入构建版本的自动构建包。

使用的版本控制系统是 RTC。

据我所见,没有关键字扩展,也没有文件版本号。在 RTC 论坛上,有人回答 (pp) “RTC 中不需要扩展关键字,因为它提供了更可靠的机制来确定文件历史记录”。

具体是什么机制我不知道。奇怪的是 RTC 不做版本号,但 RTC 本身有一个版本号(例如 RTC 3.0)。

另一种方法是拥有一个包含此信息的文本文件并自己增加它。