Package org.eclipse.jgit.lib

## Class Constants

- java.lang.Object
- - org.eclipse.jgit.lib.Constants

    public final class Constants
    extends Object

Misc. constants used throughout JGit.

### Field Summary

Fields
`static String` `CHARACTER_ENCODING` Native character encoding for commit messages, file names...
`static Charset` `CHARSET` Native character encoding for commit messages, file names...
`static String` `CHERRY_PICK_HEAD` name of the file containing the ID of a cherry pick commit in case of conflicts
`static String` `CONFIG` Default name for the Git repository configuration
`static String` `DEFAULT_REMOTE_NAME` Default remote name used by clone, push and fetch operations
`static String` `DOT_GIT` Default name for the Git repository directory
`static String` `DOT_GIT_ATTRIBUTES` Name of the attributes file
`static String` `DOT_GIT_EXT` A bare repository typically ends with this string
`static String` `DOT_GIT_IGNORE` Name of the ignore file
`static String` `DOT_GIT_MODULES` Name of the submodules file
`static ObjectId` `EMPTY_BLOB_ID` objectid for the empty blob
`static String` `FETCH_HEAD` Special name for the "FETCH_HEAD" symbolic-ref.
`static String` `GIT_ALTERNATE_OBJECT_DIRECTORIES_KEY` The environment variable that tells us where to look for objects, besides the default objects directory.
`static String` `GIT_AUTHOR_EMAIL_KEY` The environment variable that contains the author's email
`static String` `GIT_AUTHOR_NAME_KEY` The environment variable that contains the author's name
`static String` `GIT_CEILING_DIRECTORIES_KEY` The environment variable that limits how close to the root of the file systems JGit will traverse when looking for a repository root.
`static String` `GIT_COMMITTER_EMAIL_KEY` The environment variable that contains the commiter's email
`static String` `GIT_COMMITTER_NAME_KEY` The environment variable that contains the commiter's name
`static String` `GIT_CONFIG_NOSYSTEM_KEY` The environment variable that blocks use of the system config file
`static String` `GIT_DIR_KEY` The environment variable that tells us which directory is the ".git" directory
`static String` `GIT_INDEX_FILE_KEY` The environment variable that tells us which file holds the Git index.
`static String` `GIT_OBJECT_DIRECTORY_KEY` The environment variable that tells us where objects are stored
`static String` `GIT_WORK_TREE_KEY` The environment variable that tells us which directory is the working directory.
`static String` `GITDIR` Prefix of the first line in a ".git" file
`static String` `GITIGNORE_FILENAME` A gitignore file name
`static String` `HEAD` Special name for the "HEAD" symbolic-ref.
`static String` `HOOKS` Name of the folder (inside gitDir) where the hooks are stored.
`static String` `INFO_EXCLUDE` Excludes-file
`static String` `INFO_REFS` Info refs folder
`static String` `LOGS` Logs folder name
`static String` `MASTER` Default main branch name
`static String` `MERGE_HEAD` name of the file containing the IDs of the parents of a merge commit
`static String` `MERGE_MSG` name of the file containing the commit msg for a merge commit
`static String` `MODULES` Name of the folder (inside gitDir) where submodules are stored
`static int` `OBJ_BAD` An unknown or invalid object type code.
`static int` `OBJ_BLOB` In-pack object type: blob.
`static int` `OBJ_COMMIT` In-pack object type: commit.
`static int` `OBJ_EXT` In-pack object type: extended types.
`static int` `OBJ_OFS_DELTA` In-pack object type: offset delta
`static int` `OBJ_REF_DELTA` In-pack object type: reference delta
`static int` `OBJ_TAG` In-pack object type: annotated tag.
`static int` `OBJ_TREE` In-pack object type: tree.
`static int` `OBJ_TYPE_5` In-pack object type: reserved for future use.
`static int` `OBJECT_ID_LENGTH` A Git object hash is 160 bits, i.e.
`static int` `OBJECT_ID_STRING_LENGTH` A Git object can be expressed as a 40 character string of hexadecimal digits.
`static String` `ORIG_HEAD` name of the ref ORIG_HEAD used by certain commands to store the original value of HEAD
`static String` `OS_USER_DIR` The system property that contains the system user name
`static String` `OS_USER_NAME_KEY` The system property that contains the system user name
`static byte[]` `PACK_SIGNATURE` Pack file signature that occurs at file header - identifies file as Git packfile formatted.
`static String` `PACKED_REFS` Packed refs file
`static String` `R_HEADS` Prefix for branch refs
`static String` `R_NOTES` Prefix for notes refs
`static String` `R_NOTES_COMMITS` Standard notes ref
`static String` `R_REFS` Prefix for any ref
`static String` `R_REMOTES` Prefix for remotes refs
`static String` `R_STASH` Standard stash ref
`static String` `R_TAGS` Prefix for tag refs
`static String` `REVERT_HEAD` name of the file containing the ID of a revert commit in case of conflicts
`static String` `SHALLOW` Name of the .git/shallow file
`static String` `SIGNED_OFF_BY_TAG` Beginning of the common "Signed-off-by: " commit message line
`static String` `SQUASH_MSG` name of the file containing the commit msg for a squash commit
`static String` `STASH` Default stash branch name
`static String` `TYPE_BLOB` Text string that identifies an object as a blob.
`static String` `TYPE_COMMIT` Text string that identifies an object as a commit.
`static String` `TYPE_TAG` Text string that identifies an object as an annotated tag.
`static String` `TYPE_TREE` Text string that identifies an object as a tree.
`static String` `UNKNOWN_USER_DEFAULT` Default value for the user name if no other information is available

### Method Summary

All Methods Static Methods Concrete Methods
`static int` `decodeTypeString​(AnyObjectId id, byte[] typeString, byte endMark, MutableInteger offset)` Parse an encoded type string into a type constant.
`static byte[]` `encode​(String str)` Convert a string to a byte array in the standard character encoding.
`static byte[]` `encodeASCII​(long s)` Convert an integer into its decimal representation.
`static byte[]` `encodeASCII​(String s)` Convert a string to US-ASCII encoding.
`static byte[]` `encodedTypeString​(int typeCode)` Convert an OBJ_* type constant to an ASCII encoded string constant.
`static MessageDigest` `newMessageDigest()` Create a new digest function for objects.
`static String` `typeString​(int typeCode)` Convert an OBJ_* type constant to a TYPE_* type constant.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### OBJECT_ID_LENGTH

    public static final int OBJECT_ID_LENGTH

A Git object hash is 160 bits, i.e. 20 bytes.

Changing this assumption is not going to be as easy as changing this declaration.

See Also:
  Constant Field Values

#### OBJECT_ID_STRING_LENGTH

    public static final int OBJECT_ID_STRING_LENGTH

A Git object can be expressed as a 40 character string of hexadecimal digits.

See Also:
  `OBJECT_ID_LENGTH`, Constant Field Values

#### HEAD

    public static final String HEAD

Special name for the "HEAD" symbolic-ref.

See Also:
  Constant Field Values

#### FETCH_HEAD

    public static final String FETCH_HEAD

Special name for the "FETCH_HEAD" symbolic-ref.

See Also:
  Constant Field Values

#### TYPE_COMMIT

    public static final String TYPE_COMMIT

Text string that identifies an object as a commit.

Commits connect trees into a string of project histories, where each commit is an assertion that the best way to continue is to use this other tree (set of files).

See Also:
  Constant Field Values

#### TYPE_BLOB

    public static final String TYPE_BLOB

Text string that identifies an object as a blob.

Blobs store whole file revisions. They are used for any user file, as well as for symlinks. Blobs form the bulk of any project's storage space.

See Also:
  Constant Field Values

#### TYPE_TREE

    public static final String TYPE_TREE

Text string that identifies an object as a tree.

Trees attach object ids (hashes) to names and file modes. The normal use for a tree is to store a version of a directory and its contents.

See Also:
  Constant Field Values

#### TYPE_TAG

    public static final String TYPE_TAG

Text string that identifies an object as an annotated tag.

Annotated tags store a pointer to any other object, and an additional message. It is most commonly used to record a stable release of the project.

See Also:
  Constant Field Values

#### OBJ_BAD

    public static final int OBJ_BAD

An unknown or invalid object type code.

See Also:
  Constant Field Values

#### OBJ_EXT

    public static final int OBJ_EXT

In-pack object type: extended types.

This header code is reserved for future expansion. It is currently undefined/unsupported.

See Also:
  Constant Field Values

#### OBJ_COMMIT

    public static final int OBJ_COMMIT

In-pack object type: commit.

Indicates the associated object is a commit.

This constant is fixed and is defined by the Git packfile format.

See Also:
  `TYPE_COMMIT`, Constant Field Values

#### OBJ_TREE

    public static final int OBJ_TREE

In-pack object type: tree.

Indicates the associated object is a tree.

This constant is fixed and is defined by the Git packfile format.

See Also:
  `TYPE_BLOB`, Constant Field Values

#### OBJ_BLOB

    public static final int OBJ_BLOB

In-pack object type: blob.

Indicates the associated object is a blob.

This constant is fixed and is defined by the Git packfile format.

See Also:
  `TYPE_BLOB`, Constant Field Values

#### OBJ_TAG

    public static final int OBJ_TAG

In-pack object type: annotated tag.

Indicates the associated object is an annotated tag.

This constant is fixed and is defined by the Git packfile format.

See Also:
  `TYPE_TAG`, Constant Field Values

#### OBJ_TYPE_5

    public static final int OBJ_TYPE_5

In-pack object type: reserved for future use.

See Also:
  Constant Field Values

#### OBJ_OFS_DELTA

    public static final int OBJ_OFS_DELTA

In-pack object type: offset delta

Objects stored with this type actually have a different type which must be obtained from their delta base object. Delta objects store only the changes needed to apply to the base object in order to recover the original object.

An offset delta uses a negative offset from the start of this object to refer to its delta base. The base object must exist in this packfile (even in the case of a thin pack).

This constant is fixed and is defined by the Git packfile format.

See Also:
  Constant Field Values

#### OBJ_REF_DELTA

    public static final int OBJ_REF_DELTA

In-pack object type: reference delta

Objects stored with this type actually have a different type which must be obtained from their delta base object. Delta objects store only the changes needed to apply to the base object in order to recover the original object.

A reference delta uses a full object id (hash) to reference the delta base. The base object is allowed to be omitted from the packfile, but only in the case of a thin pack being transferred over the network.

This constant is fixed and is defined by the Git packfile format.

See Also:
  Constant Field Values

#### PACK_SIGNATURE

    public static final byte[] PACK_SIGNATURE

Pack file signature that occurs at file header - identifies file as Git packfile formatted.

This constant is fixed and is defined by the Git packfile format.

#### CHARACTER_ENCODING

    public static final String CHARACTER_ENCODING

Native character encoding for commit messages, file names...

See Also:
  Constant Field Values

#### CHARSET

    public static final Charset CHARSET

Native character encoding for commit messages, file names...

#### MASTER

    public static final String MASTER

Default main branch name

See Also:
  Constant Field Values

#### STASH

    public static final String STASH

Default stash branch name

See Also:
  Constant Field Values

#### R_HEADS

    public static final String R_HEADS

Prefix for branch refs

See Also:
  Constant Field Values

#### R_REMOTES

    public static final String R_REMOTES

Prefix for remotes refs

See Also:
  Constant Field Values

#### R_TAGS

    public static final String R_TAGS

Prefix for tag refs

See Also:
  Constant Field Values

#### R_NOTES

    public static final String R_NOTES

Prefix for notes refs

See Also:
  Constant Field Values

#### R_NOTES_COMMITS

    public static final String R_NOTES_COMMITS

Standard notes ref

See Also:
  Constant Field Values

#### R_REFS

    public static final String R_REFS

Prefix for any ref

See Also:
  Constant Field Values

#### R_STASH

    public static final String R_STASH

Standard stash ref

See Also:
  Constant Field Values

#### LOGS

    public static final String LOGS

Logs folder name

See Also:
  Constant Field Values

#### INFO_REFS

    public static final String INFO_REFS

Info refs folder

See Also:
  Constant Field Values

#### PACKED_REFS

    public static final String PACKED_REFS

Packed refs file

See Also:
  Constant Field Values

#### INFO_EXCLUDE

    public static final String INFO_EXCLUDE

Excludes-file

Since:
  3.0
See Also:
  Constant Field Values

#### OS_USER_DIR

    public static final String OS_USER_DIR

The system property that contains the system user name

Since:
  3.6
See Also:
  Constant Field Values

#### OS_USER_NAME_KEY

    public static final String OS_USER_NAME_KEY

The system property that contains the system user name

See Also:
  Constant Field Values

#### GIT_AUTHOR_NAME_KEY

    public static final String GIT_AUTHOR_NAME_KEY

The environment variable that contains the author's name

See Also:
  Constant Field Values

#### GIT_AUTHOR_EMAIL_KEY

    public static final String GIT_AUTHOR_EMAIL_KEY

The environment variable that contains the author's email

See Also:
  Constant Field Values

#### GIT_COMMITTER_NAME_KEY

    public static final String GIT_COMMITTER_NAME_KEY

The environment variable that contains the commiter's name

See Also:
  Constant Field Values

#### GIT_COMMITTER_EMAIL_KEY

    public static final String GIT_COMMITTER_EMAIL_KEY

The environment variable that contains the commiter's email

See Also:
  Constant Field Values

#### GIT_CONFIG_NOSYSTEM_KEY

    public static final String GIT_CONFIG_NOSYSTEM_KEY

The environment variable that blocks use of the system config file

Since:
  3.3
See Also:
  Constant Field Values

#### GIT_CEILING_DIRECTORIES_KEY

    public static final String GIT_CEILING_DIRECTORIES_KEY

The environment variable that limits how close to the root of the file systems JGit will traverse when looking for a repository root.

See Also:
  Constant Field Values

#### GIT_DIR_KEY

    public static final String GIT_DIR_KEY

The environment variable that tells us which directory is the ".git" directory

See Also:
  Constant Field Values

#### GIT_WORK_TREE_KEY

    public static final String GIT_WORK_TREE_KEY

The environment variable that tells us which directory is the working directory.

See Also:
  Constant Field Values

#### GIT_INDEX_FILE_KEY

    public static final String GIT_INDEX_FILE_KEY

The environment variable that tells us which file holds the Git index.

See Also:
  Constant Field Values

#### GIT_OBJECT_DIRECTORY_KEY

    public static final String GIT_OBJECT_DIRECTORY_KEY

The environment variable that tells us where objects are stored

See Also:
  Constant Field Values

#### GIT_ALTERNATE_OBJECT_DIRECTORIES_KEY

    public static final String GIT_ALTERNATE_OBJECT_DIRECTORIES_KEY

The environment variable that tells us where to look for objects, besides the default objects directory.

See Also:
  Constant Field Values

#### UNKNOWN_USER_DEFAULT

    public static final String UNKNOWN_USER_DEFAULT

Default value for the user name if no other information is available

See Also:
  Constant Field Values

#### SIGNED_OFF_BY_TAG

    public static final String SIGNED_OFF_BY_TAG

Beginning of the common "Signed-off-by: " commit message line

See Also:
  Constant Field Values

#### GITIGNORE_FILENAME

    public static final String GITIGNORE_FILENAME

A gitignore file name

See Also:
  Constant Field Values

#### DEFAULT_REMOTE_NAME

    public static final String DEFAULT_REMOTE_NAME

Default remote name used by clone, push and fetch operations

See Also:
  Constant Field Values

#### DOT_GIT

    public static final String DOT_GIT

Default name for the Git repository directory

See Also:
  Constant Field Values

#### CONFIG

    public static final String CONFIG

Default name for the Git repository configuration

See Also:
  Constant Field Values

#### DOT_GIT_EXT

    public static final String DOT_GIT_EXT

A bare repository typically ends with this string

See Also:
  Constant Field Values

#### DOT_GIT_ATTRIBUTES

    public static final String DOT_GIT_ATTRIBUTES

Name of the attributes file

Since:
  3.7
See Also:
  Constant Field Values

#### DOT_GIT_IGNORE

    public static final String DOT_GIT_IGNORE

Name of the ignore file

See Also:
  Constant Field Values

#### DOT_GIT_MODULES

    public static final String DOT_GIT_MODULES

Name of the submodules file

See Also:
  Constant Field Values

#### SHALLOW

    public static final String SHALLOW

Name of the .git/shallow file

See Also:
  Constant Field Values

#### GITDIR

    public static final String GITDIR

Prefix of the first line in a ".git" file

Since:
  3.6
See Also:
  Constant Field Values

#### MODULES

    public static final String MODULES

Name of the folder (inside gitDir) where submodules are stored

Since:
  3.6
See Also:
  Constant Field Values

#### HOOKS

    public static final String HOOKS

Name of the folder (inside gitDir) where the hooks are stored.

Since:
  3.7
See Also:
  Constant Field Values

#### MERGE_MSG

    public static final String MERGE_MSG

name of the file containing the commit msg for a merge commit

See Also:
  Constant Field Values

#### MERGE_HEAD

    public static final String MERGE_HEAD

name of the file containing the IDs of the parents of a merge commit

See Also:
  Constant Field Values

#### CHERRY_PICK_HEAD

    public static final String CHERRY_PICK_HEAD

name of the file containing the ID of a cherry pick commit in case of conflicts

See Also:
  Constant Field Values

#### SQUASH_MSG

    public static final String SQUASH_MSG

name of the file containing the commit msg for a squash commit

See Also:
  Constant Field Values

#### REVERT_HEAD

    public static final String REVERT_HEAD

name of the file containing the ID of a revert commit in case of conflicts

See Also:
  Constant Field Values

#### ORIG_HEAD

    public static final String ORIG_HEAD

name of the ref ORIG_HEAD used by certain commands to store the original value of HEAD

See Also:
  Constant Field Values

#### EMPTY_BLOB_ID

    public static final ObjectId EMPTY_BLOB_ID

objectid for the empty blob

### Method Detail

#### newMessageDigest

    public static MessageDigest newMessageDigest()

Create a new digest function for objects.

Returns:
  a new digest object.
Throws:
  `RuntimeException` - this Java virtual machine does not support the required hash function. Very unlikely given that JGit uses a hash function that is in the Java reference specification.

#### typeString

    public static String typeString​(int typeCode)

Convert an OBJ_* type constant to a TYPE_* type constant.

Parameters:
  `typeCode` - the type code, from a pack representation.
Returns:
  the canonical string name of this type.

#### encodedTypeString

    public static byte[] encodedTypeString​(int typeCode)

Convert an OBJ_* type constant to an ASCII encoded string constant.

The ASCII encoded string is often the canonical representation of the type within a loose object header, or within a tag header.

Parameters:
  `typeCode` - the type code, from a pack representation.
Returns:
  the canonical ASCII encoded name of this type.

#### decodeTypeString

    public static int decodeTypeString​(AnyObjectId id,
                                       byte[] typeString,
                                       byte endMark,
                                       MutableInteger offset)
                                throws CorruptObjectException

Parse an encoded type string into a type constant.

Parameters:
  `id` - object id this type string came from; may be null if that is not known at the time the parse is occurring.
  `typeString` - string version of the type code.
  `endMark` - character immediately following the type string. Usually ' ' (space) or '\n' (line feed).
  `offset` - position within `typeString` where the parse should start. Updated with the new position (just past `endMark` when the parse is successful.
Returns:
  a type code constant (one of `OBJ_BLOB`, `OBJ_COMMIT`, `OBJ_TAG`, `OBJ_TREE`.
Throws:
  `CorruptObjectException` - there is no valid type identified by `typeString`.

#### encodeASCII

    public static byte[] encodeASCII​(long s)

Convert an integer into its decimal representation.

Parameters:
  `s` - the integer to convert.
Returns:
  a decimal representation of the input integer. The returned array is the smallest array that will hold the value.

#### encodeASCII

    public static byte[] encodeASCII​(String s)

Convert a string to US-ASCII encoding.

Parameters:
  `s` - the string to convert. Must not contain any characters over 127 (outside of 7-bit ASCII).
Returns:
  a byte array of the same length as the input string, holding the same characters, in the same order.
Throws:
  `IllegalArgumentException` - the input string contains one or more characters outside of the 7-bit ASCII character space.

#### encode

    public static byte[] encode​(String str)

Convert a string to a byte array in the standard character encoding.

Parameters:
  `str` - the string to convert. May contain any Unicode characters.
Returns:
  a byte array representing the requested string, encoded using the default character encoding (UTF-8).
See Also:
  `CHARACTER_ENCODING`