【问题标题】:Versioning system with per file history vs. commit history具有每个文件历史记录与提交历史记录的版本控制系统
【发布时间】:2018-05-03 14:46:08
【问题描述】:

我正在寻找一个版本控制系统,它可以通过每个文件的 cmets 显示版本历史记录。

我使用 SVN(不是前面所说的 CVS)有一段时间了,并且在 git 中有一些项目。

两者(svn 和 git)都是“面向提交的”(我使用这个术语是因为没有更好的术语):当我查看存储库时,git 显示所有提交,当我打开一个提交时,我看到了,文件及其包含的更改。

我希望反过来:我想查看我的存储库中当前的所有文件和文件夹,并且对于每个文件,我都可以查看它所经历的提交历史。

对于每个提交,我必须输入摘要注释以及描述文件更改的每个文件注释。

我正在寻找它的原因是我的 NAV(以前称为 Navision)设计师的许可证:我可以更改我的 NAV 系统中的对象,但我无法导出源。因此我只有几个版本的编译“.fob”文件没有任何机会看到代码更改,所以我必须在每个文件注释中描述更改。

【问题讨论】:

  • 上次我检查 cvs 正是你想要的,你为什么认为它不是面向文件的?
  • 对不起,我的错:我没有使用 CVS,而是使用 SVN。刚刚在原始问题中更正了它。

标签: git version-control nav cvs revision-history


【解决方案1】:

我必须在每个文件的评论中描述更改

这个目标似乎不是 git 不适合的原因。基本上,您只需要:

  • 单独提交每个文件,而不是一次提交所有文件
  • 只能查询更改所选文件的提交。哪个 git 能够做到,并且非常可靠和快速,至少在您不重命名文件的情况下。

此外,您仍然可以在同一个提交中保持不同的更改,如果您发现它们在逻辑上是耦合的,只需在此处编写有关两者的 cmets。

【讨论】:

  • 通常我不会查询 repo 中的文件,而是浏览(我更喜欢图形客户端)。所以,我想要的是(以图形方式)单击文件并查看它参与的所有提交的列表,并且由于大多数文件是二进制文件,因此我需要为每个文件提交添加注释来描述它的更改。我仍然想一次提交多个文件,因为它们都是需要它自己的“主评论”的一项重大更改的一部分
  • @HeinziTuberkel - RClick - find "Log" command (when and if selected SCM-client is shell-extension by implementation)
【解决方案2】:

CVS 在 SCM 方面是面向文件的:对于一组文件,您不能定义单个修订并获取所有文件,对应于这个(修订片)状态

使用任何当前 SCM,但一次提交单个文件

【讨论】:

  • 那么,如果我必须为每个文件创建一个提交,那不是面向提交吗?每当我打开我的存储库时,我都会看到提交列表,而不是每个文件都有历史记录的文件列表。
  • @HeinziTuberkel 是的,您可以“按文件提交”。但也可以<SCM-name> log <FILENAME> 甚至对于组合提交获取 SINGLE MENTIONED OBJECT 的历史记录
猜你喜欢
  • 2018-11-04
  • 2023-01-31
  • 2014-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-18
相关资源
最近更新 更多