387
388
389
390
391
392
393
394
395
396
397
398
399
400
|
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
set tail [file join $thisdir $tail]
}
cd $dir
catch {exec git show $rev:$tail > $outfile}
cd $old
# example: git show HEAD^^^:apa
}
# Add file to GIT index
proc eskil::rev::GIT::add {filename} {
set old [pwd]
set dir [file dirname $filename]
set tail [file tail $filename]
# Locate the top directory
while {![file isdirectory $dir/.git]} {
set thisdir [file tail $dir]
set dir [file dirname $dir]
set tail [file join $thisdir $tail]
}
cd $dir
catch {exec git add $tail}
cd $old
}
# Get a GIT patch
proc eskil::rev::GIT::getPatch {revs} {
set cmd [list exec git diff]
# No rev support yet
if {[catch {eval $cmd} res]} {
|