The pre-commit hook had code that was trying to detect and _fix_
trailing whitespaces. this code was broken. If you try to do a partial
commit on a file and the part your are partially commiting contain
offending lines, the process to try to fix them drop the rest of the
changes.
In general it is very dangerous to try to be cute in a pre-commit hook
a pre-commit hook you tell you something is wrong, and preferably were
it think that it is wrong... but should not attempt to 'fix' things
silently. So I did not try to 'fix' that code.
Instead I replaced it by a straight forward 'detection-only', lifted from
the linux-kernel's git hook.
Change of the function check_and_fix_whitespace() to check only file with the extension listed (c|cpp|cxx|h|hrc|hxx|idl|inl|java|map|mk|MK|pmk|pl|pm|sdi|sh|src|tab|xcu|xml)
* origin/feature/gnumake2.1: (202 commits)
Revert "starmath need to have _DLL_ defined, even on MacOS"
tweak library name on MacOS
starmath need to have _DLL_ defined, even on MacOS
add helper to set-up the libraries env, to run executable during build
the startmath module in Module_ooo must use the name of the directory
add starmath libraries to Repository.mk
make linkoo scan the solver too, for Norbert's gnumake work
-Wunitialized is not compatible with -DDEBUG
rename gb_HIRESTIME to gb_LOWRESTIME. Assume highres precision by default
add missing library for sc. Massage the delivered libraries name.
support USE_GMAKE=1 envvar to build with gmake the modules that can be.
add sc in the list of gmake-Modules
support for an alternate gbuild.lst to support gmake build
add a few comment to balance quotes, to make the editor less confused
add all the sub-directory of the RESLOCATION to search for resource
add calc related library to the Repository
tweak MacOs platform specific include to build on Macos
fixing variable exports for windows compiler (thanks ause)
fixing variable exports for windows compiler (thanks ause)
also accept debug=t
...
Conflicts:
Makefile.in
Module_ooo.mk
Repository.mk
RepositoryFixes.mk
configure.in
solenv/bin/build.pl
solenv/bin/modules/RepositoryHelper.pm
solenv/bin/packmodule
solenv/doc/gbuild/doxygen.cfg
solenv/doc/gbuild/solenv/gbuild/types.mk
solenv/gbuild/AllLangResTarget.mk
solenv/gbuild/BuildDirs.mk
solenv/gbuild/ComponentTarget.mk
solenv/gbuild/Deliver.mk
solenv/gbuild/Executable.mk
solenv/gbuild/Helper.mk
solenv/gbuild/Library.mk
solenv/gbuild/LinkTarget.mk
solenv/gbuild/Module.mk
solenv/gbuild/Output.mk
solenv/gbuild/Package.mk
solenv/gbuild/PrecompiledHeaders.mk
solenv/gbuild/SdiTarget.mk
solenv/gbuild/StaticLibrary.mk
solenv/gbuild/TargetLocations.mk
solenv/gbuild/gbuild.mk
solenv/gbuild/platform/linux.mk
solenv/gbuild/platform/macosx.mk
solenv/gbuild/platform/solaris.mk
solenv/gbuild/platform/windows.mk
solenv/gbuild/processdelivered.awk
solenv/gbuild/processdeps.awk
solenv/inc/unxgcc.mk
soltools/mkdepend/def.h
soltools/mkdepend/include.c
We call 'git add' for files where we fixed whitespaces in. This is a
problem in case the user staged only part of a file - as a result we do
not just fix up whitespace in the patch but also stage other hunks of
the file.
Fix the problem by removing/restoring not staged changes before/after
whitespace fixing. The operation is cheap enough, as it's a noop in case
there are no unstaged changes.