Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | When displaying a patch, detect a file with no changed chunks. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
98179537ebde78f95aa09d446359a21c |
User & Date: | peter 2016-04-12 22:22:55.543 |
Context
2016-04-13
| ||
14:09 | Allow plugin to know file names. Use source file with pdftotext in PDF plugin since stdin is not reliable there. check-in: 44c31b0e2b user: peter tags: trunk | |
2016-04-12
| ||
22:22 | When displaying a patch, detect a file with no changed chunks. check-in: 98179537eb user: peter tags: trunk | |
21:50 | Rename check-in: 002cf90f63 user: peter tags: trunk | |
Changes
Changes to Changes.
1 2 3 4 5 6 7 | 2016-04-08 Allow GUI to set privilege for plugins. Better search for pdftotext in pdf plugin. 2015-11-22 Bumped revision to 2.7.1 Allow plugins to define command line options. | > > > > | 1 2 3 4 5 6 7 8 9 10 11 | 2016-04-13 When displaying a patch, detect a file with no changed chunks. E.g. svn diff lists changed binary files like that. 2016-04-08 Allow GUI to set privilege for plugins. Better search for pdftotext in pdf plugin. 2015-11-22 Bumped revision to 2.7.1 Allow plugins to define command line options. |
︙ | ︙ |
Changes to src/eskil.tcl.
︙ | ︙ | |||
33 34 35 36 37 38 39 | # Stop Tk from meddling with the command line by copying it first. set ::eskil(argv) $::argv set ::eskil(argc) $::argc set ::argv {} set ::argc 0 set ::eskil(debug) 0 | | | 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | # Stop Tk from meddling with the command line by copying it first. set ::eskil(argv) $::argv set ::eskil(argc) $::argc set ::argv {} set ::argc 0 set ::eskil(debug) 0 set ::eskil(diffver) "Version 2.7.1+ 2016-04-13" set ::eskil(thisScript) [file join [pwd] [info script]] namespace import tcl::mathop::+ namespace import tcl::mathop::- namespace import tcl::mathop::* namespace import tcl::mathop::/ |
︙ | ︙ | |||
1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 | set divider "-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-" set leftLine 1 set rightLine 1 set leftLines {} set rightLines {} set state none foreach line [split $data \n] { # Detect a new file if {[string match ======* $line] || [string match "diff *" $line]} { if {$state != "none"} { displayOnePatch $top $leftLines $rightLines $leftLine $rightLine } set leftLines {} set rightLines {} set state none continue } # Detect the first line in a -c style diff if {[regexp {^\*\*\* } $line]} { if {$state eq "right"} { displayOnePatch $top $leftLines $rightLines $leftLine $rightLine set leftLines {} set rightLines {} set state none | > > > > > > > > > > > > > > > > > > | 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 | set divider "-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-" set leftLine 1 set rightLine 1 set leftLines {} set rightLines {} set state none set fname "" foreach line [split $data \n] { # Detect a new file if {[string match ======* $line] || [string match "diff *" $line]} { if {$state != "none"} { displayOnePatch $top $leftLines $rightLines $leftLine $rightLine } set leftLines {} set rightLines {} set state none continue } # Detect a file name if {[string match "Index: *" $line]} { # If fname is set, a file that had no contents has passed. # It could be a binary file or some other that the diffing source # could not handle. # Display the name to see that it is involved. if {$fname ne ""} { foreach side {1 2} { emptyLine $top $side insertLine $top $side "" $divider patch insertLine $top $side "" $fname patch insertLine $top $side "" $divider patch } addChange $top 4 change 0 0 0 0 } set fname [string range $line 7 end] } # Detect the first line in a -c style diff if {[regexp {^\*\*\* } $line]} { if {$state eq "right"} { displayOnePatch $top $leftLines $rightLines $leftLine $rightLine set leftLines {} set rightLines {} set state none |
︙ | ︙ | |||
1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 | set state newfile set style u set leftRE {^---\s+(.*)$} set rightRE {^\+\+\+\s+(.*)$} } } if {$state eq "newfile" && [regexp $leftRE $line -> sub]} { emptyLine $top 1 insertLine $top 1 "" $divider patch insertLine $top 1 "" $sub patch insertLine $top 1 "" $divider patch addChange $top 4 change 0 0 0 0 continue } if {$state eq "newfile" && [regexp $rightRE $line -> sub]} { emptyLine $top 2 insertLine $top 2 "" $divider patch insertLine $top 2 "" $sub patch insertLine $top 2 "" $divider patch continue } # A new section in a -u style diff | > > | 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 | set state newfile set style u set leftRE {^---\s+(.*)$} set rightRE {^\+\+\+\s+(.*)$} } } if {$state eq "newfile" && [regexp $leftRE $line -> sub]} { set fname "" emptyLine $top 1 insertLine $top 1 "" $divider patch insertLine $top 1 "" $sub patch insertLine $top 1 "" $divider patch addChange $top 4 change 0 0 0 0 continue } if {$state eq "newfile" && [regexp $rightRE $line -> sub]} { set fname "" emptyLine $top 2 insertLine $top 2 "" $divider patch insertLine $top 2 "" $sub patch insertLine $top 2 "" $divider patch continue } # A new section in a -u style diff |
︙ | ︙ | |||
1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 | } continue } } if {$state != "none"} { displayOnePatch $top $leftLines $rightLines $leftLine $rightLine } } ##################################### # Main diff ##################################### # Prepare for a diff by creating needed temporary files | > > > > > > > > > | 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 | } continue } } if {$state != "none"} { displayOnePatch $top $leftLines $rightLines $leftLine $rightLine } if {$fname ne ""} { foreach side {1 2} { emptyLine $top $side insertLine $top $side "" $divider patch insertLine $top $side "" $fname patch insertLine $top $side "" $divider patch } addChange $top 4 change 0 0 0 0 } } ##################################### # Main diff ##################################### # Prepare for a diff by creating needed temporary files |
︙ | ︙ |