git-commit-vandalism/Documentation
Jonathan Nieder 35297089e5 shell: new no-interactive-login command to print a custom message
If I disable git-shell's interactive mode by removing the
~/git-shell-commands directory, attempts to ssh in to the service
produce a message intended for the administrator:

	$ ssh git@myserver
	fatal: Interactive git shell is not enabled.
	hint: ~/git-shell-commands should exist and have read and execute access.
	$

That is helpful for the new admin who is wondering "What? Why isn't
the git-shell I just set up working?", but once the site setup is
complete, it would be better to give the user a friendly hint that she
is on the right track, like GitHub does.

	Hi <username>! You've successfully authenticated, but
	GitHub does not provide shell access.

An appropriate greeting might even include more complex dynamic
information, like gitolite's list of repositories the user has access
to.  Add support for a ~/git-shell-commands/no-interactive-login
command that generates an arbitrary greeting.  When the user tries to
log in:

 * If the file ~/git-shell-commands/no-interactive-login exists,
   run no-interactive-login to let the server say what it likes,
   then hang up.

 * Otherwise, if ~/git-shell-commands/ is present, start an
   interactive read-eval-print loop.

 * Otherwise, print the usual configuration hint and hang up.

Reported-by: Ethan Reesor <firelizzard@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Improved-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-09 23:21:35 -08:00
..
howto Merge branch 'jc/doc-maintainer' into maint 2013-02-04 10:03:35 -08:00
RelNotes Git 1.8.1.3 2013-02-07 15:21:10 -08:00
technical Merge branch 'mh/ceiling' into maint 2013-01-28 11:07:18 -08:00
.gitattributes
.gitignore
asciidoc.conf Merge branch 'jk/docs-docbook-monospace-display' into maint-1.7.11 2012-09-11 11:08:40 -07:00
blame-options.txt
build-docdep.perl
cat-texi.perl
cmd-list.perl
CodingGuidelines Documentation: move support for old compilers to CodingGuidelines 2012-12-16 18:30:53 -08:00
config.txt Merge branch 'ss/help-htmlpath-config-doc' into maint 2013-01-28 11:13:31 -08:00
date-formats.txt
diff-config.txt Documentation: move diff.wordRegex from config.txt to diff-config.txt 2012-12-27 15:21:46 -08:00
diff-format.txt
diff-generate-patch.txt
diff-options.txt Sync with 'maint' 2012-12-18 10:51:22 -08:00
docbook-xsl.css
docbook.xsl
everyday.txt
fetch-options.txt fetch --tags: clarify documentation 2012-12-13 16:19:45 -08:00
fix-texi.perl
git-add.txt Doc add: link gitignore 2012-09-18 21:49:46 -07:00
git-am.txt
git-annotate.txt
git-apply.txt
git-archimport.txt
git-archive.txt
git-bisect-lk2009.txt Shorten two over-long lines in git-bisect-lk2009.txt by abbreviating some sha1 2012-10-16 16:09:09 -07:00
git-bisect.txt
git-blame.txt git blame: document that it always follows origin across whole-file renames 2012-09-21 12:14:19 -07:00
git-branch.txt Merge branch 'po/maint-docs' 2012-09-25 10:39:52 -07:00
git-bundle.txt Documentation: full-ness of a bundle is significant for cloning 2013-01-01 15:48:20 -08:00
git-cat-file.txt
git-check-attr.txt
git-check-ref-format.txt
git-checkout-index.txt
git-checkout.txt Documentation/git-checkout.txt: document 70c9ac2 behavior 2012-12-18 11:07:44 -08:00
git-cherry-pick.txt Merge branch 'cw/cherry-pick-allow-empty-message' 2012-09-03 15:53:37 -07:00
git-cherry.txt
git-citool.txt
git-clean.txt Doc clean: add See Also link 2012-09-18 21:49:50 -07:00
git-clone.txt Documentation: remote tracking branch -> remote-tracking branch 2012-10-25 06:55:46 -04:00
git-column.txt
git-commit-tree.txt git-commit-tree(1): correct description of defaults 2013-01-10 10:18:51 -08:00
git-commit.txt Merge branch 'tj/maint-doc-commit-sign' into maint 2012-12-27 15:25:03 -08:00
git-config.txt Merge branch 'jn/warn-on-inaccessible-loosen' into maint 2013-01-11 16:47:07 -08:00
git-count-objects.txt
git-credential-cache--daemon.txt
git-credential-cache.txt
git-credential-store.txt
git-credential.txt
git-cvsexportcommit.txt
git-cvsimport.txt Merge branch 'jk/cvsimport-does-not-work-with-cvsps3' into maint 2013-02-04 10:04:23 -08:00
git-cvsserver.txt
git-daemon.txt Merge branch 'jc/daemon-access-hook' 2012-09-03 15:54:03 -07:00
git-describe.txt
git-diff-files.txt
git-diff-index.txt
git-diff-tree.txt
git-diff.txt Documentation: Describe "git diff <blob> <blob>" separately 2012-12-18 11:35:28 -08:00
git-difftool.txt
git-fast-export.txt
git-fast-import.txt Merge branch 'jk/maint-fast-import-doc-reorder' into maint 2013-01-14 07:59:46 -08:00
git-fetch-pack.txt Split over-long synopsis in git-fetch-pack.txt into several lines 2012-10-16 16:09:09 -07:00
git-fetch.txt
git-filter-branch.txt Documentation/git-filter-branch: Move note about effect of removing commits 2012-09-18 12:51:58 -07:00
git-fmt-merge-msg.txt
git-for-each-ref.txt git-for-each-ref.txt: 'raw' is a supported date format 2013-01-21 16:26:26 -08:00
git-format-patch.txt Doc format-patch: clarify --notes use case 2012-10-26 09:25:04 -04:00
git-fsck-objects.txt
git-fsck.txt
git-gc.txt
git-get-tar-commit-id.txt
git-grep.txt
git-gui.txt
git-hash-object.txt
git-help.txt
git-http-backend.txt
git-http-fetch.txt
git-http-push.txt
git-imap-send.txt
git-index-pack.txt
git-init-db.txt
git-init.txt
git-instaweb.txt
git-log.txt doc: move rev-list option -<n> from git-log.txt to rev-list-options.txt 2012-09-06 13:26:50 -07:00
git-lost-found.txt
git-ls-files.txt
git-ls-remote.txt ls-remote: document the '--get-url' option 2012-09-07 10:58:35 -07:00
git-ls-tree.txt
git-mailinfo.txt
git-mailsplit.txt
git-merge-base.txt merge-base: "--is-ancestor A B" 2012-08-31 11:45:33 -07:00
git-merge-file.txt
git-merge-index.txt
git-merge-one-file.txt
git-merge-tree.txt
git-merge.txt Documentation: remote tracking branch -> remote-tracking branch 2012-10-25 06:55:46 -04:00
git-mergetool--lib.txt
git-mergetool.txt Merge branch 'da/difftool-updates' 2012-08-27 11:55:17 -07:00
git-mktag.txt
git-mktree.txt
git-mv.txt
git-name-rev.txt
git-notes.txt Doc notes: Include the format-patch --notes option 2012-10-25 06:15:56 -04:00
git-p4.txt git-p4: add submit --conflict option and config varaiable 2012-09-16 21:52:53 -07:00
git-pack-objects.txt
git-pack-redundant.txt
git-pack-refs.txt
git-parse-remote.txt
git-patch-id.txt
git-peek-remote.txt
git-prune-packed.txt
git-prune.txt
git-pull.txt
git-push.txt Documentation/git-push.txt: clarify the "push from satellite" workflow 2012-11-27 22:39:08 -08:00
git-quiltimport.txt
git-read-tree.txt
git-rebase.txt rebase -i: Teach "--edit-todo" action 2012-09-17 20:59:14 -07:00
git-receive-pack.txt
git-reflog.txt
git-relink.txt
git-remote-ext.txt
git-remote-fd.txt
git-remote-helpers.txt git-remote-helpers.txt: document invocation before input format 2012-12-27 15:30:14 -08:00
git-remote-testgit.txt
git-remote.txt remote: prefer subcommand name 'remove' to 'rm' 2012-09-06 13:23:22 -07:00
git-repack.txt
git-replace.txt
git-repo-config.txt
git-request-pull.txt
git-rerere.txt
git-reset.txt doc: git-reset: make "<mode>" optional 2012-10-29 01:37:07 -04:00
git-rev-list.txt
git-rev-parse.txt
git-revert.txt
git-rm.txt docs: move submodule section 2012-11-14 13:49:53 -08:00
git-send-email.txt git-send-email: introduce compose-encoding 2012-10-10 00:33:40 -07:00
git-send-pack.txt
git-sh-i18n--envsubst.txt
git-sh-i18n.txt
git-sh-setup.txt
git-shell.txt shell: new no-interactive-login command to print a custom message 2013-03-09 23:21:35 -08:00
git-shortlog.txt Merge branch 'jk/shortlog-no-wrap-doc' into maint 2013-01-14 07:59:03 -08:00
git-show-branch.txt
git-show-index.txt
git-show-ref.txt
git-show.txt
git-stage.txt
git-stash.txt Documentation/git-stash.txt: add a missing verb 2012-12-10 08:18:25 -08:00
git-status.txt status: add --long output format option 2012-10-18 15:01:35 -07:00
git-stripspace.txt
git-submodule.txt Merge branch 'wtk/submodule-doc-fixup' 2012-11-21 13:25:42 -08:00
git-svn.txt Merge branch 'sl/maint-git-svn-docs' into maint 2012-12-27 15:38:34 -08:00
git-symbolic-ref.txt git symbolic-ref --delete $symref 2012-10-21 12:17:38 -07:00
git-tag.txt Documentation: don't link to example mail addresses 2012-12-16 17:59:07 -08:00
git-tar-tree.txt
git-tools.txt
git-unpack-file.txt
git-unpack-objects.txt
git-update-index.txt
git-update-ref.txt
git-update-server-info.txt
git-upload-archive.txt
git-upload-pack.txt
git-var.txt
git-verify-pack.txt
git-verify-tag.txt
git-web--browse.txt
git-whatchanged.txt
git-write-tree.txt
git.txt Git 1.8.1.3 2013-02-07 15:21:10 -08:00
gitattributes.txt Merge branch 'nd/attr-match-optim-more' 2012-11-09 12:42:25 -05:00
gitcli.txt gitcli: parse-options lets you omit tail of long options 2012-10-04 20:30:27 -07:00
gitcore-tutorial.txt Documentation: describe subject more precisely 2012-09-13 21:30:21 -07:00
gitcredentials.txt
gitcvs-migration.txt
gitdiffcore.txt
gitglossary.txt
githooks.txt
gitignore.txt Merge branch 'nd/doc-ignore' into maint 2012-10-17 10:28:42 -07:00
gitk.txt
gitmodules.txt Teach "git submodule add" the --name option 2012-09-29 21:49:11 -07:00
gitnamespaces.txt
gitrepository-layout.txt Doc repository-layout: Show refs/replace 2012-10-25 06:56:39 -04:00
gitrevisions.txt
gittutorial-2.txt
gittutorial.txt Documentation: describe subject more precisely 2012-09-13 21:30:21 -07:00
gitweb.conf.txt
gitweb.txt
gitworkflows.txt
glossary-content.txt
howto-index.sh
i18n.txt
install-doc-quick.sh
install-webdoc.sh
mailmap.txt Documentation: don't link to example mail addresses 2012-12-16 17:59:07 -08:00
Makefile Merge branch 'jn/xml-depends-on-asciidoc-conf' into maint 2013-01-14 08:01:00 -08:00
manpage-1.72.xsl
manpage-base-url.xsl.in
manpage-base.xsl
manpage-bold-literal.xsl
manpage-normal.xsl
manpage-quote-apos.xsl
manpage-suppress-sp.xsl
merge-config.txt Documentation: remote tracking branch -> remote-tracking branch 2012-10-25 06:55:46 -04:00
merge-options.txt
merge-strategies.txt merge: teach -Xours/-Xtheirs to binary ll-merge driver 2012-09-08 21:27:19 -07:00
pretty-formats.txt Documentation: Document signature showing options 2012-09-20 10:28:51 -07:00
pretty-options.txt Documentation: Document signature showing options 2012-09-20 10:28:51 -07:00
pull-fetch-param.txt
rev-list-options.txt log --grep: accept --basic-regexp and --perl-regexp 2012-10-09 23:21:30 -07:00
revisions.txt Merge branch 'nd/branch-v-alignment' 2012-09-07 11:10:02 -07:00
sequencer.txt
SubmittingPatches Merge branch 'jc/submittingpatches' into maint 2013-01-11 16:48:54 -08:00
urls-remotes.txt
urls.txt Git url doc: mark ftp/ftps as read-only and deprecate them 2012-10-08 14:18:19 -07:00
user-manual.conf
user-manual.txt user-manual: Rewrite git-gc section for automatic packing 2013-02-10 20:39:26 -08:00