Kitware Local Git Setup Scripts Introduction ------------ This is a collection of local Git development setup scripts meant for inclusion in project source trees to aid their development workflow. Project-specific information needed by the scripts may be configured in a "config" file added next to them in the project. Import ------ A project may import these scripts into their source tree by initializing a subtree merge. Bring up a Git prompt and set the current working directory inside a clone of the target project. Fetch the "setup" branch from the GitSetup repository: $ git fetch ../GitSetup setup:setup Prepare to merge the branch but place the content in a subdirectory. Any prefix (with trailing '/') may be chosen so long as it is used consistently within a project through the rest of these instructions: $ git merge -s ours --no-commit setup $ git read-tree -u --prefix=Utilities/GitSetup/ setup Commit the merge with an informative message: $ git commit ------------------------------------------------------------------------ Merge branch 'setup' Add Utilities/GitSetup/ directory using subtree merge from the general GitSetup repository "setup" branch. ------------------------------------------------------------------------ Optionally add to the project ".gitattributes" file the line /Utilities/GitSetup export-ignore to exclude the GitSetup directory from inclusion by "git archive" since it does not make sense in source tarballs. Configuration ------------- Read the "Project configuration instructions" comment in each script. Add a "config" file next to the scripts with desired configuration (optionally copy and modify "config.sample"). For example, to configure the "setup-hooks" script: $ git config -f Utilities/GitSetup/config hooks.url "$url" where "$url" is the project repository publishing the "hooks" branch. When finished, add and commit the configuration file: $ git add Utilities/GitSetup/config $ git commit Update ------ A project may update these scripts from the GitSetup repository. Bring up a Git prompt and set the current working directory inside a clone of the target project. Fetch the "setup" branch from the GitSetup repository: $ git fetch ../GitSetup setup:setup Merge the "setup" branch into the subtree: $ git merge -X subtree=Utilities/GitSetup setup where "Utilities/GitSetup" is the same prefix used during the import setup, but without a trailing '/'. License ------- Distributed under the Apache License 2.0. See LICENSE and NOTICE for details.