问题标签 [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.
tfs - TFS 和关键字扩展
我们刚刚将一些项目从 Microsoft Visual SourceSafe (VSS) 移至 Microsoft Team Foundation Server (TFS),现在注意到关键字扩展不再有效。
例如,关键字 like $Log$
or$Header$
不再扩展为正确的值。
谁能告诉我们这是为什么?
version-control - 源文件顶部的源代码管理签入注释
我注意到我们系统中的一些源文件存在差异,其中一些包含源代码控制签入注释,而另一些则没有。签入时,这些注释会自动添加到文件顶部:
这似乎在我工作过的所有公司中都很普遍,但我必须承认我很难理解这一点。一般来说,评论不是那么好,经常是那些早已离开的人留下的,即使它们的标准很高,也很难将它们与物理代码更改联系起来。
令我震惊的是,您实际上是在更改要签入的文件。现在,对于将要编译的文件来说,这可能不是这样的问题,但对于其他文件(例如 JavaScript 文件)来说可能是一场灾难。
所以真的,我的疑问是在第一个实例中提供此功能背后的概念动机是什么?真的有人觉得这些评论有用吗?
另外,我很想知道这是否是源代码控制系统中普遍支持的功能。我知道 PVCS、VSS 和 Subversion(Subversion Keyword Substitution),但我想知道它是否也适用于一些更流行的 DVCS。
一如既往地感谢您的帮助。
version-control - 如何在 Mercurial 中扩展某些版本关键字?
在 CVS$LOG$
中,我可以放入源文件,当文件被签入时,$LOG$
文件中的真实日志将被扩展。
但是如何在 Mercurial 中实现这一点?当然,我指的是其他关键字,例如最新的签到日期和时间。
git - 是否有一个钩子可以更新克隆/拉取文件中的 $Id$?
我有一个裸露的(远程)GIT 存储库,其中有几个有幸提交的用户。在存储库克隆/拉取上,我希望每个包含魔法的源文件$Id:$
都扩展为 smth。喜欢:$Id: <name-of-last-committer> <data>
。
如果这个展开/折叠的魔术字符串不会影响文件修改状态,那就太棒了。
我想它是通过钩子完成的。我想知道是否有任何现成的这样的钩子?或者我的任务如何$Id
解决?谢谢。
git - Github - 如何在您的源代码中包含信息
他们是一种将最后提交号/分支信息注入您在 github 中的代码文件的方法吗?也许使用某种保留字或标记?我对高级源代码控制和 git 有点陌生,如果我没有使用正确的术语并随时改写问题,请原谅。
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?)
python - 您可以将关键字参数扩展与常规关键字参数结合起来吗?
我想做的是:
但这不起作用。有没有办法将字典扩展与显式参数结合起来,或者我需要在第二个字典中定义显式参数,合并两者,然后扩展结果?
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 可行吗?
git - 如何快速替换 git-svn 存储库中的 svn 关键字?
我在git-svn
使用 svn 关键字(如$Revision$
,$Id$
和$Date$
. 虽然通常它们不必被替换,但将正确的 SVN 修订版(git svn find-rev $(git log FILENAME | head -n1 | awk ' { print $2 } ')
如果它是实际的 SVN 提交可以通过)放入已编译的二进制文件中会很有帮助。如何轻松实现这一目标?
rtc - Rational Team Concert - 版本号/关键字扩展
我正在尝试创建一个嵌入构建版本的自动构建包。
使用的版本控制系统是 RTC。
据我所见,没有关键字扩展,也没有文件版本号。在 RTC 论坛上,有人回答 (pp) “RTC 中不需要扩展关键字,因为它提供了更可靠的机制来确定文件历史记录”。
具体是什么机制我不知道。奇怪的是 RTC 不做版本号,但 RTC 本身有一个版本号(例如 RTC 3.0)。
另一种方法是拥有一个包含此信息的文本文件并自己增加它。