gnulib-tool.py: Follow gnulib-tool changes, part 58. Follow gnulib-tool change 2017-05-21 Bruno Haible <bruno@clisp.org> gnulib-tool: Add options to create hard links. * pygnulib/GLConfig.py (GLConfig.__init__): Add 'copymode' and 'lcopymode' to the parameter list. Initialize them. (GLConfig.default): Don't use symbolic or hard links by default. (GLConfig.checkCopyMode, GLConfig.setCopyMode, GLConfig.resetCopyMode): New functions to modify and check the method for copying non --local-dir files. (GLConfig.checkLCopyMode, GLConfig.setLCopyMode) (GLConfig.resetLCopyMode): New functions to modify and check the method for copying --local-dir files. (GLConfig.checkSymbolic, GLConfig.resetSymbolic, GLConfig.setSymbolic) (GLConfig.checkLSymbolic, GLConfig.resetLSymbolic) (GLConfig.setLSymbolic): Remove unused functions. The functionality of these are now implemented in the *CopyMode() and *LCopyMode() variants. * pygnulib/GLFileSystem.py (CopyAction.Hardlink): New Enum value to describe hard links. (GLFileSystem.shouldLink): Check if hard links should be used. (GLFileAssistant.add, GLFileAssistant.update): Try to hard link if enabled. Copy the file if linking fails. (GLFileAssistant.add_or_update): Remove temporary files unconditionally. * pygnulib/GLInfo.py (GLInfo.usage): Document new options in the usage message. * pygnulib/GLTestDir.py (GLTestDir.execute): Try to hard link if enabled. Copy the file if linking fails. * pygnulib/classes.py: Importy the CopyAction Enum. * pygnulib/constants.py (hardlink): New function based on symlink_relative. * pygnulib/main.py (main): Add new options --hardlink and --local-hardlink. Invoke 'git update-index --refresh' to mitigate the effects of the hard links on git.