Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | a hack to make grep work for non-standard hash-digits setting. |
---|---|
Timelines: | family | ancestors | dresden |
Files: | files | file ages | folders |
SHA1: |
23d147961af336afd2739617f39853ea |
User & Date: | j 2019-11-14 22:28:07 |
Context
2019-11-14
| ||
22:28 | a hack to make grep work for non-standard hash-digits setting. Leaf check-in: 23d147961a user: j tags: dresden | |
2019-11-13
| ||
13:17 | more flexible pattern for localizing the sha1/3 hashes (allowing for adjusting the no. of displayed hash digits via `fossil set hash-digits'). empirically, `fossil' displays at least 6 digits irrespective of a possibly smaller hash-digits setting. hence the {6,} or {2,} repetitions in the assorted patterns. check-in: dee40a390a user: j tags: dresden | |
Changes
Changes to fsl.
︙ | ︙ | |||
572 573 574 575 576 577 578 579 580 581 582 583 584 585 | foreach line $finfo { regexp "$rgxdate $rgxhash" $line _ cihash regexp ", artifact: $rgxhash, branch: .*\\)" $line _ fhash # an artifact 'fhash' can be part of multiple checkins. so we # have to collect all of them via `dict lappend' dict lappend cihashes $fhash \[$cihash\] } set revnums [computeRevnums {}] set f1 [last $grepflags] set f2 [first $grepflags] if {$f1 + $f2 > 0} { set buf $lines set lines {} if {$f1} { lappend lines [first $buf] } | > > > > > | 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 | foreach line $finfo { regexp "$rgxdate $rgxhash" $line _ cihash regexp ", artifact: $rgxhash, branch: .*\\)" $line _ fhash # an artifact 'fhash' can be part of multiple checkins. so we # have to collect all of them via `dict lappend' dict lappend cihashes $fhash \[$cihash\] } # a hack to account for fossil grep not honouring hash-digits setting, start # presuming that hash-digits <= 10 (as used by grep output) set hashlen [string length [lindex $cihashes 0]] # a hack to account for fossil grep not honouring hash-digits setting, end set revnums [computeRevnums {}] set f1 [last $grepflags] set f2 [first $grepflags] if {$f1 + $f2 > 0} { set buf $lines set lines {} if {$f1} { lappend lines [first $buf] } |
︙ | ︙ | |||
594 595 596 597 598 599 600 | # against the real line content (so that anchoring of the # pattern works and spurious coloring of hash or line number # is prevented). set field [split $line :] set fhash [string trimright [first $field]] set lino [lindex $field 1] set line [join [lrange $field 2 end]] | | | 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 | # against the real line content (so that anchoring of the # pattern works and spurious coloring of hash or line number # is prevented). set field [split $line :] set fhash [string trimright [first $field]] set lino [lindex $field 1] set line [join [lrange $field 2 end]] set cihash [dict get $cihashes [string range $fhash 0 $hashlen-1]] set revnum {} foreach hash $cihash { append revnum [dict get $revnums $hash] " " } set revnum [join $revnum ,] regsub -all "$greppat" $line [coloured redbold &] line # for now, we just preprend the chronological revision numbers |
︙ | ︙ |