I just played a little with bzr; calling 'bzr' itself in the prompt is
painfully slow. And we do it *twice* for the base directory and the
branchname/revision-number.
I don't know enough about bzr, to change this.
Personally, I would replace the branch-root, by the base directory, that
VCS_INFO_detect_by_dir().
The branch name *could* be replaced by ${bzrbase:t}, but since it is
retrieved from the same command as the revision-number, so that will not
save us a call to 'bzr'...
Hints on this one are highly appreciated. Like this, the bzr backend
is just too slow to use (for me on my laptop at 1.5GHz).
VCS_INFO_bzr_get_data () { # {{{
local msg bzrbranch bzrbase bzrrevno i j
- bzrbase=$(bzr info | sed -rne 's, *branch root: ,,p')
- case ${bzrbase} in
- .) bzrbase=${PWD} ;;
- esac
+ bzrbase=$(bzr info 2>/dev/null | sed -rne 's, *branch root: ,,p')
+ bzrbase=$(VCS_INFO_realpath ${bzrbase})
- bzr version-info | while read i j; do
+ bzr version-info 2> /dev/null | while read i j; do
case "${i}" in
revno:)
bzrrevno=${j} ;;
VCS_INFO_bzr_detect() {
check_com -c bzr || return 1
+ vcs_comm[detect_need_file]=branch/format
VCS_INFO_detect_by_dir '.bzr'
return $?
}