如何在不传递p4提交表单内的描述的情况下执行p4提交操作

时间:2009-12-08 11:27:58

标签: perforce

我在Linux机器上有一个p4客户端工作区。

我在客户端空间中添加/编辑了一些文件,然后尝试将这些更改提交到perforce服务器。

我按照以下步骤操作但无法成功:

p4 submit -d "test" (相同的命令适用于Windows机器)

当我只用p4 submit尝试它时,它打开了一个p4提交表单,然后我用适当的描述替换了[在这里输入描述]标记,然后它就可以了。

但我不想为每个p4提交任务编辑p4提交表单。

如何从命令提示符处传递此信息?

Answer

-d flag support for p4 submit command was not introduced in 
perforce 2006 version. so here is the workaround for this problem:

    To modify the description field on pre-2006.2 release Perforce Servers, try
    piping the change form in/out of a stream editor. This will create a numbered
    changelist, which should then be submitted.

    For example, something like:

      p4 change -o | sed -e "s/<enter description here>/my desc/" | p4 change -i

    Which gives the output, similar to:

     Change 102 created with 3 open file(s).

    This change (number 102 in this case) can then be submitted, as follows:

      p4 submit -c 102

2 个答案:

答案 0 :(得分:0)

这不仅仅是您需要输入的描述,您还可以编辑更改列表规范,该规范允许您从提交中排除文件。

如果您可以在Windows上执行此操作,那么Windows上的客户端可能比您在Linux上使用的客户端更新?

答案 1 :(得分:0)

http://www.perforce.com/perforce/downloads/platform.html下载适当版本的p4命令行客户端。然后:

  1. 用新的p4可执行文件替换现有的p4可执行文件。
  2. 或者将新的p4 exe放在$PATH
  3. 中较早的目录中
  4. 制作chmod 755 <new p4>
  5. hash -r
  6. p4 -V验证您是否正在运行perforce 2009.1客户端
  7. p4 help submit
  8. 我们可以md5sum p4 binary
  9. p4 info并验证perforce服务器是否为2006.2或更新版本。
  10. 第5步应该产生:

    $ p4 -V
    Perforce - The Fast Software Configuration Management System.
    Copyright 1995-2009 Perforce Software.  All rights reserved.
    Rev. P4/LINUX26X86/2009.1/205670 (2009/06/29).
    

    第6步应该产生:

    $ p4 help submit
    
        submit -- Submit open files to the depot
    
        p4 submit [ -r -s -f option ]
        p4 submit [ -r -s -f option ] files
        p4 submit [ -r -f option ] -d description
        p4 submit [ -r -f option ] -d description files
        p4 submit [ -r -f option ] -c changelist#
        p4 submit -i [ -r -s -f option ]
    
            'p4 submit' commits a pending changelist and its files to the depot.
    
            With no argument 'p4 submit' attempts to submit all files in the
            'default' changelist.  Submit provides the user with a dialog
            similar to 'p4 change' so the user can compose a changelist
            description.  In this dialog the user is presented with the list
            of files open in changelist 'default'.  Files may be deleted from
            this list but they cannot be added.  (Use an open command (edit,
            add, delete) to add additional files to a changelist.)
    
            If a (single) file pattern is given, only those files in
            the 'default' changelist that match the pattern will be submitted.
    
            The -c flag submits the numbered pending changelist that has been
            previously created with 'p4 change' or a failed 'p4 submit'.
    
            The -d flag allows a description to be passed into submit rather
            than using a numbered changelist or engaging in a change description
            dialog. This option is useful when scripting but does not allow for
            jobs to be added or the default changelist to be modified.
    
            The -f flag allows a submit option to be passed into submit which
            will override the one that is set in the client. See 'p4 help client'
            for valid submit options.
    
            The -i flag causes a changelist specification (including files to be
            submitted) to be read from the standard input.  The user's editor
            is not invoked.
    
            The -r flag allows submitted files to remain open (on the client's
            default changelist) after the submit has completed.
    
            The -s flag extends the list of jobs to include the fix status
            for each job, which becomes the job's status when the changelist
            is committed.  See 'p4 help change' for more notes on this option.
    
            Before committing a changelist submit locks all associated files not
            already locked.  If any file cannot be locked, or if the submit
            fails for any other reason the files are left open in a newly
            created pending changelist.
    
            Submit is guaranteed to be atomic.  Either all files will be
            updated in the depot as a unit or none will be.
    

    其中重要的一点是:

        The -d flag allows a description to be passed into submit rather
        than using a numbered changelist or engaging in a change description
        dialog. This option is useful when scripting but does not allow for
        jobs to be added or the default changelist to be modified.
    

    第7步:

     $ md5sum $(which p4)
     bef01f66b8d3964c74a2d8992c0c900c  /opt/perforce/bin/p4
    

    步骤8:
    该功能是在perforce 2006.2中引入的,它可能需要一个足够新的服务器来支持该操作:

    #106450 (Bug #258) **
    'p4 submit' now sports a '-d description' option.  This allows
    the user to submit files without the need for a changelist 
    dialog.  See 'p4 help submit'.