diff options
author | Joey Hess <joey@kodama.kitenet.net> | 2008-01-04 18:34:54 -0500 |
---|---|---|
committer | Joey Hess <joey@kodama.kitenet.net> | 2008-01-04 18:34:54 -0500 |
commit | 7f95ccf12aa02db60f560a66fc43d8bae1e1175c (patch) | |
tree | 52d3f6912976bf46a0b26b6c0a129e218c1083d0 | |
parent | be1a6c1380e81a60c1801bff6ff1a760149633a1 (diff) |
tricky stuff to do with storing metadata etc in pre-commit
git needs to git add the files to stage them as part of the current commit, but
hg does not, and hg add doesn't do that. Create the files as part of init,
this will cause them to be added, pre-commit, which hg needs.
-rwxr-xr-x | init.d/10restore-etckeeper | 2 | ||||
-rwxr-xr-x | init.d/20restore-metadata | 2 | ||||
-rwxr-xr-x | pre-commit.d/20store-empty-directory | 5 | ||||
-rwxr-xr-x | pre-commit.d/30store-metadata | 5 |
4 files changed, 10 insertions, 4 deletions
diff --git a/init.d/10restore-etckeeper b/init.d/10restore-etckeeper index 376524c..f49e70c 100755 --- a/init.d/10restore-etckeeper +++ b/init.d/10restore-etckeeper @@ -5,4 +5,6 @@ set -e # should only be run on repositories you trust. if [ -e .etckeeper ]; then . ./.etckeeper +else + touch .etckeeper fi diff --git a/init.d/20restore-metadata b/init.d/20restore-metadata index 01c45e4..5d76b1b 100755 --- a/init.d/20restore-metadata +++ b/init.d/20restore-metadata @@ -7,4 +7,6 @@ set -e # should only be run on repositories you trust. if [ -e .metadata ]; then metastore --apply --mtime +else + metastore --save fi diff --git a/pre-commit.d/20store-empty-directory b/pre-commit.d/20store-empty-directory index 0cab9df..a52a383 100755 --- a/pre-commit.d/20store-empty-directory +++ b/pre-commit.d/20store-empty-directory @@ -16,11 +16,12 @@ if [ "$VCS" = git ] || [ "$VCS" = hg ]; then if [ ! -e .etckeeper ] || ! cmp -s .etckeeper .etckeeper.new ; then mv -f .etckeeper.new .etckeeper + # stage the file as part of the current commit if [ "$VCS" = git ]; then git add .etckeeper - elif [ "$VCS" = hg ]; then - hg add .etckeeper fi + # hg add not done, hg will automatically include the file + # in the current commit else rm -f .etckeeper.new fi diff --git a/pre-commit.d/30store-metadata b/pre-commit.d/30store-metadata index 959e714..19b4673 100755 --- a/pre-commit.d/30store-metadata +++ b/pre-commit.d/30store-metadata @@ -16,10 +16,11 @@ if [ "$VCS" = git ] || [ "$VCS" = hg ]; then if [ ! -z "$(metastore --compare)" ]; then metastore --save + # stage the file as part of the current commit if [ "$VCS" = git ]; then git add .metadata - elif [ "$VCS" = hg ]; then - hg add .metadata fi + # hg add not done, hg will automatically include the file + # in the current commit fi fi |