]>
Commit | Line | Data |
---|---|---|
215a7ad1 JH |
1 | git-sh-setup(1) |
2 | =============== | |
7fc9d69f JH |
3 | |
4 | NAME | |
5 | ---- | |
7bd7f280 | 6 | git-sh-setup - Common git shell script setup code |
7fc9d69f JH |
7 | |
8 | SYNOPSIS | |
9 | -------- | |
bd870878 | 10 | '. "$(git --exec-path)/git-sh-setup"' |
7fc9d69f JH |
11 | |
12 | DESCRIPTION | |
13 | ----------- | |
7fc9d69f | 14 | |
850844e2 JH |
15 | This is not a command the end user would want to run. Ever. |
16 | This documentation is meant for people who are studying the | |
17 | Porcelain-ish scripts and/or are writing new ones. | |
18 | ||
0b444cdb | 19 | The 'git sh-setup' scriptlet is designed to be sourced (using |
850844e2 JH |
20 | `.`) by other shell scripts to set up some variables pointing at |
21 | the normal git directories and a few helper shell functions. | |
22 | ||
23 | Before sourcing it, your script should set up a few variables; | |
24 | `USAGE` (and `LONG_USAGE`, if any) is used to define message | |
25 | given by `usage()` shell function. `SUBDIRECTORY_OK` can be set | |
26 | if the script can run from a subdirectory of the working tree | |
27 | (some commands do not). | |
28 | ||
29 | The scriptlet sets `GIT_DIR` and `GIT_OBJECT_DIRECTORY` shell | |
30 | variables, but does *not* export them to the environment. | |
31 | ||
32 | FUNCTIONS | |
33 | --------- | |
34 | ||
35 | die:: | |
36 | exit after emitting the supplied error message to the | |
37 | standard error stream. | |
38 | ||
39 | usage:: | |
40 | die with the usage message. | |
41 | ||
42 | set_reflog_action:: | |
43 | set the message that will be recorded to describe the | |
44 | end-user action in the reflog, when the script updates a | |
45 | ref. | |
46 | ||
3f4bc3e0 MV |
47 | git_editor:: |
48 | runs an editor of user's choice (GIT_EDITOR, core.editor, VISUAL or | |
49 | EDITOR) on a given file, but error out if no editor is specified | |
50 | and the terminal is dumb. | |
51 | ||
850844e2 JH |
52 | is_bare_repository:: |
53 | outputs `true` or `false` to the standard output stream | |
54 | to indicate if the repository is a bare repository | |
55 | (i.e. without an associated working tree). | |
56 | ||
57 | cd_to_toplevel:: | |
58 | runs chdir to the toplevel of the working tree. | |
59 | ||
60 | require_work_tree:: | |
61 | checks if the repository is a bare repository, and dies | |
62 | if so. Used by scripts that require working tree | |
63 | (e.g. `checkout`). | |
64 | ||
3f4bc3e0 MV |
65 | get_author_ident_from_commit:: |
66 | outputs code for use with eval to set the GIT_AUTHOR_NAME, | |
67 | GIT_AUTHOR_EMAIL and GIT_AUTHOR_DATE variables for a given commit. | |
68 | ||
7fc9d69f JH |
69 | |
70 | Author | |
71 | ------ | |
72 | Written by Linus Torvalds <torvalds@osdl.org> | |
73 | ||
74 | Documentation | |
75 | -------------- | |
76 | Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>. | |
77 | ||
78 | GIT | |
79 | --- | |
9e1f0a85 | 80 | Part of the linkgit:git[1] suite |