如何在perforce中恢复所有打开的文件?

时间:2014-05-08 18:43:08

标签: version-control perforce

我知道如何恢复单个打开的文件。但有时我会遇到一些问题,我必须恢复单个更改列表中附加的所有文件,或者还原客户端中所有打开的挂起文件(默认CL或指定的CL)。有没有办法做到这一点?我试过p4 revert -c <changelist>其中有多个待处理文件。它对我不起作用。如果我提到所有文件名,它就有效。

5 个答案:

答案 0 :(得分:20)

我打赌你只需要提供一个文件规范,试试p4 revert -c <changelist> //...

答案 1 :(得分:14)

对我来说,以下工作也是如此

p4 revert //... : Revert every file you have open, in every one of your pending changelists, to its pre-opened state.

p4 revert -c default //... : Revert every file open in the default changelist to its pre-opened state

取自:p4 revert documentation

答案 2 :(得分:1)

在@Talespin_Kit的答案中稍有更新

下面的文件将处理名称中带有空格的文件

$ p4已打开| sed's /#.*// g'| xargs -n 1 p4 -d'\ n'还原

答案 3 :(得分:0)

在Linux上

p4已打开| sed's /#.*// g'| xargs -n 1 p4还原

答案 4 :(得分:0)

当我尝试从接受的答案中运行命令

<plugin>
    <groupId>org.jooq</groupId>
    <artifactId>jooq-codegen-maven</artifactId>
    <version>${jooq.version}</version>
    <executions>
      <execution>
        <id>jooq-generate</id>
        <phase>generate-sources</phase>
        <goals>
          <goal>generate</goal>
        </goals>
      </execution>
    </executions>
    <dependencies>
      <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>${postgres.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-generate</artifactId>
        <version>${vertx-jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-core</artifactId>
        <version>3.3.9</version>
      </dependency>
      <dependency>
      <groupId>org.jooq</groupId>
      <artifactId>jooq-meta-extensions</artifactId>
      <version>${jooq.version}</version>
    </dependency>
    </dependencies>
    <configuration>
      <generator>
        <name>io.github.jklingsporn.vertx.jooq.generate.classic.ClassicReactiveVertxGenerator</name>
        <database>
          <name>org.jooq.meta.extensions.liquibase.LiquibaseDatabase</name>
          <properties>
            <property>
              <key>scripts</key>
              <value>src/main/resources/liquibase/tenant/changelog.xml</value>
            </property>
            <property>
              <key>changeLogParameters.contexts</key>
              <value>!test</value>
            </property>
            <-- unfortunately this property doesn't work -->
            <property>
              <key>dialect</key>
              <value>POSTGRES</value>
            </property>
          </properties>
          <outputSchemaToDefault>true</outputSchemaToDefault>
          <unsignedTypes>false</unsignedTypes>
          <forcedTypes />
        </database>
        <generate>
          <daos>true</daos>
          <fluentSetters>true</fluentSetters>
        </generate>
        <target>
          <packageName>org.folio.rest.jooq</packageName>
        </target>
        <strategy>
          <name>io.github.jklingsporn.vertx.jooq.generate.VertxGeneratorStrategy</name>
        </strategy>
      </generator>
    </configuration>
  </plugin>

我得到了错误:

用法:恢复[-a -n -k -w -c -changelist#-C客户端] [--remote = rmt] 文件...参数数量不足/错误。

我要做的是像这样在命令末尾添加文件名

p4 revert -c <<changelist>>