| @@ -242,7 +242,7 @@ try_git() | |||||
| if [ ! -d "${repo}" ]; then | if [ ! -d "${repo}" ]; then | ||||
| if git ls-remote "${rrepo}" > /dev/null 2>&1; then | if git ls-remote "${rrepo}" > /dev/null 2>&1; then | ||||
| mkdir -p "${repo}" | |||||
| install -dm755 "${repo}" | |||||
| echo "git clone ${rrepo} ${repo}" | echo "git clone ${rrepo} ${repo}" | ||||
| git clone --recursive "${rrepo}" "${repo}" | git clone --recursive "${rrepo}" "${repo}" | ||||
| else | else | ||||
| @@ -252,13 +252,16 @@ try_git() | |||||
| if [ "${branch}" != "master" ]; then | if [ "${branch}" != "master" ]; then | ||||
| wtdir="${repo}@${branch}" | wtdir="${repo}@${branch}" | ||||
| if [ -d "${wtdir}" ]; then | |||||
| cd "${wtdir}" | |||||
| else | |||||
| if [ ! -d "${wtdir}" ]; then | |||||
| if git branch -r --list 'origin/*' | grep -E "^\s+origin/${branch}$" > /dev/null 2>&1; then | if git branch -r --list 'origin/*' | grep -E "^\s+origin/${branch}$" > /dev/null 2>&1; then | ||||
| git worktree add ${repo}@${branch} ${branch} && cd "${wtdir}" | |||||
| git worktree add ${repo}@${branch} ${branch} | |||||
| else | |||||
| echo "${wtdir} branch ${branch} not present in ${rrepo}" | |||||
| return | |||||
| fi | fi | ||||
| fi | fi | ||||
| echo "${wtdir}" | sed -e "s|$HOME|~|" | |||||
| cd "${wtdir}" | |||||
| else | else | ||||
| if [ -d "${repo}" ]; then | if [ -d "${repo}" ]; then | ||||
| echo "${repo}" | sed -e "s|$HOME|~|" | echo "${repo}" | sed -e "s|$HOME|~|" | ||||