git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] pre-commit hook should ignore carriage returns at EOL

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 24, 2008, 23:59 UTC
Message-ID
<7v4p7i9ygd.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<930163B6-4A7E-49C7-B9D5-F7B37699C2A9@gmail.com>
Christian Holtje <docwhat@gmail.com> writes:
Show 8 quoted lines
> On Jun 24, 2008, at 6:31 PM, Junio C Hamano wrote:
> ...
>> It's an ancient sample hook that is not be enabled by default.  I do
>> not want people to be wasting too much time on the relic.
>
> Part of the reason I'm fixing this is because it *is* enabled by
> default in windows.  I don't know why, but cygwin always marks it with
> executable.

That's a packaging issue, and I've always wanted to see fixes related to platform specific packaging issues come from people who _need_ fixes on their platforms. I have been waiting forever for that to happen without complaining to them. I was hoping some enlightened people will emerge even from Windows camps, waiting patiently.

But I ran out of patience, and I am finally fed up waiting.
How about doing this everywhere, not just on Windows, for 1.6.0?

-- >8 -- [PATCH] Ship sample hooks with .sample suffix

We used to mark hooks we ship as samples by making them unexecutable, but some filesystems cannot tell what is executable and what is not.

This makes it much more explicit. The hooks are suffixed with .sample (but now are made executable), so enabling it is still one step operation (instead of "chmod +x $hook", you would do "mv $hook.sample $hook") but now they won't get accidentally enabled on systems without executable bit.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Documentation/githooks.txt                         |    3 ++-
 ...applypatch-msg => hooks--applypatch-msg.sample} |    0
 ...{hooks--commit-msg => hooks--commit-msg.sample} |    0
 ...ooks--post-commit => hooks--post-commit.sample} |    0
 ...ks--post-receive => hooks--post-receive.sample} |    0
 ...ooks--post-update => hooks--post-update.sample} |    0
 ...pre-applypatch => hooks--pre-applypatch.sample} |    0
 ...{hooks--pre-commit => hooks--pre-commit.sample} |    0
 ...{hooks--pre-rebase => hooks--pre-rebase.sample} |    0
 ...commit-msg => hooks--prepare-commit-msg.sample} |    0
 templates/{hooks--update => hooks--update.sample}  |    0
 11 files changed, 2 insertions(+), 1 deletions(-)
 rename templates/{hooks--applypatch-msg => hooks--applypatch-msg.sample} (100%)
 mode change 100644 => 100755
 rename templates/{hooks--commit-msg => hooks--commit-msg.sample} (100%)
 mode change 100644 => 100755
 rename templates/{hooks--post-commit => hooks--post-commit.sample} (100%)
 mode change 100644 => 100755
 rename templates/{hooks--post-receive => hooks--post-receive.sample} (100%)
 mode change 100644 => 100755
 rename templates/{hooks--post-update => hooks--post-update.sample} (100%)
 mode change 100644 => 100755
 rename templates/{hooks--pre-applypatch => hooks--pre-applypatch.sample} (100%)
 mode change 100644 => 100755
 rename templates/{hooks--pre-commit => hooks--pre-commit.sample} (100%)
 mode change 100644 => 100755
 rename templates/{hooks--pre-rebase => hooks--pre-rebase.sample} (100%)
 mode change 100644 => 100755
 rename templates/{hooks--prepare-commit-msg => hooks--prepare-commit-msg.sample} (100%)
 mode change 100644 => 100755
 rename templates/{hooks--update => hooks--update.sample} (100%)
 mode change 100644 => 100755
diff --git a/Documentation/githooks.txt b/Documentation/githooks.txt
index 4f06ae0..262a4f1 100644
--- a/Documentation/githooks.txt
+++ b/Documentation/githooks.txt
@@ -17,7 +17,8 @@ Hooks are little scripts you can place in `$GIT_DIR/hooks`
 directory to trigger action at certain points.  When
 `git-init` is run, a handful example hooks are copied in the
 `hooks` directory of the new repository, but by default they are
