问题标签 [revision]
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.
svn - SVN:如何获得文件的第一个版本?
使用存储库中的子目录时,如何在该特定目录已添加到存储库时找到修订?通过使用“svn info http://..”,我可以找出最后一次修改的时间(“Last Changed Rev”),但我还需要找出该目录(或文件)是第一次添加(它是“第一个”修订版)。
我一直在“SVN book”上搜索,谷歌搜索,但显然,我没有得到任何结果。
注意:我需要这个来制作一个下载日志并将它们存储在本地的 PHP 脚本,只是为了清楚并避免“使用 tortoise/svnx/versions/you_name_it 应用程序”;)
svn - SVN:是否可以获得给定路径的修订号列表?
我正在制作一个连接到存储库、下载提交列表并将它们存储在本地的 PHP 工具。但是,由于某些存储库可能很大并且获取它们的日志会导致等待时间长和可能的超时/错误,我想使用异步请求下载每个提交消息。
所以,我在修订历史中有一个起点和终点,我可以像这样抓取所有日志:
svn log -r <from_revision>:<to_revision> <REPO_URL>
...我最终可能会得到一个非常大的 XML 文件,以至于下载需要很长时间,需要很长时间和大量资源来解析,并且需要很长时间来存储。
如果我知道起点和终点,我可以创建一个 for() 循环来逐一获取修订:
svn log -r <revision> ...
但是,由于我不知道给定路径存在哪些特定修订,我会收到一个错误。我可以让应用程序在更新期间忽略该错误,但这是一个令人讨厌的黑客攻击,它会发布请求并等待响应 - 这一点都不好。
所以,我需要这样的东西:
- “给我这条路径的修订号列表”,或者:
- “给我这条路径的修订号列表,介于和
这样我就可以为存储库路径制作一组有效的修订版本并一个接一个地获取它们。
欢迎所有建议,在此先感谢。
windows - Git (TortoiseGit) - 如何将单个文件恢复到以前的版本,然后撤消恢复?
当将 Git 与 TortoiseGit 一起使用时:有人知道如何将单个文件(或完整的存储库)恢复到以前的版本吗?
例如,我有一个包含多个文件的存储库。一个文件存在于三个修订版(1 ; 2 ; 3)中。现在我想从第 3 版改回第 2 版。
TortoiseGit 在“显示日志”对话框中提供了一个“恢复”功能,允许跳转回特定的版本,但这将恢复您的整个存储库而不是单个文件。
同样,一旦我还原了某些内容,我不知道如何撤消还原并跳回最新版本。
java - 为基于 Java 的 Web 应用程序实现文章修订历史记录
关于如何最好地为基于 Java 的 Web 应用程序实现文章修订历史并将其保存在 AuditLog 中的任何想法
StackOverflow 已经有这样一个功能,可以让人们看到一个版本与另一个版本的差异,就像 SVN 客户端一样。
这更像是一个设计问题而不是实现问题。
另外:如何在网页上显示这些更改?
补充:建议的解决方案
Hibernate Interceptor将拦截保存过程并使用Castor XML创建旧对象的 XML 字符串。
class 和 id 用于获取特定对象的修订版本。
google-diff-match-patch将用于创建 HTML diff 文件
svn - 如何在每次提交时提交颠覆修订,以便在两个存储库之间引用
考虑软件分布在两个独立的存储库 Pub 和 Priv 中。Pub 存储库是公开的。私人已关闭。当任何一方发生变化时,持续集成服务器会同时构建 Pub 和 Priv。然后它从 Priv 创建可供 Pub 用户使用的可下载二进制文件。这些二进制文件在内部和带有颠覆修订的文件名上标记。
问题是:如何让从 Pub 构建的程序知道正确的、相应的 Priv 修订号,以便它们可以自动下载和运行?
当前的解决方案是让构建服务器修改 Pub 中的文件以设置 Priv 的修订号并将这些更改提交给 Pub。然而,这带来了两个重大问题:
构建需要很长时间,因此如果有人在构建过程中提交对 Pub(或 Priv)的更改,则会产生冲突。这可以强制解决,但日志历史看起来很奇怪,好像这些修订版已进入该版本。
颠覆日志有许多条目,例如“自动构建更新了版本”。每次构建运行都会污染其他信息丰富的颠覆日志。
那么我们能否以一种不需要更改存储库的方式来做到这一点。
真诚的,韦恩
svn - 如何列出曾经提交到存储库的所有文件?
我怎么能让 SVN 列出曾经提交到存储库的所有文件(如果可能,连同位置和修订版)。
更准确地说:我需要所有曾经存在的路径。
如果有人知道如何对整个存储库(包括所有修订版)进行全文搜索,这将对我有更好的帮助。
例子
假设我提交了一个文件SomeFileOne.txt
,稍后将其重命名为SomeFileTwo.txt
.
在执行所需的任务(我正在寻找的解决方案)之后,我不仅应该得到. SomeFileTwo.txt
,而且应该得到SomeFileOne.txt
.
svn - 是否有 svn:keyword 用于 subversion 中版本化文件的“修改计数”
CVS 中的 $Revision$ 显示文件的版本,它基于修改计数。
这很方便,因为修改次数可以作为“Build Number”,对于每个文件,这个数字本身就反映了一个文件的“成长寿命”。
但是在SVN中,版本是关于整个仓库的,对文件的任何修改都是对整个仓库的“原子操作”,所以如果仓库版本是342912,并且创建了一个新文件,那么那个文件就有一个开始修订号 342912,而不是更直观的 1。
您始终可以通过以下方式获取修改计数
但这效率不高,而且相当耗时。它应该很容易在 subversion 中实现,只需在存储库中添加一个 modified-count 字段,并在每次提交文件时递增。那么,这个功能已经实现了吗?是否有 svn:keyword 来扩展它?
version-control - 文件修订控制
如何在此处显示的文件中添加修订历史记录。只是为了保持简单和干净。
svn - Subversion 奇怪 - svn 信息修订高于项目文件夹上的最后更改 rev
发生了什么事,我无法解释。
我有我的项目的工作副本 - 完成 svn update(上面写着:更新到 1895 版),我知道它是最新的。当我svn info
在项目文件夹上执行时,Revision 是 1895,但 Last Changed Rev 是 1888。
使用 TortoiseSVN 检查日志显示 1888 是最后一个修订版,没有 1895 的痕迹。1895svn log
上的一个是空的,svn diff
1895 和 1888 之间的一个也是空的,即。没有区别。
我是如何以某种方式最终得到一些没有真正改变任何东西的流氓修订版?它基本上导致构建服务器(认为它在 1888 年)与我的 MSBuild SvnVersion 任务不同步(认为修订版是 1895 年)。
任何建议表示赞赏。
编辑:如果 Revision 将始终显示整个存储库的最新版本,则意味着 SvnVersion MSBuild 任务(它使用 svnversion.exe,但表现出类似的行为)在您拥有多个项目时不会显示正确的版本单存储库,您将需要使用“Last Changed Rev”作为您的版本号。
结果,现在滚动我自己的 SvnLastChangedRev MSBuild 任务。
eclipse - 如何在行号视图中激活修订信息
我知道一个 Eclipse 功能,用于显示 linenumbers 视图中一行的最后更改的修订信息(渐变着色,更多信息,如修订号、日期和鼠标悬停时的作者)。
有谁知道默认情况下如何为文件激活此功能,甚至更好?我最近不小心点击了一些快捷方式,使它显示在一个文件中,但它没有显示在其他文件中。