@@ -42,7 +42,9 @@ pub fn need_username_password(repo_path: &RepoPath) -> Result<bool> {
4242 repo. find_remote ( & get_default_remote_in_repo ( & repo) ?) ?;
4343 let url = remote
4444 . pushurl ( )
45- . or_else ( || remote. url ( ) )
45+ . ok ( )
46+ . flatten ( )
47+ . or_else ( || remote. url ( ) . ok ( ) )
4648 . ok_or ( Error :: UnknownRemote ) ?
4749 . to_owned ( ) ;
4850 let is_http = url. starts_with ( "http" ) ;
@@ -58,11 +60,8 @@ pub fn need_username_password_for_fetch(
5860 let repo = repo ( repo_path) ?;
5961 let remote = repo
6062 . find_remote ( & get_default_remote_for_fetch_in_repo ( & repo) ?) ?;
61- let url = remote
62- . url ( )
63- . or_else ( || remote. url ( ) )
64- . ok_or ( Error :: UnknownRemote ) ?
65- . to_owned ( ) ;
63+ let url =
64+ remote. url ( ) . map_err ( |_| Error :: UnknownRemote ) ?. to_owned ( ) ;
6665 let is_http = url. starts_with ( "http" ) ;
6766 Ok ( is_http)
6867}
@@ -78,7 +77,9 @@ pub fn need_username_password_for_push(
7877 . find_remote ( & get_default_remote_for_push_in_repo ( & repo) ?) ?;
7978 let url = remote
8079 . pushurl ( )
81- . or_else ( || remote. url ( ) )
80+ . ok ( )
81+ . flatten ( )
82+ . or_else ( || remote. url ( ) . ok ( ) )
8283 . ok_or ( Error :: UnknownRemote ) ?
8384 . to_owned ( ) ;
8485 let is_http = url. starts_with ( "http" ) ;
@@ -93,6 +94,7 @@ pub fn extract_username_password(
9394 let url = repo
9495 . find_remote ( & get_default_remote_in_repo ( & repo) ?) ?
9596 . url ( )
97+ . ok ( )
9698 . ok_or ( Error :: UnknownRemote ) ?
9799 . to_owned ( ) ;
98100 let mut helper = CredentialHelper :: new ( & url) ;
@@ -122,6 +124,7 @@ pub fn extract_username_password_for_fetch(
122124 let url = repo
123125 . find_remote ( & get_default_remote_for_fetch_in_repo ( & repo) ?) ?
124126 . url ( )
127+ . ok ( )
125128 . ok_or ( Error :: UnknownRemote ) ?
126129 . to_owned ( ) ;
127130 let mut helper = CredentialHelper :: new ( & url) ;
@@ -151,6 +154,7 @@ pub fn extract_username_password_for_push(
151154 let url = repo
152155 . find_remote ( & get_default_remote_for_push_in_repo ( & repo) ?) ?
153156 . url ( )
157+ . ok ( )
154158 . ok_or ( Error :: UnknownRemote ) ?
155159 . to_owned ( ) ;
156160 let mut helper = CredentialHelper :: new ( & url) ;
0 commit comments