Eskil

Diff
Login

Differences From Artifact [081e903df5]:

To Artifact [ac2845e73b]:


4255
4256
4257
4258
4259
4260
4261
4262

4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290

4291
4292
4293
4294
4295
4296
4297
4298

4299
4300
4301
4302
4303
4304
4305
4255
4256
4257
4258
4259
4260
4261

4262
4263
4264
4265
4266
4267
4268






















4269
4270
4271
4272
4273
4274
4275
4276

4277
4278
4279
4280
4281
4282
4283
4284







-
+






-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+







-
+








    # Figure out if we start in a diff or dirdiff window.
    set len [llength $files]

    if {$len == 0 && $dodir} {
        set dirdiff(leftDir) [pwd]
        set dirdiff(rightDir) [pwd]
        return [makeDirDiffWin]
        return [makeDirDiffWin opts]
    }
    if {$len == 1} {
        set fullname [lindex $files 0]
        if {[FileIsDirectory $fullname 1]} {
            set dirdiff(leftDir) $fullname
            set dirdiff(rightDir) $dirdiff(leftDir)

            # Experiment to support -r for directory diff
            # Currently only Fossil is supported
            if {[info exists opts(doptrev1)] && $opts(doptrev1) ne ""} {
                if {[detectRevSystem $fullname] eq "FOSSIL"} {
                    set revs [list $opts(doptrev1)]
                    if {[info exists opts(doptrev2)] && $opts(doptrev2) ne ""} {
                        lappend revs $opts(doptrev2)
                    }
                    set revs [eskil::rev::FOSSIL::ParseRevs $fullname $revs]
                    set rev1 [lindex $revs 0]
                    set rev2 [lindex $revs 1]
                    set d1 [vcsvfs::fossil::mount $fullname $rev1]
                    set dirdiff(leftDir) $d1
                    if {$rev2 ne ""} {
                        set d2 [vcsvfs::fossil::mount $fullname $rev2]
                        set dirdiff(rightDir) $d2
                    }
                }
            }

            return [makeDirDiffWin]
            return [makeDirDiffWin opts]
        }
    } elseif {$len >= 2} {
        set fullname1 [lindex $files 0]
        set fullname2 [lindex $files 1]
        if {[FileIsDirectory $fullname1 1] && [FileIsDirectory $fullname2 1]} {
            set dirdiff(leftDir) $fullname1
            set dirdiff(rightDir) $fullname2
            return [makeDirDiffWin]
            return [makeDirDiffWin opts]
        }
    }

    # Ok, we have a normal diff
    set top [makeDiffWin]
    update
    # Copy the previously collected options