601 "create a FileVersionDiffBrowser instance and set the list of files. |
601 "create a FileVersionDiffBrowser instance and set the list of files. |
602 When a file is selected, the version list is extracted, |
602 When a file is selected, the version list is extracted, |
603 and the diff list is generated from the file's current version against |
603 and the diff list is generated from the file's current version against |
604 the selected version in the top selection list" |
604 the selected version in the top selection list" |
605 |
605 |
606 |setOfFiles theBrowser filesChangedSince sinceTimestamp| |
606 self |
|
607 openOnAllFilesMatching:nil |
|
608 changedSince:aDateOrTimestamp |
|
609 in:aSetOfFilesOrADirectoryFilename |
|
610 |
|
611 " |
|
612 FileVersionDiffBrowser |
|
613 openOnAllFilesChangedSince:(Date today - 7 days) |
|
614 in:('../../libbasic' asFilename files). |
|
615 " |
|
616 |
|
617 "Created: / 07-07-2019 / 18:58:01 / Claus Gittinger" |
|
618 "Modified: / 08-07-2019 / 01:36:01 / Claus Gittinger" |
|
619 ! |
|
620 |
|
621 openOnAllFilesMatching:matchPatternOrNil changedSince:aDateOrTimestamp in:aSetOfFilesOrADirectoryFilename |
|
622 "create a FileVersionDiffBrowser instance and set the list of files. |
|
623 When a file is selected, the version list is extracted, |
|
624 and the diff list is generated from the file's current version against |
|
625 the selected version in the top selection list" |
|
626 |
|
627 |setOfFiles theBrowser filesMatching filesChangedSince sinceTimestamp| |
607 |
628 |
608 sinceTimestamp := aDateOrTimestamp asTimestamp. |
629 sinceTimestamp := aDateOrTimestamp asTimestamp. |
609 |
630 |
610 setOfFiles := aSetOfFilesOrADirectoryFilename. |
631 setOfFiles := aSetOfFilesOrADirectoryFilename. |
611 setOfFiles isFilename ifTrue:[ |
632 setOfFiles isFilename ifTrue:[ |
612 setOfFiles := setOfFiles directoryContentsAsFilenames. |
633 setOfFiles := setOfFiles directoryContentsAsFilenames. |
613 ]. |
634 ]. |
614 |
635 (matchPatternOrNil isEmptyOrNil or:[matchPatternOrNil = '*']) ifTrue:[ |
615 filesChangedSince := setOfFiles |
636 filesMatching := setOfFiles |
616 select:[:fn | fn modificationTime > sinceTimestamp]. |
637 ] ifFalse:[ |
|
638 filesMatching := setOfFiles select:[:fn | fn baseName matches:matchPatternOrNil]. |
|
639 ]. |
|
640 filesChangedSince := filesMatching select:[:fn | fn modificationTime > sinceTimestamp]. |
617 filesChangedSince sort:[:a :b | a name < b name]. |
641 filesChangedSince sort:[:a :b | a name < b name]. |
618 |
642 |
619 theBrowser := self new. |
643 theBrowser := self new. |
620 theBrowser allButOpenInterface:#windowSpecForMultipleFiles. |
644 theBrowser allButOpenInterface:#windowSpecForMultipleFiles. |
621 theBrowser beMultipleFilesVersionBrowser. |
645 theBrowser beMultipleFilesVersionBrowser. |
622 theBrowser fileList:filesChangedSince. |
646 theBrowser fileList:filesChangedSince. |
623 |
647 |
624 "/ theBrowser classHolder:(ValueHolder with:aClass). |
648 "/ theBrowser classHolder:(ValueHolder with:aClass). |
625 "/ theBrowser setupForClass:aClass againstVersion:nil. |
649 "/ theBrowser setupForClass:aClass againstVersion:nil. |
626 theBrowser window label:(self resources string:'Versions of %1 files' with:setOfFiles size). |
650 theBrowser window label:(self resources string:'Versions of %1 files' with:filesChangedSince size). |
627 theBrowser openWindow. |
651 theBrowser openWindow. |
628 ^ theBrowser. |
652 ^ theBrowser. |
629 |
653 |
630 " |
654 " |
631 FileVersionDiffBrowser |
655 FileVersionDiffBrowser |
632 openOnAllFilesChangedSince:(Date today - 7 days) |
656 openOnAllFilesMatching:'*.st' |
|
657 changedSince:(Date today - 7 days) |
633 in:('../../libbasic' asFilename files). |
658 in:('../../libbasic' asFilename files). |
634 " |
659 " |
635 |
660 |
636 "Created: / 07-07-2019 / 18:58:01 / Claus Gittinger" |
661 "Created: / 07-07-2019 / 18:58:01 / Claus Gittinger" |
637 "Modified: / 08-07-2019 / 01:36:01 / Claus Gittinger" |
662 "Modified: / 08-07-2019 / 01:36:01 / Claus Gittinger" |
638 ! |
663 ! |
639 |
664 |
640 openOnAllVersionsOfFile:aFilename |
665 openOnAllVersionsOfFile:aFilenameOrString |
641 "create a VersionDiffBrowser instance and set the file. |
666 "create a VersionDiffBrowser instance and set the file. |
642 The diff is generated from aFilename's current version against |
667 The diff is generated from aFilename's current version against |
643 the selected version in the top selection list" |
668 the selected version in the top selection list" |
644 |
669 |
645 |theBrowser| |
670 |theBrowser fileName| |
|
671 |
|
672 fileName := aFilenameOrString asFilename. |
646 |
673 |
647 theBrowser := self new. |
674 theBrowser := self new. |
648 theBrowser allButOpenInterface:#windowSpecForMultipleVersions. |
675 theBrowser allButOpenInterface:#windowSpecForMultipleVersions. |
649 theBrowser beMultipleVersionBrowser. |
676 theBrowser beMultipleVersionBrowser. |
650 theBrowser fileHolder value:aFilename. |
677 theBrowser fileHolder value:fileName. |
651 theBrowser setupForAllVersionsOfFile:aFilename. |
678 theBrowser setupForAllVersionsOfFile:fileName. |
652 theBrowser window label:(self resources string:'Versions of %1' with:aFilename baseName). |
679 theBrowser window label:(self resources string:'Versions of %1' with:fileName baseName). |
653 theBrowser openWindow. |
680 theBrowser openWindow. |
654 ^ theBrowser. |
681 ^ theBrowser. |
655 |
682 |
656 " |
683 " |
657 self openOnAllVersionsOfFile:'Make.proto' asFilename |
684 self openOnAllVersionsOfFile:'Make.proto' asFilename |