Skip to content

Commit 60470eb

Browse files
committed
chore: read root CODEOWNER entry from source
1 parent 415c389 commit 60470eb

File tree

1 file changed

+29
-3
lines changed

1 file changed

+29
-3
lines changed

monorepo-migration/migrate.sh

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,6 @@ if [ -z "$SOURCE_REPO_URL" ]; then
3737
SOURCE_REPO_URL="${input_url:-https://github.com/googleapis/java-logging}"
3838
fi
3939
CODEOWNER="${CODEOWNER:-}"
40-
if [ -z "$CODEOWNER" ]; then
41-
read -p "Enter CODEOWNER (e.g., @chingor13): " CODEOWNER
42-
fi
4340

4441
# Derive names from URLs to avoid duplication
4542
SOURCE_REPO_NAME="${SOURCE_REPO_URL##*/}"
@@ -77,6 +74,35 @@ else
7774
cd - > /dev/null
7875
fi
7976

77+
# 1.5 Extract CODEOWNERS from source repository as default
78+
if [ -z "$CODEOWNER" ]; then
79+
echo "Attempting to find default CODEOWNER from source repository..."
80+
CODEOWNERS_FILE=""
81+
if [ -f "$SOURCE_DIR/.github/CODEOWNERS" ]; then
82+
CODEOWNERS_FILE="$SOURCE_DIR/.github/CODEOWNERS"
83+
elif [ -f "$SOURCE_DIR/CODEOWNERS" ]; then
84+
CODEOWNERS_FILE="$SOURCE_DIR/CODEOWNERS"
85+
fi
86+
87+
DEFAULT_CODEOWNER=""
88+
if [ -n "$CODEOWNERS_FILE" ]; then
89+
# Extract the line(s) starting with * (global owners)
90+
# Use grep to find the line, then sed to remove the '*' and standard team handle
91+
EXTRACTED_OWNERS=$(grep "^\*" "$CODEOWNERS_FILE" | sed 's/^\*[[:space:]]*//' | sed 's/@googleapis\/cloud-java-team-teamsync//g' | xargs)
92+
if [ -n "$EXTRACTED_OWNERS" ]; then
93+
DEFAULT_CODEOWNER="$EXTRACTED_OWNERS"
94+
echo "Found default CODEOWNER: $DEFAULT_CODEOWNER"
95+
fi
96+
fi
97+
98+
if [ -n "$DEFAULT_CODEOWNER" ]; then
99+
read -p "Enter CODEOWNER [$DEFAULT_CODEOWNER]: " input_owner
100+
CODEOWNER="${input_owner:-$DEFAULT_CODEOWNER}"
101+
else
102+
read -p "Enter CODEOWNER (e.g., @chingor13): " CODEOWNER
103+
fi
104+
fi
105+
80106
# 2. Clone the target monorepo (the "isolated clone")
81107
if [ ! -d "$TARGET_DIR" ]; then
82108
echo "Cloning target monorepo: $MONOREPO_URL into $TARGET_DIR"

0 commit comments

Comments
 (0)