Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Corrected SVN branch detection |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
3d26b61b4d9d09d6faf164861b9322e3 |
User & Date: | peter 2012-02-28 18:19:11.815 |
Context
2012-02-28
| ||
22:52 | Support negative revisions with Fossil. check-in: 74f1b312e9 user: peter tags: trunk | |
18:19 | Corrected SVN branch detection check-in: 3d26b61b4d user: peter tags: trunk | |
2012-02-21
| ||
15:49 | Support branches in Subversion. [b71c8cf01b] check-in: 0f4aef3537 user: peter tags: trunk | |
Changes
Changes to src/rev.tcl.
︙ | ︙ | |||
676 677 678 679 680 681 682 | return $result } # Look for alternative version in a branch # Return value, if any, is a full URL to the file proc eskil::rev::SVN::LookForBranch {filename rev} { set info [eskil::rev::SVN::GetCurrent $filename 1] | | | > > < < | | | 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 | return $result } # Look for alternative version in a branch # Return value, if any, is a full URL to the file proc eskil::rev::SVN::LookForBranch {filename rev} { set info [eskil::rev::SVN::GetCurrent $filename 1] if {![regexp -line {URL:\s+(.+)} $info -> URL]} { return } if {![regexp -line {Repository Root:\s+(.+)} $info -> Root]} { return } set tail [string range $URL [string length $Root] end] if {![string match "/*" $tail]} { return } set tail [string range $tail 1 end] set parts [file split $tail] set alt {} switch [lindex $parts 0] { trunk { lappend alt [file join [lreplace $parts 0 0 branches $rev]] lappend alt [file join [lreplace $parts 0 0 tags $rev]] if {$rev eq "trunk"} { lappend alt [file join [lreplace $parts 0 0 trunk]] } } branches - tags { if {$rev eq "trunk"} { lappend alt [file join [lreplace $parts 0 1 trunk]] } lappend alt [file join [lreplace $parts 0 1 branches $rev]] lappend alt [file join [lreplace $parts 0 1 tags $rev]] } } foreach tailAlt $alt { set urlAlt $Root/[join $tailAlt /] if {[catch {exec svn info $urlAlt} res]} { continue } # Is it enough that svn info worked to check success? Seems so return $urlAlt } return } # Figure out SVN revision from arguments proc eskil::rev::SVN::ParseRevs {filename revs} { |
︙ | ︙ | |||
1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 | if {$::eskil($top,doptrev2) != ""} { lappend revs $::eskil($top,doptrev2) } set revs [eskil::rev::${type}::ParseRevs $::eskil($top,RevFile) $revs] set revlabels {} foreach rev $revs { lappend revlabels [GetLastTwoPath $rev] } set ::eskil($top,RevRevs) $revs if {[llength $revs] < 2} { # Compare local file with specified version. disallowEdit $top 1 | > | 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 | if {$::eskil($top,doptrev2) != ""} { lappend revs $::eskil($top,doptrev2) } set revs [eskil::rev::${type}::ParseRevs $::eskil($top,RevFile) $revs] set revlabels {} foreach rev $revs { # TODO: In SVN rev could be a full URL, display it nicer lappend revlabels [GetLastTwoPath $rev] } set ::eskil($top,RevRevs) $revs if {[llength $revs] < 2} { # Compare local file with specified version. disallowEdit $top 1 |
︙ | ︙ |