-all disabled.  To enable a hook, make it executable with `chmod +x`.
+all disabled.  To enable a hook, rename it by removing its `.sample`
+suffix.
 
 This document describes the currently defined hooks.
 
diff --git a/templates/hooks--applypatch-msg b/templates/hooks--applypatch-msg.sample
old mode 100644
new mode 100755
similarity index 100%
rename from templates/hooks--applypatch-msg
rename to templates/hooks--applypatch-msg.sample
diff --git a/templates/hooks--commit-msg b/templates/hooks--commit-msg.sample
old mode 100644
new mode 100755
similarity index 100%
rename from templates/hooks--commit-msg
rename to templates/hooks--commit-msg.sample
diff --git a/templates/hooks--post-commit b/templates/hooks--post-commit.sample
old mode 100644
new mode 100755
similarity index 100%
rename from templates/hooks--post-commit
rename to templates/hooks--post-commit.sample
diff --git a/templates/hooks--post-receive b/templates/hooks--post-receive.sample
old mode 100644
new mode 100755
similarity index 100%
rename from templates/hooks--post-receive
rename to templates/hooks--post-receive.sample
diff --git a/templates/hooks--post-update b/templates/hooks--post-update.sample
old mode 100644
new mode 100755
similarity index 100%
rename from templates/hooks--post-update
rename to templates/hooks--post-update.sample
diff --git a/templates/hooks--pre-applypatch b/templates/hooks--pre-applypatch.sample
old mode 100644
new mode 100755
similarity index 100%
rename from templates/hooks--pre-applypatch
rename to templates/hooks--pre-applypatch.sample
diff --git a/templates/hooks--pre-commit b/templates/hooks--pre-commit.sample
old mode 100644
new mode 100755
similarity index 100%
rename from templates/hooks--pre-commit
rename to templates/hooks--pre-commit.sample
diff --git a/templates/hooks--pre-rebase b/templates/hooks--pre-rebase.sample
old mode 100644
new mode 100755
similarity index 100%
rename from templates/hooks--pre-rebase
rename to templates/hooks--pre-rebase.sample
diff --git a/templates/hooks--prepare-commit-msg b/templates/hooks--prepare-commit-msg.sample
old mode 100644
new mode 100755
similarity index 100%
rename from templates/hooks--prepare-commit-msg
rename to templates/hooks--prepare-commit-msg.sample
diff --git a/templates/hooks--update b/templates/hooks--update.sample
old mode 100644
new mode 100755
similarity index 100%
rename from templates/hooks--update
rename to templates/hooks--update.sample
Previous: Christian HoltjeNext: Junio C Hamano
Message 14 of 21 in “pre-commit hook should ignore carriage returns at EOL”
  1. pre-commit hook should ignore carriage returns at EOLChristian Holtje, Jun 24, 2008
  2. Alf ClementJun 24, 2008
  3. Ian HiltJun 24, 2008
  4. Jakub NarebskiJun 24, 2008
  5. Ian HiltJun 24, 2008
  6. Jakub NarebskiJun 24, 2008
  7. Ian HiltJun 24, 2008
  8. Christian HoltjeJun 24, 2008
  9. Junio C HamanoJun 24, 2008
  10. Christian HoltjeJun 24, 2008
  11. Jakub NarebskiJun 24, 2008
  12. Junio C HamanoJun 24, 2008
  13. Christian HoltjeJun 25, 2008
  14. Junio C HamanoJun 24, 2008
  15. Ship sample hooks with .sample suffixJunio C Hamano, Jun 25, 2008
  16. Junio C HamanoJun 25, 2008
  17. Johannes SixtJun 25, 2008
  18. Junio C HamanoJun 25, 2008
  19. Johannes SixtJun 26, 2008
  20. Junio C HamanoJun 26, 2008
  21. Peter BaumannJun 25, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.