- gitrepo = git.Repo(git_repo_path)
- origin = git.remote.Remote(gitrepo, 'origin')
- if origin in gitrepo.remotes:
- origin = gitrepo.remote('origin')
- if 'set_url' in dir(origin): # added in GitPython 2.x
- origin.set_url(git_remote)
+
+ if os.path.isdir(os.path.dirname(git_remote)):
+ # from offline machine to thumbdrive
+ remote_path = os.path.abspath(git_repo_path)
+ if not os.path.isdir(os.path.join(git_remote, '.git')):
+ os.makedirs(git_remote, exist_ok=True)
+ thumbdriverepo = git.Repo.init(git_remote)
+ local = thumbdriverepo.create_remote('local', remote_path)
+ else:
+ thumbdriverepo = git.Repo(git_remote)
+ local = git.remote.Remote(thumbdriverepo, 'local')
+ if local in thumbdriverepo.remotes:
+ local = thumbdriverepo.remote('local')
+ if 'set_url' in dir(local): # force remote URL if using GitPython 2.x
+ local.set_url(remote_path)
+ else:
+ local = thumbdriverepo.create_remote('local', remote_path)
+ local.pull('master')