From 7f95ccf12aa02db60f560a66fc43d8bae1e1175c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 4 Jan 2008 18:34:54 -0500 Subject: 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. --- init.d/10restore-etckeeper | 2 ++ init.d/20restore-metadata | 2 ++ pre-commit.d/20store-empty-directory | 5 +++-- 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 -- cgit v1.2.3