- set commits [exec git rev-parse --default HEAD --revs-only \
- $viewargs($view)]
- set pos {}
- set neg {}
- set flags {}
- foreach c $commits {
- if {[string match "^*" $c]} {
- lappend neg $c
- } elseif {[regexp {^[0-9a-fA-F]{40}$} $c]} {
- if {!([info exists varcid($view,$c)] ||
- [lsearch -exact $viewincl($view) $c] >= 0)} {
- lappend pos $c
- }
- } else {
- lappend flags $c
- }
- }
- if {$pos eq {}} {
- return
- }
- foreach id $viewincl($view) {
- lappend neg "^$id"
- }
- set viewincl($view) [concat $viewincl($view) $pos]