spec-runner 1.0.12 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -19,7 +19,10 @@ ARGS=()
|
|
|
19
19
|
for a in "$@"; do
|
|
20
20
|
case "$a" in
|
|
21
21
|
--yes|-y) YES_MODE=true ;;
|
|
22
|
-
*)
|
|
22
|
+
*)
|
|
23
|
+
# 空引数は無視(例: "" "task-management" "カテゴリ")
|
|
24
|
+
[[ -n "$a" ]] && ARGS+=("$a")
|
|
25
|
+
;;
|
|
23
26
|
esac
|
|
24
27
|
done
|
|
25
28
|
|
|
@@ -105,7 +108,8 @@ DOC_TITLE=$(echo "$DOC_TITLE" | sed 's/[\\\\\\/\\:\\*\\?\\\"\\<\\>\\|]/ /g' | se
|
|
|
105
108
|
|
|
106
109
|
# カテゴリ(省略時はデフォルト)。日本語カテゴリは許可し、危険文字だけ除去。
|
|
107
110
|
CATEGORY="${CATEGORY:-ユースケース}"
|
|
108
|
-
|
|
111
|
+
# 文字レンジ指定は sed 実装差で壊れやすいため、危険文字のみを除去する。
|
|
112
|
+
CATEGORY=$(echo "$CATEGORY" | sed 's/[\\\/:\*\?"<>|]//g' | sed 's/[[:cntrl:]]//g' | sed 's/[[:space:]]\+/ /g' | sed 's/^ *//; s/ *$//')
|
|
109
113
|
[[ -z "$CATEGORY" ]] && CATEGORY="ユースケース"
|
|
110
114
|
|
|
111
115
|
if git rev-parse --verify "$BRANCH_NAME" >/dev/null 2>&1; then
|
|
@@ -114,14 +118,25 @@ if git rev-parse --verify "$BRANCH_NAME" >/dev/null 2>&1; then
|
|
|
114
118
|
fi
|
|
115
119
|
|
|
116
120
|
CURRENT=$(git branch --show-current 2>/dev/null || echo "")
|
|
117
|
-
MAIN_BRANCH="
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
121
|
+
MAIN_BRANCH=""
|
|
122
|
+
|
|
123
|
+
# 1) origin/HEAD からデフォルトブランチを取得
|
|
124
|
+
if git symbolic-ref -q --short refs/remotes/origin/HEAD >/dev/null 2>&1; then
|
|
125
|
+
MAIN_BRANCH="$(git symbolic-ref -q --short refs/remotes/origin/HEAD | sed 's#^origin/##')"
|
|
126
|
+
fi
|
|
127
|
+
# 2) main / master をフォールバック
|
|
128
|
+
if [[ -z "$MAIN_BRANCH" ]]; then
|
|
129
|
+
if git rev-parse --verify "main" >/dev/null 2>&1; then
|
|
130
|
+
MAIN_BRANCH="main"
|
|
131
|
+
elif git rev-parse --verify "master" >/dev/null 2>&1; then
|
|
132
|
+
MAIN_BRANCH="master"
|
|
123
133
|
fi
|
|
124
134
|
fi
|
|
135
|
+
# 3) どれも無ければ現在ブランチ(初期ブランチ名が trunk/develop 等のケース)
|
|
136
|
+
if [[ -z "$MAIN_BRANCH" ]]; then
|
|
137
|
+
MAIN_BRANCH="${CURRENT:-}"
|
|
138
|
+
fi
|
|
139
|
+
[[ -n "$MAIN_BRANCH" ]] || { echo "Error: ベースブランチを特定できません(main/master/current が見つかりません)。" >&2; exit 1; }
|
|
125
140
|
|
|
126
141
|
if [[ "$YES_MODE" != true ]]; then
|
|
127
142
|
echo "次の UC を開始する準備をします。"
|