@@ -48,14 +48,20 @@ def status(
4848 all_repos : bool = typer .Option (
4949 False , "--all-repos" , "-a" , help = "Show status of all repos"
5050 ),
51+ reset : bool = typer .Option (
52+ False , "--reset" , "-r" , help = "Reset the status of the repository"
53+ ),
5154):
55+ repo = Repo ()
56+ if reset :
57+ repo .set_reset (reset )
5258 repo_command (
5359 all_repos ,
5460 repo_name ,
5561 all_msg = "Showing status for all repositories..." ,
5662 missing_msg = "Please specify a repository name or use --all-repos to show all repositories." ,
57- single_func = lambda name : Repo () .get_repo_status (name ),
58- all_func = lambda name : Repo () .get_repo_status (name ),
63+ single_func = lambda name : repo .get_repo_status (name ),
64+ all_func = lambda name : repo .get_repo_status (name ),
5965 )
6066
6167
@@ -106,6 +112,30 @@ def clone_repo(name):
106112 )
107113
108114
115+ @repo .command ()
116+ def commit (
117+ repo_name : str = typer .Argument (None ),
118+ all_repos : bool = typer .Option (
119+ False , "--all-repos" , "-a" , help = "Commit all repositories"
120+ ),
121+ message : str = typer .Argument (None , help = "Commit message" ),
122+ ):
123+ def do_commit (name ):
124+ if not message :
125+ typer .echo (typer .style ("Commit message is required." , fg = typer .colors .RED ))
126+ raise typer .Exit (1 )
127+ Repo ().commit_repo (name , message )
128+
129+ repo_command (
130+ all_repos ,
131+ repo_name ,
132+ all_msg = "Committing all repositories..." ,
133+ missing_msg = "Please specify a repository name or use --all-repos to commit all repositories." ,
134+ single_func = do_commit ,
135+ all_func = do_commit ,
136+ )
137+
138+
109139@repo .command ()
110140def delete (
111141 repo_name : str = typer .Argument (None ),
@@ -149,20 +179,75 @@ def install(
149179 )
150180
151181
182+ @repo .command ()
183+ def log (
184+ repo_name : str = typer .Argument (None ),
185+ all_repos : bool = typer .Option (
186+ False , "--all-repos" , "-a" , help = "Show logs of all repositories"
187+ ),
188+ ):
189+ repo_command (
190+ all_repos ,
191+ repo_name ,
192+ all_msg = "Showing logs for all repositories..." ,
193+ missing_msg = "Please specify a repository name or use --all-repos to show logs of all repositories." ,
194+ single_func = lambda name : Repo ().get_repo_log (repo_name ),
195+ all_func = lambda name : Repo ().get_repo_log (repo_name ),
196+ )
197+
198+
199+ @repo .command ()
200+ def open (
201+ repo_name : str = typer .Argument (None ),
202+ all_repos : bool = typer .Option (
203+ False , "--all-repos" , "-a" , help = "Open all repositories"
204+ ),
205+ ):
206+ repo_command (
207+ all_repos ,
208+ repo_name ,
209+ all_msg = "Opening all repositories..." ,
210+ missing_msg = "Please specify a repository name or use --all-repos to open all repositories." ,
211+ single_func = lambda name : Repo ().open_repo (repo_name ),
212+ all_func = lambda name : Repo ().open_repo (repo_name ),
213+ )
214+
215+
152216@repo .command ()
153217def origin (
154218 repo_name : str = typer .Argument (None ),
219+ repo_user : str = typer .Argument (None ),
155220 all_repos : bool = typer .Option (
156221 False , "--all-repos" , "-a" , help = "Show origin of all repositories"
157222 ),
158223):
224+ repo = Repo ()
225+ if repo_user :
226+ repo .set_user (repo_user )
159227 repo_command (
160228 all_repos ,
161229 repo_name ,
162230 all_msg = "Showing origin for all repositories..." ,
163231 missing_msg = "Please specify a repository name or use --all-repos to show origins of all repositories." ,
164- single_func = lambda name : Repo ().get_repo_origin (name ),
165- all_func = lambda name : Repo ().get_repo_origin (name ),
232+ single_func = lambda name : repo .get_repo_origin (name ),
233+ all_func = lambda name : repo .get_repo_origin (name ),
234+ )
235+
236+
237+ @repo .command ()
238+ def pr (
239+ repo_name : str = typer .Argument (None ),
240+ all_repos : bool = typer .Option (
241+ False , "--all-repos" , "-a" , help = "Create pull requests for all repositories"
242+ ),
243+ ):
244+ repo_command (
245+ all_repos ,
246+ repo_name ,
247+ all_msg = "Creating pull requests for all repositories..." ,
248+ missing_msg = "Please specify a repository name or use --all-repos to create pull requests for all repositories." ,
249+ single_func = lambda name : Repo ().create_pr (repo_name ),
250+ all_func = lambda name : Repo ().create_pr (repo_name ),
166251 )
167252
168253
@@ -183,6 +268,20 @@ def sync(
183268 )
184269
185270
271+ @repo .command ()
272+ def patch (
273+ repo_name : str = typer .Argument (None ),
274+ ):
275+ repo_command (
276+ False ,
277+ repo_name ,
278+ all_msg = "Running evergreen..." ,
279+ missing_msg = "Please specify a repository name." ,
280+ single_func = lambda name : Test ().patch_repo (name ),
281+ all_func = lambda name : Test ().patch_repo (name ),
282+ )
283+
284+
186285@repo .command ()
187286def test (
188287 repo_name : str = typer .Argument (None ),
0 commit comments