Perforce将一个文件夹添加到库

时间:2012-08-15 17:42:26

标签: perforce

我是Perforce的新手。你能在仓库的分支下添加一个新文件夹吗?我也尝试在我的工作场所添加一个,但我怎么能把它送到仓库?我必须进行合并/整合吗?

感谢。

7 个答案:

答案 0 :(得分:23)

p4 add 不支持递归添加。

这是一个unix shell解决方案,可以在你想要添加的根文件夹中运行:

find . -type f -print | p4 -x - add

答案 1 :(得分:14)

从您的本地工作区,创建您想要进入其中的文件夹和文件。然后将其从可视客户端标记为添加,或从命令行进入该文件夹,然后键入...

p4 add ./new_folder/new_file_name.ext

提交时,新文件和文件夹将位于您的存储库中。这假设new_folder是您现有工作区的子文件夹。如果不是,请告诉我,我会更新我的答案。

以上命令将在默认更改列表下添加文件。稍后如果您想查看if文件是否真的添加到默认更改列表

p4 opened

对于已打开文件的提交,在默认更改列表下,到depot

p4 submit 

答案 2 :(得分:12)

如果您的服务器版本是2012.1或更高版本,则可以使用reconcile命令执行此操作,并获得完整的通配符支持:

<script language="javascript">

    var t1;
    var t2;
    var t3;
    var st1, st2, st3;
    function fn_sample() {
        document.getElementById('reset').style.display = 'none';
        document.getElementById('start').style.display = 'none';
        document.getElementById('stop').style.display = 'inline-block';
        running = true;
        document.frm.txtS.value = parseInt(document.frm.txtS.value) + 1;
        t1 = document.frm.txtS.value;
        if(t1>60){

            document.frm.txtS.value = 0;
            fn_incMin();
        }
        st1 = window.setTimeout("fn_sample()", 1000);

    }

    function fn_incMin() {

        document.frm.txtM.value = parseInt(document.frm.txtM.value) + 1;
        t2 = document.frm.txtM.value;
        if(t2>60){

            document.frm.txtM.value = 0;
            fn_incHrs();

        }
        st2 = window.setTimeout("fn_incMin()", 60000);

    }

    function fn_incHrs() {

        document.frm.txtH.value = parseInt(document.frm.txtH.value) + 1;
        t3 = document.frm.txtH.value;
        st3 = window.setTimeout("fn_incHrs()", 3600000);

    }

    function fn_stop() {
        document.getElementById('reset').style.display = 'inline-block';
        document.getElementById('start').style.display = 'inline-block';
        document.getElementById('stop').style.display = 'none';
        window.clearTimeout(st1);
        window.clearTimeout(st2);
        window.clearTimeout(st3);
    }

    function fn_reset() {

        document.frm.txtS.value = 0;
        document.frm.txtM.value = 0;
        document.frm.txtH.value = 0;

    }

</script>
</head>
<body>
    <form name="frm">
        <input type="text" name="txtH" value="0" size="2"/>
        <input type="text" name="txtM" value="0" size="2"/>
        <input type="text" name="txtS" value="0" size="2"/>
        <br /><br />
        <input id="start" type="button" value="Start" onclick="fn_sample();"style="display:inline-block" />
        <input id="stop" type="button" value="Stop" onclick="fn_stop();" style="display:none" />
        <input id="reset" type="button" value="Reset" onclick="fn_reset();" style="display:inline-block" />
    </form>
</body>

答案 3 :(得分:3)

使用命令

p4 add directory_to_be_added/...

这将以递归方式添加以“directory_to_be_added”开头的所有内容

答案 4 :(得分:2)

从perforce中的目录添加文件

  

p4 reconcile -f -c [changeList] -a <dir_path_to add>

答案 5 :(得分:0)

如果您使用p4v递归添加文件夹,则需要单击:

"Connection" -> "Edit Current Workspace"

然后手动将新文件夹的映射添加到您的软件仓库。

然后转到你的&#34;工作区&#34;查看并右键单击根文件夹,单击&#34;标记为添加&#34;和评论。其下的所有文件都应显示在新的待定更改列表中。

答案 6 :(得分:0)

我遇到的情况是我需要添加带有通配符名称的文件的整个文件夹,所以不得不通过命令行使用-f(强制),我使用“dir / b / s / ad | p4 -x - 添加-f“