pull_repo.sh 619 B

12345678910111213141516171819202122232425262728
  1. #!/bin/bash
  2. repo_name="$1"
  3. repo_dir="../../$2"
  4. git_url="$3"
  5. branch=$4
  6. if [ -d "$repo_dir" ];then
  7. cd $repo_dir
  8. if [ -n "$branch" ]; then
  9. cur_branch=$(git branch --show-current)
  10. echo "current branch: $cur_branch"
  11. echo "target branch: $branch"
  12. if [ "$cur_branch" != "$branch" ]; then
  13. echo "checkout to branch: $branch"
  14. git checkout $branch || true
  15. fi
  16. fi
  17. git pull --rebase || true
  18. else
  19. git clone $git_url $repo_dir
  20. if [ -n "$branch" ]; then
  21. echo "checkout to branch: $branch"
  22. git checkout $branch || true
  23. fi
  24. fi