@@ -103,24 +103,28 @@ pub fn execute(matches: &ArgMatches) -> Result<()> {
103103 . map ( Cow :: Borrowed )
104104 . or_else ( || vcs:: find_head ( ) . ok ( ) . map ( Cow :: Owned ) ) ;
105105
106- let base_sha = matches. get_one ( "base_sha" ) . map ( String :: as_str) ;
107- let base_repo_name = matches. get_one ( "base_repo_name" ) . map ( String :: as_str) ;
108- let head_ref = matches. get_one ( "head_ref" ) . map ( String :: as_str) ;
109- let base_ref = matches. get_one ( "base_ref" ) . map ( String :: as_str) ;
110- let pr_number = matches. get_one :: < u32 > ( "pr_number" ) ;
111-
112- let remote = config. get_cached_vcs_remote ( ) ;
106+ let cached_remote = config. get_cached_vcs_remote ( ) ;
107+ let repo = git2:: Repository :: open_from_env ( ) ?;
108+ let remote = repo. find_remote ( & cached_remote) ?;
109+ let remote_url = remote. url ( ) ;
113110
114- let vcs_provider = matches
111+ let vcs_provider: Option < Cow < ' _ , str > > = matches
115112 . get_one ( "vcs_provider" )
116113 . map ( String :: as_str)
117114 . map ( Cow :: Borrowed )
118- . or_else ( || Some ( Cow :: Owned ( get_provider_from_remote ( & remote ) ) ) ) ;
115+ . or_else ( || remote_url . map ( get_provider_from_remote ) . map ( Cow :: Owned ) ) ;
119116 let head_repo_name = matches
120117 . get_one ( "head_repo_name" )
121118 . map ( String :: as_str)
122119 . map ( Cow :: Borrowed )
123- . or_else ( || Some ( Cow :: Owned ( get_repo_from_remote ( & remote) ) ) ) ;
120+ . or_else ( || remote_url. map ( get_repo_from_remote) . map ( Cow :: Owned ) ) ;
121+
122+ let base_repo_name = matches. get_one ( "base_repo_name" ) . map ( String :: as_str) ;
123+
124+ let base_sha = matches. get_one ( "base_sha" ) . map ( String :: as_str) ;
125+ let head_ref = matches. get_one ( "head_ref" ) . map ( String :: as_str) ;
126+ let base_ref = matches. get_one ( "base_ref" ) . map ( String :: as_str) ;
127+ let pr_number = matches. get_one :: < u32 > ( "pr_number" ) ;
124128
125129 let build_configuration = matches. get_one ( "build_configuration" ) . map ( String :: as_str) ;
126130
0 commit comments