我刚开始使用Perforce作为版本控制并试图熟悉这些功能。我正在使用GUI工具P4V。
问题:我如何理解我的工作区中有哪些版本?
我很清楚,当我获取最新版本时,如果我有最新版本,则不会更改任何文件。但是我应该多久做一次呢?我之前使用的是Mercurial,我可以清楚地看到我现在有哪些变更。
根据我的研究,我遇到了命令p4 sync -n
,它应该只显示差异,但不进行同步,但GUI工具怎么样,它能以某种方式显示吗?
答案 0 :(得分:1)
要获取服务器端的状态:
在P4V中 - >查看菜单 - >选择历史记录选项卡。
然后,您可以在界面顶部编辑所需的路径,然后刷新(点击 F5 )。历史记录选项卡将为您提供影响该路径的所有更改列表的列表。
顶部的更改列表是您路径中的最新更改列表。
或者,在命令行中使用:
#include <stdio.h>
#include <string.h>
int appendSpaces(char *str,unsigned int n);
int main(void)
{
char str[20] = "abc";
appendSpaces(str,2);
printf("%s\n",str);
}
int appendSpaces(char *str,unsigned int n)
{
size_t len = strlen(str);
if( n >= len )
return 0;
size_t y = len , x = y;
while( n-- > 0 )
{
while( x-- )
{
str[x+1] = str[x];
if( x == 0 )
break;
}
str[x] = ' ';
str[y+1] = '\0';
x = ++y;
}
return 0;
}
m1将历史深度限制为1:所以基本上是路径中的最新更改列表。
要获得工作区的状态:
您可以使用:
p4 changes -m1 //path/...
此外,要列出当前工作空间状态和服务器之间的所有修改,您可以使用:
p4 changes -m1 @workspace_name
我不知道如何直接从P4V获取工作区中的最新更改列表。
请参阅p4 changes documentation了解更多信息。