diff options
author | Russell Belfer <rb@github.com> | 2013-02-26 23:43:14 +0400 |
---|---|---|
committer | Russell Belfer <rb@github.com> | 2013-02-26 23:43:14 +0400 |
commit | 3c42e4ef7428de18784e04c9cac18de3613144cb (patch) | |
tree | 37c1e0a586801be43f5da22e840c5b87ecf66302 /tests-clar/resources | |
parent | 25a0831f2d71c5802bff7c4a247dbd0315b767ba (diff) |
Fix initialization of repo directories
When PR #1359 removed the hooks from the test resources/template
directory, it made me realize that the tests for
git_repository_init_ext using templates must be pretty shabby
because we could not have been testing if the hooks were getting
created correctly.
So, this started with me recreating a couple of hooks, including
a sample and symlink, and adding tests that they got created
correctly in the various circumstances, including with the SHARED
modes, etc. Unfortunately this uncovered some issues with how
directories and symlinks were copied and chmod'ed. Also, there
was a FIXME in the code related to the chmod behavior as well.
Going back over the directory creation logic for setting up a
repository, I found it was a little difficult to read and could
result in creating and/or chmod'ing directories that the user
almost certainly didn't intend.
So that let to this work which makes repo initialization much
more careful (and hopefully easier to follow). It required a
couple of extensions / changes to core fileops utilities, but I
also think those are for the better, at least for git_futils_cp_r
in terms of being careful about what actions it takes.
Diffstat (limited to 'tests-clar/resources')
l--------- | tests-clar/resources/template/hooks/link.sample | 1 | ||||
-rwxr-xr-x | tests-clar/resources/template/hooks/update.sample | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/tests-clar/resources/template/hooks/link.sample b/tests-clar/resources/template/hooks/link.sample new file mode 120000 index 000000000..771acc43b --- /dev/null +++ b/tests-clar/resources/template/hooks/link.sample @@ -0,0 +1 @@ +update.sample
\ No newline at end of file diff --git a/tests-clar/resources/template/hooks/update.sample b/tests-clar/resources/template/hooks/update.sample new file mode 100755 index 000000000..3b5f41202 --- /dev/null +++ b/tests-clar/resources/template/hooks/update.sample @@ -0,0 +1,9 @@ +#!/bin/sh +# +# A sample hook to make sure that the `git_repository_init_ext()` function +# can correctly copy a hook over and set it up with the correct permissions. +# +# To enable a hook, you copy the file and remove the ".sample" suffix, but +# in this case, we're just making sure it gets copied correctly. + +echo "$GIT_DIR" |