else
gitaction="am/rebase"
fi
- print '%s' ${gitaction}
+ printf '%s' ${gitaction}
return 0
fi
done
|| [[ -d "${gitdir}/../.dotest" ]] \
|| [[ -f "${gitdir}/MERGE_HEAD" ]] ; then
gitbranch="$(${(z)gitsymref} 2> /dev/null)"
+ [[ -z ${gitbranch} ]] && gitbranch="$(< ${gitdir}/rebase-apply/head-name)"
elif [[ -f "${gitdir}/rebase-merge/interactive" ]] \
|| [[ -d "${gitdir}/rebase-merge" ]] ; then
# }}}
# VCS_INFO_*_detect () {{{
+VCS_INFO_detect_by_dir() {
+ local tool=${1} dirname=${2}
+ local basedir="."
+
+ check_com -c ${tool} || return 1
+ while [[ ! -d ${basedir}/${dirname} ]]; do
+ basedir=${basedir}/..
+ [[ $(VCS_INFO_realpath ${basedir}) = "/" ]] && return 1
+ done
+
+ printf '%s' $(VCS_INFO_realpath ${basedir})
+ return 0
+}
+
VCS_INFO_bzr_detect() {
- check_com -c bzr || return 1
- [[ -d ".bzr" ]] && return 0
- return 1
+ VCS_INFO_detect_by_dir 'bzr' '.bzr'
+ return $?
}
VCS_INFO_git_detect() {
}
VCS_INFO_hg_detect() {
- local basedir="."
-
- check_com -c hg || return 1
- while [[ ! -d ${basedir}/.hg ]]; do
- basedir=${basedir}/..
- [[ $(VCS_INFO_realpath ${basedir}) = "/" ]] && return 1
- done
-
- printf '%s' $(VCS_INFO_realpath ${basedir})
- return 0
+ VCS_INFO_detect_by_dir 'hg' '.hg'
+ return $?
}
VCS_INFO_svk_detect() {