aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/glossary-content.txt
diff options
context:
space:
mode:
authorDavid Turner <dturner@twopensource.com>2015-07-31 02:06:17 -0400
committerJunio C Hamano <gitster@pobox.com>2015-07-31 10:37:47 -0700
commit2036cb98d00b888262c3dbfad7e14ffd95165028 (patch)
tree147672065ad1d7a5bc12df5dbdfd64fef1345436 /Documentation/glossary-content.txt
parent89dea973349769efa8facc6f7b11095958205d4d (diff)
downloadgit-2036cb98d00b888262c3dbfad7e14ffd95165028.tar.gz
refs: introduce pseudoref and per-worktree ref concepts
Add glossary entries for both concepts. Pseudorefs and per-worktree refs do not yet have special handling, because the files refs backend already handles them correctly. Later, we will make the LMDB backend call out to the files backend to handle per-worktree refs. Signed-off-by: David Turner <dturner@twopensource.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/glossary-content.txt')
-rw-r--r--Documentation/glossary-content.txt21
1 files changed, 21 insertions, 0 deletions
diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt
index ab18f4baca..8c6478b2f2 100644
--- a/Documentation/glossary-content.txt
+++ b/Documentation/glossary-content.txt
@@ -411,6 +411,27 @@ exclude;;
core Git. Porcelains expose more of a <<def_SCM,SCM>>
interface than the <<def_plumbing,plumbing>>.
+[[def_per_worktree_ref]]per-worktree ref::
+ Refs that are per-<<def_working_tree,worktree>>, rather than
+ global. This is presently only <<def_HEAD,HEAD>>, but might
+ later include other unusual refs.
+
+[[def_pseudoref]]pseudoref::
+ Pseudorefs are a class of files under `$GIT_DIR` which behave
+ like refs for the purposes of rev-parse, but which are treated
+ specially by git. Pseudorefs both have names that are all-caps,
+ and always start with a line consisting of a
+ <<def_SHA1,SHA-1>> followed by whitespace. So, HEAD is not a
+ pseudoref, because it is sometimes a symbolic ref. They might
+ optionally contain some additional data. `MERGE_HEAD` and
+ `CHERRY_PICK_HEAD` are examples. Unlike
+ <<def_per_worktree_ref,per-worktree refs>>, these files cannot
+ be symbolic refs, and never have reflogs. They also cannot be
+ updated through the normal ref update machinery. Instead,
+ they are updated by directly writing to the files. However,
+ they can be read as if they were refs, so `git rev-parse
+ MERGE_HEAD` will work.
+
[[def_pull]]pull::
Pulling a <<def_branch,branch>> means to <<def_fetch,fetch>> it and
<<def_merge,merge>> it. See also linkgit:git-pull[1].