Browse Source

#146 Auto login on push

Guillaume J. Charmes 12 years ago
parent
commit
eb95e49150
1 changed files with 7 additions and 2 deletions
  1. 7 2
      commands.go

+ 7 - 2
commands.go

@@ -414,8 +414,13 @@ func (srv *Server) CmdPush(stdin io.ReadCloser, stdout io.Writer, args ...string
 	}
 
 	// If the login failed, abort
-	if srv.runtime.authConfig == nil {
-		return fmt.Errorf("Please login prior to push. ('docker login')")
+	if srv.runtime.authConfig == nil || srv.runtime.authConfig.Username == "" {
+		if err := srv.CmdLogin(stdin, stdout, args...); err != nil {
+			return err
+		}
+		if srv.runtime.authConfig == nil || srv.runtime.authConfig.Username == "" {
+			return fmt.Errorf("Please login prior to push. ('docker login')")
+		}
 	}
 
 	var remote string