问题标签 [keyword-substitution]

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 投票
3 回答
3667 浏览

version-control - 如何禁用 CVS 粘性选项 -kk 进行关键字替换?

我在 cvs 中有一个将 Sticky Options 设置为-kk. 这将所有 cvs 关键字替换为仅关键字名称以促进差异。例如,$Author: Alex B$变成$Author$

如何禁用该-kk行为并返回替换关键字的“正常” cvs?我试过rm'ing文件和更新,我试过cvs update -A了,都没有改变标志。

0 投票
18 回答
81710 浏览

git - 从 CVS 迁移到 Git:$Id$ 等价物?

我阅读了一堆关于简单源代码控制工具的问题,Git 似乎是一个合理的选择。我已经启动并运行它,到目前为止它运行良好。我喜欢 CVS 的一个方面是版本号的自动递增。

我知道这在分布式存储库中意义不大,但作为开发人员,我想要/需要这样的东西。让我解释一下原因:

我使用 Emacs。我会定期检查并寻找第三方软件包的 Lisp 源文件的新版本。假设我有一个文件 foo.el,根据标题,它是 1.3 版;如果我查看最新版本并看到它是 1.143 或 2.6 或其他什么,我知道我已经远远落后了。

相反,如果我看到几个 40 个字符的散列,我将不知道哪个更晚,或者知道它晚了多少。如果我不得不手动检查 ChangeLogs 以了解我有多过时,我绝对会讨厌它。

作为一名开发人员,我想将这种礼貌,正如我所看到的,扩展到使用我的输出的人(也许我在开玩笑说任何人都是,但让我们暂时搁置一下)。我不想每次都记得自己增加该死的数字,或者时间戳或类似的东西。那是真正的 PITA,我从经验中知道这一点。

那么我有什么选择呢?如果我无法获得 $Id:$ 等价物,我还能如何提供我正在寻找的东西?

我应该提一下,我的期望是最终用户不会安装 Git,即使他们安装了,也不会拥有本地存储库(实际上,我希望不会以这种方式提供它)。

0 投票
2 回答
229 浏览

svn - 如何在我的代码中获得更新的 $Revision$

我有一个项目,我想自动将修订号嵌入其中。

在这种情况下,它是一个多文件 perl 脚本。在主文件中,我有一行如下所示:

我的 $revision = '$Revision: 24 $';

当我发布时,我将项目签出到我的发布目录。

每当我签入对该文件的更改时,修订号确实会更改。$Revision$ 属性在签入时更新,但不在签出时更新。

问题是,主文件不会经常更改,所以即使项目中的其他文件现在是 27,主文件仍然有 24。

有没有办法让主文件反映最新的转速?svn 在结帐结束时打印出来的那个,即“Checked out revision 27”。

0 投票
2 回答
172 浏览

c - 从源文件中删除关键字替换注释?

注意:为了更好的词,我在源文件的开头称为绒毛——

--关键字替换评论,虽然我不知道这是否只是一个颠覆术语。

无论如何,现在问题是:我们有一个第三方供应商,我们可以从它那里获得源代码。这些 c 源代码都有这些关键字 subst 注释,每次我们从供应商处获得新版本时,所有(1000 多个)文件都会更改,因为它们会在发送给我们的每个版本中更新这些注释,即使源代码没有任何更改在这些文件中进行,所以唯一的变化是注释。现在,在我们编译和使用这些源代码之前,我们有兴趣进行粗略的代码审查以查看已更改的区域。(永远不要相信发布历史)。然而,这相当困难,因为做一个简单的文件夹差异显然会列出所有文件。

我现在正在寻找的是是否已经存在任何简单的工具来从源文件中删除这些特殊的多行注释。也许有人有一个 grep 或 sed 脚本的链接,可以从文件中刮掉这些东西?

0 投票
1 回答
270 浏览

eclipse - Eclipse:如何替换复制到输出文件夹的文件中的字符串

Eclipse 将不是 Java 源的文件按原样复制到输出文件夹。我需要在复制这些文件之前对其进行预处理(替换变量)。替换表应基于项目。

理想情况下,maven2 属性应用作替换表。

0 投票
2 回答
895 浏览

svn - TortoiseSVN 无法正确设置关键字

我仍在学习 TortoiseSVN 1.6,到目前为止,我无法设置关键字,因此一旦运行提交命令,它们就会在文件中更新。

我都右键单击文件/目录>属性>新建。我svn:keywords从下拉列表中选择,然后在属性值字段中添加$Author$ $ID$ $HeadURL$ $Revision$$Date$

我还通过右键单击桌面 > 设置 > Subversion 配置文件将这些添加到。从这里我取消注释enable-auto-props = yes并添加以下两个条目:

我的文件是具有以下内容的基本文本文件:

  • *修订$修订$
  • *作者 $Author$
  • *日期$日期$
  • *ID $ID$

在我提交这个存储库之后,这些关键字没有更新,所以我不确定我在这里做错了什么。

0 投票
1 回答
1404 浏览

android-studio - Android studio,将项目导入CVS仓库

我在 Android Studio 中有功能齐全的项目。我想将此项目导入 CVS 存储库,然后在另一台 PC 上检查它。导入 CVS 时,只有一个选项可供选择:关键字替换,但我找不到很好的解释什么是最佳选项。

我不知道问题出在哪里。如果在导入 CVS 或签出。

构建项目后我得到的唯一错误:

C:\Android\EsoCRM\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.0.0\res\values-v23\values-v23.xml 错误:(2) 检索父级时出错对于项目:未找到与给定名称“android:TextAppearance.Material.Widget.Button.Inverse”匹配的资源。

错误:(2) 检索项目的父项时出错:找不到与给定名称“android:Widget.Material.Button.Colored”匹配的资源。

错误:任务“:app:processDebugResources”执行失败。com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\Roman\AppData\Local\Android\sdk\build-tools\23.0.2\aapt .exe'' 以非零退出值 1 结束

在 Android Studio 中管理 CVS 存储库的最佳方式是什么?

0 投票
1 回答
88 浏览

svn - 您可以为文件内显示的存储库中的每个文件设置修订号吗?

我想要这个功能(SVN Tortoise 关键字替换)

在存储库的每个文件中,无需在其中手动添加关键字。

有没有办法让修订号出现在每个文件中而不做所有这些?

0 投票
1 回答
22 浏览

web - 我的服务器在哪里替换 ### 字符串?

我正在尝试将一个基于 PHP 的网站转移到一个新的 ISP,因为原来的开发人员已经失去了他们所有的 PHP 能力(而且我真的是一个 Oracle 程序员)。

我已经使用 LAMP 在我的家庭系统上设置了一个开发环境,它几乎可以正常服务所有内容。我正在尝试模拟 prod 环境,因此将网站设置在服务器上自己的目录下(不是基本 Apache 目录),使用自己的 example.com.conf 文件进行设置,并模拟示例。 com 在开发服务器和测试客户端上的 /etc/hosts 文件中。

包含的模板之一包括以下行: <base href="### WEB_ROOT ###" />

这是从原始网络服务器出来的: <base href="https://example.com/" />

不幸的是,它是从我的开发服务器中出来的: <base href="https://localhost/" /> 这意味着没有任何相对路径有效。

还有其他行对 TITLE、META DESCRIPTION 和其他行使用相同的符号。

我试过搜索 PHP、HTML 和 Apache 替换字符串,但我找不到任何关于这个 '###' 表示法的信息。

我什至不知道这个替换发生在堆栈中的哪个位置,所以如果有人可以指出一些关于它的文档,尤其是我需要设置 WEB_ROOT 等变量的地方,那就太好了。

谢谢