TKE  3.6
Advanced code editor for programmers
diff::git Namespace Reference

Functions

 name
 
 type
 
 handles fname
 
 versions fname
 
 get_file_cmd version fname
 
 get_diff_cmd v1 v2 fname
 
 get_current_version fname
 
 find_version fname v2 lnum
 
 get_version_log fname version
 

Function Documentation

§ find_version()

diff::git::find_version   fname v2 lnum  

Definition at line 892 of file diff.tcl.

892  proc find_version {fname v2 lnum} {
893  if {$v2 eq "Current"} {
894  if {![catch { exec git blame $fname} rc]} {
895  if {[regexp {^([0-9a-fA-F]+)} [lindex [split $rc \n] [expr $lnum - 1]] -> version]} {
896  return $version
897  }
898  }
899  } else {
900  if {![catch { exec git blame $v2 $fname} rc]} {
901  if {[regexp {^([0-9a-fA-F]+)} [lindex [split $rc \n] [expr $lnum - 1]] -> version]} {
902  return $version
903  }
904  }
905  }
906  return ""
907  }

§ get_current_version()

diff::git::get_current_version   fname  

Definition at line 881 of file diff.tcl.

881  proc get_current_version {fname} {
882  if {![catch { exec git log --abbrev-commit $fname} rc]} {
883  foreach line [split $rc \n] {
884  if {[regexp {^commit ([0-9a-fA-F]+)} $line -> version]} {
885  return $version
886  }
887  }
888  }
889  return ""
890  }

§ get_diff_cmd()

diff::git::get_diff_cmd   v1 v2 fname  

Definition at line 873 of file diff.tcl.

873  proc get_diff_cmd {v1 v2 fname} {
874  if {$v2 eq "Current"} {
875  return "git diff $v1 $fname"
876  } else {
877  return "git diff $v1 $v2 $fname"
878  }
879  }

§ get_file_cmd()

diff::git::get_file_cmd   version fname  

Definition at line 869 of file diff.tcl.

869  proc get_file_cmd {version fname} {
870  return "|git show $version:$fname"
871  }

§ get_version_log()

diff::git::get_version_log   fname version  

Definition at line 909 of file diff.tcl.

909  proc get_version_log {fname version} {
910  if {![catch { exec git log -n 1 $version $fname} rc]} {
911  return $rc
912  }
913  return ""
914  }

§ handles()

diff::git::handles   fname  

Definition at line 852 of file diff.tcl.

852  proc handles {fname} {
853  return [expr {![catch { exec git log -n 1 $fname }]}]
854  }

§ name()

diff::git::name

Definition at line 844 of file diff.tcl.

844  proc name {} {
845  return "Git"
846  }

§ type()

diff::git::type

Definition at line 848 of file diff.tcl.

848  proc type {} {
849  return "cvs"
850  }

§ versions()

diff::git::versions   fname  

Definition at line 856 of file diff.tcl.

856  proc versions {fname} {
857  set versions [list]
858  set ::env(PAGER) ""
859  if {![catch { exec git log --abbrev-commit $fname} rc]} {
860  foreach line [split $rc \n] {
861  if {[regexp {^commit ([0-9a-fA-F]+)} $line -> version]} {
862  lappend versions $version
863  }
864  }
865  }
866  return $versions
867  }