public void MergeFrom(BuilderConfig other)
 {
     if (other == null)
     {
         return;
     }
     if (other.Action.Length != 0)
     {
         Action = other.Action;
     }
     if (other.Track.Length != 0)
     {
         Track = other.Track;
     }
     if (other.RegistryMirror.Length != 0)
     {
         RegistryMirror = other.RegistryMirror;
     }
     if (other.DockerDaemonMtu.Length != 0)
     {
         DockerDaemonMtu = other.DockerDaemonMtu;
     }
     if (other.manifest_ != null)
     {
         if (manifest_ == null)
         {
             Manifest = new global::Estafette.Ci.Manifest.V1.EstafetteManifest();
         }
         Manifest.MergeFrom(other.Manifest);
     }
     if (other.JobName.Length != 0)
     {
         JobName = other.JobName;
     }
     if (other.ReleaseName.Length != 0)
     {
         ReleaseName = other.ReleaseName;
     }
     events_.Add(other.events_);
     if (other.ciServer_ != null)
     {
         if (ciServer_ == null)
         {
             CiServer = new global::Estafette.Ci.Contracts.V1.CiServerConfig();
         }
         CiServer.MergeFrom(other.CiServer);
     }
     if (other.buildParams_ != null)
     {
         if (buildParams_ == null)
         {
             BuildParams = new global::Estafette.Ci.Contracts.V1.BuildParamsConfig();
         }
         BuildParams.MergeFrom(other.BuildParams);
     }
     if (other.releaseParams_ != null)
     {
         if (releaseParams_ == null)
         {
             ReleaseParams = new global::Estafette.Ci.Contracts.V1.ReleaseParamsConfig();
         }
         ReleaseParams.MergeFrom(other.ReleaseParams);
     }
     if (other.git_ != null)
     {
         if (git_ == null)
         {
             Git = new global::Estafette.Ci.Contracts.V1.GitConfig();
         }
         Git.MergeFrom(other.Git);
     }
     if (other.buildVersion_ != null)
     {
         if (buildVersion_ == null)
         {
             BuildVersion = new global::Estafette.Ci.Contracts.V1.BuildVersionConfig();
         }
         BuildVersion.MergeFrom(other.BuildVersion);
     }
     credentials_.Add(other.credentials_);
     trustedImages_.Add(other.trustedImages_);
     _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }
        public override int GetHashCode()
        {
            int hash = 1;

            if (Action.Length != 0)
            {
                hash ^= Action.GetHashCode();
            }
            if (Track.Length != 0)
            {
                hash ^= Track.GetHashCode();
            }
            if (RegistryMirror.Length != 0)
            {
                hash ^= RegistryMirror.GetHashCode();
            }
            if (DockerDaemonMtu.Length != 0)
            {
                hash ^= DockerDaemonMtu.GetHashCode();
            }
            if (manifest_ != null)
            {
                hash ^= Manifest.GetHashCode();
            }
            if (JobName.Length != 0)
            {
                hash ^= JobName.GetHashCode();
            }
            if (ReleaseName.Length != 0)
            {
                hash ^= ReleaseName.GetHashCode();
            }
            hash ^= events_.GetHashCode();
            if (ciServer_ != null)
            {
                hash ^= CiServer.GetHashCode();
            }
            if (buildParams_ != null)
            {
                hash ^= BuildParams.GetHashCode();
            }
            if (releaseParams_ != null)
            {
                hash ^= ReleaseParams.GetHashCode();
            }
            if (git_ != null)
            {
                hash ^= Git.GetHashCode();
            }
            if (buildVersion_ != null)
            {
                hash ^= BuildVersion.GetHashCode();
            }
            hash ^= credentials_.GetHashCode();
            hash ^= trustedImages_.GetHashCode();
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }