Skip to content
Snippets Groups Projects
Commit 7201348e authored by nimrod's avatar nimrod
Browse files

git-manage scaffolding.

Just the argument parsing and a bit of structure, no functionality yet.
parent a8ceb1fe
Branches
No related tags found
No related merge requests found
#!/usr/bin/env python3
# pylint: disable=invalid-name
"""Manage my Git infrastructure."""
import argparse
import os
import os.path
import sys
sys.path.append(os.path.expanduser("~/Documents/bin"))
# import rcfiles.git # noqa: E402 pylint: disable=wrong-import-position
# import rcfiles.github # noqa: E402 pylint: disable=wrong-import-position
# import rcfiles.gitlab # noqa: E402 pylint: disable=wrong-import-position
def create_repo(args):
"""Create a new repository."""
print(args)
def mirror_repo(args):
"""Mirror a GitLab repository to GitHub."""
print(args)
def archive_repo(args):
"""Archive a repository."""
print(args)
def main():
"""The main function."""
parser = argparse.ArgumentParser(description=__doc__)
subparsers = parser.add_subparsers(
title="Commands", required=True, dest="command"
)
parser_create = subparsers.add_parser(
"new", help="Create a new repository."
)
parser_create.set_defaults(func=create_repo)
parser_create.add_argument(
"name", help="Name of the repository.", nargs="?"
)
parser_create.add_argument(
"-m", "--mirror", help="Setup a mirror in GitHub.", action="store_true"
)
parser_create.add_argument(
"--github",
help="Create the repository in GitHub.",
action="store_true",
)
parser_mirror = subparsers.add_parser(
"mirror", help="Mirror a GitLab repository to GitHub."
)
parser_mirror.set_defaults(func=mirror_repo)
parser_mirror.add_argument(
"name", help="Name of the GitLab repository.", nargs="?"
)
parser_archive = subparsers.add_parser(
"archive", help="Archive a repository."
)
parser_archive.set_defaults(func=archive_repo)
parser_archive.add_argument(
"name", help="Name of the repository.", nargs="?"
)
parser_archive.add_argument(
"--github", help="The repository is in GitHub.", action="store_true"
)
args = parser.parse_args()
args.func(args)
if __name__ == "__main__":
main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment