/// <summary> /// Process the login command with cvs library API calls. /// </summary> public void Execute () { if (null != this.CvsRoot && this.CvsRoot.TransportProtocol != ICSharpCode.SharpCvsLib.Misc.CvsRoot.ProtocolType.pserver) { LOGGER.Debug(string.Format("cvs [login aborted]: The :{0}: protocol does not support the login command", this.CvsRoot.Protocol)); return; } CVSServerConnection serverConn = new CVSServerConnection(CurrentWorkingDirectory); try { serverConn.Connect(CurrentWorkingDirectory, password); } catch (ICSharpCode.SharpCvsLib.Exceptions.AuthenticationException) { try { this.password = PServerProtocol.PromptForPassword(this.CvsRoot.ToString()); if (this.password == null) { this.password = string.Empty; } Manager manager = new Manager(this.workingDirectory.LocalDirectory); manager.UpdatePassFile(this.password, this.CvsRoot); serverConn.Connect(CurrentWorkingDirectory, password); } catch (ICSharpCode.SharpCvsLib.Exceptions.AuthenticationException e) { ConsoleMain.ExitProgram(e.Message); } } }