Beat Bolli <dev+git@xxxxxxxxx> writes: > When referring to earlier commits in commit messages or other text, one > of the established formats is > > <abbrev-sha> ("<summary>", <author-date>) > ... > +proc copysummary {} { > + global rowmenuid commitinfo > + > + set id [string range $rowmenuid 0 7] > + set info $commitinfo($rowmenuid) > + set commit [lindex $info 0] 7 hexdigits is not always an appropriate value for all projects. The minimum necessary to guarantee uniqueness varies on project, and it is not a good idea to hardcode such a small value. Not-so-old Linux kernel history seems to use at least 12, for example. I believe that the "one of the established formats" comes from a "git one" alias I published somewhere long time ago, that did something like this: git show -s --abbrev=8 --pretty='format:%h (%s, %ai' "$@" | sed -e 's/ [012][0-9]:[0-5][0-9]:[0-5][0-9] [-+][0-9][0-9][0-9][0-9]$/)/' where the combination of --abbrev=8 and format:%h asks for a unique abbreviation that is at least 8 hexdigits long but can use more than 8 if it is not long enough to uniquely identify the given commit. I do not offhand know how $commitinfo is populated, but perhaps you can tweak that code to ask for both %H (for the full commit object ID) and %h (for the unique abbreviation of appropriate length) and store the value for %h to a new field in the $commitinfo($rowmenuid) array, so that you do not have to have such a hard-coded truncation here? > + set date [formatdate [lindex $info 2]] > + set summary "$id (\"$commit\", $date)" > + > + clipboard clear > + clipboard append $summary > +} > + > proc writecommit {} { > global rowmenuid wrcomtop commitinfo wrcomcmd NS -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html