move-mrs-script: add url option

You can give as option:

--url
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/960>
This commit is contained in:
Stéphane Cerveau 2021-09-29 14:41:31 +02:00 committed by GStreamer Marge Bot
parent 442672cfdd
commit 01fa95d34a
2 changed files with 16 additions and 6 deletions

View file

@ -80,12 +80,12 @@ PARSER.add_argument(
required=False,
)
PARSER.add_argument(
"--mr",
"-mr",
"--mr-url",
default=None,
type=int,
type=str,
help=(
"Id of the MR to work on."
" One (and only one) module must be specified with `--module`."
"URL of the MR to work on."
),
required=False,
)
@ -182,6 +182,7 @@ class GstMRMover:
self.config_files = []
self.gl = None
self.mr = None
self.mr_url = None
self.all_projects = []
self.skipped_branches = []
self.git_rename_limit = None
@ -312,7 +313,12 @@ class GstMRMover:
raise e
def cleanup_args(self):
if not self.modules:
if self.mr_url:
self.modules.append(GST_PROJECTS[0])
(namespace, module, _, _, mr) = os.path.normpath(urlparse(self.mr_url).path).split('/')[1:]
self.modules.append(module)
self.mr = int(mr)
elif not self.modules:
if self.mr:
sys.exit(f"{red(f'Merge request #{self.mr} specified without module')}\n\n"
f"{bold(' -> Use `--module` to specify which module the MR is from.')}")
@ -527,6 +533,9 @@ class GstMRMover:
bold(f"{red('SKIPPED')} (couldn't checkout)\n"), nested=False)
return False
# unset upstream to avoid to push to main (ie push.default = tracking)
self.git("branch", branch, "--unset-upstream")
for commit in reversed([c for c in mr.commits()]):
if self.git("cherry-pick", commit.id,
interaction_message=f"cherry-picking {commit.id} onto {branch} with:\n "

View file

@ -54,7 +54,8 @@ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1277
you can run:
```
GITLAB_API_TOKEN=zytXYboB5yi3uggRpBM6 ./scripts/move_mrs_to_monorepo.py -m gst-plugins-base --mr 1277
GITLAB_API_TOKEN=zytXYboB5yi3uggRpBM6 ./scripts/move_mrs_to_monorepo.py -mr https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1277
```
When you are ready, you can also run the same script without any parameters to browse and move all your Merge Requests: