|
|
import os
|
|
|
import subprocess
|
|
|
import argparse
|
|
|
import sys
|
|
|
|
|
|
def clone_repository(repo_url, target_dir, branch="main"):
|
|
|
"""Clone a git repository to the specified directory with specific branch."""
|
|
|
if os.path.exists(target_dir):
|
|
|
print(f"Directory {target_dir} already exists. Skipping clone.")
|
|
|
return
|
|
|
|
|
|
os.makedirs(os.path.dirname(target_dir), exist_ok=True)
|
|
|
|
|
|
try:
|
|
|
subprocess.run(
|
|
|
["git", "clone", "-b", branch, repo_url, target_dir],
|
|
|
check=True,
|
|
|
capture_output=True,
|
|
|
text=True
|
|
|
)
|
|
|
print(f"Successfully cloned {repo_url} (branch: {branch}) to {target_dir}")
|
|
|
except subprocess.CalledProcessError as e:
|
|
|
print(f"Failed to clone repository: {e.stderr}")
|
|
|
sys.exit(1)
|
|
|
|
|
|
def main(motiondirector_url="https://github.com/danhtran2mind/MotionDirector", branch="main"):
|
|
|
|
|
|
target_dir = os.path.join("src", "third_party", "MotionDirector")
|
|
|
|
|
|
|
|
|
clone_repository(motiondirector_url, target_dir, branch)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
|
main(
|
|
|
motiondirector_url="https://github.com/danhtran2mind/MotionDirector",
|
|
|
branch="main"
|
|
|
) |