合并会始终更新文件的修订号吗?
Will a merge always update the revision number of a file?
假设我正在将 branch-alpha
中的目录合并到 trunk
中。 branch-alpha
中有一个名为 phi.txt
的新文件将被合并到主干中。 phi.txt
的改版会改变吗?
我感觉到 terminological/conceptual 问题 ;-)
在 Subversion 中,文件没有修订号(与 CVS 相对)。
修订号是提交的 属性。
但是,任何给定文件在特定修订版中可能存在或不存在,并且在其中具有特定状态。
比如说,给定一系列修订…→@10
→@11
→@12
…,某个文件可能在第 @11
次修订中被更改,但是您仍然可以使用这些修订号中的任何一个来引用该文件的内容,仅通过 @10
引用该文件将给出 "old" 内容,通过 @11
和 @12
将给出 "new"(和相同的)内容——也就是说,直到将来的某个修订版,@N
将再次更改该文件。
然后通过一些过去的修订引用它 @P
P@11,并使用未来的修订号 @F
F>N 将引用其在 @N
中记录的内容。
现在直接回答问题:
- 文件的 内容 可能会更改,当且仅当它会被该合并更新时。
- 合并肯定会创建一个新的修订版,但这将是存储库范围内的修订版,而不是该特定文件(或存储库中的任何其他文件)的修订版。
- 合并后,如果文件的内容被更新,通过合并提交的修订号引用它将会引用更新后的文件内容,并且使用紧接在合并之前的修订号来引用它commit 将引用文件的 "previous" 内容。
以防万一您不知道,您可以使用 path/to/the/file@rev
来参考在特定修订版中找到的特定文件的状态,就像在 app/js/foo.js@12345
.
中一样
现在清楚了吗?
假设我正在将 branch-alpha
中的目录合并到 trunk
中。 branch-alpha
中有一个名为 phi.txt
的新文件将被合并到主干中。 phi.txt
的改版会改变吗?
我感觉到 terminological/conceptual 问题 ;-)
在 Subversion 中,文件没有修订号(与 CVS 相对)。 修订号是提交的 属性。
但是,任何给定文件在特定修订版中可能存在或不存在,并且在其中具有特定状态。
比如说,给定一系列修订…→@10
→@11
→@12
…,某个文件可能在第 @11
次修订中被更改,但是您仍然可以使用这些修订号中的任何一个来引用该文件的内容,仅通过 @10
引用该文件将给出 "old" 内容,通过 @11
和 @12
将给出 "new"(和相同的)内容——也就是说,直到将来的某个修订版,@N
将再次更改该文件。
然后通过一些过去的修订引用它 @P
P@F
F>N 将引用其在 @N
中记录的内容。
现在直接回答问题:
- 文件的 内容 可能会更改,当且仅当它会被该合并更新时。
- 合并肯定会创建一个新的修订版,但这将是存储库范围内的修订版,而不是该特定文件(或存储库中的任何其他文件)的修订版。
- 合并后,如果文件的内容被更新,通过合并提交的修订号引用它将会引用更新后的文件内容,并且使用紧接在合并之前的修订号来引用它commit 将引用文件的 "previous" 内容。
以防万一您不知道,您可以使用 path/to/the/file@rev
来参考在特定修订版中找到的特定文件的状态,就像在 app/js/foo.js@12345
.
现在清楚了吗?