81 lines
2.3 KiB
Plaintext
81 lines
2.3 KiB
Plaintext
|
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.
|
||
|
------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
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.
|