Eskil

Diff
Login

Differences From Artifact [b776c1c390]:

To Artifact [b1aa375dad]:


1261
1262
1263
1264
1265
1266
1267
1268

1269







1270
1271
1272
1273


1274

1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1261
1262
1263
1264
1265
1266
1267

1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282

1283



1284
1285
1286
1287
1288
1289
1290







-
+

+
+
+
+
+
+
+




+
+
-
+
-
-
-







    }
    set ::eskil(.dirdiff,plugin) ""
    foreach {item val} [array get opts] {
        set ::eskil(.dirdiff,$item) $val
    }

    # Experiment to support -r for directory diff
    # Currently only Fossil/SVN is supported
    set revs {}
    if {[info exists opts(doptrev1)] && $opts(doptrev1) ne ""} {
        lappend revs $opts(doptrev1)
    }
    if {[info exists opts(doptrev2)] && $opts(doptrev2) ne ""} {
        lappend revs $opts(doptrev2)
    }

    if {$::dirdiff(leftDir) eq $::dirdiff(rightDir)} {
        set fullname $::dirdiff(leftDir)
        set type [detectRevSystem $fullname]
        # Is this a revision system with dirdiff support?
        if {[info commands eskil::rev::${type}::mount] ne ""} {
            # No -r given; fall back on current.
            # Note: Only fossil and svn supports 0 for current currently
            set revs [list $opts(doptrev1)]
            if {[llength $revs] == 0} {set revs 0}
            if {[info exists opts(doptrev2)] && $opts(doptrev2) ne ""} {
                lappend revs $opts(doptrev2)
            }
            set revs [eskil::rev::${type}::ParseRevs $fullname $revs]
            set rev1 [lindex $revs 0]
            set rev2 [lindex $revs 1]
            set d1 [eskil::rev::${type}::mount $fullname $rev1]
            set ::dirdiff(leftDir) $d1
            if {$rev2 ne ""} {
                set d2 [eskil::rev::${type}::mount $fullname $rev2]