Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- mode: utf-8; coding: utf-8; -*-
- import argparse
- import pathlib
- import urllib.parse
- import subprocess
- def parse_arguments():
- parser = argparse.ArgumentParser()
- parser.add_argument( 'url', metavar='URL', type=str, help='Git のリポジトリ URL' )
- return parser.parse_args()
- def main():
- args = parse_arguments()
- url = urllib.parse.urlparse( args.url )
- base_dir = pathlib.Path.home() / 'opt' / 'src'
- host_dir = base_dir / url.hostname
- path_parts = pathlib.Path( url.path ).parts
- parent_dir = host_dir.joinpath( *path_parts[1:-1] )
- if not parent_dir.exists():
- print( "mkdir -p {}".format( parent_dir ) )
- parent_dir.mkdir( parents=True )
- origin = url.hostname
- subprocess.run( [ 'git', '-C', str( parent_dir ), 'clone', '--origin', origin, url.geturl() ] )
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement