#! /bin/sh
-locate -b \*.git | sed 's!/\.git$!!' |
- grep -v "/archive/SQLObject/\|/archive/cheetah3/\|/third-party/\|$HOME/tmp/" |
- sort | uniq > locate-all.list
+locate -b \*.git |
+ grep -v "/archive/SQLObject/\|/archive/cheetah3/\|$HOME/tmp/\|/third-party/" |
+ while read path; do
+ if [ -d "$path" ]; then # skip files `.git` - they're submodules
+ if [ "`basename \"$path\"`" = .git ]; then
+ dirname "$path" # translate `project/.git/` to just `project/`
+ else
+ echo "$path" # bare repo `project.git/`
+ fi
+ fi
+ done |
+LC_ALL=C sort -u > locate-all.list