main
1{
2 writeShellScriptBin,
3}:
4
5writeShellScriptBin "repo-find" ''
6 # Find a local git repository given owner/repo
7 # Tries multiple common path patterns
8
9 if [ -z "$1" ]; then
10 echo "Usage: repo-find <owner/repo>" >&2
11 exit 1
12 fi
13
14 full_name="$1"
15 owner="''${full_name%%/*}"
16 repo="''${full_name##*/}"
17
18 # Paths to try in order
19 paths=(
20 "$HOME/src/github.com/$full_name"
21 "$HOME/src/$full_name"
22 "$HOME/src/$owner/$repo"
23 "$HOME/src/$repo"
24 )
25
26 for path in "''${paths[@]}"; do
27 if [ -d "$path" ]; then
28 echo "$path"
29 exit 0
30 fi
31 done
32
33 echo "Repository $full_name not found locally" >&2
34 exit 1
35''