2

目前在查看我的客户端设置时,选项字段是“noallwrite noclobber nocompress unlocked nomodtime normdir”。我想使用 p4 api 检查 compress 和 rmdir 字段。有代码可以单独执行:

client.Options = ClientOption.Compress;
client.Options = ClientOption.RmDir;

但是,在查看 api 和在线后,我找不到同时做这两个的方法。我可以轻松地进入 P4V 并选中这两个框,但我正在尝试使用 p4 api 来完成它,以便为未来的工作区/客户端简化设置。有任何想法吗?

4

1 回答 1

0

由于 p4 选项中的选项是标志

  [Flags]
  public enum ClientOption
  {
    None = 0,
    AllWrite = 1,
    Clobber = 2,
    Compress = 4,
    Locked = 8,
    ModTime = 16,
    RmDir = 32,
  }

您可以将它们堆积起来以获得这样的预期结果

P4.Client client = this.Repository.GetClient(clientname, null);
string  options= "noallwrite clobber nocompress unlocked nomodtime rmdir";

client.Options = new P4.ClientOption();

 if (!options.Contains("noallwrite"))
 {
     client.Options |= P4.ClientOption.AllWrite;
 }

 if (!options.Contains("noclobber"))
 {
    client.Options |= P4.ClientOption.Clobber;
 }
.....

希望这可以帮助!。

于 2013-09-17T14:43:47.267 回答