mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-06-01 21:06:04 +02:00
44960: vcs_info cvs: Fix infinite loop when /CVS exists.
This commit is contained in:
parent
9e771a0b20
commit
61262ae282
|
@ -1,5 +1,8 @@
|
|||
2019-12-03 Daniel Shahaf <danielsh@apache.org>
|
||||
|
||||
* 44960: Functions/VCS_Info/Backends/VCS_INFO_get_data_cvs:
|
||||
vcs_info cvs: Fix infinite loop when /CVS exists.
|
||||
|
||||
* 44961: Functions/VCS_Info/Backends/VCS_INFO_get_data_svn:
|
||||
vcs_info svn: Fix infinite loop when /.svn exists.
|
||||
|
||||
|
|
|
@ -5,11 +5,17 @@
|
|||
setopt localoptions NO_shwordsplit
|
||||
local cvsbranch cvsbase
|
||||
|
||||
# Look for the most distant parent that still has a CVS subdirectory.
|
||||
# VCS_INFO_detect_cvs ensured that ./CVS/Repository exists.
|
||||
cvsbase="."
|
||||
while [[ -d "${cvsbase}/../CVS" ]]; do
|
||||
cvsbase="${cvsbase}/.."
|
||||
done
|
||||
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}/}
|
||||
|
|
Loading…
Reference in New Issue