mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-12-28 16:15:02 +01:00
47561 (the git and cvs parts) (compare 44919 + 44920): vcs_info internals: cvs, git: Set ${vcs_comm[basedir]} like all other backends do.
That doesn't affect anything, not even other vcs_info internals; it's just for consistency across backends.
This commit is contained in:
parent
2ffd292833
commit
fc82e8193b
5 changed files with 28 additions and 13 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2021-03-29 Aleksandr Mezin <mezin.alexander@gmail.com>
|
||||
|
||||
* 47561 (the git and cvs parts) (compare 44919 + 44920):
|
||||
Functions/VCS_Info/Backends/VCS_INFO_detect_cvs,
|
||||
Functions/VCS_Info/Backends/VCS_INFO_detect_git,
|
||||
Functions/VCS_Info/Backends/VCS_INFO_get_data_cvs,
|
||||
Functions/VCS_Info/Backends/VCS_INFO_get_data_git: vcs_info
|
||||
internals: cvs, git: Set ${vcs_comm[basedir]} like all other
|
||||
backends do.
|
||||
|
||||
2021-03-29 dana <dana@dana.is>
|
||||
|
||||
* 47737: Completion/Zsh/Command/_zstyle: Fix option completion
|
||||
|
|
|
@ -7,5 +7,18 @@ setopt localoptions NO_shwordsplit
|
|||
[[ $1 == '--flavours' ]] && return 1
|
||||
|
||||
VCS_INFO_check_com ${vcs_comm[cmd]} || return 1
|
||||
[[ -d "./CVS" ]] && [[ -r "./CVS/Repository" ]] && return 0
|
||||
return 1
|
||||
if ! [[ -d "./CVS" ]] || ! [[ -r "./CVS/Repository" ]] ; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Look for the most distant parent that still has a CVS subdirectory.
|
||||
local cvsbase="."
|
||||
cvsbase=${cvsbase:P}
|
||||
while [[ -d "${cvsbase:h}/CVS" ]]; do
|
||||
cvsbase="${cvsbase:h}"
|
||||
if [[ $cvsbase == '/' ]]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
vcs_comm[basedir]="${cvsbase}"
|
||||
|
|
|
@ -7,6 +7,7 @@ setopt localoptions NO_shwordsplit
|
|||
[[ $1 == '--flavours' ]] && { print -l git-p4 git-svn; return 0 }
|
||||
|
||||
if VCS_INFO_check_com ${vcs_comm[cmd]} && vcs_comm[gitdir]="$(${vcs_comm[cmd]} rev-parse --git-dir 2> /dev/null)" ; then
|
||||
vcs_comm[basedir]="$( ${vcs_comm[cmd]} rev-parse --show-toplevel 2> /dev/null )"
|
||||
if [[ -d ${vcs_comm[gitdir]}/svn ]] ; then vcs_comm[overwrite_name]='git-svn'
|
||||
elif [[ -d ${vcs_comm[gitdir]}/refs/remotes/p4 ]] ; then vcs_comm[overwrite_name]='git-p4' ; fi
|
||||
return 0
|
||||
|
|
|
@ -5,17 +5,8 @@
|
|||
setopt localoptions NO_shwordsplit
|
||||
local cvsbranch cvsbase
|
||||
|
||||
# Look for the most distant parent that still has a CVS subdirectory.
|
||||
cvsbase="${vcs_comm[basedir]}"
|
||||
# VCS_INFO_detect_cvs ensured that ./CVS/Repository exists.
|
||||
cvsbase="."
|
||||
cvsbase=${cvsbase:P}
|
||||
while [[ -d "${cvsbase:h}/CVS" ]]; do
|
||||
cvsbase="${cvsbase:h}"
|
||||
if [[ $cvsbase == '/' ]]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
cvsbranch=$(< ./CVS/Repository)
|
||||
rrn=${cvsbase:t}
|
||||
cvsbranch=${cvsbranch##${rrn}/}
|
||||
|
|
|
@ -138,7 +138,7 @@ VCS_INFO_git_handle_patches () {
|
|||
|
||||
gitdir=${vcs_comm[gitdir]}
|
||||
VCS_INFO_git_getbranch ${gitdir}
|
||||
gitbase=$( ${vcs_comm[cmd]} rev-parse --show-toplevel 2> /dev/null )
|
||||
gitbase=${vcs_comm[basedir]}
|
||||
if [[ -z ${gitbase} ]]; then
|
||||
# Bare repository
|
||||
gitbase=${gitdir:P}
|
||||
|
|
Loading…
Reference in a new issue