@@ -89,9 +89,9 @@ get_highest_from_specs() {
8989 for dir in " $specs_dir " /* ; do
9090 [ -d " $dir " ] || continue
9191 dirname=$( basename " $dir " )
92- # Only match sequential prefixes (###-* ), skip timestamp dirs
93- if echo " $dirname " | grep -q ' ^[0-9]\{3\ }-' ; then
94- number=$( echo " $dirname " | grep -o ' ^[0-9]\{3\} ' )
92+ # Match sequential prefixes (>=3 digits ), but skip timestamp dirs.
93+ if echo " $dirname " | grep -Eq ' ^[0-9]{3,}- ' && ! echo " $dirname " | grep -Eq ' ^[0-9]{8}-[0-9]{6 }-' ; then
94+ number=$( echo " $dirname " | grep -Eo ' ^[0-9]+ ' )
9595 number=$(( 10 #$number ))
9696 if [ " $number " -gt " $highest " ]; then
9797 highest=$number
@@ -115,9 +115,9 @@ get_highest_from_branches() {
115115 # Clean branch name: remove leading markers and remote prefixes
116116 clean_branch=$( echo " $branch " | sed ' s/^[* ]*//; s|^remotes/[^/]*/||' )
117117
118- # Extract feature number if branch matches pattern ###-*
119- if echo " $clean_branch " | grep -q ' ^[0-9]\{3\ }-' ; then
120- number=$( echo " $clean_branch " | grep -o ' ^[0-9]\{3\} ' || echo " 0" )
118+ # Extract sequential feature number (>=3 digits), skip timestamp branches.
119+ if echo " $clean_branch " | grep -Eq ' ^[0-9]{3,}- ' && ! echo " $clean_branch " | grep -Eq ' ^[0-9]{8}-[0-9]{6 }-' ; then
120+ number=$( echo " $clean_branch " | grep -Eo ' ^[0-9]+ ' || echo " 0" )
121121 number=$(( 10 #$number ))
122122 if [ " $number " -gt " $highest " ]; then
123123 highest=$number
0 commit comments