Tools__ChangeSetDiffTool.st
branchjv
changeset 12192 15f47901fb64
parent 12179 47f98e7d6de1
child 12198 414e7b69ecda
equal deleted inserted replaced
12191:a896c0850f1b 12192:15f47901fb64
   583      by the MenuEditor of ST/X."
   583      by the MenuEditor of ST/X."
   584 
   584 
   585     "Do not manually edit this!! If it is corrupted,
   585     "Do not manually edit this!! If it is corrupted,
   586      the MenuEditor may not be able to read the specification."
   586      the MenuEditor may not be able to read the specification."
   587 
   587 
   588     "
   588 
   589      MenuEditor new openOnClass:SVN::DiffBrowser andSelector:#listMenu
   589     "
   590      (Menu new fromLiteralArrayEncoding:(SVN::DiffBrowser listMenu)) startUp
   590      MenuEditor new openOnClass:Tools::ChangeSetDiffTool andSelector:#listMenu
       
   591      (Menu new fromLiteralArrayEncoding:(Tools::ChangeSetDiffTool listMenu)) startUp
   591     "
   592     "
   592 
   593 
   593     <resource: #menu>
   594     <resource: #menu>
   594 
   595 
   595     ^ 
   596     ^ 
   619           )
   620           )
   620          (MenuItem
   621          (MenuItem
   621             label: '-'
   622             label: '-'
   622           )
   623           )
   623          (MenuItem
   624          (MenuItem
   624             enabled: hasSelection
   625             label: 'Open in...'
   625             label: 'Inspect'
       
   626             itemValue: listMenuInspect
       
   627             translateLabel: true
   626             translateLabel: true
       
   627             submenu: 
       
   628            (Menu
       
   629               (
       
   630                (MenuItem
       
   631                   enabled: hasSelection
       
   632                   label: 'Inspector'
       
   633                   itemValue: listMenuInspect
       
   634                   translateLabel: true
       
   635                 )
       
   636                (MenuItem
       
   637                   label: 'kdiff3'
       
   638                   itemValue: listMenuOpenInExternal:
       
   639                   translateLabel: true
       
   640                   argument: 'kdiff3'
       
   641                 )
       
   642                (MenuItem
       
   643                   label: 'meld'
       
   644                   itemValue: listMenuOpenInExternal:
       
   645                   translateLabel: true
       
   646                   argument: 'meld'
       
   647                 )
       
   648                )
       
   649               nil
       
   650               nil
       
   651             )
   628           )
   652           )
   629          )
   653          )
   630         nil
   654         nil
   631         nil
   655         nil
   632       )
   656       )
  1316 
  1340 
  1317     self selection do:
  1341     self selection do:
  1318         [:diff|diff versionB apply]
  1342         [:diff|diff versionB apply]
  1319 
  1343 
  1320     "Modified: / 09-12-2009 / 23:10:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1344     "Modified: / 09-12-2009 / 23:10:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
  1345 !
       
  1346 
       
  1347 listMenuOpenInExternal: command
       
  1348 
       
  1349     (OperatingSystem canExecuteCommand: command) ifFalse:[
       
  1350         Dialog warn: 'Sorry. ', command , ' is not installed or not in PATH'
       
  1351     ].
       
  1352 
       
  1353     self selection do:[:item|
       
  1354         | base a b cmd |
       
  1355         item versionBase notNil ifTrue:[
       
  1356             base := Filename newTemporary.
       
  1357             base writingFileDo:[:s|s nextPutAll: item versionBase source].
       
  1358         ].
       
  1359         a := Filename newTemporary.
       
  1360         a writingFileDo:[:s|s nextPutAll: item versionA source].
       
  1361         b := Filename newTemporary.
       
  1362         b writingFileDo:[:s|s nextPutAll: item versionB source].
       
  1363 
       
  1364         base isNil ifTrue:[
       
  1365             cmd := '%1 %2 %3' bindWith: command with: a pathName with: b pathName
       
  1366         ] ifFalse:[
       
  1367             cmd := '%1 %4 %2 %3 ' bindWith: command with: a pathName with: b pathName with: base pathName.
       
  1368         ].
       
  1369         [ OperatingSystem executeCommand: cmd.
       
  1370         a remove.
       
  1371         b remove.
       
  1372         base notNil ifTrue:[base remove]. ] fork
       
  1373     ]
       
  1374 
       
  1375     "Modified: / 17-03-2012 / 08:55:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1321 ! !
  1376 ! !
  1322 
  1377 
  1323 !ChangeSetDiffTool methodsFor:'queries'!
  1378 !ChangeSetDiffTool methodsFor:'queries'!
  1324 
  1379 
  1325 canBrowse
  1380 canBrowse
  1724 version_CVS
  1779 version_CVS
  1725     ^ '§Header: /cvs/stx/stx/libtool/Tools__ChangeSetDiffTool.st,v 1.5 2011/12/19 08:39:53 vrany Exp §'
  1780     ^ '§Header: /cvs/stx/stx/libtool/Tools__ChangeSetDiffTool.st,v 1.5 2011/12/19 08:39:53 vrany Exp §'
  1726 !
  1781 !
  1727 
  1782 
  1728 version_SVN
  1783 version_SVN
  1729     ^ '$Id: Tools__ChangeSetDiffTool.st 7925 2012-03-16 17:08:17Z vranyj1 $'
  1784     ^ '$Id: Tools__ChangeSetDiffTool.st 7938 2012-03-17 10:21:50Z vranyj1 $'
  1730 ! !
  1785 ! !