#! /bin/sh
-(locate -b \\.git && locate -b *.git) | sort | uniq |
- sed 's!/\.git$!!' >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