nosync-quiet option added courtesy Robin Johnson (Gentoo project)
[gitolite-doc.git] / docs / no-way.mkd
blobbf9abae2b23a2ce8e4d039c1df7560d5761a879d
1 # no way!
3 ----
5 For the entertainment of the sensible majority, and as a way of thanking all
6 of you, here are some examples of requests (demands in some cases) I have
7 received over the last couple of years.
9   * deleting environment variables copied from client session
11     demand: add code to delete certain environment variables at startup
12     because "the openssh servers in the linux distribution that [he] use[s],
13     are configured to copy `GIT_*` variables to the remote session".
15     This is wrong on so many levels it's almost plonk-able!
17   * using `cp` instead of `ln`
19     Guy has an NTFS file system mounted on Linux.  So... no symlinks (an NTFS
20     file system on Windows works fine because msysgit/cygwin manage to
21     *simulate* them.  NTFS mounted on Linux won't do that!)
23     He wanted all the symlink stuff to be replaced by copies.
25     No. Way.
27   * non-bare repos on the server
29     Some guy gave me a complicated spiel about git-svn not liking bare repos
30     or whatever.  I tuned off at the first mention of those 3 letters so I
31     don't really know what the actual problem was.
33     But it doesn't matter.  Even if someone (Ralf H) had not chipped in with a
34     workable solution, I still would not do it.  A server repo should be bare.
35     Period.
37   * incomplete ownership of `GL_REPO_BASE`
39     This guy had a repo-base directory where not all of the files were owned
40     by the git user.  As a result, some of the hooks did not get created.  He
41     claimed my code should detect OS-permissions issues while it's doing its
42     stuff.
44     No.  I refuse to have the code constantly look over its shoulder making
45     sure fundamental assumptions are being met.
47   * empty template directory
49     (See man git-init for what a template directory is).
51     The same guy with the environment variables had an empty template
52     directory because he "does not like to have sample hooks in every
53     repository".  So naturally, the hooks directory does not get created when
54     you run a `git init`.  He expects gitolite to compensate for it.
56     Granted, it's only a 1-line change.  But again, this falls under
57     "constantly looking over your shoulder to double check fundamental
58     assumptions".  Where does it end?
60     [update 2014-07: I believe I read somewhere that git itself may be
61     removing those "sample" hooks.  If that also means the hooks directory
62     will not be created when you "git init --bare", then I guess I'd have to
63     do something!]