aboutsummaryrefslogtreecommitdiffstats
path: root/gen_links.sh.inc
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-03-15 22:14:38 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-03-16 00:08:08 +0100
commit53fb0cf22ba887d9bf4c7bf3d58f07bef90aa48b (patch)
tree31d0aa7f8f7e40e44dfcf0189bcd36283ec71b43 /gen_links.sh.inc
parent1a4c4601d7e32e004e99c20a9c2dc78112208a7f (diff)
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
Diffstat (limited to 'gen_links.sh.inc')
-rw-r--r--gen_links.sh.inc13
1 files changed, 11 insertions, 2 deletions
diff --git a/gen_links.sh.inc b/gen_links.sh.inc
index 2fcb9d1c..aba8ca16 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
}