Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Handle simple GIT cases. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
1e4def91632d4bf3a4970c917b488384 |
User & Date: | peter 2007-09-25 19:55:27.000 |
Context
2007-11-27
| ||
18:02 | Use ct ls in exec stub. check-in: cba61dcce0 user: peter tags: trunk | |
2007-09-25
| ||
19:55 | Handle simple GIT cases. check-in: 1e4def9163 user: peter tags: trunk | |
18:51 | Unified revision parsing to system specific ParseRevs routines. check-in: b897829480 user: peter tags: trunk | |
Changes
Changes to src/rev.tcl.
︙ | ︙ | |||
21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #---------------------------------------------------------------------- # $Revision$ #---------------------------------------------------------------------- ############################################################################## # Revision Control System specific procedures ############################################################################## namespace eval eskil::rev::CVS {} namespace eval eskil::rev::RCS {} namespace eval eskil::rev::CT {} namespace eval eskil::rev::GIT {} proc eskil::rev::CVS::detect {file} { | > > > > > > > > > > > > > > > > > > > | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #---------------------------------------------------------------------- # $Revision$ #---------------------------------------------------------------------- ############################################################################## # Revision Control System specific procedures ############################################################################## # eskil::rev::XXX::detect {file} # # Detect if a file is revision controlled under this system. # # Returns true if controlled or false if not. # eskil::rev::XXX::ParseRevs {filename revs} # # Figure out revision from a list given by user # # Returns a list of revisions to display. # eskil::rev::XXX::get {filename outfile rev} # # Get a revision of a file and place it in outfile. # rev is in any format understood by this system, and # should be retrieved from ParseRevs namespace eval eskil::rev::CVS {} namespace eval eskil::rev::RCS {} namespace eval eskil::rev::CT {} namespace eval eskil::rev::GIT {} proc eskil::rev::CVS::detect {file} { |
︙ | ︙ | |||
109 110 111 112 113 114 115 | proc eskil::rev::RCS::get {filename outfile {rev {}}} { catch {exec co -p$rev [file nativename $filename] \ > $outfile} } # Get a GIT revision # No support for revisions yet | | > > > > > > > > > > > > | | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | proc eskil::rev::RCS::get {filename outfile {rev {}}} { catch {exec co -p$rev [file nativename $filename] \ > $outfile} } # Get a GIT revision # No support for revisions yet proc eskil::rev::GIT::get {filename outfile rev} { 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 show $rev:$tail > $outfile} cd $old # Dummy copy for now FIXA #file copy $filename $outfile } # Get a ClearCase revision proc eskil::rev::CT::get {filename outfile rev} { set filerev [file nativename $filename@@$rev] if {[catch {exec cleartool get -to $outfile $filerev} msg]} { tk_messageBox -icon error -title "Cleartool error" -message $msg |
︙ | ︙ | |||
156 157 158 159 160 161 162 | # Figure out RCS revision from arguments proc eskil::rev::RCS::ParseRevs {filename revs} { return $revs } # Figure out GIT revision from arguments proc eskil::rev::GIT::ParseRevs {filename revs} { | > > > > > > > > > | > > | 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | # Figure out RCS revision from arguments proc eskil::rev::RCS::ParseRevs {filename revs} { return $revs } # Figure out GIT revision from arguments proc eskil::rev::GIT::ParseRevs {filename revs} { set result "" foreach rev $revs { switch -glob -- $rev { HEAD - master { lappend result $rev } } } if {[llength $result] == 0} { set result [list HEAD] } return $result } # Figure out CVS revision from arguments proc eskil::rev::CVS::ParseRevs {filename revs} { set result {} foreach rev $revs { # An integer rev is a relative rev |
︙ | ︙ |