Skip to main content
added 199 characters in body
Source Link
tag ${size}\0object ${sha_of_commit_itsha_of_object_it-points-to}
type ${type_of_object_it_points_to}
tag ${name_of_tag}
tagger ${username_and_email} ${seconds_since_utc} ${timezone}

${commit_message_including_gpg}

If the tag points to a commit object, then sha_of_object_it-points-to is the SHA of the commit. Note that a tag can also point to non-commit objects like blobs, though this is not very commonly used.

tag ${size}\0object ${sha_of_commit_it-points-to}
type ${type_of_object_it_points_to}
tag ${name_of_tag}
tagger ${username_and_email} ${seconds_since_utc} ${timezone}

${commit_message_including_gpg}
tag ${size}\0object ${sha_of_object_it-points-to}
type ${type_of_object_it_points_to}
tag ${name_of_tag}
tagger ${username_and_email} ${seconds_since_utc} ${timezone}

${commit_message_including_gpg}

If the tag points to a commit object, then sha_of_object_it-points-to is the SHA of the commit. Note that a tag can also point to non-commit objects like blobs, though this is not very commonly used.

added 87 characters in body
Source Link

DeduceReverse engineer the format and generatefrom a new tagminimal example

ThisTo ensure that we understood it correctly, here is a Python script that generates a working git repo from scratch, including a tag:

Deduce the format and generate a new tag

This generates a git repo from scratch, including a tag:

Reverse engineer the format from a minimal example

To ensure that we understood it correctly, here is a Python script that generates a working git repo from scratch, including a tag:

added 37 characters in body
Source Link

Tested on git 2.16.1, Ubuntu 18.04.

Tested on git 2.16.1, Ubuntu 18.04.

deleted 174 characters in body
Source Link
Loading
added 145 characters in body
Source Link
Loading
Source Link
Loading