// Path: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/ProxySettings.java
// public class ProxySettings {
// 
//   /**
//    * The proxy host.
//    */
//   public String host = "127.0.0.1";
// 
//   /**
//    * The proxy protocol.
//    */
//   public String protocol = "http";
// 
//   /**
//    * The proxy port.
//    */
//   public int port = 80;
// 
//   /**
//    * The proxy user.
//    */
//   public String username;
// 
//   /**
//    * The proxy password.
//    */
//   public String password = "";
// 
//   /**
//    * The list of non-proxy hosts (delimited by |).
//    */
//   public String nonProxyHosts;
// 
//   public ProxySettings() {
//   }
// 
//   public ProxySettings(@Nonnull final Proxy mavenProxy) {
//     this.protocol = mavenProxy.getProtocol();
//     this.host = mavenProxy.getHost();
//     this.port = mavenProxy.getPort();
//     this.username = mavenProxy.getUsername();
//     this.password = mavenProxy.getPassword();
//     this.nonProxyHosts = mavenProxy.getNonProxyHosts();
//   }
// 
//   public boolean hasCredentials() {
//     return this.username != null && this.password != null;
//   }
// 
//   @Override
//   @Nonnull
//   public String toString() {
//     return this.protocol + "://" + this.host + ":" + this.port;
//   }
// }


import com.igormaznitsa.mvngolang.utils.ProxySettings;
import java.io.File;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.apache.maven.plugin.logging.Log;
        notError &= upToTag(logger, proxy, customCommand, cvsFolder, tagId);
      }
    }

    if (notError && revisionId != null) {
      notError &= upToRevision(logger, proxy, customCommand, cvsFolder, revisionId);
    }

    return notError;
  }

  private boolean upToBranch(@Nonnull final Log logger, @Nullable final ProxySettings proxy,
                             @Nullable final String customCommand, @Nonnull final File cvsFolder,
                             @Nonnull final String branchId) {
    logger.debug("upToBranch: " + branchId);
    return checkResult(logger,
        execute(customCommand, logger, cvsFolder, "checkout", "--quiet", "--force", branchId));
  }

  private boolean upToTag(@Nonnull final Log logger, @Nullable final ProxySettings proxy,
                          @Nullable final String customCommand, @Nonnull final File cvsFolder,
                          @Nonnull final String tagId) {
    logger.debug("upToTag: " + tagId);
    return checkResult(logger,
        execute(customCommand, logger, cvsFolder, "checkout", "--quiet", "--force",
            "tags/" + tagId));
  }

  private boolean upToRevision(@Nonnull final Log logger, @Nullable final ProxySettings proxy,
                               @Nullable final String customCommand, @Nonnull final File cvsFolder,
// Path: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/utils/ProxySettings.java
// public class ProxySettings {
// 
//   /**
//    * The proxy host.
//    */
//   public String host = "127.0.0.1";
// 
//   /**
//    * The proxy protocol.
//    */
//   public String protocol = "http";
// 
//   /**
//    * The proxy port.
//    */
//   public int port = 80;
// 
//   /**
//    * The proxy user.
//    */
//   public String username;
// 
//   /**
//    * The proxy password.
//    */
//   public String password = "";
// 
//   /**
//    * The list of non-proxy hosts (delimited by |).
//    */
//   public String nonProxyHosts;
// 
//   public ProxySettings() {
//   }
// 
//   public ProxySettings(@Nonnull final Proxy mavenProxy) {
//     this.protocol = mavenProxy.getProtocol();
//     this.host = mavenProxy.getHost();
//     this.port = mavenProxy.getPort();
//     this.username = mavenProxy.getUsername();
//     this.password = mavenProxy.getPassword();
//     this.nonProxyHosts = mavenProxy.getNonProxyHosts();
//   }
// 
//   public boolean hasCredentials() {
//     return this.username != null && this.password != null;
//   }
// 
//   @Override
//   @Nonnull
//   public String toString() {
//     return this.protocol + "://" + this.host + ":" + this.port;
//   }
// }


// Path: mvn-golang-wrapper/src/main/java/com/igormaznitsa/mvngolang/cvs/CvsGIT.java
import com.igormaznitsa.mvngolang.utils.ProxySettings;
import java.io.File;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.apache.maven.plugin.logging.Log;

        notError &= upToTag(logger, proxy, customCommand, cvsFolder, tagId);
      }
    }

    if (notError && revisionId != null) {
      notError &= upToRevision(logger, proxy, customCommand, cvsFolder, revisionId);
    }

    return notError;
  }

  private boolean upToBranch(@Nonnull final Log logger, @Nullable final ProxySettings proxy,
                             @Nullable final String customCommand, @Nonnull final File cvsFolder,
                             @Nonnull final String branchId) {
    logger.debug("upToBranch: " + branchId);
    return checkResult(logger,
        execute(customCommand, logger, cvsFolder, "checkout", "--quiet", "--force", branchId));
  }

  private boolean upToTag(@Nonnull final Log logger, @Nullable final ProxySettings proxy,
                          @Nullable final String customCommand, @Nonnull final File cvsFolder,
                          @Nonnull final String tagId) {
    logger.debug("upToTag: " + tagId);
    return checkResult(logger,
        execute(customCommand, logger, cvsFolder, "checkout", "--quiet", "--force",
            "tags/" + tagId));
  }

  private boolean upToRevision(@Nonnull final Log logger, @Nullable final ProxySettings proxy,
                               @Nullable final String customCommand, @Nonnull final File cvsFolder,
                               @Nonnull final String revisionId) {