gen_links.sh: auto-generate .gitignore files to ignore symlinks
In each subdir that is a target for symlinks, automatically ignore the results
of gen_links():
- At the top of gen_links.sh.inc, clear the .gitignore.
- In the loop, add each link name to the local .gitignore.
- In selected gen_links.sh, there is also a "manual" link creationg. So that
this also ends up in the local .gitignore, have the link creation as separate
gen_link() macro which at the same time adds to ./.gitignore.
- in the root .gitignore, ignore all the subdirs' generated */.gitignore files.
Change-Id: I73c11fe8362358bf7e1bdf0e1be53399b5d3351b
diff --git a/gen_links.sh.inc b/gen_links.sh.inc
index 2fcb9d1..aba8ca1 100644
--- a/gen_links.sh.inc
+++ b/gen_links.sh.inc
@@ -1,12 +1,21 @@
#!dont_run_this
# This file is sourced by */gen_links.sh
+rm -f .gitignore
+
+gen_link() {
+ src="$1"
+ f="$2"
+ echo "Linking $f"
+ ln -sf "$src" "$f"
+ echo "$f" >> .gitignore
+}
+
gen_links() {
DIR=$1
shift
FILES=$*
for f in $FILES; do
- echo "Linking $f"
- ln -sf $DIR/$f $f
+ gen_link "$DIR/$f" "$f"
done
}