protected void ValidateClientVersions(ITracer tracer, GVFSEnlistment enlistment, ServerGVFSConfig gvfsConfig, bool showWarnings) { this.CheckGitVersion(tracer, enlistment, out string gitVersion); enlistment.SetGitVersion(gitVersion); this.GetGVFSHooksPathAndCheckVersion(tracer, out string hooksVersion); enlistment.SetGVFSHooksVersion(hooksVersion); this.CheckFileSystemSupportsRequiredFeatures(tracer, enlistment); string errorMessage = null; bool errorIsFatal = false; if (!this.TryValidateGVFSVersion(enlistment, tracer, gvfsConfig, out errorMessage, out errorIsFatal)) { if (errorIsFatal) { this.ReportErrorAndExit(tracer, errorMessage); } else if (showWarnings) { this.Output.WriteLine(); this.Output.WriteLine(errorMessage); this.Output.WriteLine(); } } }