pathScripts/gitscan
2024-08-03 00:22:15 -07:00

23 lines
668 B
Bash
Executable file

#!/bin/bash
output_file="./repos.txt"
# Clear the existing file or create it if it doesn't exist
> "$output_file"
# Find all .git directories in the current folder and subfolders,
# excluding hidden directories and suppressing permission denied errors
find . -type d -name ".git" -not -path "*/.*/*" 2>/dev/null | while read -r gitdir; do
# Get the parent directory of the .git folder
repo_path=$(dirname "$gitdir")
echo "$repo_path" >> "$output_file"
done
echo "Git repositories have been written to $output_file"
# Remove duplicate entries
sort -u "$output_file" -o "$output_file"
echo "Duplicate entries removed. Final list:"
cat "$output_file"