我设法在Perforce中使用$ Revision $ RCS关键字:当我更新文件时
//depot/dev_projects/main/src/include/version.h
它会在文件中更新我的定义,很好:
#define VCS_VERSION "$Revision: #4 $"
包括version.h文件的修订版。
我真正需要的是将项目//depot/dev_projects/main/src/
的文件夹的修订版嵌入到version.h文件中。因此,如果有人将文件提交到例如//depot/dev_projects/main/doc/readme.txt,我希望在从版本库中获取最新版本后,在version.h中看到#define VCS_REVISION "$Revision: #5 $"
。
有办法吗?
答案 0 :(得分:1)
您需要担心两种情况:退出文件和新文件。对于现有文件(我假设您正在讨论c / cpp文件),您只需'p4重新打开'文件类型为'text + k'的文件,然后提交这些文件:
p4 reopen -t text+k //groovy_project/src/....cpp
这将重新打开// groovy_project / src位置中的所有.cpp文件并将它们设为'text + k'(+ k表示RCS关键字扩展,但我想你知道,因为你有关键字扩展工作)
对于新文件,您应该使用'p4 typemap'命令。 'p4 typemap'将在编辑器中显示typemap。此表单包含文件到文件类型的映射,用于添加到库的新文件。这些是新文件将接收的默认文件类型(除非在添加文件时显式添加的新文件使用不同的文件类型)。例如,如果你有
TypeMap:
text+k //groovy_project/src/....cpp
在你的typemap中,// groovy_project / src文件夹中的所有新.cpp文件都将获得text + k filetype,允许进行关键字扩展。
注意,如果您明确地为新文件提供的类型与typemap中的类型不同,则使用显式指定的类型。假设你有上面的类型图。命令:
p4 add -t text ~/projects/groovy_project/src/newfile.cpp
此文件将作为文本添加到库中,而不是文本+ k。
我希望这些信息有所帮助。
编辑:
阅读原始问题的编辑后,简答为否,您无法为文件夹添加修订。稍微长一点的答案是Perforce并不真正了解文件夹/目录。它只知道文件(因此也知道文件的路径)。目录不是数据库中的单个对象,它们可以使您想要的工作。
答案 1 :(得分:0)
我想你想要$ File $关键字: