Class Constants


  • public final class Constants
    extends Object
    Misc. constants used throughout JGit.
    • 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
      • 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...
      • 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
      • 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_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
      • 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