@@ -48,14 +48,20 @@ def status(
48
48
all_repos : bool = typer .Option (
49
49
False , "--all-repos" , "-a" , help = "Show status of all repos"
50
50
),
51
+ reset : bool = typer .Option (
52
+ False , "--reset" , "-r" , help = "Reset the status of the repository"
53
+ ),
51
54
):
55
+ repo = Repo ()
56
+ if reset :
57
+ repo .set_reset (reset )
52
58
repo_command (
53
59
all_repos ,
54
60
repo_name ,
55
61
all_msg = "Showing status for all repositories..." ,
56
62
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 ),
59
65
)
60
66
61
67
@@ -106,6 +112,30 @@ def clone_repo(name):
106
112
)
107
113
108
114
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
+
109
139
@repo .command ()
110
140
def delete (
111
141
repo_name : str = typer .Argument (None ),
@@ -149,20 +179,75 @@ def install(
149
179
)
150
180
151
181
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
+
152
216
@repo .command ()
153
217
def origin (
154
218
repo_name : str = typer .Argument (None ),
219
+ repo_user : str = typer .Argument (None ),
155
220
all_repos : bool = typer .Option (
156
221
False , "--all-repos" , "-a" , help = "Show origin of all repositories"
157
222
),
158
223
):
224
+ repo = Repo ()
225
+ if repo_user :
226
+ repo .set_user (repo_user )
159
227
repo_command (
160
228
all_repos ,
161
229
repo_name ,
162
230
all_msg = "Showing origin for all repositories..." ,
163
231
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 ),
166
251
)
167
252
168
253
@@ -183,6 +268,20 @@ def sync(
183
268
)
184
269
185
270
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
+
186
285
@repo .command ()
187
286
def test (
188
287
repo_name : str = typer .Argument (None ),
0 commit comments