如何执行 p4 提交操作而不在 p4 提交表单内传递描述

发布于 2024-08-14 03:34:20 字数 1056 浏览 5 评论 0原文

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

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

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

p4 Submit -d "test" (相同的命令在 Windows 计算机上运行)

当我仅使用 尝试时p4 Submit 然后它打开了一个 p4 提交表单,然后我用正确的描述替换了 [在此处输入描述] 标记,然后它就起作用了。

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

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

回答

-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

I have a p4 client workspace on Linux machine.

I added/edited few files in my client space and then tried to submit those changes to perforce server.

I followed the steps below but could not succeed:

p4 submit -d "test" (the same command works on a Windows machine)

when I tried it with just p4 submit then it opened a p4 submit form and then I replaced [enter description here] token with the proper description and then it works.

But I don't want to edit the p4 submit form for every p4 submit task.

How can I pass this info in from the command prompt?

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

奢华的一滴泪 2024-08-21 03:34:20

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

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

It's not just the description you need to enter, you also can edit the changelist specification which allows you to exclude files from the commit.

If you can do it on windows then perhaps there is a newer client on windows than what you're using on Linux?

留蓝 2024-08-21 03:34:20

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

  1. 用新的 p4 可执行文件替换现有的 p4 可执行文件。
  2. 或者将新的 p4 exe 放入 $PATH 中较早的目录中
  3. ,执行 chmod 755
  4. hash -r
  5. p4 -V 验证您正在运行 perforce 2009.1 客户端
  6. p4 help Submit
  7. 我们可以 md5sum p4 二进制文件
  8. p4 info 并验证 perforce 服务器是 2006.2 或更高版本。

步骤 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'.

From http://www.perforce.com/perforce/downloads/platform.html download the appropriate version of p4 command-line client. Then:

  1. Replace the existing p4 executable with the new one.
  2. Or put the new p4 exe in a directory earlier in your $PATH
  3. Make the chmod 755 <new p4>
  4. hash -r
  5. p4 -V to verify you are running perforce 2009.1 client
  6. p4 help submit
  7. We can md5sum the p4 binary
  8. p4 info and verify the perforce server is 2006.2 or more recent.

Step 5 should produce:

$ 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).

Step 6 should produce:

$ 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.

Of which the important bit is:

    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.

Step 7:

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

Step 8:
The feature was introduced in perforce 2006.2, and it's possible that it requires a sufficiently recent server to support the operation:

#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'.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文