diff --git a/.git-expand-header b/.git-expand-header new file mode 100755 index 00000000..1ce96685 --- /dev/null +++ b/.git-expand-header @@ -0,0 +1,14 @@ +#! /usr/bin/env bash + +FILE="$(basename $1)" +GIT_DATE="$(git log -n1 --pretty=%ai -- $1)" +GIT_AUTHOR="$(git log -n1 --pretty=%ae -- $1)" +GIT_HASH="$(git log -n1 --pretty=%h -- $1)" +GIT_REV="$(git describe --long --always ${GIT_HASH})" + +sed \ + -e"s@\\\$Date\\\$@\\\$Date: ${GIT_DATE}\\\$@" \ + -e"s|\\\$Author\\\$|\\\$Author: ${GIT_AUTHOR}\\\$|" \ + -e"s@\\\$Id\\\$@\\\$Id: ${GIT_REV}\\\$@" \ + -e"s@\\\$Revision\\\$@\\\$Revision: ${GIT_REV}\\\$@" \ + -e"s|\\\$Header\\\$|\\\$Header: ${FILE} ${GIT_REV} ${GIT_DATE} ${GIT_AUTHOR} \\\$|" diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..f7cb0796 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,8 @@ +*.c filter=header +*.h filter=header +*.cpp filter=header +*.tcl filter=header +*.scm filter=header +Makefile filter=header + +*.gds diff=gds diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 00000000..d4f587dd --- /dev/null +++ b/.gitconfig @@ -0,0 +1,5 @@ +[filter "header"] + smudge = ./.git-expand-header %f + clean = sed -e's/\\$Header:[^$]*\\$/\\$Header\\$/g' +[diff "gds"] + textconv = hexdump -v -C diff --git a/Makefile b/Makefile index 9e7bea76..06d96f3d 100644 --- a/Makefile +++ b/Makefile @@ -131,7 +131,16 @@ TAGS: ${RM} TAGS find . ${MODULES} ${PROGRAMS} -name "*.[ch]" -maxdepth 1 | xargs etags -o TAGS +<<<<<<< HEAD fix-trailing-whitespace: find -name "*.[ch]" | xargs sed -i -e's/\s\+$$//' find -name "*.cpp" | xargs sed -i -e's/\s\+$$//' find -name "*.tcl" | xargs sed -i -e's/\s\+$$//' +======= +setup-git: + git config --local include.path ../.gitconfig + git stash save + rm .git/index + git checkout HEAD -- "$$(git rev-parse --show-toplevel)" + git stash pop +>>>>>>> Adding git expanding command.