Perforce - 工作空间中的修订确定

时间:2015-11-12 08:55:39

标签: version-control perforce revision p4v

我刚开始使用Perforce作为版本控制并试图熟悉这些功能。我正在使用GUI工具P4V。

问题:我如何理解我的工作区中有哪些版本?

我很清楚,当我获取最新版本时,如果我有最新版本,则不会更改任何文件。但是我应该多久做一次呢?我之前使用的是Mercurial,我可以清楚地看到我现在有哪些变更。

根据我的研究,我遇到了命令p4 sync -n,它应该只显示差异,但不进行同步,但GUI工具怎么样,它能以某种方式显示吗?

1 个答案:

答案 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了解更多信息。