diff --git a/.travis.yml b/.travis.yml index 81bffcfcf..a0ba7704f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,25 @@ language: erlang env: - - ST=Pharo-1.4 - - ST=Pharo-2.0 +# - ST=Pharo-1.4 # I do not intend to continue supporting tODE on Pharo-1.4 +# - ST=Pharo-2.0 # I do not intend to continue supporting tODE on Pharo-2.0 - ST=Pharo-3.0 - - ST=GemStone-2.4.5.2 - - ST=GemStone-3.1.0.6 + - ST=Pharo-4.0 # experimental +# - ST=Pharo-5.0 # see https://github.com/dalehenrich/tode/issues/183 + - ST=GemStone-2.4.5.3 + - ST=GemStone-2.4.6 - ST=GemStone-3.0.1 - - ST=GemStone-3.2.2 + - ST=GemStone-3.1.0.6 + - ST=GemStone-3.2.8.1 + +notifications: + webhooks: + urls: + - https://webhooks.gitter.im/e/47796c01bb932d6a0300 # dalehenrich/chat + - https://webhooks.gitter.im/e/f662b9bc952d22a2f11f # dalehenrich/tode + on_success: always # options: [always|never|change] default: always + on_failure: always # options: [always|never|change] default: always + on_start: false # default: false install: - export PROJECT_HOME="$(pwd)" diff --git a/README.md b/README.md index a2ce92622..f4fa0bccc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ # tODE: the Object-centric Development Environment [![Build Status](https://travis-ci.org/dalehenrich/tode.png?branch=master)](https://travis-ci.org/dalehenrich/tode) -[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dalehenrich/tode?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) ## Installation and Setup @@ -18,6 +17,11 @@ Here's a recent screen shot: +## Questions? [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dalehenrich/tode?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +1. [Gitter chat](https://gitter.im/dalehenrich/tode) +2. [tODE mailing list](https://groups.google.com/forum/#!forum/tode_st) + [1]: http://www.pharo-project.org/pharo-download/release-1-4 [2]: http://gemstonesoup.wordpress.com/2012/09/21/gemstones-3-1-0-1-is-shipping/ [3]: http://community.gemstone.com/download/attachments/6816350/GS64-Topaz-3.0.pdf?version=1 @@ -28,4 +32,3 @@ Here are some posts from [Stephen Ramsay](http://stephenramsay.us/) that explain - [Life on the Command Line](http://stephenramsay.us/2011/04/09/life-on-the-command-line/) - [The Mythical Man-Finger](http://stephenramsay.us/2011/07/25/the-mythical-man-finger/) - [The Man-Finger Aftermath](http://stephenramsay.us/2011/08/05/the-man-finger-aftermath/) -- [How Norbert uses *scripts* in Pharo](http://forum.world.st/how-do-you-use-scripts-tp4795618p4796984.html) diff --git a/docs/GettingStarted.md b/docs/GettingStarted.md index fdb329389..0836d1946 100644 --- a/docs/GettingStarted.md +++ b/docs/GettingStarted.md @@ -1,2 +1,214 @@ #Getting Started with tODE +Use the [todeClient][35] script to start up a tODE client image: + +```Shell +todeClient +``` + +*Note: the `-p` option allows you maintain and run multiple client images*. + + +###tODE System Menu + +The tODE System Menu: + +![tODE System Menu][37] + +is your entry point for setting up and controlling tODE. + +1. [tODE Shell](#tode-shell) +1. [tODE Edit](#tode-edit) +2. [tODE Test Login](#tode-test-login) +3. [tODE Install](#tode-install) +4. [tODE Update](#tode-update) +5. tODE Workspaces +6. [tODE Window Layout](#tode-window-layout) +7. Update tODE Client +8. Define Web Edition Root +8. [Define Dev Kit Root](#define-dev-kit-root) +9. [Refresh tODE menu](#refresh-tode-menu) + +####tODE Shell + +Use the `tODE Shell` menu item to select the stone to log into: + +![tode Shell menu][36] + +and open the tODE shell console: + +![tODE Shell console][38] + +####tODE Edit +The `tODE Edit` menu items allow you to modify the session descriptions from within the client image: + +![tode edit menu item][39] + +The menu item brings up a client workspace: + +![tode edit workspace][43] + +*Note that the workspace is not a file editor, so you need to execute the workspace to update the session disk.* + +The name of the session description file is derived from the `name` of the session description. +If you change the name of the description you are effectively creating a new description. + +####tODE Test Login +The `tODE Test Login` menu item makes it possible to collect diagnostic information when you are having trouble logging into a stone. The menu item is also useful to ping a particular stone to see if it is running. + +![tode test login menu item][40] + +Besides the menu item the `testLogin` command can be invoked: + +1. via the **testLogin:** message in a client-side workspace: + + ```Smalltalk + TDShell testLogin: 'gemtalk' + ``` + +3. or, via the command line: + + ![testLogin shell][41] + +This is an example of a successful test login: + +![successful test login][42] + +*Note that while there was a successful test, the message does indicate that tODE is not installed. See the [tODE installTodeStone script][46] for installing tODE on a server.* + +Here's an example of an error message: + +![testLogin output][20] + +If the test login error message does not give you enough information for you to solve the problem, copy the result of the `testLogin` command and send mail to the [GLASS mailing list][28]. + +####tODE Install +Use the `tODE Install` menu item to install tODE on the selected stone. +Use this menu item if you did not use the [createTodeStone][3] script to create the stone: + +![tode Install menu][44] + +The menu item executes the tode script located in the file `$GS_HOME/tode/client/scripts/installTode`: + +```Shell +updateClient --clientRepo=github://dalehenrich/tode:master/repository +installServer --clientScriptPath=scripts +bu backup tode.dbf +mount --todeRoot home / +bu backup home.dbf +cd +``` + +*Note that the script starts by updating the client-side code and then updates the server-side code.* + +You can customize `installTode` script to perform additional commands, if needed. + +The server-side load scripts can be found in the `$GS_HOME/tode/server/scripts` directory. + +**You are encouraged to use the [installTodeServer][46] shell script to install tODE into your Dev Kit server.** + +####tODE Update +Use the `tODE Update` menu item update the tODE project on the selected stone: + +![tode Update menu][45] + +The menu item executes the tode script located in the file `$GS_HOME/tode/client/scripts/updateTode`: + +```Shell +updateClient --clientRepo=github://dalehenrich/tode:master/repository +updateServer --clientScriptPath=scripts +bu backup home.dbf +``` + +You can customize `updateTode` script to perform additional commands, if needed. + +The server-side load scripts can be found in the `$GS_HOME/tode/server/scripts` directory. + +**You are encouraged to use the `project load Tode` command in the tODE shell to perform updates of the tODE project.** +####tODE Window Layout +Use the `tODE Window Layout` menu item to choose a window layout for your client image: + +![tode window layout menu][52] + +The window layout is scaled based on the size of the Pharo client window, so you need to re-select a window layout whenever you change the size of the Pharo client window. + +Here are samples of three of the available window layouts: + +| layout | sample| +|--------|-------| +| standard-small|![standard-small][49]| +|standard-medium|![standard-medium][50]| +|standard-large|![standard-large][51]| + +####Define Dev Kit Root +The `Define Dev Kit Root` menu item: + +![dev kit root menu][53] + +tells the Pharo client where to find the `$GS_HOME/tode` directory. +The scripts and session descriptions used by the pharo client are found in the `$GS_HOME/tode` directory. + +A `todeClientImage` can be retargeted to a different GsDevKit installation by changing the directory. + +####Refresh tODE menu +The `Refresh tODE menu` menu item: + +![refresh tode menu menu][54] + +rebuilds the tODE system menu. The menu should automatically update. + + +### Add Project to tODE video + +This short video describes how to add your own project to tODE. It also serves as an introduction to the tODE development environment: + + + +## Mono-spaced fonts +While you are in the Pharo client window, it is a good time to choose a new font. tODE works best with a mono-spaced font and you can choose a font from those installed on your system using the Pharo System Settings menu item: + +![pharo system settings][1] + +which opens the `Settings browser`: + +![pharo settings brower][2] + +1. Click on the `Default font button` and choose a font from those listed in the window that pops up. +You may need to `Update` to get the system fonts loaded into the Pharo client. +2. Click on the `Force All button` to get your font choice propogated to the other choices. + +Don't forget to save the image after making client-side changes. + +## Window Layout +Now is also a good time to change the size of the Pharo client window. +When you change the size of the Pharo client window, you need to use the [tODE Window Layout menu item](#tode-window-layout) to reset or change the window layout. +The initial layout (`standard-small`) is probably not a good choice for high resolution displays. +`standard-medium` or `standared-large` are better choices depending upon the resolution of your display and the size of the font that you have chosen. + +Don't forget to save the image after making client-side changes. + +[1]: images/pharoSystemSettingsMenu.png +[2]: images/pharoSystemSettingsDialog.png +[3]: https://github.com/GsDevKit/gsDevKitHome/blob/master/README.md#createtodestone +[20]: docs/images/testLoginOutput.png +[28]: http://lists.gemtalksystems.com/mailman/listinfo/glass +[35]: https://github.com/GsDevKit/gsDevKitHome/blob/master/bin/todeClient +[36]: images/todeShell.png +[37]: images/todeSystemMenu.png +[38]: images/todeShellConsole.png +[39]: images/todeEditMenu.png +[40]: images/todeTestLoginMenu.png +[41]: images/todeTestLoginShell.png +[42]: images/todeTestLoginSuccess.png +[43]: images/todeEditWorkspace.png +[44]: images/todeInstallMenu.png +[45]: images/todeUpdateMenu.png +[49]: images/standardSmallLayout.png +[50]: images/standardMediumLayout.png +[51]: images/standardLargeLayout.png +[52]: images/todeWindowLayoutMenu.png +[53]: images/todeDefineDevKitRootMenu.png +[54]: images/todeRefreshTodeMenu.png + diff --git a/docs/glossary.md b/docs/glossary.md new file mode 100644 index 000000000..f24a46a5c --- /dev/null +++ b/docs/glossary.md @@ -0,0 +1 @@ +#tODE Glossary diff --git a/docs/images/pharoSystemSettingsDialog.png b/docs/images/pharoSystemSettingsDialog.png new file mode 100644 index 000000000..55058b41b Binary files /dev/null and b/docs/images/pharoSystemSettingsDialog.png differ diff --git a/docs/images/pharoSystemSettingsMenu.png b/docs/images/pharoSystemSettingsMenu.png new file mode 100644 index 000000000..dc55ed654 Binary files /dev/null and b/docs/images/pharoSystemSettingsMenu.png differ diff --git a/docs/images/projectListMenu.png b/docs/images/projectListMenu.png new file mode 100644 index 000000000..1a0e19215 Binary files /dev/null and b/docs/images/projectListMenu.png differ diff --git a/docs/images/standardLargeLayout.png b/docs/images/standardLargeLayout.png new file mode 100644 index 000000000..9683804c2 Binary files /dev/null and b/docs/images/standardLargeLayout.png differ diff --git a/docs/images/standardSmallLayout.png b/docs/images/standardSmallLayout.png new file mode 100644 index 000000000..e87fd0c69 Binary files /dev/null and b/docs/images/standardSmallLayout.png differ diff --git a/docs/images/todeDefineDevKitRootMenu.png b/docs/images/todeDefineDevKitRootMenu.png new file mode 100644 index 000000000..68c743f5e Binary files /dev/null and b/docs/images/todeDefineDevKitRootMenu.png differ diff --git a/docs/images/todeEditMenu.png b/docs/images/todeEditMenu.png new file mode 100644 index 000000000..109427d1d Binary files /dev/null and b/docs/images/todeEditMenu.png differ diff --git a/docs/images/todeEditWorkspace.png b/docs/images/todeEditWorkspace.png new file mode 100644 index 000000000..4483b9ae8 Binary files /dev/null and b/docs/images/todeEditWorkspace.png differ diff --git a/docs/images/todeInstallMenu.png b/docs/images/todeInstallMenu.png new file mode 100644 index 000000000..a8e8ba3dd Binary files /dev/null and b/docs/images/todeInstallMenu.png differ diff --git a/docs/images/todeRefreshTodeMenu.png b/docs/images/todeRefreshTodeMenu.png new file mode 100644 index 000000000..de2ac327a Binary files /dev/null and b/docs/images/todeRefreshTodeMenu.png differ diff --git a/docs/images/todeShell.png b/docs/images/todeShell.png new file mode 100644 index 000000000..7f837714a Binary files /dev/null and b/docs/images/todeShell.png differ diff --git a/docs/images/todeShellConsole.png b/docs/images/todeShellConsole.png new file mode 100644 index 000000000..cff6c4a17 Binary files /dev/null and b/docs/images/todeShellConsole.png differ diff --git a/docs/images/todeSystemMenu.png b/docs/images/todeSystemMenu.png new file mode 100644 index 000000000..6c9d6ab42 Binary files /dev/null and b/docs/images/todeSystemMenu.png differ diff --git a/docs/images/todeTestLoginMenu.png b/docs/images/todeTestLoginMenu.png new file mode 100644 index 000000000..7725ece93 Binary files /dev/null and b/docs/images/todeTestLoginMenu.png differ diff --git a/docs/images/todeTestLoginSuccess.png b/docs/images/todeTestLoginSuccess.png new file mode 100644 index 000000000..47419f12e Binary files /dev/null and b/docs/images/todeTestLoginSuccess.png differ diff --git a/docs/images/todeUpdateMenu.png b/docs/images/todeUpdateMenu.png new file mode 100644 index 000000000..2fb2ebf05 Binary files /dev/null and b/docs/images/todeUpdateMenu.png differ diff --git a/docs/images/todeWindowLayoutMenu.png b/docs/images/todeWindowLayoutMenu.png new file mode 100644 index 000000000..3af09b1dd Binary files /dev/null and b/docs/images/todeWindowLayoutMenu.png differ diff --git a/docs/releaseNotes/releaseNotes0.1.0.md b/docs/releaseNotes/releaseNotes0.1.0.md new file mode 100644 index 000000000..6af264203 --- /dev/null +++ b/docs/releaseNotes/releaseNotes0.1.0.md @@ -0,0 +1,491 @@ +# Release Notes 0.1.0 + +- [Bug Fixes](#bug-fixes) +- [Pull Requests](#pull-requests) +- [Git Credentials and tODE](#git-credentials-and-tode) +- [Project Loading with tODE](#project-loading-with-tode) + - [Project Entries](#project-entries) + - [Project Entry and Script Sharing](#project-entry-and-script-sharing) + - [Project Entry and Script Sharing Structures](#project-entry-and-script-sharing-structures) + - [/home](#home) + - [/projects](#projects) + - [/sys](#sys) + - [/sys/default](#sysdefault) + - [/sys/local](#syslocal) + - [/sys/stone](#sysstone) + - [/sys/stones>](#sysstones) + - [/sys/stones/\](#sysstonesstone-name) + - [/sys/stones/\/dirs](#sysstonesstone-namedirs) + - [/sys/stones/\/home](#sysstonesstone-namehome) + - [/sys/stones/\/homeComposition](#sysstonesstone-namehomecomposition) + - [/sys/stones/\/packages](#sysstonesstone-namepackages) + - [/sys/stones/\/projectComposition](#sysstonesstone-nameprojectcomposition) + - [/sys/stones/\/projects](#sysstonesstone-nameprojects) + - [/sys/stones/\/repos](#sysstonesstone-namerepos) + - [Construction of Project Entry and Script Sharing Structures](#construction-of-project-entry-and-script-sharing-structures) +- [Converting v0.0.2 project structure to v0.1.0](#converting-v002-project-structure-to-v010) + +##Bug Fixes +1. [Issue #5: Add command / file completion][12] +2. [Issue #100: TDProjectEntryDefinition class>>defaultGitRootPath should be in session temps][17] +1. [Issue #106: projects dir with projectEntries?][7] +1. [Issue #110: probably should have stone specific home dir in gsdevkit][6] +2. [Issue #123: adapt tode client to new tode/sys structure][8] +3. [Issue #124: `project load` may not use proper version of project entry][10] +3. [Issue #125: potential difficulty when updating live tode in 3.1.0.6 and earlier: `a OffsetError occurred (error 2003), reason:objErrBadOffsetIncomplete, max:0 actual:1`][9] +4. [Issue #129: add `\` escape to tODE command-line processing (mainly to escape newlines)][11] +5. [Issue #130: implement TDTopezServer>>evaluateCommandStream: for multi-line scripts and `tode its`][13] +6. [Issue #135: cheat sheet for GemTools users][15] +6. [Issue #143: add `/sys` structure to tODE checkout][14] +7. [Issue #147: finish `gs` command docs][16] +8. [Issue #148: write `project` command man pages #148][18] +9. [Issue #149: v0.1.0 release notes][19] +10. [Issue #152: `project refresh` project entry command needed][31] +11. [Issue #154: `project load Tode --loads=`#('Tests')` option to append --loads to project entry][32] +12. [Issue #155: rename v0.0.3 to v0.1.0][33] +13. [Issue #157: `test --batch` option for supporting batch test runs][34] + +##Pull Requests +1. [Pull Request #140: Greatly Improved Git merge tool][21] +1. [Pull Request #150: v0.1.0][20] + +##Git Credentials and tODE +When you clone a git repository, your remote repository credentials (i.e., GitHub username and password) are needed for doing commands like `push`. +The [Github article: Which remote URL should I use?][35] describes the various choices you have. +With tODE, the `git` commands are performed using `System class>>performOnServer:` and it is not convenient to prompt for your username and password everytime a git command is performed. + +###Cloning with SSH +I recommend that you use SSH and setup [an SSH keypair][36]. +With an SSH keypair, you are not prompted for a username and password, so git interactions via tODE are simplified. +You can also use [SSH agent forwarding][37] to use your local SSH keys for server installations. + +###Cloning with HTTPS +If for some reason you decide that you want to use `https` to clone your repo (i.e., your firewall prevents the use of SSH), then you will need to set up [a `credential.helper` for git][38]. +To avoid having to periodically redefine your password, you should probably use [`git-credential-store][39], which stores credentials in a file on disk protected by filesystem permissions. + +##Project Loading with tODE +One of the basic principles for tODE is that the same code should be run whether you are executing an operation from a menu pick, the tODE shell, or a [topaz][26] job. +This priniciple is especially important when it comes to project load scripts. +Developers must be able to count on the fact that whether or not they build a stone from scratch or update a stone from a menu pick, that they end up with the same code loaded into their image. + +For loading projects, the class **TDMetacelloTool** is the workhorse. +**TDMetacelloTool** implements a comprehensive Smalltalk API for managing most phases of project management. +**TDMetacelloTool** also implements the `project` command which provides tODE shell access to the project management API: + +``` +NAME + project - Metacello project management support. + +SYNOPSIS + project [--help] [] + +DESCRIPTION + Commands: + clone Clone repository (github only) + commit Commit the Metacello project + compare View differences between repository versions (git only) + diff View code differences between image and repository + entry Create a new project entry + list List Metacello projects + load Load a Metacello project + lock Lock project registration + log Browse commit log for the Metacello project (git only) + prime Prime the project registry + registry Inspect the project registry + rehome Point package repository groups for project to new repository + summary View report of changed packages and methods + validate Validate the project registrations + + Use `project --help ` to read about a specific subcommand. +``` + +For example, to load the `Seaside3` project one can use: + +1. The `load` menu item in the `project list`: + + ![project list menu][27] + +2. The 'project load` command in the tODE shell: + + ``` + project load Seaside3 + ``` + +3. A Smalltalk expression that can be run in a workspace or topaz: + +```Smalltalk + (TDTopezServer batchInstance toolInstanceFor: 'project') + projectLoad: 'Seaside3' +``` + +All three techniques are based on using `toolInstanceFor:` for look up and the same `load` code is executed in all three scenarios. + +###Project Entries + +The *project entry* is used by tODE to specify the details needed for loading a project. +A *project entry* has attributes that correspond to the arguments you would use in a [**Metacello** load command][3]. +For example the following Metacello load command for the Seaside3 project: + +```Smalltalk +Metacello new + baseline: 'Seaside3'; + repository: 'github://GsDevKit/Seaside31:3.1.?/repository' + lock; + load: #('Development' 'Zinc' 'FastCGI' 'Examples' 'Tests') +``` + +is specified like this in a *project entry*: + +```Smalltalk +^ TDProjectSpecEntryDefinition new + baseline: 'Seaside3' + repository: 'github://GsDevKit/Seaside31:3.1.?/repository' + loads: #('Development' 'Zinc' 'FastCGI' 'Examples' 'Tests'); + status: #(#'inactive'); + locked: false; + yourself +``` + +Over time, the **TDProjectSpecEntryDefinition** will be expanded to include additional project meta data as needed. + +The *project entry* specification is stored on disk so that the specifications can be shared across multiple stones. + +###Project Entry and Script Sharing +In a [GsDevKitHome][25] installation, it is expected that multiple stones will be used for production, development and testing. +In this environment it is necessary to be able to have: + +1. An initial, default set of *project entry* specifications, managed by the [GsDevKit team][28], that are shared by all stones. +2. Installation-wide *project entries* and scripts where some *project entry* specifications have been customized for the local installation or additional *project entry* specifications have been added that are managed by the local development team. +3. Stone-specific *project entry* specifications that are customized on a stone by stone basis. + +###Project Entry and Script Sharing Structures +At the top-level of the tODE directory node structure in`/`, there are three directory nodes that are used to implement *project entry* and script sharing: + +``` ++-home\ ++-projects\ ++-sys\ +``` +####/home +The `/home` directory node houses the shared scripts and directory nodes. + +*See the [/sys/stones/\/homeComposition](#sysstonesstone-namehomecomposition) section for information on how the contents of the `/home` directory node is composed.* + +####/projects +The nodes in the `/projects` directory node are *project entry* specifications. + +*See the [/sys/stones/\/projectComposition](#sysstonesstone-nameprojectcomposition) section for information on how the contents of the `/projects` directory node is composed.* + +####/sys +Both the `/home` and `/projects` directory nodes are composed from three other directory node strucures under `/sys`: [/sys/default](#sysdefault); [/sys/local](#syslocal); and [/sys/stones/\](#sysstonesstone-name): + +``` ++-sys\ + +-default\ + +-local\ + +-stone\ + +-stones\ +``` + +####/sys/default +The `/sys/default/` directory node is a mount point for the disk directory `$GS_HOME/tode/sys/default`. + +`/sys/default/bin` is the default location for utility scripts. + +`/sys/default/client` is the default location for client session descriptions, scripts, and windowLayouts. + +`/sys/default/home` is the location where the common tODE scripts are located. +The scripts in this directory node are included in the initial checkout of [gsDevKitHome][23]. +Over time, I expect folks to contribute their own utility scripts here. + +`/sys/default/pharo` is the location of the `todeLoad.st` file that is used to bootstrap and update the todeClientImage. + +`/sys/default/projects` is the location where the common tODE *project entries* are located. +The *project entries* in this directory node should represent the full range of projects that have been ported to [GsDevKit][25]. +Over time, I expect that the list will be expanded as folks port more projects to [GsDevKit][25]. + +`/sys/default/server` is the default location for server bootstrap scripts. + +`/sys/default/templates` is the location where the default templates for the nodes used in [constructing the per stone structure is defined](#sysstonesstone-name). + +####/sys/local +The `/sys/local/` directory node is a mount point for the disk directory `$GS_HOME/tode/sys/local`. + +`/sys/local/client` is the location where installation-wide client session descriptions, scripts, and windowLayouts are stored. +The default location for scripts and windowLayouts is `/sys/default/client`. + +`/sys/local/git` is the location where installation-wide git clones may be shared. +You may specify an alternate location in the session description for a stone. + +`/sys/local/home` is the location where the installation-wide tODE scripts are located. +You should add scripts to this directory node that you want all stones in your installation to share. + +`/sys/local/pharo` is the location of a local version `todeLoad.st` file that is used in place of `/sys/default/pharo/todeLoad.st` to bootstrap and update the todeClientImage. + +`/sys/local/projects` is the location where the installation-wide tODE *project entries* are located. +You should add *project entries* to this directory node that you want all the stones in your installation to share. +If you have clones of projects that are present in `/sys/default/projects`, you should copy the *project entry* from `/sys/default/projects` to `/sys/local/projects` and save your installation-specific modifications there. +By default, the *project entries* in `/sys/local/projects` have precedence over those in `/sys/default/projects`. + +`/sys/local/server` is the location where installation-wide server bootstrap scripts are located. +The default bootstrap scripts are located in `/sys/defaul/server/scripts`. + +`/sys/local/templates` is the location where the local templates for the nodes used in [constructing the per stone structure is defined](#sysstonesstone-name). + +####/sys/stone +`/sys/stone` is mounted to point at the `/sys/stones/` directory node. +In effect `/sys/stone/` is a *symbolic link* to `/sys/stones/` and can be used in tODE commands to refer to the current stone's directory structure without having to specify the name of the current stone. + +####/sys/stones/\ + +Here's a diagram of the structure in the `/sys/stones/` directory node: + +``` ++-sys\ + +-stones\ + +-\ + +-dirs\ + +-home\ + +-homeComposition + +-packages\ + +-projectComposition + +-projects\ + +-repos\ +``` + +####/sys/stones/\/dirs +`/sys/stones//dirs` is the location where you can find the list of git-based project directory nodes. +A git-based project uses a baseline and the project repository is either a `filetree://` repository that is managed by git or the project repository is a `github://` repository. +Each of the nodes in `/sys/stones//dirs` resolves to an instance of **ServerFileDirectory**. + +By referencing the `dirs` node, you can form disk path references for tODE shell commands. +The following tODE shell script copies the contents of the [`tode` directory located in the Tode project repository][29] to `/sys/local/home` making it available in all stones in your [GsDevKitHome][23] installation: + +``` +cp /sys/stone/dirs/Tode/tode /sys/local/home/tode +``` + +If you have a local git clone of the [tODE repository][30], then you might prefer to directly mount the `/sys/stone/dirs/Tode/tode` so that the changes that you make to any script will be made to the files in the git clone itself: + +``` +mount @/sys/stone/dirs/Tode/tode /sys/local/home tode +``` + +####/sys/stones/\/home +`/sys/stones//home` (or `/sys/stone/home`) is the location where the stone-specific tODE scripts are located. +By default, all new scripts and directory nodes that you create in `/home`, will be saved in this location. + +####/sys/stones/\/homeComposition +The `/sys/stones//homeComposition` node defines the composition of the [`/home` directory node](#home). + +```Smalltalk +(TDComposedDirectoryNode + pathComposedDirectoryNodeNamed: 'home' + topez: self topez) + addPathNode: '/sys/stone/home'; + addPathNode: '/sys/local/home'; + addPathNode: '/sys/default/home'; + yourself +``` + +The order of `addPathNode:` statements defines the precedence order with the first entry having precedence over subsequent entries. +There are variants of the `addPathNode:` method, that allow you to define a specific list of nodes to `exclude` or `include`. +You also have the option of specifying a `select block`. + +To view or modify the composition specification use the following tODE shell commands: + +``` +edit /sys/stone/homeComposition # view composition for current stone +``` + +####/sys/stones/\/packages +The `/sys/stones//packages` is the location where you can find the list of packages that are loaded into the stone. +Each of the nodes in `/sys/stones//packages` resolves to an instance of **MCWorkingCopy**. + +You can use the `packages` node in a node path in commands that call for a ``. +The following command brings up a window on the list of ancestors in the `Utf8Encoding` package: + +``` +mc ancestors @/sys/stone/packages/Utf8Encoding +``` + +####/sys/stones/\/projects +`/sys/stones//projects` (or `/sys/stone/projects`) is the location where the stone-specific *project entry* specifications are located. + +####/sys/stones/\/projectComposition +The `/sys/stones//projectComposition` node defines the composition of the [`/projects` directory node](#projects). + +```Smalltalk +(TDComposedDirectoryNode + pathComposedDirectoryNodeNamed: 'projects' + topez: self topez) + addPathNode: '/sys/stone/projects'; + addPathNode: '/sys/local/projects'; + addPathNode: '/sys/default/projects'; + yourself +``` + +*See the [/sys/stones/\/homeComposition](#sysstonesstone-namehomecomposition) section for information about specifying precedence.* + +To view or modify the composition specification use the following tODE shell commands: + +``` +edit /sys/stone/projectComposition # view composition for current stone +``` + +####/sys/stones/\/repos +The `/sys/stones//repos` node is the location where you can find the list of git-based or filetree-based repositories associated with the loaded project entries in the stone. +Each of the nodes in `/sys/stones//repos` is an instance of **MCRepository**. + +You can use the `repos` node to reference a `` like the following: + +``` +mr packages @/sys/stone/repos/Tode +``` + +Each of the nodes in `/sys/stones//repos/` resolves to an Array of **GoferResolvedReference** instances, that represent the list of versions for the named package in that repository. + +A specific version can be resolved by using the version name in the node path: + +``` +mc compare image BaselineOfSton @/sys/stone/repos/Ston/BaselineOfSton/BaselineOfSton-dkh.2 +``` + +###Construction of Project Entry and Script Sharing Structures +The `/sys/default/`, `/sys/local/`, and`/sys/stones/` directory nodes are mount points for the disk directories rooted in `$GS_HOME/tode/sys`. +All of the directories and files under `$GS_HOME/tode/sys` are shared by all stones. +A change to a script in `/home` will immediately be available to all other stones. + +The scripts and files in tODE are stored as objects on disk using STON. +STON files have a `.ston` extension. + +The following tODE shell script is used to construct `/home`. `/projects`, and `/sys` directory nodes: + +``` +# Set up /sys node structure +mount --todeRoot sys/default /sys default +mount --todeRoot sys/local /sys local +mount --todeRoot sys/stones /sys stones +# ensure that --stoneRoot directory structure is present +/sys/default/bin/validateStoneSysNodes --files --repair +mount --stoneRoot / /sys stone +# Define /home and /projects based on a composition of the /sys nodes +mount --stoneRoot homeComposition.ston / home +mount --stoneRoot projectComposition.ston / projects +commit +cd +``` + +The script is invoked whenever a new stone is created by the `$GS_HOME/bin/createTodeStone` bash shell script. +The script is stored on disk at `$GS_HOME/tode/sys/default/client/scripts/setUpSys` and can be invoked at any time using the following tODE shell command: + +``` +script --script=setUpSys +``` + +If you wish to override the script to create additional artifacts in your tODE image, you may copy `$GS_HOME/tode/sys/default/client/scripts/setUpSys` to `$GS_HOME/tode/sys/local/client/scripts/` where you can make your edits. + +For additional documentation on the commands used in the script: + +``` +man mount +/sys/default/bin/validateStoneSysNodes --help +``` + + +--- +I might want to go into detaial about the files in the directories? + +``` ++-$GS_HOME\ + +-tode\ + +-sys\ + +-default\ + +-bin\ + +-client\ + +-scripts\ + +-windowLayout\ + +-home\ + +-pharo\ + +-projects\ + +-server\ + +-scripts\ + +-templates\ + +-dirs.ston + +-homeComposition.ston + +-packages.ston + +-projectComposition.ston + +-repos.ston + +-local\ + +-client\ + +-descriptions\ + +-scripts\ + +-windowLayout\ + +-git\ + +-home\ + +-pharo\ + +-projects\ + +-server\ + +-scripts\ + +-templates\ + +-stones\ + +-\ + +-dirs.ston + +-home\ + +-homeComposition.ston + +-packages.ston + +-projectComposition.ston + +-projects\ + +-repos.ston +``` + + +##Converting v0.0.2 project structure to v0.1.0 + +1. install current gsDevKitHome project +2. pull `tode:dev`, pull `gsDevKitHome:dev` ... work out update instructions ... +3. finalize the converting/upgrading section of tODE release notes +4. pass through gsdevkithome scripts updating for new stone creation + +``` + updateClient # update client-side tODE + project load Tode # update server-side tODE + script --script=setUpSys # build tODE /sys structure +``` + +[1]: https://github.com/dalehenrich/tode/releases/tag/v0.0.2 +[3]: https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloScriptingAPI.md#loading +[6]: https://github.com/dalehenrich/tode/issues/110 +[7]: https://github.com/dalehenrich/tode/issues/106 +[8]: https://github.com/dalehenrich/tode/issues/123 +[9]: https://github.com/dalehenrich/tode/issues/125 +[10]: https://github.com/dalehenrich/tode/issues/124 +[11]: https://github.com/dalehenrich/tode/issues/129 +[12]: https://github.com/dalehenrich/tode/issues/5 +[13]: https://github.com/dalehenrich/tode/issues/130 +[14]: https://github.com/dalehenrich/tode/issues/143 +[15]: https://github.com/dalehenrich/tode/issues/135 +[16]: https://github.com/dalehenrich/tode/issues/147 +[17]: https://github.com/dalehenrich/tode/issues/100 +[18]: https://github.com/dalehenrich/tode/issues/148 +[19]: https://github.com/dalehenrich/tode/issues/149 +[20]: https://github.com/dalehenrich/tode/pull/150 +[21]: https://github.com/dalehenrich/tode/pull/140 +[22]: https://github.com/dalehenrich/tode/releases/tag/v0.1.0 +[23]: https://github.com/GsDevKit/gsDevKitHome +[24]: https://github.com/GsDevKit/gsDevKitHome/blob/master/docs/releaseNotes/releaseNotes1.0.0.md +[25]: https://github.com/GsDevKit +[26]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-Topaz-3.2.pdf +[27]: ../images/projectListMenu.png +[28]: https://github.com/orgs/GsDevKit/people +[29]: ../../../tode +[30]: https://github.com/dalehenrich/tode +[31]: https://github.com/dalehenrich/tode/pull/152 +[32]: https://github.com/dalehenrich/tode/pull/154 +[33]: https://github.com/dalehenrich/tode/pull/155 +[34]: https://github.com/dalehenrich/tode/pull/157 +[35]: https://help.github.com/articles/which-remote-url-should-i-use/ +[36]: https://help.github.com/articles/generating-ssh-keys +[37]: https://developer.github.com/guides/using-ssh-agent-forwarding/ +[38]: http://git-scm.com/docs/gitcredentials +[39]: http://git-scm.com/docs/git-credential-store diff --git a/repository/BaselineOfTode.package/BaselineOfTode.class/instance/baseline..st b/repository/BaselineOfTode.package/BaselineOfTode.class/instance/baseline..st index b3bbf8e44..402915064 100644 --- a/repository/BaselineOfTode.package/BaselineOfTode.class/instance/baseline..st +++ b/repository/BaselineOfTode.package/BaselineOfTode.class/instance/baseline..st @@ -4,7 +4,10 @@ baseline: spec spec for: #'common' do: [ - spec baseline: 'Ston'. + spec + baseline: 'Ston' + with: [ spec repository: 'github://GsDevKit/ston:v0.9.?/repository' ]; + yourself. spec package: 'Topez-Common-Core' with: [ spec requires: #('Ston') ]; package: 'Topez-Server-Core' @@ -14,6 +17,7 @@ baseline: spec yourself. spec group: 'Common Tests' with: #('Topez-Common-Tests'); + group: 'Visualize' with: #(); yourself ]. spec for: #'squeakCommon' @@ -42,9 +46,6 @@ baseline: spec spec for: #'pharo' do: [ - spec - baseline: 'Ston' - with: [ spec repository: 'github://dalehenrich/ston:pharo-0.5/repository' ]. spec package: 'Topez-Pharo-Common'; package: 'Tode-Pharo-Server-Core' @@ -58,12 +59,15 @@ baseline: spec with: [ spec requires: #('GemTools-ClientGCI' 'Tode-Client-Common') ]; package: 'Tode-Client-Pharo' with: [ spec requires: #('Tode-Client-Common') ]; + package: 'Tode-Client-ServerBlocks' + with: [ spec requires: #('Tode-Client-Common') ]; package: 'Topez-ClientTravis-Tests' with: [ spec requires: #('Topez-Client-GemStone') ]; yourself. spec group: 'default' with: #('GemStone'); - group: 'GemStone' with: #('Topez-Client-GemStone'); + group: 'GemStone' + with: #('Topez-Client-GemStone' 'Tode-Client-ServerBlocks'); group: 'Pharo' with: #('Tode-Pharo-Server-Core' 'Tode-Client-Pharo'); group: 'GemStone Tests' with: #('Topez-ClientTravis-Tests'); group: 'GemStone Dev' @@ -77,6 +81,29 @@ baseline: spec package: 'Topez-Pharo-Common' with: [ spec includes: 'Tode-Pharo14' ]; package: 'Tode-Pharo14' with: [ spec requires: 'Topez-Pharo-Common' ]; yourself ]. + spec + for: #(#'pharo3.x' #'pharo4.x') + do: [ + spec + configuration: 'Roassal2' + with: [ + spec + versionString: '1.5.2'; + repository: + 'http://smalltalkhub.com/mc/ObjectProfile/Roassal2/main'; + loads: #('Trachel' 'Roassal2') ]; + yourself. + spec + package: 'Tode-Client-Roassal2' + with: [ spec requires: #('Tode-Client-ServerBlocks') ]; + package: 'TPZ-Talk' + with: [ + spec + requires: #('Ston' 'Roassal2'); + repository: + 'http://smalltalkhub.com/mc/PierreChanson/TPZ-Talk/main' ]; + group: 'Visualize' with: #('TPZ-Talk' 'Tode-Client-Roassal2'); + yourself ]. spec for: #'gemstone' do: [ @@ -93,8 +120,6 @@ baseline: spec spec loads: #('AST-Core'); repository: 'github://dalehenrich/rb:dev/repository' ]; - baseline: 'Ston' - with: [ spec repository: 'github://dalehenrich/ston:v0.5/repository' ]; baseline: 'FileTree' with: [ spec repository: 'github://dalehenrich/filetree:gemstone2.4_dev/repository' ]; yourself. @@ -165,6 +190,10 @@ baseline: spec with: [ spec includes: 'Topez-Server-24x-Tests' ]; package: 'Topez-Server-24x-Tests' with: [ spec requires: 'Topez-Server-Tests' ]; + package: 'Tode-GemStone-Server-Core' + with: [ spec includes: #('Tode-GemStone-Core2x') ]; + package: 'Tode-GemStone-Core2x' + with: [ spec requires: #('Tode-GemStone-Server-Core') ]; yourself ]. spec for: #'gs3.x' @@ -182,6 +211,10 @@ baseline: spec with: [ spec includes: 'Topez-Server-31x-Tests' ]; package: 'Topez-Server-31x-Tests' with: [ spec requires: 'Topez-Server-Tests' ]; + package: 'Tode-GemStone-Server-Core' + with: [ spec includes: #('Tode-GemStone-Core3x') ]; + package: 'Tode-GemStone-Core3x' + with: [ spec requires: #('Tode-GemStone-Server-Core') ]; yourself ]. spec for: #'gs3.0.x' @@ -218,6 +251,19 @@ baseline: spec package: 'Topez-Server-32x-Core' with: [ spec requires: 'Topez-Server-Core' ]; yourself ]. + spec + for: #'gs3.3.x' + do: [ + spec + package: 'Tode-GemStone-Server-Core' + with: [ spec includes: 'Topez-GemStone-Server-33x-Core' ]; + package: 'Topez-GemStone-Server-33x-Core' + with: [ spec requires: 'Tode-GemStone-Server-Core' ]; + package: 'Topez-Server-Core' + with: [ spec includes: 'Topez-Server-33x-Core' ]; + package: 'Topez-Server-33x-Core' + with: [ spec requires: 'Topez-Server-Core' ]; + yourself ]. spec for: #(#'gs3.1.x' #'gs3.2.x' #'gs3.3.x') do: [ @@ -236,4 +282,4 @@ baseline: spec yourself. spec package: 'Topez-Common-Core' - with: [ spec includes: 'Topez-MagLev-Core' ] ] + with: [ spec includes: 'Topez-MagLev-Core' ] ] \ No newline at end of file diff --git a/repository/BaselineOfTode.package/BaselineOfTode.class/methodProperties.json b/repository/BaselineOfTode.package/BaselineOfTode.class/methodProperties.json index 862d7805c..e33e6603c 100644 --- a/repository/BaselineOfTode.package/BaselineOfTode.class/methodProperties.json +++ b/repository/BaselineOfTode.package/BaselineOfTode.class/methodProperties.json @@ -2,5 +2,5 @@ "class" : { }, "instance" : { - "baseline:" : "dkh 08/27/2014 14:03", + "baseline:" : "dkh 06/26/2015 14:21", "initializeTools" : "dkh 06/06/2013 11:59" } } diff --git a/repository/BaselineOfTode.package/monticello.meta/version b/repository/BaselineOfTode.package/monticello.meta/version index 4973db0c3..69923deec 100644 --- a/repository/BaselineOfTode.package/monticello.meta/version +++ b/repository/BaselineOfTode.package/monticello.meta/version @@ -1 +1,45 @@ -(name 'BaselineOfTode-dkh.43' message 'Issue #174: use STON v0.5 for pharo branch (dalehenrich/ston pharo-0.5 tag)' id '9452b4df-b82c-4fab-82a6-d1de9d5e3536' date '06/23/2015' time '14:40:15' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.42' message 'Issue #174: use STON v0.5 for GemStone' id '8ccf1e71-ece2-4abc-b19a-0ccee48fb28b' date '06/19/2015' time '13:07:33' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.41' message 'start plying with todo' id 'b4f97e31-bc87-420f-9cb6-f1be83d092e4' date '08/27/2014' time '14:05:34' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.40' message 'take gemstone 3.3 into account' id 'c2550d2d-a446-48c7-8c68-6c7ddba46c27' date '07/16/2014' time '14:12:30' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.39' message 'add direct Metacello repository... locks will be used to control which GLASS1 and Metacello repositories are used during install' id '0f710bb9-3514-4073-a597-890d79bc13c1' date '07/05/2014' time '11:13:54' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.38' message 'tODE depends directly on GLASS1' id '14cccb58-b409-4353-9bac-e434d3845884' date '07/05/2014' time '11:03:27' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.37' message 'get git log for unloaded git projects .... record FileTree dependendency ... bump up number of git log entries retrieved' id 'c984d8c6-ac20-4759-baab-d1bd4f9747d8' date '07/03/2014' time '17:44:00' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.36' message '- working on fixing disappearing comments for workspaces (comment no statements) - adding RBWorkspaceNode as extenstion to RB AST... - clean up workspace code so that it''s possible for workspace to correctly access temps and args for debugger context - debugger context browse class and browse full cleaned up' id '83f69515-5637-451f-ac5a-fa2701dd9cab' date '06/28/2014' time '15:58:17' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.35' message 'Issue #91: first cut at test browser tool ... hooked into `project list` at the moment ... - new package for some tests that I''m using for testing the test browser ... ' id '43081ca8-25cf-4b71-9ac4-1712b47d7f79' date '06/25/2014' time '16:18:52' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.34' message 'restore bedit tool to standard build ... ABSOLUTELY needed for `cls rename` ...' id 'd3f0fbc6-fdb2-472d-91d5-5713a2fa21d7' date '06/08/2014' time '14:19:01' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.33' message 'no longer doing an initializeBounds during load' id 'b803b4cd-d114-4c94-a1f1-efdac33acc18' date '06/02/2014' time '07:58:28' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.32' message 'add Topez-Server-3x-DebugTools and Topez-Server-30x-DebugTools packages to properly handle the different methods needed for debugging in the different versions of GemStone 3.x' id '3ba0584c-7d1c-44b2-8fa4-9ba166cacc48' date '05/24/2014' time '10:20:32' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.31' message 'populate Topez-Server-30x-Core package' id '94f824af-236e-49bd-b294-549b10c4fbc5' date '05/24/2014' time '09:57:06' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.30' message 'Not all of the defs in Topez-Server-31x-Core package were appropriate for 3.0 - move the defs appropriate for 3.0 to Topez-Server-3x-Core (where they belonged in the first place)' id 'c7f3d9c1-b0c0-43d4-8094-a8d4fcc45ea4' date '05/24/2014' time '09:34:54' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.29' message 'another tweak to baseline for 3.0 along the way ...' id '62b6ed00-1316-4b21-9312-afdc45265fbf' date '05/23/2014' time '17:34:26' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.28' message 'attempting to get tODE to load in 3.0.x ... it''s been awhile' id '57fac765-63bc-4357-9906-9508dafa37d4' date '05/23/2014' time '17:27:16' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.27' message 'implement `bu remove` and adjust baseline to load Tode-GemStone-Server-Tests - plus tests and man pages' id '6f056927-3535-4af3-8554-a86bfb28a123' date '05/13/2014' time '16:45:17' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.26' message 'initializeTools in baseline ... pick up loads from registration ... stub out `bu remove`' id '82c46cc6-fd1a-4b2a-bf4a-cb95baa3feb2' date '05/13/2014' time '16:24:01' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.25' message 'add #app3 and #app4 window locations positioned above #app1 and #app2 - created named window locations app3 and app4 for more options positioning "multi-pane functions" - use the new named window locations for monticello browser functionality - add date information to the "oneline" commit log displays - arrange to call `TDTopezGemStoneClient initializeBounds` when Tode-Client-Common is loaded to ensure that we pick up new bounds in TDTopezClient class>>createBoundsDictionary' id 'af79e0e6-a1d3-4a88-a1c6-66f9340fbe51' date '05/13/2014' time '11:07:47' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.24' message 'fix typo' id '26b7c50e-0221-409a-b5f4-efeb047d57dd' date '05/05/2014' time '23:04:17' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.23' message '- fix up `eval` command ... different implementation between 2.4 and 3.x - add Topez-Server-3x-Core package' id 'ca61cdf2-8418-4fe8-b718-da7214274d34' date '05/05/2014' time '22:16:34' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.22' message 'add Topez-Server-24x-Tests package with support for break command in 2.4' id '51f2d22c-cd45-448f-b4cc-2f703191f9e3' date '05/01/2014' time '04:07:58' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.21' message '- split TDBatchEditTool and friends into separate package ... this is a useful tool, but it needs to be re-written a bit before it becomes part of standard tool set ...' id '6965a4d8-bca2-4052-8dd0-33e3b1b46213' date '04/26/2014' time '08:26:22' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.20' message '- add packages Tode-GemStone-Server-Tests - bu command tests' id '08fc820e-15b4-4b95-aa83-d12cc84e2ec1' date '04/20/2014' time '21:13:47' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.19' message 'new package added for 3.2 to differentiate between 3.2 and 3.2 methods' id '2cdc937f-8254-4c4b-8d44-ac797ee1f6c0' date '04/14/2014' time '13:13:42' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.18' message 'Issue #19: add Topez-Server-31x-Core package for Execblock>>blockSource ... porting to GemStone2.4 (again)' id '0276a661-fc9b-436b-a334-0877f969bc5f' date '01/20/2014' time '17:06:47' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.17' message 'split out GsProcess>>_localTrimStackToLevel: patch, since 3.2 has the correct implementation ... 3.1 needs patching' id '5b68c362-c2fa-4cb4-96e1-a0f1f0a1004a' date '01/11/2014' time '07:51:02' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.16' message 'slice off Topez-Server-Obsolete which contains TDLeafNodeBuilder and friends ... suspected to be obsolete (no refs) but want to do a two stage delete' id '8db5a30e-b477-4b23-bc58-d5cb0d08fa03' date '11/29/2013' time '11:37:12' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.15' message 'add a Pharo2.0 package' id '3ee26580-5ac3-4a58-9d71-08f595d945e3' date '10/04/2013' time '06:30:41' author 'dkh' ancestors ((name 'BaselineOfTode-.14' message 'implement support for Cypress repositories: cym and cyp commands (save and diff) sort mc dirty packages new Topez-Server-CypressTools package ' id '6534b0c2-5a54-4d7a-a52b-36a7e173a6f7' date '08/31/2013' time '07:44:33' author '' ancestors ((name 'BaselineOfTode-dkh.13' message 'move postload doit to the platform packages... ' id 'a03d6bd4-8674-4ef5-ab5c-46963eb3fe93' date '06/06/2013' time '12:31:29' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.12' message 'Pharo client-only does not have TDStandardTool installed ' id '2944bf2a-70a6-4ee1-90e3-30b52253d631' date '06/06/2013' time '12:28:26' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.11' message 'have to create postLoadDoIt for tode to correctly initialize the tools... ' id '718a5bc8-0b56-478c-bb1f-7e81cfed7594' date '06/06/2013' time '11:40:18' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.10' message 'add Tode-Pharo-Server-Core ' id '33050721-4ad6-461f-9821-4907accd4a18' date '05/27/2013' time '17:51:31' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.9' message 'RB only required bu GemStone nly ' id '3cdda2f9-59bb-485b-a683-e28815b7520f' date '05/27/2013' time '17:44:51' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.8' message 'Topez-Server-Core should be loaded in pharo variant ' id '8a1ba06d-6676-4db5-8920-cbf8d9e927ae' date '05/27/2013' time '17:40:31' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.7' message 'add pharo packages ' id '079a57ea-d9b9-4534-a120-0c8e2708ca6e' date '05/26/2013' time '12:09:23' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.6' message 'fix up the dependencies ... ' id '7d3accd5-4a44-47b1-8fb6-3028c7cd0a58' date '05/26/2013' time '11:14:19' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.5' message 'fix baseline group defs ' id '672bf3f9-c838-45f4-84a0-b6e8ecd5b516' date '05/26/2013' time '10:39:44' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.4' message 'rename the groups ' id 'e447431d-58cc-4f86-ac31-6ac8f85350de' date '05/26/2013' time '10:37:06' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.3' message 'Issue #25 ... re-packagin in preparation for Pharo port ' id 'ee595605-8e70-43f0-9565-d7521f38c6e0' date '05/26/2013' time '10:30:42' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.2' message 'add beginnings of common tests and add initial client-side gci tests for use in running gci tests on Travis ' id '6fca6f75-7a3c-4425-9a91-a9c3d65ec71b' date '04/29/2013' time '12:36:11' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.1' message 'rename BaselineOfTopez to BaselineOfTode ' id '39251151-31b0-43ab-9f76-4f24e6c0abce' date '04/05/2013' time '12:09:59' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'BaselineOfTode-dkh.61' message 'merged by GitFileTree-MergeDriver' id '266341ae-6a63-4cdb-8189-f1ea206d2a34' date '12 October 2015' time '7:58:31.951102 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.60' message 'With recent Ston work (https://github.com/GsDevKit/ston/issues/6) switch up baseline to same branch/tag for Ston ...' id '0c1b2fed-5bda-41a4-b839-3f0543e757f8' date '26 June 2015' time '3:52:43 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.59' message 'Issue #175: fix a typo and baseline error' id '5d0908d2-f245-4a9c-a372-3bc34fe8100c' date '25 June 2015' time '9:46:07 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.58' message 'Issue #175: major edit to start using the new protocol introduced in STON v0.9.? and pharo-0.9.1?. v0.9.1 and pharo-0.9.1 are on the gemstone_dev and pharo_dev branches so that travis tests can be run ... ' id '891b4809-310a-476d-b31e-89931ed46f6f' date '24 June 2015' time '5:23:18 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.57' message 'merged by GitFileTree-MergeDriver' id '01eb980e-bf27-4dbf-b9b5-07c545598068' date '22 June 2015' time '1:29:39 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.56' message 'Issue #175: use STON v0.9' id '274e6ce3-8977-474e-af14-57c15fbf95e1' date '22 June 2015' time '1:26:47 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.54' message 'starting to use gemstone_dev branch of STON which is the port of STON 0.9 to GemStone ... the tricky part is to change the encoding scheme' id 'f930d69f-f3cd-452e-aa11-3c6f2aa4964e' date '19 June 2015' time '3:05:15 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.53' message 'add Topez-Server-33x-Core package +' id 'c89efa81-c3e9-4a43-b07c-949002f3c2e0' date '18 June 2015' time '4:34:24 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.52' message 'Fix a baseline error' id '5256f562-5a9b-4755-91e2-72cd7bc594f3' date '15 June 2015' time '11:22:43 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.51' message 'support the new profiling features in GemStone 3.3: + - new package and tool class (TDProfileTool33 + - implement smalltalk api in TDProfileTool + - add options to selected TDProfileTool commands + - intial implementation of new 3.3 features' id '871c2c68-874a-4855-bbb8-f821d7faefc3' date '11 June 2015' time '10:06:21 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.50' message 'fix baseline error' id 'c5c58ea0-7632-4426-8c4d-67ccd72fec96' date '12 April 2015' time '9:17:02 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.49' message 'add TDServerBlockWorkspace ... needed to keep the session alive while doing work ... ''shell'' workspace variable holds onto the shell for the desired session ... close window, closes session ... Roassal menu opens a TDServerBlockWorkspace' id 'ba054e53-3d58-4df0-a347-c36484315a11' date '12 April 2015' time '8:31:48 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.48' message 'Tode-Client-Roassal2 package is still needed ... workspac e needed to hold onto the shell instance ... login/logout sematics and window management ...' id 'dbc42612-b98c-4638-b495-6d559eac8807' date '12 April 2015' time '7:39:45 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.46' message 'new package Tode-Client-Roassal2 for obvious reasons' id '332a6ea7-7d88-4713-8bf3-51451509f84f' date '9 April 2015' time '6:29:29 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.45' message 'fix up the Roassal2 ref' id '18365e6a-de9b-460d-9ba2-4a0918c0a443' date '9 April 2015' time '4:46:13 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.44' message 'add Roassal and pharo4.0 support (experimental Pharo4.0)' id '2aa0d825-4018-4b99-9148-47ccba3c12f9' date '9 April 2015' time '4:36:42 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.43' message 'Switch Ston repository to GsDevKit/Ston' id '1199f608-e91f-49c1-8c85-bdccbf4a6404' date '21 November 2014' time '9:12:45 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.42' message 'fixing `bu` command for gmestone 2.4.x' id 'b881341f-1438-4a6f-bd7f-c2364816cd42' date '20 November 2014' time '11:24:37 am' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'BaselineOfTode-dkh.42' message 'Issue #174: use STON v0.5 for GemStone' id '8ccf1e71-ece2-4abc-b19a-0ccee48fb28b' date '19 June 2015' time '1:07:33 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.41' message 'start plying with todo' id 'b4f97e31-bc87-420f-9cb6-f1be83d092e4' date '27 August 2014' time '2:05:34 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.40' message 'take gemstone 3.3 into account' id 'c2550d2d-a446-48c7-8c68-6c7ddba46c27' date '16 July 2014' time '2:12:30 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.39' message 'add direct Metacello repository... locks will be used to control which GLASS1 and Metacello repositories are used during install' id '0f710bb9-3514-4073-a597-890d79bc13c1' date '5 July 2014' time '11:13:54 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.38' message 'tODE depends directly on GLASS1' id '14cccb58-b409-4353-9bac-e434d3845884' date '5 July 2014' time '11:03:27 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.37' message 'get git log for unloaded git projects .... record FileTree dependendency ... bump up number of git log entries retrieved' id 'c984d8c6-ac20-4759-baab-d1bd4f9747d8' date '3 July 2014' time '5:44 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.36' message '- working on fixing disappearing comments for workspaces (comment + no statements) +- adding RBWorkspaceNode as extenstion to RB AST... +- clean up workspace code so that it''s possible for workspace to + correctly access temps and args for debugger context +- debugger context browse class and browse full cleaned up' id '83f69515-5637-451f-ac5a-fa2701dd9cab' date '28 June 2014' time '3:58:17 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.35' message 'Issue #91: first cut at test browser tool ... hooked into `project list` at the moment ... + +- new package for some tests that I''m using for + testing the test browser ... ' id '43081ca8-25cf-4b71-9ac4-1712b47d7f79' date '25 June 2014' time '4:18:52 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.34' message 'restore bedit tool to standard build ... ABSOLUTELY needed for `cls rename` ...' id 'd3f0fbc6-fdb2-472d-91d5-5713a2fa21d7' date '8 June 2014' time '2:19:01 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.33' message 'no longer doing an initializeBounds during load' id 'b803b4cd-d114-4c94-a1f1-efdac33acc18' date '2 June 2014' time '7:58:28 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.32' message 'add Topez-Server-3x-DebugTools and Topez-Server-30x-DebugTools packages to properly handle the different methods needed for debugging in the different versions of GemStone 3.x' id '3ba0584c-7d1c-44b2-8fa4-9ba166cacc48' date '24 May 2014' time '10:20:32 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.31' message 'populate Topez-Server-30x-Core package' id '94f824af-236e-49bd-b294-549b10c4fbc5' date '24 May 2014' time '9:57:06 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.30' message 'Not all of the defs in Topez-Server-31x-Core package were appropriate for 3.0 + +- move the defs appropriate for 3.0 to Topez-Server-3x-Core + (where they belonged in the first place)' id 'c7f3d9c1-b0c0-43d4-8094-a8d4fcc45ea4' date '24 May 2014' time '9:34:54 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.29' message 'another tweak to baseline for 3.0 along the way ...' id '62b6ed00-1316-4b21-9312-afdc45265fbf' date '23 May 2014' time '5:34:26 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.28' message 'attempting to get tODE to load in 3.0.x ... it''s been awhile' id '57fac765-63bc-4357-9906-9508dafa37d4' date '23 May 2014' time '5:27:16 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.27' message 'implement `bu remove` and adjust baseline to load Tode-GemStone-Server-Tests + +- plus tests and man pages' id '6f056927-3535-4af3-8554-a86bfb28a123' date '13 May 2014' time '4:45:17 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.26' message 'initializeTools in baseline ... pick up loads from registration ... stub out `bu remove`' id '82c46cc6-fd1a-4b2a-bf4a-cb95baa3feb2' date '13 May 2014' time '4:24:01 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.25' message 'add #app3 and #app4 window locations positioned above #app1 and #app2 + +- created named window locations app3 and app4 for more options positioning "multi-pane functions" +- use the new named window locations for monticello browser functionality +- add date information to the "oneline" commit log displays +- arrange to call `TDTopezGemStoneClient initializeBounds` when Tode-Client-Common is loaded to ensure that we pick up new bounds in TDTopezClient class>>createBoundsDictionary' id 'af79e0e6-a1d3-4a88-a1c6-66f9340fbe51' date '13 May 2014' time '11:07:47 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.24' message 'fix typo' id '26b7c50e-0221-409a-b5f4-efeb047d57dd' date '5 May 2014' time '11:04:17 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.23' message '- fix up `eval` command ... different implementation between 2.4 and 3.x +- add Topez-Server-3x-Core package' id 'ca61cdf2-8418-4fe8-b718-da7214274d34' date '5 May 2014' time '10:16:34 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.22' message 'add Topez-Server-24x-Tests package with support for break command in 2.4' id '51f2d22c-cd45-448f-b4cc-2f703191f9e3' date '1 May 2014' time '4:07:58 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.21' message '- split TDBatchEditTool and friends into separate package ... this is a useful tool, but it needs to be re-written a bit before it becomes part of standard tool set ...' id '6965a4d8-bca2-4052-8dd0-33e3b1b46213' date '26 April 2014' time '8:26:22 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.20' message '- add packages Tode-GemStone-Server-Tests +- bu command tests' id '08fc820e-15b4-4b95-aa83-d12cc84e2ec1' date '20 April 2014' time '9:13:47 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.19' message 'new package added for 3.2 to differentiate between 3.2 and 3.2 methods' id '2cdc937f-8254-4c4b-8d44-ac797ee1f6c0' date '14 April 2014' time '1:13:42 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.18' message 'Issue #19: add Topez-Server-31x-Core package for Execblock>>blockSource ... porting to GemStone2.4 (again)' id '0276a661-fc9b-436b-a334-0877f969bc5f' date '20 January 2014' time '5:06:47 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.17' message 'split out GsProcess>>_localTrimStackToLevel: patch, since 3.2 has the correct implementation ... 3.1 needs patching' id '5b68c362-c2fa-4cb4-96e1-a0f1f0a1004a' date '11 January 2014' time '7:51:02 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.16' message 'slice off Topez-Server-Obsolete which contains TDLeafNodeBuilder and friends ... suspected to be obsolete (no refs) but want to do a two stage delete' id '8db5a30e-b477-4b23-bc58-d5cb0d08fa03' date '29 November 2013' time '11:37:12 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.15' message 'add a Pharo2.0 package' id '3ee26580-5ac3-4a58-9d71-08f595d945e3' date '4 October 2013' time '6:30:41 am' author 'dkh' ancestors ((name 'BaselineOfTode-.14' message 'implement support for Cypress repositories: + + cym and cyp commands (save and diff) + sort mc dirty packages + +new Topez-Server-CypressTools package +' id '6534b0c2-5a54-4d7a-a52b-36a7e173a6f7' date '31 August 2013' time '7:44:33 am' author '' ancestors ((name 'BaselineOfTode-dkh.13' message 'move postload doit to the platform packages... +' id 'a03d6bd4-8674-4ef5-ab5c-46963eb3fe93' date '6 June 2013' time '12:31:29 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.12' message 'Pharo client-only does not have TDStandardTool installed +' id '2944bf2a-70a6-4ee1-90e3-30b52253d631' date '6 June 2013' time '12:28:26 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.11' message 'have to create postLoadDoIt for tode to correctly initialize the tools... +' id '718a5bc8-0b56-478c-bb1f-7e81cfed7594' date '6 June 2013' time '11:40:18 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.10' message 'add Tode-Pharo-Server-Core +' id '33050721-4ad6-461f-9821-4907accd4a18' date '27 May 2013' time '5:51:31 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.9' message 'RB only required bu GemStone nly +' id '3cdda2f9-59bb-485b-a683-e28815b7520f' date '27 May 2013' time '5:44:51 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.8' message 'Topez-Server-Core should be loaded in pharo variant +' id '8a1ba06d-6676-4db5-8920-cbf8d9e927ae' date '27 May 2013' time '5:40:31 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.7' message 'add pharo packages +' id '079a57ea-d9b9-4534-a120-0c8e2708ca6e' date '26 May 2013' time '12:09:23 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.6' message 'fix up the dependencies ... +' id '7d3accd5-4a44-47b1-8fb6-3028c7cd0a58' date '26 May 2013' time '11:14:19 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.5' message 'fix baseline group defs +' id '672bf3f9-c838-45f4-84a0-b6e8ecd5b516' date '26 May 2013' time '10:39:44 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.4' message 'rename the groups +' id 'e447431d-58cc-4f86-ac31-6ac8f85350de' date '26 May 2013' time '10:37:06 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.3' message 'Issue #25 ... re-packagin in preparation for Pharo port +' id 'ee595605-8e70-43f0-9565-d7521f38c6e0' date '26 May 2013' time '10:30:42 am' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.2' message 'add beginnings of common tests and add initial client-side gci tests for use in running gci tests on Travis +' id '6fca6f75-7a3c-4425-9a91-a9c3d65ec71b' date '29 April 2013' time '12:36:11 pm' author 'dkh' ancestors ((name 'BaselineOfTode-dkh.1' message 'rename BaselineOfTopez to BaselineOfTode +' id '39251151-31b0-43ab-9f76-4f24e6c0abce' date '5 April 2013' time '12:09:59 pm' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'BaselineOfTode-dkh.43' message 'Issue #174: use STON v0.5 for pharo branch (dalehenrich/ston pharo-0.5 tag)' id '9452b4df-b82c-4fab-82a6-d1de9d5e3536' date '23 June 2015' time '2:40:15 pm' author 'dkh' ancestors ((id '8ccf1e71-ece2-4abc-b19a-0ccee48fb28b')) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/GemTools-ClientPlatform.package/GciSession.extension/instance/nbPollForResult..st b/repository/GemTools-ClientPlatform.package/GciSession.extension/instance/nbPollForResult..st index 051b75fa9..35fc85182 100644 --- a/repository/GemTools-ClientPlatform.package/GciSession.extension/instance/nbPollForResult..st +++ b/repository/GemTools-ClientPlatform.package/GciSession.extension/instance/nbPollForResult..st @@ -23,32 +23,33 @@ nbPollForResult: hardBreakSent Transcript cr; show: 'interrupted: ' , hardBreakSent printString. - GciUserInterrupt signal ] ] ]. + GciUserInterrupt signal. + GciUserInterruptHandler + reset; + arm ] ] ]. ^ assoc value ] on: GciUserInterrupt do: [ :ex | Transcript cr; show: 'interrupt signalled'. - false + debuggerChoice := UIManager default + chooseFrom: #('Interrupt GemStone/S' 'Interrupt Client' 'Ignore Interrupt') + title: 'User Interrupt Detected'. + debuggerChoice = 2 ifTrue: [ - debuggerChoice := UIManager default - chooseFrom: #('Interrupt GemStone/S' 'Interrupt Squeak' 'Ignore Interrupt') - title: 'User Interrupt Detected'. - debuggerChoice = 2 - ifTrue: [ - [ - "interrupte Squeak" - terminated := true. - Processor activeProcess debugWithTitle: 'User Interrupt'. - terminated := false ] - ensure: [ - terminated - ifTrue: [ [ self terminateCurrentNbCall ] fork ] ] ]. - debuggerChoice = 3 - ifTrue: [ - "Ignore interrupt" - ex resume ] ]. + [ + "interrupte client" + terminated := true. + Processor activeProcess debugWithTitle: 'User Interrupt'. + terminated := false ] + ensure: [ + terminated + ifTrue: [ [ self terminateCurrentNbCall ] fork ] ] ]. + debuggerChoice = 3 + ifTrue: [ + "Ignore interrupt" + ex resume ]. self hardBreak. "Interrupt GemStone/S" Transcript cr; diff --git a/repository/GemTools-ClientPlatform.package/GciSession.extension/instance/nbPollForResult.st b/repository/GemTools-ClientPlatform.package/GciSession.extension/instance/nbPollForResult.st index 30e70fd76..473d8f51c 100644 --- a/repository/GemTools-ClientPlatform.package/GciSession.extension/instance/nbPollForResult.st +++ b/repository/GemTools-ClientPlatform.package/GciSession.extension/instance/nbPollForResult.st @@ -1,4 +1,7 @@ *gemtools-clientplatform nbPollForResult - GciUserInterruptHandler reset. - ^self nbPollForResult: false + GciUserInterruptHandler + reset; + arm. + [ ^ self nbPollForResult: false ] + ensure: [ GciUserInterruptHandler disarm ] \ No newline at end of file diff --git a/repository/GemTools-ClientPlatform.package/GciSession.extension/methodProperties.json b/repository/GemTools-ClientPlatform.package/GciSession.extension/methodProperties.json index d3878ae89..46d0766ac 100644 --- a/repository/GemTools-ClientPlatform.package/GciSession.extension/methodProperties.json +++ b/repository/GemTools-ClientPlatform.package/GciSession.extension/methodProperties.json @@ -2,5 +2,5 @@ "class" : { }, "instance" : { - "nbPollForResult" : "dkh 12/18/2013 08:46", - "nbPollForResult:" : "dkh 12/18/2013 08:46" } } + "nbPollForResult" : "dkh 12/27/2014 20:46", + "nbPollForResult:" : "dkh 12/27/2014 21:11" } } diff --git a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/arm.st b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/arm.st new file mode 100644 index 000000000..e1c6f0f62 --- /dev/null +++ b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/arm.st @@ -0,0 +1,3 @@ +as yet unclassified +arm + Armed := true \ No newline at end of file diff --git a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/disarm.st b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/disarm.st new file mode 100644 index 000000000..80109ad4b --- /dev/null +++ b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/disarm.st @@ -0,0 +1,3 @@ +as yet unclassified +disarm + Armed := false \ No newline at end of file diff --git a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/initialize.st b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/initialize.st index c9ed59d10..6da1ed9ee 100644 --- a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/initialize.st +++ b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/initialize.st @@ -2,5 +2,6 @@ as yet unclassified initialize "self initialize" + self install. Smalltalk addToStartUpList: self. self startUp: true \ No newline at end of file diff --git a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/install.st b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/install.st index 18a4aec22..879de85cc 100644 --- a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/install.st +++ b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/install.st @@ -1,5 +1,9 @@ as yet unclassified install - "self install" + "self install" - self new registerIn: InputEventFetcher default \ No newline at end of file + InputEventFetcher default eventHandlers copy + do: [ :handler | + (handler isKindOf: UserInterruptHandler) + ifTrue: [ handler unregister ] ]. + self new registerIn: InputEventFetcher default \ No newline at end of file diff --git a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/reset.st b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/reset.st index 42377d392..aaaff17de 100644 --- a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/reset.st +++ b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/class/reset.st @@ -1,3 +1,6 @@ as yet unclassified reset - Interrupted := false \ No newline at end of file + "self reset" + + Interrupted := false. + Armed := false \ No newline at end of file diff --git a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/instance/handleUserInterrupt.st b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/instance/handleUserInterrupt.st index fd213060f..00eb73a84 100644 --- a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/instance/handleUserInterrupt.st +++ b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/instance/handleUserInterrupt.st @@ -1,7 +1,8 @@ private handleUserInterrupt - "This will be called from the event-fetcher process. + "This will be called from the event-fetcher process. Assume no system-vital processes have a lower priority than this, and are thus ok to interrupt" - Interrupted := true. - "super handleUserInterrupt" \ No newline at end of file + Interrupted := true. + Armed + ifFalse: [ super handleUserInterrupt ] \ No newline at end of file diff --git a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/methodProperties.json b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/methodProperties.json index e94693e60..88a6b0af3 100644 --- a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/methodProperties.json +++ b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/methodProperties.json @@ -1,9 +1,11 @@ { "class" : { - "initialize" : "dkh 12/17/2013 21:57", - "install" : "dkh 3/25/2013 21:24", + "arm" : "dkh 12/27/2014 20:46", + "disarm" : "dkh 12/27/2014 20:31", + "initialize" : "dkh 12/27/2014 20:44", + "install" : "dkh 12/27/2014 20:37", "interrupted" : "dkh 3/26/2013 07:57", - "reset" : "dkh 3/26/2013 07:58", + "reset" : "dkh 12/27/2014 20:45", "startUp:" : "dkh 12/17/2013 22:25" }, "instance" : { - "handleUserInterrupt" : "dkh 12/17/2013 22:19" } } + "handleUserInterrupt" : "dkh 12/27/2014 20:41" } } diff --git a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/properties.json b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/properties.json index 0aa56a240..d8f548886 100644 --- a/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/properties.json +++ b/repository/GemTools-ClientPlatform.package/GciUserInterruptHandler.class/properties.json @@ -3,6 +3,7 @@ "classinstvars" : [ ], "classvars" : [ + "Armed", "Interrupted" ], "commentStamp" : "", "instvars" : [ diff --git a/repository/GemTools-ClientPlatform.package/monticello.meta/version b/repository/GemTools-ClientPlatform.package/monticello.meta/version index 61ff8cd10..6d99904b6 100644 --- a/repository/GemTools-ClientPlatform.package/monticello.meta/version +++ b/repository/GemTools-ClientPlatform.package/monticello.meta/version @@ -1 +1 @@ -(name 'GemTools-ClientPlatform-dkh.12' message 'Issue #62: tweak interrupt handler reset logic' id 'ef5c5262-2d2a-4755-998b-9c7ab6e93326' date '18 December 2013' time '8:47:23.88 am' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.11' message 'fine tune the interrupt handling/initialization logic' id '19f95bff-e74b-42bd-9153-6e1ce6e37533' date '17 December 2013' time '10:25:53.776 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.10' message 'get rid of the 1/2 second per round trip delay...' id 'f0738a9c-373c-4229-94ce-c4731a72cc2d' date '16 December 2013' time '8:16:28.231 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.9' message 'take out some of the unnecessary logging' id '181a223d-b4c4-4010-915c-1fee7b060825' date '16 December 2013' time '3:11:53.505 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.8' message 'Issue #62: gearing up to address this problem . some GCI tracing and a little refactoring ...' id '38b26f85-0cf4-48a1-b30b-29695de4c27f' date '16 December 2013' time '2:26:01.638 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.7' message 'put worldDisplay in a block ... smooth performance' id '7ecd9007-672a-43ca-9a71-95733a08108f' date '28 March 2013' time '8:07:16.273 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.6' message 'don''t need to be flashing wildly ... an update per second will do' id '06fabb47-de32-44d2-86b0-c400d630eba4' date '26 March 2013' time '10:33:25.322 am' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.5' message 'interrupt logic is functional ...' id 'c5734b32-b510-4cd6-868a-f4bed1ed46c4' date '26 March 2013' time '8:05:23.37 am' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.4' message 'getting started on userinterrupt handler ... not quite working correctly ... methinks there are two interrupt handlers installed (yeah that makes sense) ... also the GciInterrupt class is only wrapping the VERY SHORT sleep ... and not wrapping the larger loop ...' id '65ad6149-a9c8-4d0e-801f-08ad2b4e72da' date '25 March 2013' time '9:37:22.15 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.3' message 'enable World displayWorldSafely during nbSleep: so that transcript updates are visible as they happen' id '64ea6f93-060b-4200-b8b5-530d3bed4264' date '25 March 2013' time '8:58:19.622 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.2' message 'make lint happy' id '08000000-1508-120f-1508-120f14000000' date '29 October 2012' time '11:10:27.62 am' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.1' message 'initial version' id '43ea8521-ba5e-4699-9a78-d9c6d060291c' date '26 September 2012' time '3:19:01 pm' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'GemTools-ClientPlatform-dkh.14' message 'tweak the process interrupt logic ...' id '1dfa5eed-e58b-4ba7-9cae-ec689de9ee54' date '27 December 2014' time '9:12:14.664842 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.13' message 'straighten out client process iterrupt logic (FINALLY!)' id '81a58fa5-da79-4665-8d10-20a037f15064' date '27 December 2014' time '9:03:36.204042 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.12' message 'Issue #62: tweak interrupt handler reset logic' id 'ef5c5262-2d2a-4755-998b-9c7ab6e93326' date '18 December 2013' time '8:47:23.88 am' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.11' message 'fine tune the interrupt handling/initialization logic' id '19f95bff-e74b-42bd-9153-6e1ce6e37533' date '17 December 2013' time '10:25:53.776 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.10' message 'get rid of the 1/2 second per round trip delay...' id 'f0738a9c-373c-4229-94ce-c4731a72cc2d' date '16 December 2013' time '8:16:28.231 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.9' message 'take out some of the unnecessary logging' id '181a223d-b4c4-4010-915c-1fee7b060825' date '16 December 2013' time '3:11:53.505 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.8' message 'Issue #62: gearing up to address this problem . some GCI tracing and a little refactoring ...' id '38b26f85-0cf4-48a1-b30b-29695de4c27f' date '16 December 2013' time '2:26:01.638 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.7' message 'put worldDisplay in a block ... smooth performance' id '7ecd9007-672a-43ca-9a71-95733a08108f' date '28 March 2013' time '8:07:16.273 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.6' message 'don''t need to be flashing wildly ... an update per second will do' id '06fabb47-de32-44d2-86b0-c400d630eba4' date '26 March 2013' time '10:33:25.322 am' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.5' message 'interrupt logic is functional ...' id 'c5734b32-b510-4cd6-868a-f4bed1ed46c4' date '26 March 2013' time '8:05:23.37 am' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.4' message 'getting started on userinterrupt handler ... not quite working correctly ... methinks there are two interrupt handlers installed (yeah that makes sense) ... also the GciInterrupt class is only wrapping the VERY SHORT sleep ... and not wrapping the larger loop ...' id '65ad6149-a9c8-4d0e-801f-08ad2b4e72da' date '25 March 2013' time '9:37:22.15 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.3' message 'enable World displayWorldSafely during nbSleep: so that transcript updates are visible as they happen' id '64ea6f93-060b-4200-b8b5-530d3bed4264' date '25 March 2013' time '8:58:19.622 pm' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.2' message 'make lint happy' id '08000000-1508-120f-1508-120f14000000' date '29 October 2012' time '11:10:27.62 am' author 'dkh' ancestors ((name 'GemTools-ClientPlatform-dkh.1' message 'initial version' id '43ea8521-ba5e-4699-9a78-d9c6d060291c' date '26 September 2012' time '3:19:01 pm' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/GemTools-ClientSession.package/GciSession.class/instance/getNbResult.st b/repository/GemTools-ClientSession.package/GciSession.class/instance/getNbResult.st index 4b3ab5f83..44240b4be 100644 --- a/repository/GemTools-ClientSession.package/GciSession.class/instance/getNbResult.st +++ b/repository/GemTools-ClientSession.package/GciSession.class/instance/getNbResult.st @@ -30,6 +30,8 @@ getNbResult ifTrue: [ (actionArgs at: 1) == #'debug' ifTrue: [ ^ self debuggerRequested: (actionArgs at: 2) ]. + (actionArgs at: 1) == #'logStack' + ifTrue: [ ^ self logStackRequested: (actionArgs at: 2) ]. (actionArgs at: 1) == #'gciMainTerminated' ifTrue: [ ^ actionArgs at: 2 ]. diff --git a/repository/GemTools-ClientSession.package/GciSession.class/instance/logStackRequested..st b/repository/GemTools-ClientSession.package/GciSession.class/instance/logStackRequested..st new file mode 100644 index 000000000..95d6a938d --- /dev/null +++ b/repository/GemTools-ClientSession.package/GciSession.class/instance/logStackRequested..st @@ -0,0 +1,3 @@ +private gci calls +logStackRequested: result + ^ result \ No newline at end of file diff --git a/repository/GemTools-ClientSession.package/GciSession.class/methodProperties.json b/repository/GemTools-ClientSession.package/GciSession.class/methodProperties.json index 1e69e3397..d9c3adc96 100644 --- a/repository/GemTools-ClientSession.package/GciSession.class/methodProperties.json +++ b/repository/GemTools-ClientSession.package/GciSession.class/methodProperties.json @@ -25,7 +25,7 @@ "gemNRS:" : "JGF 1/31/2007 14:57", "gemType" : "JGF 4/2/2007 15:38", "getAndClearLastError" : "dkh 10/1/2007 13:47", - "getNbResult" : "dkh 1/11/2014 16:08", + "getNbResult" : "dkh 3/16/2015 15:59", "getNbResultAsBoolean" : "JGF 4/6/2007 15:00", "getNbResultAsOop" : "dkh 3/29/2013 13:54", "getNbResultAsString" : "dkh 3/29/2013 13:51", @@ -37,6 +37,7 @@ "isCallInProgress" : "dkh 1/5/2013 11:39", "isValid" : "dkh 8/16/2007 13:39", "library" : "JGF 4/2/2007 11:37", + "logStackRequested:" : "dkh 3/16/2015 15:48", "login:" : "jgf 4/2/2008 13:39", "login:osUser:osPassword:" : "dkh 1/10/2013 08:12", "logout" : "dkh 5/5/2013 09:03", diff --git a/repository/GemTools-ClientSession.package/monticello.meta/version b/repository/GemTools-ClientSession.package/monticello.meta/version index 83e8949ea..c1fcaf1e0 100644 --- a/repository/GemTools-ClientSession.package/monticello.meta/version +++ b/repository/GemTools-ClientSession.package/monticello.meta/version @@ -1 +1 @@ -(name 'GemTools-ClientSession-dkh.62' message 'converting to use TDSessionDescription instead of OGCustomSessionDescription. - TDSessionDescription is passed to server so that the fields (backupDirectory, serverGitRoot serverTodeHome) can be specified in the session description and used on the server - for now server will request the session description to make upgrading easier (if client updated before server, server won''t know what to do with the session description)' id '47424c90-e743-47cd-a0f8-6dca14e7dba3' date '28 May 2014' time '7:23:55.835 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.61' message 'add some client-side error handling for closing windows when the sesssion has disconnected' id '1c3e36b7-4def-4f52-9897-6a2ebf1313ff' date '7 May 2014' time '8:24:11.083 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.60' message 'checkpoint: - fine tune session description handling - todeHome will be image level global to simplify doits ... - define 4 workspace windows for setting up client side environment ... part of getting started experience - fine tune window properties handling - testLogin: and testWindowLayout: and `script` command are start of the batching facilities...' id '72a30bba-7759-446f-8e48-8dfb9a419800' date '23 March 2014' time '11:43:19.801 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.59' message 'checkpoint ... eliminating the need to any custom workspace in Pharo image ...just console workspace: - add OBCustomSessionDescription class>>seaside with default session - `help` writeup - `whatsNew` command - `sessionDescription` command (restored) - `script` command - `TDShell open` support' id '75b78733-a40f-4e45-86bd-82a2dd878184' date '22 March 2014' time '6:49:38.586 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.58' message 'checkpoint: - support creating and using serialized session descriptions - cleanup built-in support - add `builtIns` command - start work on improving the `getting started` experience - start work on `help` and `updateClient` commands' id '97533bee-2320-46d5-a713-0c32ca01f238' date '22 March 2014' time '12:57:40.57 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.57' message 'clean up ... attempting to step over ''Transcript show''' id '47586912-6542-4771-928f-bbab4c36b13b' date '11 January 2014' time '4:27:26.24 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.56' message 'Issue #62: gearing up to address this problem . some GCI tracing and a little refactoring ...' id 'ad1d7949-1518-4a4b-8ccc-d68de0d35bdc' date '16 December 2013' time '2:26:14.43 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.55' message 'update OGCustomSessionDescription so that editTemplate includes the new fields added for tODE...' id 'd8831a3e-fd66-416e-b14d-cbbc689cbd1b' date '8 December 2013' time '3:03:08.893 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.54' message 'add tODE built-in commmand `installTode` that performs install/upgrade against remote GemStone repository' id 'ae771e10-5c42-4aa6-a30d-b3cf372ae49c' date '12 November 2013' time '10:38:20.063 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.53' message 'clean up some issues involving terminating processes correctly when debugger is closed ' id '270cc438-a2b7-4b34-b0a7-af0dd6da7341' date '15 July 2013' time '2:26:36.231 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.52' message 'need to terminate the process when we abort error handler' id '44cada4e-f65e-4289-b2e6-bb96c52da349' date '13 July 2013' time '1:03:07.638 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.51' message 'improve logout behavior after image restart' id 'edf49b9c-c312-47bd-a4d3-b256dff1d229' date '5 May 2013' time '9:06:47.759 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.50' message 'better error handling when remote stone/gem is gone' id 'fee7d2b9-0dce-4e75-85bd-ae85495a4e3a' date '2 April 2013' time '9:33:57.792 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.49' message 'continue needs to allow break points to fire' id 'be827a26-3ea6-48c6-a68a-55b4f65c38fb' date '1 April 2013' time '9:26:05.712 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.48' message 'some more tweaks and bugfixes' id 'c0bad742-5f34-4945-887b-fe84680fd5a6' date '1 April 2013' time '7:31:00.907 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.47' message 'removed dependence upon the proxy errors/notifications' id '0c36962b-c505-426d-a74e-2faada3192aa' date '29 March 2013' time '2:15:26.281 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.46' message 'interrupt logic is functional ...' id 'ab3382e6-a04f-4b2d-89b8-7c719d9a4594' date '26 March 2013' time '8:05:35.093 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.45' message 'define sessions for use on my mac to connect to office stones (3.1.0.1, r_ 3.1.0.3 and k_ 3.2.0) ' id 'a1486017-13a4-451b-970c-befbdbdc3563' date '14 March 2013' time '3:17:24.588 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.44' message 'add gemstoneVersion gciLibraryName adornmentColor to OGCustomSessionDescription ... the implication is that we can now connect to multiple gemstone versions from same image (not at same time .... need to exit one shell and launch another for it to work) ... still pretty nice capability ... see sessionDescription* messages in TDTopezClient for examples ... simply need to copy the gci libraries into the image directory (on linux) ... not tested on mac ... yet ' id 'c9293166-4081-4232-b0e4-4fcd29c7dd8e' date '14 March 2013' time '12:12:48.652 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.43' message 'add environmentId to a bunch of calls ... although environmentId probably won''t help indirect development ' id 'aed6268e-89d4-44aa-b7f3-d58d7ca25ba2' date '24 February 2013' time '9:52:59.888 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.42' message 'open debugger when DEBUG button pressed ' id 'f0346628-1bf1-43ba-9bd5-366ec034808c' date '4 February 2013' time '3:03:23.512 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.41' message 'missed a spot ' id '024b2818-4e19-4098-af34-ec88b179d7b9' date '27 January 2013' time '9:17:54.314 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.40' message 'getting started on handler for keyboard events ... convert all gci messages sends to symbols for easy access by tools ' id 'a83f8b55-4aed-4d2d-8871-550cf82147a5' date '27 January 2013' time '9:14:21.173 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.39' message 'clean up some minor window interactivity issues ' id 'fb245bb3-aa88-4810-9330-ba9db0319e2d' date '26 January 2013' time '10:01:43.582 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.38' message 'eliminate all of the extraneous transcript logging ' id 'e7753c52-33d5-44d2-ad9a-5ea75c8867f5' date '26 January 2013' time '9:39:06.732 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.37' message 'add show GsCursor logic ' id '9e1ba505-d065-4963-adc1-386dfaf2c066' date '10 January 2013' time '8:31:58.35 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.36' message 'TDTopezServer>>reifyExceptionArgsForOopList:classNamesForOopList: serializes the exception args in there entirety ' id '9467f890-03dd-4e64-b1ee-c89e58158023' date '6 January 2013' time '7:58:14.515 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.35' message 'get rid of some halts ' id '78c6f3b7-d3c8-4a09-8c2d-8670d90c8d70' date '5 January 2013' time '4:59:35.778 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.34' message 'first order optimization for client forwarders appears to be functional (still scads of logging/debugging stuff) ' id 'f2a6d9aa-ac47-4693-9374-0f57ab430df4' date '5 January 2013' time '4:22:44.164 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.33' message 'checkpoint ... rediscovered GciSession>>terminateCurrentNbCall which is working like a charm ... apparently ' id '33fe594b-b678-400c-b8fd-dd8dd2323c88' date '5 January 2013' time '2:19:59.824 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.32' message 'add a mutex to GciLibrary and protect all api calls with the mutex to avoid concurrent api calls because of SHOUT ... looks like the concurrent calls are finally cleaned up ... still suspicious about the ifCurtailed: handling in getNbResult itself ' id '578ed6d6-15f9-435c-a91c-dc0d80e9fc95' date '5 January 2013' time '1:37:13 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.31' message 'checkpoint ... need to focus on avoiding concurrent gci calls ' id '5a0c11ca-1bf4-4948-aa8d-e98bc8438c20' date '5 January 2013' time '11:20:30.082 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.30' message 'checkpoint ... progress reducing round trips getting err/forwarder args ... with side trip handling interupted gci calls (SHOUT) ... ' id '68efaf94-1490-4cb3-8b42-df3a1f663df6' date '5 January 2013' time '10:00:49.674 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.29' message 'checkpoint ... support for optimizing error/forwarder round trips ' id '856b8ba5-f4ba-4ccd-b2cd-2b18a3c750fa' date '4 January 2013' time '8:04:50.271 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.28' message 'checkpoint add GciSession>>executeStringExpectingStringNB: to eliminate overhead of GciLibrary>>localFor: ' id '12b5a987-0735-464e-ac09-7c6a22703b85' date '3 January 2013' time '7:53:37.784 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.27' message 'checkpoint ... additional gci logging code ' id '57005579-7513-4d0d-8bd7-5fa88fbec7ca' date '3 January 2013' time '1:17:55.854 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.26' message 'checkpoint ... a bunch of gci call logging and a handful of round trip optimizations ... more on the way ' id 'e96bd033-f9c3-4226-b515-d2a84975a7d9' date '3 January 2013' time '12:40:57.054 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.25' message 'instead of terminating process, just return Aborted as string as result ' id '1cfb1f5b-526e-4839-8143-978c34f78fe5' date '30 December 2012' time '7:18:59.839 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.24' message 'checkpoint ... beginnings of error handling rework: 1. Proceed, Abort, Debug dialog upon error (all errors) basically functional 2. Proceed continues from halt/breakpoint(not confirmed?) 3. Abort terminates the process ... but doesn''t give new prompt 4. Debug returns the error, but doesn''t bring up debugger 5. Debug comes up when we get "error" command error, which should be their own TopezNotification type ' id 'b84bec10-6ac5-43fc-98f4-2097b06665dc' date '28 December 2012' time '8:58:54.79 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.23' message 'reimplement continue to be straight continue method ... not continueWith ' id 'da1c9e52-496c-489c-bfd9-a4e1ca4aaff9' date '23 December 2012' time '8:00:45.457 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.22' message 'create /home/.window object whose contents represents the server element associated with the active window ' id '08000000-1508-ba15-1508-ba1514000000' date '27 November 2012' time '4:15:29.874 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.21' message 'reinstate support for client forwarders ' id '3a67fb35-ac80-4b45-afe0-0df55adf311a' date '18 November 2012' time '9:45:49.143 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.20' message 'support for TZGsBlockSend and TZGsMessageSend which I think will be useful going forward ' id '9f03700c-73ab-406d-8478-8decabc999ed' date '14 November 2012' time '5:56:18.17 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.19' message '`logout` and `close` commands added. address class name gc issue for gemstone.' id 'f93b6627-f5cd-4ea9-848f-01975b8e43e9' date '14 October 2012' time '9:25:12.077 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.18' message 'implement `set project`' id 'ba020b63-639a-468b-8d30-f2b00fcd79f1' date '7 October 2012' time '4:17:16.789 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.17' message 'clean up oop handling a bit' id '87bd6b8a-3569-4a49-816f-71cb6155ee0f' date '30 September 2012' time '5:33:02.054 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.16' message 'frame definition is starting to look good' id '3345e776-da65-42cf-bb40-94d560a3aaf5' date '30 September 2012' time '4:33:48.177 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.15' message 'initial stack support' id '746ec252-3d0b-4847-9e1c-e6f72a172b1d' date '30 September 2012' time '2:20:37.046 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.14' message 'checkpoint step: stepOver is working and we''re getting the same frame summary information that topaz currently prints when a breakpoint is hit ... need to turn that into smalltalk code that returns a proxy object ...' id '6247736a-c04a-4d0e-921c-8821f373c949' date '29 September 2012' time '7:20:57.093 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.13' message 'successful step and handling breakpoints' id '53f144b8-4f15-4a62-9793-745eb2c9f4fc' date '29 September 2012' time '5:09:01.106 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.12' message 'implement method compilation' id '1e646cf7-f5fd-4f14-9aa5-bb0d44f5b301' date '29 September 2012' time '2:20:35.733 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.11' message 'checkpoint in step work ... start working through class/method definitions ... easier to construct tests' id '4fbe2802-d642-4d9e-b93f-879ee625fec6' date '29 September 2012' time '10:51:23.448 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.10' message 'remove abort commit ... executing smalltalk means I get real objects back and real errors thrown' id '08000000-1508-7017-1508-701714000000' date '28 September 2012' time '4:09:14.114 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.9' message 'halt/continue functional' id '08000000-1508-9c0b-1508-9c0b14000000' date '28 September 2012' time '3:30:03.01 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.8' message 'initial handling of error for debugger is working' id '08000000-1508-8a1c-1508-8a1c14000000' date '28 September 2012' time '10:14:36.51 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.7' message 'checkpoint in handling errors' id 'a6e47194-6a0f-44fc-8b05-ebb4e35d18b8' date '28 September 2012' time '8:35:48.178 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.6' message 'remove cursor manipulation' id '7d995951-038f-4bf4-8e68-39138b61a72c' date '28 September 2012' time '7:17:39.365 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.5' message 'strip out unused instance and class variables' id '08000000-1508-9e0f-1508-9e0f14000000' date '26 September 2012' time '1:55:53 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.4' message 'remove obviously unnecessary methods' id '08000000-1508-ee13-1508-ee1314000000' date '26 September 2012' time '1:48:35.66 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.3' message 'session descriptions are useful' id '8d6dca31-7718-4d39-8492-3b788e465f82' date '26 September 2012' time '11:49:21 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.2' message 'strip to bare essentials' id 'c6751575-cbdc-4803-b3f5-5d8a454cb816' date '26 September 2012' time '11:31:43 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.1' message 'split GciSession out .... ' id '65c8e9a4-f0c1-4d42-be2a-03547169a3a9' date '26 September 2012' time '11:26:56 am' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'GemTools-ClientSession-dkh.63' message 'Add #logStack as error handling option ... triggered when running in a headless client .... ' id 'd8c5c3b3-3f10-4d5b-9f6d-2f16659a6318' date '16 March 2015' time '4:49:01.762344 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.62' message 'converting to use TDSessionDescription instead of OGCustomSessionDescription. - TDSessionDescription is passed to server so that the fields (backupDirectory, serverGitRoot serverTodeHome) can be specified in the session description and used on the server - for now server will request the session description to make upgrading easier (if client updated before server, server won''t know what to do with the session description)' id '47424c90-e743-47cd-a0f8-6dca14e7dba3' date '28 May 2014' time '7:23:55.835 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.61' message 'add some client-side error handling for closing windows when the sesssion has disconnected' id '1c3e36b7-4def-4f52-9897-6a2ebf1313ff' date '7 May 2014' time '8:24:11.083 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.60' message 'checkpoint: - fine tune session description handling - todeHome will be image level global to simplify doits ... - define 4 workspace windows for setting up client side environment ... part of getting started experience - fine tune window properties handling - testLogin: and testWindowLayout: and `script` command are start of the batching facilities...' id '72a30bba-7759-446f-8e48-8dfb9a419800' date '23 March 2014' time '11:43:19.801 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.59' message 'checkpoint ... eliminating the need to any custom workspace in Pharo image ...just console workspace: - add OBCustomSessionDescription class>>seaside with default session - `help` writeup - `whatsNew` command - `sessionDescription` command (restored) - `script` command - `TDShell open` support' id '75b78733-a40f-4e45-86bd-82a2dd878184' date '22 March 2014' time '6:49:38.586 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.58' message 'checkpoint: - support creating and using serialized session descriptions - cleanup built-in support - add `builtIns` command - start work on improving the `getting started` experience - start work on `help` and `updateClient` commands' id '97533bee-2320-46d5-a713-0c32ca01f238' date '22 March 2014' time '12:57:40.57 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.57' message 'clean up ... attempting to step over ''Transcript show''' id '47586912-6542-4771-928f-bbab4c36b13b' date '11 January 2014' time '4:27:26.24 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.56' message 'Issue #62: gearing up to address this problem . some GCI tracing and a little refactoring ...' id 'ad1d7949-1518-4a4b-8ccc-d68de0d35bdc' date '16 December 2013' time '2:26:14.43 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.55' message 'update OGCustomSessionDescription so that editTemplate includes the new fields added for tODE...' id 'd8831a3e-fd66-416e-b14d-cbbc689cbd1b' date '8 December 2013' time '3:03:08.893 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.54' message 'add tODE built-in commmand `installTode` that performs install/upgrade against remote GemStone repository' id 'ae771e10-5c42-4aa6-a30d-b3cf372ae49c' date '12 November 2013' time '10:38:20.063 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.53' message 'clean up some issues involving terminating processes correctly when debugger is closed ' id '270cc438-a2b7-4b34-b0a7-af0dd6da7341' date '15 July 2013' time '2:26:36.231 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.52' message 'need to terminate the process when we abort error handler' id '44cada4e-f65e-4289-b2e6-bb96c52da349' date '13 July 2013' time '1:03:07.638 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.51' message 'improve logout behavior after image restart' id 'edf49b9c-c312-47bd-a4d3-b256dff1d229' date '5 May 2013' time '9:06:47.759 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.50' message 'better error handling when remote stone/gem is gone' id 'fee7d2b9-0dce-4e75-85bd-ae85495a4e3a' date '2 April 2013' time '9:33:57.792 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.49' message 'continue needs to allow break points to fire' id 'be827a26-3ea6-48c6-a68a-55b4f65c38fb' date '1 April 2013' time '9:26:05.712 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.48' message 'some more tweaks and bugfixes' id 'c0bad742-5f34-4945-887b-fe84680fd5a6' date '1 April 2013' time '7:31:00.907 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.47' message 'removed dependence upon the proxy errors/notifications' id '0c36962b-c505-426d-a74e-2faada3192aa' date '29 March 2013' time '2:15:26.281 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.46' message 'interrupt logic is functional ...' id 'ab3382e6-a04f-4b2d-89b8-7c719d9a4594' date '26 March 2013' time '8:05:35.093 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.45' message 'define sessions for use on my mac to connect to office stones (3.1.0.1, r_ 3.1.0.3 and k_ 3.2.0) ' id 'a1486017-13a4-451b-970c-befbdbdc3563' date '14 March 2013' time '3:17:24.588 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.44' message 'add gemstoneVersion gciLibraryName adornmentColor to OGCustomSessionDescription ... the implication is that we can now connect to multiple gemstone versions from same image (not at same time .... need to exit one shell and launch another for it to work) ... still pretty nice capability ... see sessionDescription* messages in TDTopezClient for examples ... simply need to copy the gci libraries into the image directory (on linux) ... not tested on mac ... yet ' id 'c9293166-4081-4232-b0e4-4fcd29c7dd8e' date '14 March 2013' time '12:12:48.652 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.43' message 'add environmentId to a bunch of calls ... although environmentId probably won''t help indirect development ' id 'aed6268e-89d4-44aa-b7f3-d58d7ca25ba2' date '24 February 2013' time '9:52:59.888 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.42' message 'open debugger when DEBUG button pressed ' id 'f0346628-1bf1-43ba-9bd5-366ec034808c' date '4 February 2013' time '3:03:23.512 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.41' message 'missed a spot ' id '024b2818-4e19-4098-af34-ec88b179d7b9' date '27 January 2013' time '9:17:54.314 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.40' message 'getting started on handler for keyboard events ... convert all gci messages sends to symbols for easy access by tools ' id 'a83f8b55-4aed-4d2d-8871-550cf82147a5' date '27 January 2013' time '9:14:21.173 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.39' message 'clean up some minor window interactivity issues ' id 'fb245bb3-aa88-4810-9330-ba9db0319e2d' date '26 January 2013' time '10:01:43.582 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.38' message 'eliminate all of the extraneous transcript logging ' id 'e7753c52-33d5-44d2-ad9a-5ea75c8867f5' date '26 January 2013' time '9:39:06.732 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.37' message 'add show GsCursor logic ' id '9e1ba505-d065-4963-adc1-386dfaf2c066' date '10 January 2013' time '8:31:58.35 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.36' message 'TDTopezServer>>reifyExceptionArgsForOopList:classNamesForOopList: serializes the exception args in there entirety ' id '9467f890-03dd-4e64-b1ee-c89e58158023' date '6 January 2013' time '7:58:14.515 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.35' message 'get rid of some halts ' id '78c6f3b7-d3c8-4a09-8c2d-8670d90c8d70' date '5 January 2013' time '4:59:35.778 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.34' message 'first order optimization for client forwarders appears to be functional (still scads of logging/debugging stuff) ' id 'f2a6d9aa-ac47-4693-9374-0f57ab430df4' date '5 January 2013' time '4:22:44.164 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.33' message 'checkpoint ... rediscovered GciSession>>terminateCurrentNbCall which is working like a charm ... apparently ' id '33fe594b-b678-400c-b8fd-dd8dd2323c88' date '5 January 2013' time '2:19:59.824 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.32' message 'add a mutex to GciLibrary and protect all api calls with the mutex to avoid concurrent api calls because of SHOUT ... looks like the concurrent calls are finally cleaned up ... still suspicious about the ifCurtailed: handling in getNbResult itself ' id '578ed6d6-15f9-435c-a91c-dc0d80e9fc95' date '5 January 2013' time '1:37:13 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.31' message 'checkpoint ... need to focus on avoiding concurrent gci calls ' id '5a0c11ca-1bf4-4948-aa8d-e98bc8438c20' date '5 January 2013' time '11:20:30.082 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.30' message 'checkpoint ... progress reducing round trips getting err/forwarder args ... with side trip handling interupted gci calls (SHOUT) ... ' id '68efaf94-1490-4cb3-8b42-df3a1f663df6' date '5 January 2013' time '10:00:49.674 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.29' message 'checkpoint ... support for optimizing error/forwarder round trips ' id '856b8ba5-f4ba-4ccd-b2cd-2b18a3c750fa' date '4 January 2013' time '8:04:50.271 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.28' message 'checkpoint add GciSession>>executeStringExpectingStringNB: to eliminate overhead of GciLibrary>>localFor: ' id '12b5a987-0735-464e-ac09-7c6a22703b85' date '3 January 2013' time '7:53:37.784 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.27' message 'checkpoint ... additional gci logging code ' id '57005579-7513-4d0d-8bd7-5fa88fbec7ca' date '3 January 2013' time '1:17:55.854 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.26' message 'checkpoint ... a bunch of gci call logging and a handful of round trip optimizations ... more on the way ' id 'e96bd033-f9c3-4226-b515-d2a84975a7d9' date '3 January 2013' time '12:40:57.054 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.25' message 'instead of terminating process, just return Aborted as string as result ' id '1cfb1f5b-526e-4839-8143-978c34f78fe5' date '30 December 2012' time '7:18:59.839 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.24' message 'checkpoint ... beginnings of error handling rework: 1. Proceed, Abort, Debug dialog upon error (all errors) basically functional 2. Proceed continues from halt/breakpoint(not confirmed?) 3. Abort terminates the process ... but doesn''t give new prompt 4. Debug returns the error, but doesn''t bring up debugger 5. Debug comes up when we get "error" command error, which should be their own TopezNotification type ' id 'b84bec10-6ac5-43fc-98f4-2097b06665dc' date '28 December 2012' time '8:58:54.79 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.23' message 'reimplement continue to be straight continue method ... not continueWith ' id 'da1c9e52-496c-489c-bfd9-a4e1ca4aaff9' date '23 December 2012' time '8:00:45.457 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.22' message 'create /home/.window object whose contents represents the server element associated with the active window ' id '08000000-1508-ba15-1508-ba1514000000' date '27 November 2012' time '4:15:29.874 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.21' message 'reinstate support for client forwarders ' id '3a67fb35-ac80-4b45-afe0-0df55adf311a' date '18 November 2012' time '9:45:49.143 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.20' message 'support for TZGsBlockSend and TZGsMessageSend which I think will be useful going forward ' id '9f03700c-73ab-406d-8478-8decabc999ed' date '14 November 2012' time '5:56:18.17 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.19' message '`logout` and `close` commands added. address class name gc issue for gemstone.' id 'f93b6627-f5cd-4ea9-848f-01975b8e43e9' date '14 October 2012' time '9:25:12.077 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.18' message 'implement `set project`' id 'ba020b63-639a-468b-8d30-f2b00fcd79f1' date '7 October 2012' time '4:17:16.789 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.17' message 'clean up oop handling a bit' id '87bd6b8a-3569-4a49-816f-71cb6155ee0f' date '30 September 2012' time '5:33:02.054 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.16' message 'frame definition is starting to look good' id '3345e776-da65-42cf-bb40-94d560a3aaf5' date '30 September 2012' time '4:33:48.177 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.15' message 'initial stack support' id '746ec252-3d0b-4847-9e1c-e6f72a172b1d' date '30 September 2012' time '2:20:37.046 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.14' message 'checkpoint step: stepOver is working and we''re getting the same frame summary information that topaz currently prints when a breakpoint is hit ... need to turn that into smalltalk code that returns a proxy object ...' id '6247736a-c04a-4d0e-921c-8821f373c949' date '29 September 2012' time '7:20:57.093 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.13' message 'successful step and handling breakpoints' id '53f144b8-4f15-4a62-9793-745eb2c9f4fc' date '29 September 2012' time '5:09:01.106 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.12' message 'implement method compilation' id '1e646cf7-f5fd-4f14-9aa5-bb0d44f5b301' date '29 September 2012' time '2:20:35.733 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.11' message 'checkpoint in step work ... start working through class/method definitions ... easier to construct tests' id '4fbe2802-d642-4d9e-b93f-879ee625fec6' date '29 September 2012' time '10:51:23.448 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.10' message 'remove abort commit ... executing smalltalk means I get real objects back and real errors thrown' id '08000000-1508-7017-1508-701714000000' date '28 September 2012' time '4:09:14.114 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.9' message 'halt/continue functional' id '08000000-1508-9c0b-1508-9c0b14000000' date '28 September 2012' time '3:30:03.01 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.8' message 'initial handling of error for debugger is working' id '08000000-1508-8a1c-1508-8a1c14000000' date '28 September 2012' time '10:14:36.51 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.7' message 'checkpoint in handling errors' id 'a6e47194-6a0f-44fc-8b05-ebb4e35d18b8' date '28 September 2012' time '8:35:48.178 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.6' message 'remove cursor manipulation' id '7d995951-038f-4bf4-8e68-39138b61a72c' date '28 September 2012' time '7:17:39.365 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.5' message 'strip out unused instance and class variables' id '08000000-1508-9e0f-1508-9e0f14000000' date '26 September 2012' time '1:55:53 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.4' message 'remove obviously unnecessary methods' id '08000000-1508-ee13-1508-ee1314000000' date '26 September 2012' time '1:48:35.66 pm' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.3' message 'session descriptions are useful' id '8d6dca31-7718-4d39-8492-3b788e465f82' date '26 September 2012' time '11:49:21 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.2' message 'strip to bare essentials' id 'c6751575-cbdc-4803-b3f5-5d8a454cb816' date '26 September 2012' time '11:31:43 am' author 'dkh' ancestors ((name 'GemTools-ClientSession-dkh.1' message 'split GciSession out .... ' id '65c8e9a4-f0c1-4d42-be2a-03547169a3a9' date '26 September 2012' time '11:26:56 am' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/String.extension/instance/convertTDEvaluateTokenResponseToText..st b/repository/Tode-Client-Common.package/String.extension/instance/convertTDEvaluateTokenResponseToText..st new file mode 100644 index 000000000..2608a8c1a --- /dev/null +++ b/repository/Tode-Client-Common.package/String.extension/instance/convertTDEvaluateTokenResponseToText..st @@ -0,0 +1,5 @@ +*Tode-Client-Common +convertTDEvaluateTokenResponseToText: objectSerializer + "expected response is a String, but could be a TZProxyNotification" + + ^ objectSerializer fromString: self \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/String.extension/methodProperties.json b/repository/Tode-Client-Common.package/String.extension/methodProperties.json new file mode 100644 index 000000000..b7bce5a6f --- /dev/null +++ b/repository/Tode-Client-Common.package/String.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "convertTDEvaluateTokenResponseToText:" : "dkh 6/25/2015 17:06" } } diff --git a/repository/Topez-Common-Core.package/String.extension/properties.json b/repository/Tode-Client-Common.package/String.extension/properties.json similarity index 100% rename from repository/Topez-Common-Core.package/String.extension/properties.json rename to repository/Tode-Client-Common.package/String.extension/properties.json diff --git a/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/class/import..st b/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/class/import..st index e3b8b5e47..47d4f06a5 100644 --- a/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/class/import..st +++ b/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/class/import..st @@ -1,3 +1,3 @@ STON import: windowLayoutFilename - ^self importFrom: TDShell windowLayoutHome, windowLayoutFilename \ No newline at end of file + ^ self importFrom: (TDShell lookupWindowLayout: windowLayoutFilename) \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/class/importFrom..st b/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/class/importFrom..st index d938d0c6f..43f6a111b 100644 --- a/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/class/importFrom..st +++ b/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/class/importFrom..st @@ -1,3 +1,5 @@ STON importFrom: filepath - FileStream readOnlyFileNamed: filepath do: [ :fileStream | ^STON fromStream: fileStream ]. + FileStream + readOnlyFileNamed: filepath + do: [ :fileStream | ^ TodeObjectSerializer preferredSerializer fromString: fileStream contents ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/instance/exportTo.extension..st b/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/instance/exportTo.extension..st index e7ef0ff58..b86a46729 100644 --- a/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/instance/exportTo.extension..st +++ b/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/instance/exportTo.extension..st @@ -1,7 +1,6 @@ STON exportTo: filepath extension: extension - | stream | - stream := FileStream forceNewFileNamed: filepath , extension. - stream lineEndConvention: #'lf'. - STON put: self onStreamPretty: stream. - stream close \ No newline at end of file + (filepath , extension) asFileReference + writeStreamDo: [ :stream | + stream lineEndConvention: #lf. + stream nextPutAll: (TodeObjectSerializer preferredSerializer toStringPretty: self) ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/methodProperties.json b/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/methodProperties.json index ff74702c7..7ce4a45c9 100644 --- a/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/methodProperties.json +++ b/repository/Tode-Client-Common.package/TDAbstractWindowProperties.class/methodProperties.json @@ -1,11 +1,11 @@ { "class" : { - "import:" : "dkh 5/31/2014 17:11", - "importFrom:" : "dkh 5/31/2014 17:12", + "import:" : "dkh 3/11/2015 10:02", + "importFrom:" : "dkh 6/25/2015 16:57", "install:" : "dkh 5/31/2014 17:11" }, "instance" : { "caculateWindowBounds" : "dkh 5/31/2014 17:01", "exportTo:" : "dkh 5/31/2014 16:55", - "exportTo:extension:" : "dkh 5/31/2014 16:55", + "exportTo:extension:" : "dkh 6/25/2015 17:00", "installOn:" : "dkh 6/2/2014 07:05", "printOn:" : "dkh 6/2/2014 07:07" } } diff --git a/repository/Tode-Client-Common.package/TDAlternateStretchWindowProperties.class/README.md b/repository/Tode-Client-Common.package/TDAlternateStretchWindowProperties.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-Client-Common.package/TDAlternateStretchWindowProperties.class/instance/caculateWindowBounds.st b/repository/Tode-Client-Common.package/TDAlternateStretchWindowProperties.class/instance/caculateWindowBounds.st new file mode 100644 index 000000000..d2f031ba9 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDAlternateStretchWindowProperties.class/instance/caculateWindowBounds.st @@ -0,0 +1,75 @@ +window bounds +caculateWindowBounds + | layoutExtent dict lw lo lh topHeight shellHeight browserHeight codeWidth shellExtent classCategories classes evaluator superclasses classDef instanceSelectors classSelectors configurations packages implementors app1 app2 app3 app4 context debugger inspector method codeHeight appExtent displayExtent debuggerWidth diff lce projectList transcript classicClassDef classicClassButtonBar classicProtocol | + displayExtent := Display usableArea extent. + layoutExtent := displayExtent - (2 @ 2 * margin). + lo := margin. + dict := Dictionary new. + debuggerWidth := codeWidth := layoutExtent x * codeWidthFactor. + lw := layoutExtent x // (5.5 + extraLists). + debuggerWidth := 2.75 * lw. + (diff := codeWidth - debuggerWidth) > 0 + ifTrue: [ + diff := diff / (5.5 + extraLists). + lw := lw + (diff // (4.5 + extraLists)). + false + ifTrue: [ debuggerWidth := layoutExtent x - (lw + codeWidth) ] ]. + shellHeight := layoutExtent y * shellHeightFactor. + browserHeight := layoutExtent y - shellHeight. + topHeight := browserHeight * topHeightFactor. + lh := browserHeight // 2. + codeHeight := browserHeight - topHeight. + lce := lw @ lh. + shellExtent := codeWidth @ shellHeight. + appExtent := ((layoutExtent x - codeWidth) // 2) @ shellHeight. + classCategories := lo extent: lce. + classes := classCategories bottomLeft extent: lce. + evaluator := classes bottomLeft extent: (codeWidth * 0.80) @ shellHeight. + superclasses := classCategories topRight extent: lw @ topHeight. + classDef := superclasses topRight extent: (1.35 * lw) @ topHeight. + classicClassDef := superclasses topRight extent: (1.35 * lw) @ (topHeight * 0.65). + classicClassButtonBar := superclasses topRight + (0 @ (topHeight * 0.65)) extent: (1.35 * lw) @ (topHeight * 0.35). + instanceSelectors := classDef topRight extent: lw @ (topHeight + codeHeight). + classicProtocol := instanceSelectors. + classSelectors := instanceSelectors topRight extent: lw @ (topHeight + codeHeight). + configurations := lo extent: lw @ (lh // 2). + packages := configurations bottomLeft extent: lw @ (lh // 2). + method := superclasses bottomLeft extent: codeWidth @ codeHeight. + implementors := classDef bottomRight extent: debuggerWidth @ (codeHeight // 2). + inspector := evaluator topRight extent: shellExtent. + debugger := implementors bottomLeft extent: debuggerWidth @ (codeHeight // 2). + context := debugger bottomLeft extent: debuggerWidth @ shellExtent y. + app1 := evaluator topRight extent: appExtent. + app2 := app1 topRight extent: appExtent. + app3 := evaluator topRight - (0 @ appExtent y) extent: appExtent. + app4 := app3 topRight extent: appExtent. + projectList := app1. + transcript := projectList topRight + (0 @ (projectList height // 2)) + extent: (layoutExtent x - projectList topRight x) @ (projectList height // 2). + dict + at: #classCategories put: classCategories; + at: #classes put: classes; + at: #evaluator put: evaluator; + at: #superclasses put: superclasses; + at: #classDef put: classDef; + at: #classicClassDef put: classicClassDef; + at: #classicClassButtonBar put: classicClassButtonBar; + at: #classicProtocol put: classicProtocol; + at: #instanceSelectors put: instanceSelectors; + at: #classSelectors put: classSelectors; + at: #configurations put: configurations; + at: #packages put: packages; + at: #implementors put: implementors; + at: #inspector put: inspector; + at: #method put: method; + at: #context put: context; + at: #debugger put: debugger; + at: #app1 put: app1; + at: #app2 put: app2; + at: #app3 put: app3; + at: #app4 put: app4; + at: #projectList put: projectList; + at: #workspace put: method; + at: #transcript put: transcript; + yourself. + ^ dict \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDAlternateStretchWindowProperties.class/methodProperties.json b/repository/Tode-Client-Common.package/TDAlternateStretchWindowProperties.class/methodProperties.json new file mode 100644 index 000000000..1b355b90a --- /dev/null +++ b/repository/Tode-Client-Common.package/TDAlternateStretchWindowProperties.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "caculateWindowBounds" : "dkh 8/31/2015 17:28" } } diff --git a/repository/Tode-Client-Common.package/TDAlternateStretchWindowProperties.class/properties.json b/repository/Tode-Client-Common.package/TDAlternateStretchWindowProperties.class/properties.json new file mode 100644 index 000000000..19d2127cd --- /dev/null +++ b/repository/Tode-Client-Common.package/TDAlternateStretchWindowProperties.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Tode-Client-Common", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDAlternateStretchWindowProperties", + "pools" : [ + ], + "super" : "TDStandardWindowProperties", + "type" : "normal" } diff --git a/repository/Tode-Client-Common.package/TDAlternateWindowProperties.class/instance/caculateWindowBounds.st b/repository/Tode-Client-Common.package/TDAlternateWindowProperties.class/instance/caculateWindowBounds.st index cea836717..6d1ed9fd4 100644 --- a/repository/Tode-Client-Common.package/TDAlternateWindowProperties.class/instance/caculateWindowBounds.st +++ b/repository/Tode-Client-Common.package/TDAlternateWindowProperties.class/instance/caculateWindowBounds.st @@ -1,11 +1,11 @@ window bounds caculateWindowBounds - | layoutExtent dict lw lo lh topHeight shellHeight browserHeight codeWidth shellExtent classCategories classes evaluator superclasses classDef instanceSelectors classSelectors configurations packages implementors app1 app2 app3 app4 context debugger inspector method codeHeight appExtent displayExtent debuggerWidth diff lcw lce | + | layoutExtent dict lw lo lh topHeight shellHeight browserHeight codeWidth shellExtent classCategories classes evaluator superclasses classDef instanceSelectors classSelectors configurations packages implementors app1 app2 app3 app4 context debugger inspector method codeHeight appExtent displayExtent debuggerWidth diff lcw lce projectList transcript classicClassDef classicClassButtonBar classicProtocol | displayExtent := Display usableArea extent. layoutExtent := displayExtent - (2 @ 2 * margin). lo := margin. dict := Dictionary new. - debuggerWidth := codeWidth := (layoutExtent x * codeWidthFactor) . + debuggerWidth := codeWidth := layoutExtent x * codeWidthFactor. lcw := lw := layoutExtent x // (5.5 + extraLists). debuggerWidth := layoutExtent x - (lw + codeWidth). (diff := codeWidth - debuggerWidth) > 0 @@ -13,10 +13,10 @@ caculateWindowBounds diff := diff / (5.5 + extraLists). lcw := lw - diff. lw := lw + (diff // (4.5 + extraLists)). - debuggerWidth := layoutExtent x - (lcw + codeWidth). ]. - shellHeight := (layoutExtent y * shellHeightFactor) . - browserHeight := (layoutExtent y - shellHeight) . - topHeight := (browserHeight * topHeightFactor) . + debuggerWidth := layoutExtent x - (lcw + codeWidth) ]. + shellHeight := layoutExtent y * shellHeightFactor. + browserHeight := layoutExtent y - shellHeight. + topHeight := browserHeight * topHeightFactor. lh := browserHeight // 2. codeHeight := browserHeight - topHeight. lce := lcw @ lh. @@ -26,13 +26,16 @@ caculateWindowBounds classes := classCategories bottomLeft extent: lce. evaluator := classes bottomLeft extent: shellExtent. superclasses := classCategories topRight extent: lw @ topHeight. - classDef := superclasses topRight extent: (1.5 * lw) @ topHeight. + classDef := superclasses topRight extent: (1.5 * lw) @ topHeight. + classicClassDef := superclasses topRight extent: (1.5 * lw) @ (topHeight * 0.65). + classicClassButtonBar := superclasses topRight + (0 @ (topHeight * 0.65)) extent: (1.5 * lw) @ (topHeight * 0.35). instanceSelectors := classDef topRight extent: lw @ topHeight. + classicProtocol := instanceSelectors. classSelectors := instanceSelectors topRight extent: lw @ topHeight. configurations := lo extent: lw @ (lh // 2). packages := configurations bottomLeft extent: lw @ (lh // 2). method := superclasses bottomLeft extent: codeWidth @ codeHeight. - implementors := method topRight extent: (2 * lw) @ (codeHeight //2). + implementors := method topRight extent: (2 * lw) @ (codeHeight // 2). inspector := evaluator topRight extent: shellExtent. debugger := method topRight extent: debuggerWidth @ codeHeight. context := debugger bottomLeft extent: debuggerWidth @ shellExtent y. @@ -40,12 +43,18 @@ caculateWindowBounds app2 := app1 topRight extent: appExtent. app3 := evaluator topRight - (0 @ appExtent y) extent: appExtent. app4 := app3 topRight extent: appExtent. + projectList := app1. + transcript := projectList topRight + (0 @ (projectList height // 2)) + extent: (layoutExtent x - projectList topRight x) @ (projectList height // 2). dict at: #classCategories put: classCategories; at: #classes put: classes; at: #evaluator put: evaluator; at: #superclasses put: superclasses; at: #classDef put: classDef; + at: #classicClassDef put: classicClassDef; + at: #classicClassButtonBar put: classicClassButtonBar; + at: #classicProtocol put: classicProtocol; at: #instanceSelectors put: instanceSelectors; at: #classSelectors put: classSelectors; at: #configurations put: configurations; @@ -59,5 +68,8 @@ caculateWindowBounds at: #app2 put: app2; at: #app3 put: app3; at: #app4 put: app4; + at: #projectList put: projectList; + at: #workspace put: method; + at: #transcript put: transcript; yourself. ^ dict \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDAlternateWindowProperties.class/methodProperties.json b/repository/Tode-Client-Common.package/TDAlternateWindowProperties.class/methodProperties.json index 4c8198459..60637e2ab 100644 --- a/repository/Tode-Client-Common.package/TDAlternateWindowProperties.class/methodProperties.json +++ b/repository/Tode-Client-Common.package/TDAlternateWindowProperties.class/methodProperties.json @@ -2,4 +2,4 @@ "class" : { }, "instance" : { - "caculateWindowBounds" : "dkh 6/1/2014 15:43" } } + "caculateWindowBounds" : "dkh 8/31/2015 17:39" } } diff --git a/repository/Tode-Client-Common.package/TDJigsawWindowProperties.class/README.md b/repository/Tode-Client-Common.package/TDJigsawWindowProperties.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-Client-Common.package/TDJigsawWindowProperties.class/instance/caculateWindowBounds.st b/repository/Tode-Client-Common.package/TDJigsawWindowProperties.class/instance/caculateWindowBounds.st new file mode 100644 index 000000000..cd1edf1dd --- /dev/null +++ b/repository/Tode-Client-Common.package/TDJigsawWindowProperties.class/instance/caculateWindowBounds.st @@ -0,0 +1,76 @@ +window bounds +caculateWindowBounds + | layoutExtent dict lw lo lh topHeight shellHeight browserHeight codeWidth shellExtent classCategories classes evaluator superclasses classDef instanceSelectors classSelectors configurations packages implementors app1 app2 app3 app4 context debugger inspector method codeHeight appExtent displayExtent debuggerWidth diff lce projectList workspace transcript classicClassDef classicClassButtonBar classicProtocol | + displayExtent := Display usableArea extent. + layoutExtent := displayExtent - (2 @ 2 * margin). + lo := margin. + dict := Dictionary new. + debuggerWidth := codeWidth := layoutExtent x * codeWidthFactor. + lw := layoutExtent x // (5.5 + extraLists). + debuggerWidth := 2.75 * lw. + (diff := codeWidth - debuggerWidth) > 0 + ifTrue: [ + diff := diff / (5.5 + extraLists). + lw := lw + (diff // (4.5 + extraLists)). + false + ifTrue: [ debuggerWidth := layoutExtent x - (lw + codeWidth) ] ]. + shellHeight := layoutExtent y * shellHeightFactor. + browserHeight := layoutExtent y - shellHeight. + topHeight := browserHeight * topHeightFactor. + lh := browserHeight // 2. + codeHeight := browserHeight - topHeight. + lce := lw @ lh. + shellExtent := codeWidth @ shellHeight. + evaluator := margin x @ (lh * 2) extent: (codeWidth * 0.80) @ shellHeight. + superclasses := lo extent: lw @ topHeight. + classDef := superclasses topRight extent: (1.35 * lw) @ topHeight. + classicClassDef := superclasses topRight extent: (1.35 * lw) @ (topHeight * 0.65). + classicClassButtonBar := superclasses topRight + (0 @ (topHeight * 0.65)) extent: (1.35 * lw) @ (topHeight * 0.35). + classicProtocol := classDef topRight extent: lw @ topHeight. + instanceSelectors := classDef topRight extent: lw @ (lh * 2). + classSelectors := instanceSelectors topRight extent: lw @ (lh * 2). + method := superclasses bottomLeft extent: (instanceSelectors topRight x - margin x) @ codeHeight. + implementors := classDef bottomRight extent: debuggerWidth @ (codeHeight // 2). + inspector := evaluator topRight extent: shellExtent. + debugger := instanceSelectors bottomRight x @ implementors bottomLeft y extent: debuggerWidth @ (codeHeight // 2). + context := debugger bottomLeft extent: debuggerWidth @ shellExtent y. + classCategories := classSelectors topRight extent: lw @ topHeight. + classes := classCategories topRight extent: lw @ topHeight. + configurations := classSelectors topRight extent: lw @ topHeight. + packages := configurations bottomLeft extent: lw @ topHeight. + appExtent := ((layoutExtent x - method bottomRight x) // 2) @ shellHeight. + projectList := evaluator topRight corner: classSelectors bottomRight + (0 @ shellHeight). + workspace := classCategories bottomLeft corner: classes bottomRight + (0 @ topHeight). + app1 := method bottomRight - (0 @ appExtent y) extent: appExtent. + app2 := app1 topRight extent: appExtent. + app3 := method bottomRight extent: appExtent. + app4 := app3 topRight extent: appExtent. + transcript := projectList topRight + (0 @ (projectList height // 2)) + extent: (layoutExtent x - projectList topRight x) @ (projectList height // 2). + dict + at: #classCategories put: classCategories; + at: #classes put: classes; + at: #evaluator put: evaluator; + at: #superclasses put: superclasses; + at: #classDef put: classDef; + at: #classicClassDef put: classicClassDef; + at: #classicClassButtonBar put: classicClassButtonBar; + at: #classicProtocol put: classicProtocol; + at: #instanceSelectors put: instanceSelectors; + at: #classSelectors put: classSelectors; + at: #configurations put: configurations; + at: #packages put: packages; + at: #implementors put: implementors; + at: #inspector put: inspector; + at: #method put: method; + at: #context put: context; + at: #debugger put: debugger; + at: #app1 put: app1; + at: #app2 put: app2; + at: #app3 put: app3; + at: #app4 put: app4; + at: #projectList put: projectList; + at: #workspace put: workspace; + at: #transcript put: transcript; + yourself. + ^ dict \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDJigsawWindowProperties.class/methodProperties.json b/repository/Tode-Client-Common.package/TDJigsawWindowProperties.class/methodProperties.json new file mode 100644 index 000000000..7ae374052 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDJigsawWindowProperties.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "caculateWindowBounds" : "dkh 8/31/2015 17:22" } } diff --git a/repository/Tode-Client-Common.package/TDJigsawWindowProperties.class/properties.json b/repository/Tode-Client-Common.package/TDJigsawWindowProperties.class/properties.json new file mode 100644 index 000000000..940fbd568 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDJigsawWindowProperties.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Tode-Client-Common", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDJigsawWindowProperties", + "pools" : [ + ], + "super" : "TDStandardWindowProperties", + "type" : "normal" } diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/cleanForDeploy.st b/repository/Tode-Client-Common.package/TDShell.class/class/cleanForDeploy.st index b80f4ece2..778857646 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/cleanForDeploy.st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/cleanForDeploy.st @@ -21,4 +21,3 @@ cleanForDeploy MCDirectoryRepository defaultDirectoryName: nil. MCGitHubRepository flushDownloadCache. self resetWorldMenu. - WebEditionRoot := nil \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/clientScriptsFiles..st b/repository/Tode-Client-Common.package/TDShell.class/class/clientScriptsFiles..st new file mode 100644 index 000000000..3f64f8a0d --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/clientScriptsFiles..st @@ -0,0 +1,16 @@ +home +clientScriptsFiles: stoneName + self useTodeSys + ifTrue: [ + | map | + map := Dictionary new. + {(self todeSysStonePath: stoneName). + (self todeSysLocalClientScriptsPath). + (self todeSysDefaultClientScriptsPath)} + do: [ :rootPath | + | reference | + reference := rootPath asFileReference. + reference exists + ifTrue: [ reference files do: [ :fileRef | map at: fileRef basename put: fileRef ] ] ]. + ^ map values ]. + ^ self todeRoot , '/' , self clientScriptsPath asFileReference files \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/clientScriptsHome.st b/repository/Tode-Client-Common.package/TDShell.class/class/clientScriptsHome.st deleted file mode 100644 index f204d4f20..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/class/clientScriptsHome.st +++ /dev/null @@ -1,3 +0,0 @@ -home -clientScriptsHome - ^ self todeRoot , '/client/scripts/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/clientScriptsPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/clientScriptsPath.st new file mode 100644 index 000000000..60b43d264 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/clientScriptsPath.st @@ -0,0 +1,3 @@ +home-private +clientScriptsPath + ^ 'client/scripts/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/currentShell..st b/repository/Tode-Client-Common.package/TDShell.class/class/currentShell..st new file mode 100644 index 000000000..6bd5ca553 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/currentShell..st @@ -0,0 +1,3 @@ +accessing +currentShell: aTDShell + currentShell := aTDShell \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/currentShell.st b/repository/Tode-Client-Common.package/TDShell.class/class/currentShell.st new file mode 100644 index 000000000..0cb4985ac --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/currentShell.st @@ -0,0 +1,3 @@ +accessing +currentShell + ^ currentShell \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/devKitRoot..st b/repository/Tode-Client-Common.package/TDShell.class/class/devKitRoot..st index d6e1fa3bd..e65a94de6 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/devKitRoot..st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/devKitRoot..st @@ -1,4 +1,4 @@ -home +home-private devKitRoot: aString DevKitRoot := aString. TodePath := '/tode/'. diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/forSessionNamed..st b/repository/Tode-Client-Common.package/TDShell.class/class/forSessionNamed..st new file mode 100644 index 000000000..55333a8e0 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/forSessionNamed..st @@ -0,0 +1,8 @@ +instance creation +forSessionNamed: aSessionName + | sessionDescription | + sessionDescription := TDSessionDescription importFrom: self todeSysLocalSessionDescriptionPath , aSessionName. + ^ self new + sessionDescription: sessionDescription; + batchMode: true; + yourself \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/imageWorkspaceHome.st b/repository/Tode-Client-Common.package/TDShell.class/class/imageWorkspaceHome.st deleted file mode 100644 index 0fa61059d..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/class/imageWorkspaceHome.st +++ /dev/null @@ -1,3 +0,0 @@ -home -imageWorkspaceHome - ^ self todeRoot , '/client/image/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/importSessionDescriptionFrom.for..st b/repository/Tode-Client-Common.package/TDShell.class/class/importSessionDescriptionFrom.for..st index f713d8e86..c5fa84270 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/importSessionDescriptionFrom.for..st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/importSessionDescriptionFrom.for..st @@ -9,20 +9,33 @@ importSessionDescriptionFrom: file for: aBuilder show: 'Error importing session description from: ' , file fullName printString , ': ' , ex description. ^ self ]. (aBuilder item: sessionDescription name asSymbol) - parent: #'tODE Shell'; - action: [ TDShell openOnSessionDescription: sessionDescription ]. + parent: #'Open Shell'; + action: [ + | window | + window := TDShell openOnSessionDescription: sessionDescription. + currentShell := window model cliShell ]. + (aBuilder item: sessionDescription name asSymbol) + parent: #'Project List'; + action: [ + | window | + window := TDShell openOnSessionDescription: sessionDescription. + currentShell := window model cliShell. + currentShell ifNil: [ ^ self ]. + currentShell evaluate: 'project list' ]. (aBuilder item: sessionDescription name asSymbol) - parent: #'tODE Edit'; + parent: #'Workspace'; + action: [ + | window | + window := TDShell openOnSessionDescription: sessionDescription. + currentShell := window model cliShell. + currentShell ifNil: [ ^ self ]. + currentShell evaluate: 'ws' ]. + (aBuilder item: sessionDescription name asSymbol) + parent: #'Edit Description'; action: [ self new openWorkspace: sessionDescription editTemplate styling: true label: sessionDescription name ]. (aBuilder item: sessionDescription name asSymbol) - parent: #'tODE Test Login'; + parent: #'Test Login'; action: [ | answer | answer := TDShell testLoginForSessionDescription: sessionDescription. - self new openWorkspace: answer label: 'tODE testLogin: ' , sessionDescription name ]. - (aBuilder item: sessionDescription name asSymbol) - parent: #'tODE Install'; - action: [ self openSessionDescription: sessionDescription evaluate: 'script --script=installTode' ]. - (aBuilder item: sessionDescription name asSymbol) - parent: #'tODE Update'; - action: [ self openSessionDescription: sessionDescription evaluate: 'script --script=updateTode' ] \ No newline at end of file + self new openWorkspace: answer label: 'testLogin: ' , sessionDescription name ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/lookupClientScripts.stoneName..st b/repository/Tode-Client-Common.package/TDShell.class/class/lookupClientScripts.stoneName..st new file mode 100644 index 000000000..112a109f0 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/lookupClientScripts.stoneName..st @@ -0,0 +1,16 @@ +home +lookupClientScripts: scriptFilename stoneName: stoneName + self useTodeSys + ifTrue: [ + {(self todeSysStonePath: stoneName). + (self todeSysLocalClientScriptsPath). + (self todeSysDefaultClientScriptsPath)} + do: [ :rootPath | + | path | + path := rootPath , scriptFilename. + path asFileReference exists + ifTrue: [ ^ path ] ]. + self + error: + 'The script ' , scriptFilename printString , ' was not found in the stone|local|default/client/scripts directories' ]. + ^ self todeRoot , '/' , self clientScriptsPath , scriptFilename \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/lookupPharoScript..st b/repository/Tode-Client-Common.package/TDShell.class/class/lookupPharoScript..st new file mode 100644 index 000000000..f4d12a98a --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/lookupPharoScript..st @@ -0,0 +1,10 @@ +as yet unclassified +lookupPharoScript: scriptFilename + {(self todeSysLocalPharoPath). + (self todeSysDefaultPharoPath)} + do: [ :rootPath | + | path | + path := rootPath , scriptFilename. + path asFileReference exists + ifTrue: [ ^ path ] ]. + self error: 'The script ' , scriptFilename printString , ' was not found in the local|default/pharo directories' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/lookupServerScripts..st b/repository/Tode-Client-Common.package/TDShell.class/class/lookupServerScripts..st new file mode 100644 index 000000000..165956f53 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/lookupServerScripts..st @@ -0,0 +1,14 @@ +home +lookupServerScripts: scriptFilename + self useTodeSys + ifTrue: [ + {(self todeSysLocalServerScriptsPath). + (self todeSysDefaultServerScriptsPath)} + do: [ :rootPath | + | path | + path := rootPath , scriptFilename. + path asFileReference exists + ifTrue: [ ^ path ] ]. + self + error: 'The script ' , scriptFilename printString , ' was not found in the local|default/server/scripts directories' ]. + ^ self todeRoot , '/' , self serverScriptsPath , scriptFilename \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/lookupWindowLayout..st b/repository/Tode-Client-Common.package/TDShell.class/class/lookupWindowLayout..st new file mode 100644 index 000000000..79413e456 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/lookupWindowLayout..st @@ -0,0 +1,16 @@ +home +lookupWindowLayout: windowLayoutFilename + self useTodeSys + ifTrue: [ + {(self todeSysLocalWindowLayoutPath). + (self todeSysDefaultWindowLayoutPath)} + do: [ :rootPath | + | path | + path := rootPath , windowLayoutFilename. + path asFileReference exists + ifTrue: [ ^ path ] ]. + self + error: + 'The window layout ' , windowLayoutFilename printString + , ' was not found in the local|default/client/windowLayout directories' ]. + ^ self todeRoot , '/' , self windowLayoutPath , windowLayoutFilename \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/onServer.do..st b/repository/Tode-Client-Common.package/TDShell.class/class/onServer.do..st new file mode 100644 index 000000000..27901060e --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/onServer.do..st @@ -0,0 +1,6 @@ +server blocks +onServer: sessionName do: aBlock + | shell | + shell := (Smalltalk at: #TDShell) forSessionNamed: sessionName. + [ shell onServerDo: aBlock ] + ensure: [ shell windowIsClosing ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/open..st b/repository/Tode-Client-Common.package/TDShell.class/class/open..st index 47bf8a6fd..5d07d2013 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/open..st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/open..st @@ -1,3 +1,3 @@ instance creation open: aSessionName - ^ self openFrom: self sessionDescriptionHome, aSessionName \ No newline at end of file + ^ self openFrom: self todeSysLocalSessionDescriptionPath, aSessionName \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/pharoPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/pharoPath.st new file mode 100644 index 000000000..dec8d9ba6 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/pharoPath.st @@ -0,0 +1,3 @@ +as yet unclassified +pharoPath + ^ 'pharo/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/pharoWorldMenuOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/pharoWorldMenuOn..st new file mode 100644 index 000000000..86ae344f5 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/pharoWorldMenuOn..st @@ -0,0 +1,9 @@ +system menu +pharoWorldMenuOn: aBuilder + + (aBuilder item: #'Pharo World Menu') + parent: #Pharo; + order: 2; + target: self; + icon: (Smalltalk ui icons pharoIcon scaledToSize: 16 @ 16); + action: [ self restorePharoWorldMenu ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/resetWorldMenu.st b/repository/Tode-Client-Common.package/TDShell.class/class/resetWorldMenu.st index 9f9c7c5cf..37b58d3bf 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/resetWorldMenu.st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/resetWorldMenu.st @@ -1,3 +1,11 @@ system menu resetWorldMenu + "self resetWorldMenu" + + WorldState + desktopMenuTitle: nil; + desktopMenuPragmaKeyword: nil. + WorldState + desktopMenuTitle: 'tODE'; + desktopMenuPragmaKeyword: 'todeWorldMenu'. World resetWorldMenu \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/resizeTranscript..st b/repository/Tode-Client-Common.package/TDShell.class/class/resizeTranscript..st new file mode 100644 index 000000000..7f5d65038 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/resizeTranscript..st @@ -0,0 +1,12 @@ +transcript +resizeTranscript: transcriptBounds + (World systemWindows + detect: [ :each | each model = Transcript ] + ifNone: [ + | oldTranscript | + oldTranscript := Transcript. + ThreadSafeTranscript install. + self topezClientClass notifier dependents do: [ :client | client remapTranscriptClientForwarderFrom: oldTranscript to: Transcript ]. + Transcript open ]) + extent: transcriptBounds extent; + position: transcriptBounds origin \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/restorePharoWorldMenu.st b/repository/Tode-Client-Common.package/TDShell.class/class/restorePharoWorldMenu.st new file mode 100644 index 000000000..f33bc6eb6 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/restorePharoWorldMenu.st @@ -0,0 +1,8 @@ +system menu +restorePharoWorldMenu + "self restorePharoWorldMenu" + + WorldState + desktopMenuTitle: nil; + desktopMenuPragmaKeyword: nil. + World resetWorldMenu \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/serverScriptsPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/serverScriptsPath.st new file mode 100644 index 000000000..47784fbb5 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/serverScriptsPath.st @@ -0,0 +1,3 @@ +home-private +serverScriptsPath + ^ 'server/scripts/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/sessionDescription.evaluate.debugMode..st b/repository/Tode-Client-Common.package/TDShell.class/class/sessionDescription.evaluate.debugMode..st index f08bc1042..167c620ef 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/sessionDescription.evaluate.debugMode..st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/sessionDescription.evaluate.debugMode..st @@ -3,4 +3,5 @@ sessionDescription: sessionDescription evaluate: script debugMode: aBool | shell | shell := self sessionDescription: sessionDescription debugMode: aBool. shell batchMode: true. - ^ shell evaluate: script \ No newline at end of file + [ ^ shell evaluate: script ] + ensure: [ shell logout ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/sessionDescriptionHome.st b/repository/Tode-Client-Common.package/TDShell.class/class/sessionDescriptionHome.st deleted file mode 100644 index e622a2b22..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/class/sessionDescriptionHome.st +++ /dev/null @@ -1,3 +0,0 @@ -home -sessionDescriptionHome - ^ self todeRoot , '/client/descriptions/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/startUp..st b/repository/Tode-Client-Common.package/TDShell.class/class/startUp..st index 40d55159b..834c56077 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/startUp..st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/startUp..st @@ -3,4 +3,7 @@ startUp: resuming resuming ifTrue: [ self resetWorldMenu. - [MCGitHubRepository resetCacheDirectoryIfInvalid] on: Error do: [:ignored | ] ] \ No newline at end of file + [ MCGitHubRepository resetCacheDirectoryIfInvalid ] + on: Error + do: [ :ignored | ]. + currentShell := nil ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/testLogin..st b/repository/Tode-Client-Common.package/TDShell.class/class/testLogin..st index b1f197a73..00ec325c7 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/testLogin..st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/testLogin..st @@ -1,5 +1,5 @@ testing testLogin: aSessionName | sessionDescription | - sessionDescription := TDSessionDescription importFrom: self sessionDescriptionHome , aSessionName. + sessionDescription := TDSessionDescription importFrom: self todeSysLocalSessionDescriptionPath , aSessionName. ^ self testLoginForSessionDescription: sessionDescription \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/testWindowLayout..st b/repository/Tode-Client-Common.package/TDShell.class/class/testWindowLayout..st index 440e94785..6c657812d 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/testWindowLayout..st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/testWindowLayout..st @@ -1,7 +1,7 @@ testing testWindowLayout: aSessionName | sessionDescription shell| - sessionDescription := TDSessionDescription importFrom: self sessionDescriptionHome , aSessionName. + sessionDescription := TDSessionDescription importFrom: self todeSysLocalSessionDescriptionPath , aSessionName. shell := self new. shell openOnSessionDescription: sessionDescription. shell evaluate: 'bin/halt'. diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineDevKitRootMenuItemOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineDevKitRootMenuItemOn..st index abca12094..38fff1ac5 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineDevKitRootMenuItemOn..st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineDevKitRootMenuItemOn..st @@ -1,11 +1,12 @@ system menu todeDefineDevKitRootMenuItemOn: aBuilder - + (aBuilder item: #'Define Dev Kit Root') - parent: #tODE; - order: 10.1; + parent: #Client; + order: 2.26; action: [ | path | path := UIManager default request: 'Enter gsDevKit path' initialAnswer: self devKitRoot. path isEmptyOrNil - ifFalse: [ self devKitRoot: path ] ] \ No newline at end of file + ifFalse: [ self devKitRoot: path ] ]; + withSeparatorAfter \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineTodeHelpMenuItemOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineTodeHelpMenuItemOn..st index 59fbfcb87..f2154d10b 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineTodeHelpMenuItemOn..st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineTodeHelpMenuItemOn..st @@ -1,7 +1,9 @@ system menu todeDefineTodeHelpMenuItemOn: aBuilder - + (aBuilder item: #'Help') parent: #tODE; order: 20.0; - action: [self new help] \ No newline at end of file + icon: (Smalltalk ui icons helpIcon); + action: [self new help]; + withSeparatorAfter \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineTodeRootMenuItemOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineTodeRootMenuItemOn..st new file mode 100644 index 000000000..1e246c2de --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineTodeRootMenuItemOn..st @@ -0,0 +1,11 @@ +system menu +todeDefineTodeRootMenuItemOn: aBuilder + + (aBuilder item: #'Define tODE Root') + parent: #Client; + order: 2.25; + action: [ + | path | + path := UIManager default request: 'Enter tODE root path' initialAnswer: self todeRoot. + path isEmptyOrNil + ifFalse: [ self todeRoot: path ] ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineWebEditionRootMenuItemOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineWebEditionRootMenuItemOn..st deleted file mode 100644 index e27b2f96d..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/class/todeDefineWebEditionRootMenuItemOn..st +++ /dev/null @@ -1,11 +0,0 @@ -system menu -todeDefineWebEditionRootMenuItemOn: aBuilder - - (aBuilder item: #'Define Web Edition Root') - parent: #tODE; - order: 10.0; - action: [ - | path | - path := UIManager default request: 'Enter webEditionRoot path' initialAnswer: self webEditionRoot. - path isEmptyOrNil - ifFalse: [ self webEditionRoot: path ] ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeImageWorkspacesOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeImageWorkspacesOn..st deleted file mode 100644 index fd5185b96..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/class/todeImageWorkspacesOn..st +++ /dev/null @@ -1,19 +0,0 @@ -system menu -todeImageWorkspacesOn: aBuilder - - | workspaceDir | - workspaceDir := self imageWorkspaceHome asFileReference. - workspaceDir exists - ifTrue: [ - (aBuilder item: #'tODE Workspaces') - parent: #tODE; - order: 4.5; - target: self. - (workspaceDir files sorted: [ :a :b | a fullName <= b fullName ]) - do: [ :file | - (aBuilder item: file basename asSymbol) - parent: #'tODE Workspaces'; - action: [ - | contents | - FileStream readOnlyFileNamed: file fullName do: [ :fileStream | contents := fileStream contents ]. - self new openWorkspace: contents styling: true label: file basename ] ] ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeMenuCommandOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeMenuCommandOn..st index 122786604..b3de4d634 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/todeMenuCommandOn..st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeMenuCommandOn..st @@ -1,34 +1,39 @@ system menu todeMenuCommandOn: aBuilder - + | sessionDescriptionDir | - sessionDescriptionDir := self sessionDescriptionHome asFileReference. + sessionDescriptionDir := self todeSysLocalSessionDescriptionPath asFileReference. sessionDescriptionDir exists ifTrue: [ - (aBuilder item: #'tODE Shell') - parent: #tODE; + (aBuilder item: #'Open Shell') order: 1.0; target: self; - withSeparatorAfter. - (aBuilder item: #'tODE Edit') - parent: #tODE; - order: 1.5; + icon: Smalltalk ui icons scriptManagerIcon; + enabled: currentShell isNil. + (aBuilder item: #'Project List') + parent: #'Open Tool'; + order: 1.0; target: self; - withSeparatorAfter. - (aBuilder item: #'tODE Test Login') - parent: #tODE; + icon: Smalltalk ui icons configIcon; + enabled: currentShell isNil. + (aBuilder item: #'Workspace') + parent: #'Open Tool'; order: 2.0; - target: self. - (aBuilder item: #'tODE Install') - parent: #tODE; - order: 3.0; - target: self. - (aBuilder item: #'tODE Update') - parent: #tODE; - order: 4.0; target: self; + icon: Smalltalk ui icons workspaceIcon; + enabled: currentShell isNil. + (aBuilder item: #'Test Login') + parent: #Client; + order: 2.3; + enabled: currentShell isNil; + target: self; + icon: Smalltalk ui icons smallOkIcon; withSeparatorAfter. - (sessionDescriptionDir files sorted: [ :a :b | a fullName <= b fullName ]) + (aBuilder item: #'Edit Description') + parent: #Client; + order: 1.2; + target: self. + (sessionDescriptionDir files sorted: [ :a :b | a basename <= b basename ]) do: [ :file | file basename = 'README.md' ifFalse: [ self importSessionDescriptionFrom: file for: aBuilder ] ] ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeOn..st index c42ed76e6..9eef287ea 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/todeOn..st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeOn..st @@ -1,8 +1,61 @@ system menu todeOn: aBuilder - - (aBuilder item: #tODE) - order: 0.1; + + (aBuilder item: #'Open Tool') + order: 1.05; target: self; - icon: (UITheme current iconNamed: #toolsIcon); - withSeparatorAfter \ No newline at end of file + icon: Smalltalk ui icons toolsIcon; + enabled: currentShell isNil; + withSeparatorAfter. + (aBuilder item: #Tools) + order: 1.1; + target: self; + enabled: currentShell notNil; + icon: Smalltalk ui icons toolsIcon. + (aBuilder item: #Client) + order: 2.0; + target: self; + icon: Smalltalk ui icons toolsIcon. + (aBuilder item: #Pharo) + order: 2.2; + target: self; + icon: (Smalltalk ui icons pharoIcon scaledToSize: 16 @ 16); + withSeparatorAfter. + (aBuilder item: #'Update tODE Client') + parent: #Client; + order: 2.2; + target: self; + icon: Smalltalk ui icons smallUpdateIcon; + action: [ + | shell | + shell := self openSessionDescription: TDSessionDescription seaside evaluate: 'updateClient'. + shell exit ]; + withSeparatorAfter. + (aBuilder item: #'Save Image') + parent: #Client; + order: 3.0; + icon: Smalltalk ui icons smallSaveIcon; + action: [ Smalltalk saveSession ]. + (aBuilder item: #'Save Image') + parent: #Pharo; + order: 0.5; + icon: Smalltalk ui icons smallSaveIcon; + action: [ Smalltalk saveSession ]; + withSeparatorAfter. + (aBuilder item: #Settings) + parent: #Pharo; + order: 1; + icon: Smalltalk ui icons smallConfigurationIcon; + action: [ SettingBrowser open ]. + (aBuilder item: #Transcript) + order: 19.0; + icon: Smalltalk ui icons transcriptIcon; + action: [ + | bounds | + bounds := TDTopezGemStoneClient windowProperties caculateWindowBounds at: #transcript. + self resizeTranscript: bounds ]. + (aBuilder item: #'Exit tODE Client') + order: 100; + target: self; + icon: Smalltalk ui icons smallQuitIcon; + action: [ Smalltalk snapshot: false andQuit: true ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todePath..st b/repository/Tode-Client-Common.package/TDShell.class/class/todePath..st new file mode 100644 index 000000000..b74a3ff53 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todePath..st @@ -0,0 +1,3 @@ +home-private +todePath: aDiskPathString + TodePath := aDiskPathString \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todePath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todePath.st index 720e0c994..e0e859a62 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/todePath.st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todePath.st @@ -1,4 +1,4 @@ home todePath - TodePath ifNil: [ TodePath := '/dev/tode/' ]. + TodePath ifNil: [ TodePath := '/tode/' ]. ^ TodePath \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todePharoPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todePharoPath.st new file mode 100644 index 000000000..d36d26020 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todePharoPath.st @@ -0,0 +1,3 @@ +home +todePharoPath + ^self devKitRoot , '/pharo/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeRefreshMenuMenuItemOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeRefreshMenuMenuItemOn..st deleted file mode 100644 index 9e6e18c56..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/class/todeRefreshMenuMenuItemOn..st +++ /dev/null @@ -1,8 +0,0 @@ -system menu -todeRefreshMenuMenuItemOn: aBuilder - - (aBuilder item: #'Refresh tODE menu') - parent: #tODE; - order: 15.0; - action: [ self resetWorldMenu ]; - withSeparatorAfter \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeRoot..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeRoot..st new file mode 100644 index 000000000..9cea10456 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeRoot..st @@ -0,0 +1,4 @@ +home-private +todeRoot: aString + TodeRoot := aString. + self resetWorldMenu \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeRoot.st b/repository/Tode-Client-Common.package/TDShell.class/class/todeRoot.st index 95aeefbbd..e924adde8 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/todeRoot.st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeRoot.st @@ -1,5 +1,4 @@ home todeRoot - | root | - root := DevKitRoot ifNil: [ self webEditionRoot ] ifNotNil: [ self devKitRoot ]. - ^ root , self todePath \ No newline at end of file + TodeRoot ifNil: [ TodeRoot := self devKitRoot , self todePath ]. + ^ TodeRoot \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSessionMenuOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSessionMenuOn..st new file mode 100644 index 000000000..3feb0b348 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSessionMenuOn..st @@ -0,0 +1,40 @@ +system menu +todeSessionMenuOn: aBuilder + + false ifTrue: [ (aBuilder item: #'Logout') + order: 1.21; + target: self; + icon: Smalltalk ui icons smallQuitIcon; + enabled: currentShell notNil; + action: [ + currentShell ifNil: [ ^ self ]. + currentShell logout ]]. + (aBuilder item: #'Exit Shell') + order: 1.22; + target: self; + icon: Smalltalk ui icons smallQuitIcon; + enabled: currentShell notNil; + action: [ + currentShell ifNil: [ ^ self ]. + currentShell exit ]; + withSeparatorAfter. + (aBuilder item: #Windows) + order: 1.2; + target: self; + enabled: currentShell notNil; + icon: Smalltalk ui icons smallWindowIcon. + (aBuilder item: #'Close all session windows') + parent: #Windows; + order: 1.0; + target: self; + action: [ + currentShell ifNil: [ ^ self ]. + currentShell close ]. + (aBuilder item: #'Find a session window') + parent: #Windows; + order: 2.0; + target: self; + action: [ + currentShell ifNil: [ ^ self ]. + currentShell console controlShiftLKeyStroke ]; + withSeparatorAfter. diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSessionToolsMenuOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSessionToolsMenuOn..st new file mode 100644 index 000000000..494ae7d0f --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSessionToolsMenuOn..st @@ -0,0 +1,116 @@ +system menu +todeSessionToolsMenuOn: aBuilder + + (aBuilder item: #'Backups [bu]') + parent: #Tools; + order: 0.5; + icon: Smalltalk ui icons smallExportIcon; + target: self. + (aBuilder item: #'List backups') + parent: #'Backups [bu]'; + order: 1; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'gemtool bu list' ] ]. + (aBuilder item: #'Backup to...') + parent: #'Backups [bu]'; + order: 2; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'gemtool bu backup' ] ]. + (aBuilder item: #'Restore from...') + parent: #'Backups [bu]'; + order: 2; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'gemtool bu restore' ] ]. + (aBuilder item: #'Breakpoints [break]') + parent: #Tools; + order: 0.5; + target: self; + icon: Smalltalk ui icons breakpointIcon; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'break list' ] ]. + (aBuilder item: #'Mark For Collect [gs]') + parent: #Tools; + order: 0.5; + target: self; + icon: Smalltalk ui icons smallDeleteIcon; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'gs mfc' ] ]. + (aBuilder item: #'Object Log [ol]') + parent: #Tools; + order: 1.0; + target: self; + icon: Smalltalk ui icons smallObjectsIcon; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'ol view' ] ]. + (aBuilder item: #'Packages [mc]') + parent: #Tools; + order: 2.0; + target: self; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'mc list' ] ]. + (aBuilder item: #'Processes [ps]') + parent: #Tools; + order: 3.0; + target: self; + icon: Smalltalk ui icons processBrowserIcon; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'ps list' ] ]. + (aBuilder item: #'Profile [pf]') + parent: #Tools; + order: 3.5; + icon: Smalltalk ui icons smallProfileIcon; + target: self. + (aBuilder item: #start) + parent: #'Profile [pf]'; + order: 1.0; + target: self; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'pf start' ] ]. + (aBuilder item: #stop) + parent: #'Profile [pf]'; + order: 2.0; + target: self; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'pf view' ] ]. + (aBuilder item: #'Project List [project]') + parent: #Tools; + order: 4.0; + target: self; + icon: Smalltalk ui icons configIcon; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'project list' ] ]. + (aBuilder item: #'Repositories [mr]') + parent: #Tools; + order: 5.0; + target: self; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'mr list' ] ]. + (aBuilder item: #'Test Runner [test]') + parent: #Tools; + order: 6.0; + target: self; + icon: Smalltalk ui icons testRunnerIcon; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'test image' ] ]. + (aBuilder item: #'Workspace [ws]') + parent: #Tools; + order: 7.0; + target: self; + icon: Smalltalk ui icons workspaceIcon; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'ws' ] ]. + (aBuilder item: #'Find [browse]') + parent: #Tools; + order: 0.5; + target: self; + icon: Smalltalk ui icons smallFindIcon. + (aBuilder item: #'Class...') + parent: #'Find [browse]'; + order: 1; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'gemtool find class' ] ]. + (aBuilder item: #'Hierarchy Browser...') + order: 2; + parent: #'Find [browse]'; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'gemtool find hierarchy' ] ]. + (aBuilder item: #'Class References...') + order: 3; + parent: #'Find [browse]'; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'gemtool find references' ] ]. + (aBuilder item: #'Method...') + order: 4; + parent: #'Find [browse]'; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'gemtool find method' ] ]. + (aBuilder item: #'Senders...') + order: 5; + parent: #'Find [browse]'; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'gemtool find senders' ] ]. + (aBuilder item: #'String...') + order: 6; + parent: #'Find [browse]'; + action: [ currentShell ifNotNil: [ currentShell evaluate: 'gemtool find string' ] ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultClientScriptsPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultClientScriptsPath.st new file mode 100644 index 000000000..fa1cf064c --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultClientScriptsPath.st @@ -0,0 +1,3 @@ +home +todeSysDefaultClientScriptsPath + ^self todeSysDefaultPath , self clientScriptsPath \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultPath.st new file mode 100644 index 000000000..c0c81bc42 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultPath.st @@ -0,0 +1,3 @@ +home +todeSysDefaultPath + ^self todeSysPath , '/default/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultPharoPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultPharoPath.st new file mode 100644 index 000000000..8ee04d2cf --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultPharoPath.st @@ -0,0 +1,3 @@ +as yet unclassified +todeSysDefaultPharoPath + ^self todeSysDefaultPath , self pharoPath \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultServerScriptsPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultServerScriptsPath.st new file mode 100644 index 000000000..d09b4e9c5 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultServerScriptsPath.st @@ -0,0 +1,3 @@ +home +todeSysDefaultServerScriptsPath + ^self todeSysDefaultPath , self serverScriptsPath \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultWindowLayoutPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultWindowLayoutPath.st new file mode 100644 index 000000000..6d5a85fab --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysDefaultWindowLayoutPath.st @@ -0,0 +1,3 @@ +home +todeSysDefaultWindowLayoutPath + ^self todeSysDefaultPath , self windowLayoutPath \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalClientScriptsPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalClientScriptsPath.st new file mode 100644 index 000000000..55c9a6397 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalClientScriptsPath.st @@ -0,0 +1,3 @@ +home +todeSysLocalClientScriptsPath + ^self todeSysLocalPath , self clientScriptsPath \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalPath.st new file mode 100644 index 000000000..afdf3fead --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalPath.st @@ -0,0 +1,3 @@ +home +todeSysLocalPath + ^self todeSysPath , '/local/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalPharoPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalPharoPath.st new file mode 100644 index 000000000..c3c0b9e71 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalPharoPath.st @@ -0,0 +1,3 @@ +as yet unclassified +todeSysLocalPharoPath + ^self todeSysLocalPath , self pharoPath \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalServerScriptsPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalServerScriptsPath.st new file mode 100644 index 000000000..1ca2e93ee --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalServerScriptsPath.st @@ -0,0 +1,3 @@ +home +todeSysLocalServerScriptsPath + ^self todeSysLocalPath , self serverScriptsPath \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalSessionDescriptionPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalSessionDescriptionPath.st new file mode 100644 index 000000000..7d0c6e6f7 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalSessionDescriptionPath.st @@ -0,0 +1,7 @@ +home +todeSysLocalSessionDescriptionPath + | clientDescriptionsPath | + clientDescriptionsPath := 'client/descriptions/'. + self useTodeSys + ifTrue: [ ^ self todeSysLocalPath , clientDescriptionsPath ]. + ^ self todeRoot , '/' , clientDescriptionsPath \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalWindowLayoutPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalWindowLayoutPath.st new file mode 100644 index 000000000..5df13ecec --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysLocalWindowLayoutPath.st @@ -0,0 +1,3 @@ +home +todeSysLocalWindowLayoutPath + ^self todeSysLocalPath , self windowLayoutPath \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSysPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysPath.st new file mode 100644 index 000000000..7a8c95bfb --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysPath.st @@ -0,0 +1,3 @@ +home +todeSysPath + ^self todeRoot , '/sys/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeSysStonePath..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysStonePath..st new file mode 100644 index 000000000..22f2d50c6 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeSysStonePath..st @@ -0,0 +1,3 @@ +home +todeSysStonePath: stoneName + ^self todeSysPath , '/stones/' , stoneName, '/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeUpdateClientMenuItemOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeUpdateClientMenuItemOn..st deleted file mode 100644 index e6310c899..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/class/todeUpdateClientMenuItemOn..st +++ /dev/null @@ -1,10 +0,0 @@ -system menu -todeUpdateClientMenuItemOn: aBuilder - - (aBuilder item: #'Update tODE client') - parent: #tODE; - order: 9.0; - action: [ - | shell | - shell := self openSessionDescription: TDSessionDescription seaside evaluate: 'script --script=updateClient'. - shell exit ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeWindowPropertiesCommandOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeWindowPropertiesCommandOn..st index 3d67d7132..8d904a837 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/class/todeWindowPropertiesCommandOn..st +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeWindowPropertiesCommandOn..st @@ -1,20 +1,37 @@ system menu todeWindowPropertiesCommandOn: aBuilder - - | windowLayoutDir | - windowLayoutDir := self windowLayoutHome asFileReference. - windowLayoutDir exists + + | windowLayoutFiles | + windowLayoutFiles := self windowLayoutFiles. + windowLayoutFiles notEmpty ifTrue: [ - (aBuilder item: #'tODE Window Layout') - parent: #tODE; - order: 5.0; + (aBuilder item: #'Window Layout') + parent: #Client; + order: 1.1; + withSeparatorAfter. + (aBuilder item: #'Edit Window Layout') + parent: #Client; + order: 1.7; target: self; withSeparatorAfter. - (windowLayoutDir files sorted: [ :a :b | a fullName <= b fullName ]) + (windowLayoutFiles sorted: [ :a :b | a basename <= b basename ]) do: [ :file | - (aBuilder item: file basename asSymbol) - parent: #'tODE Window Layout'; - action: [ - | windowProperties | - windowProperties := TDAbstractWindowProperties importFrom: file fullName. - windowProperties installOn: TDTopezGemStoneClient ] ] ] \ No newline at end of file + file basename = 'README.md' + ifFalse: [ + (aBuilder item: file basename asSymbol) + parent: #'Window Layout'; + action: [ + | windowProperties transcriptBounds | + windowProperties := TDAbstractWindowProperties importFrom: file fullName. + windowProperties installOn: TDTopezGemStoneClient. + transcriptBounds := windowProperties caculateWindowBounds at: #transcript. + self resizeTranscript: transcriptBounds ]. + (aBuilder item: file basename asSymbol) + parent: #'Edit Window Layout'; + action: [ + | windowProperties | + windowProperties := TDAbstractWindowProperties importFrom: file fullName. + self new + openWorkspace: (TDShell windowLayoutWorkspaceNamed: file basename for: windowProperties) + styling: false + label: file basename ] ] ] ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/todeWorldMenuOn..st b/repository/Tode-Client-Common.package/TDShell.class/class/todeWorldMenuOn..st new file mode 100644 index 000000000..bfdf20a69 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/todeWorldMenuOn..st @@ -0,0 +1,10 @@ +system menu +todeWorldMenuOn: aBuilder + + (aBuilder item: #'tODE World Menu') + order: 0.1; + target: self; + icon: (Smalltalk ui icons toolsIcon); + action: [ self resetWorldMenu ]; + withSeparatorAfter + diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/updateServerHome.st b/repository/Tode-Client-Common.package/TDShell.class/class/updateServerHome.st deleted file mode 100644 index e415a9cc3..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/class/updateServerHome.st +++ /dev/null @@ -1,3 +0,0 @@ -home -updateServerHome - ^ self todeRoot , '/server/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/useTodeSys..st b/repository/Tode-Client-Common.package/TDShell.class/class/useTodeSys..st new file mode 100644 index 000000000..6ded21333 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/useTodeSys..st @@ -0,0 +1,3 @@ +home-private +useTodeSys: aBool + UseTodeSys := aBool \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/useTodeSys.st b/repository/Tode-Client-Common.package/TDShell.class/class/useTodeSys.st new file mode 100644 index 000000000..e1ba03573 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/useTodeSys.st @@ -0,0 +1,4 @@ +accessing +useTodeSys + UseTodeSys ifNil: [ UseTodeSys := true ]. + ^ UseTodeSys \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/webEditionRoot..st b/repository/Tode-Client-Common.package/TDShell.class/class/webEditionRoot..st deleted file mode 100644 index 80ddd542c..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/class/webEditionRoot..st +++ /dev/null @@ -1,5 +0,0 @@ -home -webEditionRoot: aString - WebEditionRoot := aString. - TodePath := '/dev/tode/'. - self resetWorldMenu \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/webEditionRoot.st b/repository/Tode-Client-Common.package/TDShell.class/class/webEditionRoot.st deleted file mode 100644 index b53026f7d..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/class/webEditionRoot.st +++ /dev/null @@ -1,4 +0,0 @@ -home -webEditionRoot - WebEditionRoot ifNil: [ WebEditionRoot := '/opt/git/webEditionHome' ]. - ^ WebEditionRoot \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/windowLayoutFiles.st b/repository/Tode-Client-Common.package/TDShell.class/class/windowLayoutFiles.st new file mode 100644 index 000000000..3ec149baa --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/windowLayoutFiles.st @@ -0,0 +1,15 @@ +home +windowLayoutFiles + self useTodeSys + ifTrue: [ + | map | + map := Dictionary new. + {(self todeSysDefaultWindowLayoutPath). + (self todeSysLocalWindowLayoutPath)} + do: [ :rootPath | + | reference | + reference := rootPath asFileReference. + reference exists + ifTrue: [ reference files do: [ :fileRef | map at: fileRef basename put: fileRef ] ] ]. + ^ map values ]. + ^ self todeRoot , '/' , self windowLayoutPath asFileReference files \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/windowLayoutHome.st b/repository/Tode-Client-Common.package/TDShell.class/class/windowLayoutHome.st deleted file mode 100644 index 0cdbbf191..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/class/windowLayoutHome.st +++ /dev/null @@ -1,3 +0,0 @@ -home -windowLayoutHome - ^ self todeRoot , '/client/windowLayout/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/windowLayoutPath.st b/repository/Tode-Client-Common.package/TDShell.class/class/windowLayoutPath.st new file mode 100644 index 000000000..8dd40fd65 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/windowLayoutPath.st @@ -0,0 +1,3 @@ +home-private +windowLayoutPath + ^ 'client/windowLayout/' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/class/windowLayoutWorkspaceNamed.for..st b/repository/Tode-Client-Common.package/TDShell.class/class/windowLayoutWorkspaceNamed.for..st new file mode 100644 index 000000000..07b962f90 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/class/windowLayoutWorkspaceNamed.for..st @@ -0,0 +1,12 @@ +accessing +windowLayoutWorkspaceNamed: propertyName for: aWindowProperties + ^ '"Set the `sessionDescriptName`, then djust parameters to change proportions + or configuration of layout. " +| layoutName layout sessionDescriptionName | + +layoutName := ', propertyName printString, '. +sessionDescriptionName := ''gsDevKit''. +layout := ' , aWindowProperties printString, ' + layout exportTo: TDShell todeSysLocalWindowLayoutPath, layoutName. +TDAbstractWindowProperties install: layoutName. +TDShell testWindowLayout: sessionDescriptionName.' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/accumulateText..st b/repository/Tode-Client-Common.package/TDShell.class/instance/accumulateText..st index 60913b916..582331f11 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/accumulateText..st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/accumulateText..st @@ -1,15 +1,15 @@ evaluator engine accumulateText: line - | actionArray result stream block | - (line isNil or: [ line beginsWith: '%' ]) - ifFalse: [ - inputStream - nextPutAll: line; - cr. - ^ '' ]. - block := self actionStack removeFirst. - actionArray := self stateStack removeFirst. - stream := inputStream. - promptString := actionArray at: 2. - inputStream := actionArray at: 1. - ^ (block value: stream) convertTDEvaluateTokenResponseToText \ No newline at end of file + | actionArray stream block | + (line isNil or: [ line beginsWith: '%' ]) + ifFalse: [ + inputStream + nextPutAll: line; + cr. + ^ '' ]. + block := self actionStack removeFirst. + actionArray := self stateStack removeFirst. + stream := inputStream. + promptString := actionArray at: 2. + inputStream := actionArray at: 1. + ^ (block value: stream) convertTDEvaluateTokenResponseToText: self objectSerializer \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/builtInCommands.st b/repository/Tode-Client-Common.package/TDShell.class/instance/builtInCommands.st index 330c03fda..6058f977a 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/builtInCommands.st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/builtInCommands.st @@ -1,3 +1,3 @@ built-ins builtInCommands - ^ #('builtIns' 'close' 'collapse' 'debugMode' 'exit' 'expand' 'help' 'logout' 'restoreBackup' 'script' 'sessionDescription' 'testLogin' 'updateClient' 'updateServer' 'installServer' 'whatsNew') \ No newline at end of file + ^ #('builtIns' 'close' 'collapse' 'debugMode' 'exit' 'expand' 'help' 'installServer' 'logout' 'restoreBackup' 'script' 'sessionDescription' 'testLogin' 'updateClient') \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/builtIns.st b/repository/Tode-Client-Common.package/TDShell.class/instance/builtIns.st index 418a1077a..e18d0083e 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/builtIns.st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/builtIns.st @@ -42,7 +42,7 @@ DESCRIPTION ---- tODE help. - installServer +installServer ----------- Install tODE on the server. See `installServer -h` for more information. @@ -90,14 +90,6 @@ DESCRIPTION ------------ Update the tODE client software. See `updateClient -h` for more information. - updateServer - ----------- - Update tODE on the server. See `updateServer -h` for more information. - - whatsNew - -------- - Description of new features. - EXAMPLES builtIns close @@ -111,9 +103,6 @@ EXAMPLES sessionDescription -h testLogin updateClient -h - updateServer -h - whatsNew - ' label: 'Help for tODE built-in commands'. ^ 'EXAMPLES @@ -129,5 +118,4 @@ EXAMPLES sessionDescription -h testLogin updateClient -h - whatsNew ' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/close.st b/repository/Tode-Client-Common.package/TDShell.class/instance/close.st index 7397cbc50..824506208 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/close.st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/close.st @@ -3,5 +3,5 @@ close "close all windows" windowStatus ifNil: [ ^ nil ]. - windowStatus close. + self deferFlushEventNotificationDuring: [ windowStatus close ]. ^ nil \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/console.st b/repository/Tode-Client-Common.package/TDShell.class/instance/console.st index 0efef5348..11b68263b 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/console.st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/console.st @@ -1,3 +1,11 @@ stash console - ^ console \ No newline at end of file + false + ifTrue: [ + console + ifNil: [ + console := TodeConsole todeConsole: self. + shellWindow := console openAsMorphLabel: self shellId asString , ': ' , self label welcome: true. + shellWindow activate. + self windowRegistration ] ]. + ^ console \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/deferFlushEventNotificationDuring..st b/repository/Tode-Client-Common.package/TDShell.class/instance/deferFlushEventNotificationDuring..st new file mode 100644 index 000000000..da5378d10 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/deferFlushEventNotificationDuring..st @@ -0,0 +1,13 @@ +built-ins +deferFlushEventNotificationDuring: aBlock + "defer flushEventCache until all windows are closed." + + | shouldFlushEventCache | + shouldFlushEventCache := false. + aBlock + on: TDShouldFlushEventCacheNotification + do: [ :ex | + shouldFlushEventCache := true. + ex resume: false ]. + shouldFlushEventCache + ifTrue: [ self topezClient flushEventCache ]. diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/evaluate..st b/repository/Tode-Client-Common.package/TDShell.class/instance/evaluate..st index 629a3f031..0fa44bd8a 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/evaluate..st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/evaluate..st @@ -1,17 +1,18 @@ evaluator engine evaluate: aString [ - | line stream result | - stream := aString readStream. - [ - line := stream nextLine. - line ~~ nil ] - whileTrue: [ + | result | + TDCommandLine + fromStream: aString readStream + selectLine: [ :line | self actionStack notEmpty - ifTrue: [ result := self accumulateText: line ] + ifTrue: [ + result := self accumulateText: line. + false "do not create or evaluate command for this line" ] ifFalse: [ self addToHistory: line. - TDCommandLine line: line forEachCommand: [ :command | result := self evaluateCommand: command ] ] ]. + true "create and evaluate the command for this line" ] ] + forEachCommand: [ :command | result := self evaluateCommand: command ]. ^ result ] on: Error , TDRestoreFromBackupComplete , GsTopezCommandErrorNotification do: [ :ex | diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/evaluateCommand..st b/repository/Tode-Client-Common.package/TDShell.class/instance/evaluateCommand..st index bd780c5fd..91e70efa6 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/evaluateCommand..st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/evaluateCommand..st @@ -6,4 +6,5 @@ evaluateCommand: command ifTrue: [ ^ '' ]. (self builtInCommands includes: command command) ifTrue: [ ^ self executeBuiltIn: command ]. - ^ (self topezClient evaluateCommand: command batchMode: self batchMode) convertTDEvaluateTokenResponseToText \ No newline at end of file + ^ (self topezClient evaluateCommand: command batchMode: self batchMode) + convertTDEvaluateTokenResponseToText: self objectSerializer \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/evaluateSTONSmalltalk..st b/repository/Tode-Client-Common.package/TDShell.class/instance/evaluateSTONSmalltalk..st new file mode 100644 index 000000000..b73ec2fb8 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/evaluateSTONSmalltalk..st @@ -0,0 +1,3 @@ +evaluator engine +evaluateSTONSmalltalk: aString + ^ self topezClient evaluateSTONSmalltalk: aString batchMode: self batchMode \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/evaluateSTONSmalltalk.variableBindings..st b/repository/Tode-Client-Common.package/TDShell.class/instance/evaluateSTONSmalltalk.variableBindings..st new file mode 100644 index 000000000..7af521857 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/evaluateSTONSmalltalk.variableBindings..st @@ -0,0 +1,3 @@ +evaluator engine +evaluateSTONSmalltalk: smalltalkSource variableBindings: variableBindings + ^ self topezClient evaluateSTONSmalltalk: smalltalkSource variableBindings: variableBindings batchMode: self batchMode \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/executeBuiltIn..st b/repository/Tode-Client-Common.package/TDShell.class/instance/executeBuiltIn..st index 61ecf96a4..f9401dc9b 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/executeBuiltIn..st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/executeBuiltIn..st @@ -5,21 +5,18 @@ executeBuiltIn: command ^ cmd = 'installServer' ifTrue: [ self executeInstallServer: command ] ifFalse: [ - cmd = 'updateServer' - ifTrue: [ self executeUpdateServer: command ] + cmd = 'restoreBackup' + ifTrue: [ self executeRestoreBackup: command ] ifFalse: [ - cmd = 'restoreBackup' - ifTrue: [ self executeRestoreBackup: command ] + cmd = 'script' + ifTrue: [ self executeScript: command ] ifFalse: [ - cmd = 'script' - ifTrue: [ self executeScript: command ] + cmd = 'sessionDescription' + ifTrue: [ self executeSessionDescription: command ] ifFalse: [ - cmd = 'sessionDescription' - ifTrue: [ self executeSessionDescription: command ] + cmd = 'updateClient' + ifTrue: [ self executeUpdateClient: command ] ifFalse: [ - cmd = 'updateClient' - ifTrue: [ self executeUpdateClient: command ] - ifFalse: [ - cmd = 'debugMode' - ifTrue: [ self executeDebugMode: command ] - ifFalse: [ self perform: cmd asSymbol ] ] ] ] ] ] ] \ No newline at end of file + cmd = 'debugMode' + ifTrue: [ self executeDebugMode: command ] + ifFalse: [ self perform: cmd asSymbol ] ] ] ] ] ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/executeInstallServer..st b/repository/Tode-Client-Common.package/TDShell.class/instance/executeInstallServer..st index 9eeeb8bfc..9a28c04cf 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/executeInstallServer..st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/executeInstallServer..st @@ -1,69 +1,43 @@ built-ins executeInstallServer: command - | options | - command - getOptsMixedLongShort: - {#('help' $h #none). - #('clientScriptPath' nil #required). - #('force' $f #none). - #('serverScriptPath' nil #required). - #('topaz' $t #none)} - optionsAndArguments: [ :opts :args | options := opts ]. - options - at: 'help' - ifAbsent: [ - | forceGLASSInstall scriptDirectory | - options at: 'force' ifPresent: [ :ignored | forceGLASSInstall := true ] ifAbsent: [ forceGLASSInstall := false ]. - scriptDirectory := self scriptDirectoryFrom: options. - options - at: 'topaz' - ifPresent: [ ^ self topezClient installTodeTopazScript: forceGLASSInstall scriptDirectory: scriptDirectory ]. - ^ self topezClient installTode: forceGLASSInstall scriptDirectory: scriptDirectory ] - ifPresent: [ :ignored | - ^ (TDMultiLineText new - prompt: 'Help for ' , command command; - template: - 'NAME - installServer - install tODE on the server - -SYNOPSIS - installServer [-h|--help] - installServer [-t|--topaz] --serverScriptPath= - installServer [-t|--topaz] --clientScriptPath= - installServer - -DESCRIPTION - With no arguments, install tODE into a "seaside extent" (an extent with GLASS already installed). - The standard installation involves the following steps: - 1. upgrade GLASS to 1.0-beta9.1 - 2. install Metacello from github://dalehenrich/metacello-work:master/repository - 3. install GLASS1 from github://glassdb/glass:master/repository - 4. install Tode from github://dalehenrich/tode:master/repository - If tODE has already been installed, step 1 is skipped and the remaining steps are performed. - - For each of the steps, installServer executes a Smalltalk script that is loaded from a directory - on disk. If neither --clientScriptPath nor --serverScriptPath is specified then installServer expects - to find a directory called `updateServer` as a sibling to the `repository` directory from which the - BaselineOfTode has been installed on the client system. - - If --clientScriptPath is specified, the scripts will be loaded from the specified directory on - the client system. If is a relative path, the path will be appended - to TDShell class>>serverScriptsHome. - - If --serverScriptPath is specified, the scripts will be loaded from the specified directory on - the server system - where the stone and gems are executing. If is a - relative path, the path will be appended to TDShell class>>serverScriptsHome. - - If --topaz is present, instead of executing the install script, it is returned as a topaz script. - -EXAMPLES - installServer -h - installServer - installServer --clientScriptPath=installTode - installServer --clientScriptPath=/opt/git/tode/installTode - installServer --serverScriptPath=install - installServer --serverScriptPath=/opt/git/todeHome/install - installServer --topaz --clientScriptPath=/opt/git/tode/installTode - -') - interact ] + | options | + command + getOptsMixedLongShort: + {#('help' $h #'none'). + #('scriptPath' nil #'required')} + optionsAndArguments: [ :opts :args | options := opts ]. + options + at: 'help' + ifAbsent: [ ^ self topezClient installTode: options ] + ifPresent: [ :ignored | + ^ (TDMultiLineText new + prompt: 'Help for ' , command command; + template: 'NAME + installServer - install tODE on the server + + SYNOPSIS + installServer [-h|--help] + installServer [--scriptPath=] + + DESCRIPTION + Install tODE into a $GEMSTONE/bin/extent0.seaside.dbf extent. The installation involves the following steps: + 1. upgrade GLASS (file name `upgradeGLASS.ws`) + 2. install Metacello (file name `installMetacello.ws`) + 3. install GLASS1 (file name `installGLASS1.ws`) + 4. install Tode (file name `installTode.ws`) + If tODE has already been installed, step 1 is skipped and the remaining steps are performed. + + For each of the steps, installServer executes a Smalltalk script that is loaded from a file + on disk. + + With no arguments specified, each file will be located by looking for the file in the following directories: + $GS_HOME/tode/sys/local/server/scripts + $GS_HOME/tode/sys/default/server/scripts + + If --scriptPath is specified, then each of the files is expected to be found in that directory. + + EXAMPLES + installServer -h + installServer + installServer --scriptPath=/opt/git/tode/installTode + ') interact ] diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/executeScript..st b/repository/Tode-Client-Common.package/TDShell.class/instance/executeScript..st index 3c8c00445..95b0c0640 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/executeScript..st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/executeScript..st @@ -1,12 +1,21 @@ built-ins executeScript: command - | options | + | options arguments | command getOptsMixedLongShort: {#('help' $h #none). - #('script' nil #required). - #('list' nil #required)} - optionsAndArguments: [ :opts :args | options := opts ]. + #('edit' nil #none). + #('list' nil #optional). + #('script' nil #required)} + optionsAndArguments: [ :opts :args | + options := opts. + arguments := args ]. + options + at: 'script' + ifAbsent: [ + "backwards compat for `script --script=` form" + arguments size = 1 + ifTrue: [ options at: 'script' put: (arguments at: 1) ] ]. options at: 'help' ifAbsent: [ @@ -16,26 +25,32 @@ executeScript: command | commands filepath | filepath := filename. (filename beginsWith: '/') - ifFalse: [ filepath := TDShell clientScriptsHome , filename ]. + ifFalse: [ filepath := TDShell lookupClientScripts: filename stoneName: self stoneName ]. FileStream readOnlyFileNamed: filepath do: [ :fileStream | commands := fileStream contents ]. - ^ self evaluate: commands ]. - options - at: 'list' - ifPresent: [ :dirname | - | dir fileNames dirPath | - dirPath := dirname. - dirPath ifNil: [ dirPath := TDShell clientScriptsHome ]. - dir := MCFileTreeFileUtils current directoryFromPath: dirPath. - fileNames := WriteStream on: String new. - dir entries - do: [ :entry | - fileNames - nextPutAll: entry name; - cr ]. - ^ fileNames contents ]. - ^ 'must specify an option: + options + at: 'edit' + ifPresent: [ :ignored | + self openWorkspace: commands styling: false label: filepath. + ^ '' ] + ifAbsent: [ ^ self evaluate: commands ] ] + ifAbsent: [ + options + at: 'list' + ifPresent: [ :dirname | + | files fileNames | + files := dirname + ifNotNil: [ dirname asFileReference files ] + ifNil: [ TDShell clientScriptsFiles: self stoneName ]. + fileNames := WriteStream on: String new. + files + do: [ :fileRef | + fileNames + nextPutAll: fileRef basename; + cr ]. + ^ fileNames contents ] ]. + ^ 'must specify an option or argument: script -h - script --script=installTode + script installTode script --list' ] ifPresent: [ :ignored | ^ (TDMultiLineText new @@ -45,14 +60,17 @@ executeScript: command script - run sequence of commands from client SYNOPSIS - script [-h|--help] [--script=] [--list[=]] + script [-h|--help] ( [--edit ] | --list[=] ) DESCRIPTION Executes scripts stored in a directory on the client. Useful for scripts involving installation of tODE or that may do one or more `logout` commands. - With the --script option, the commands in the specified file are executed. If the - is a relative path, the path is appended to TDShell - class>>clientScriptsHome + With no options, the commands in the file are executed. If the + < is a relative path, the path is appended to TDShell + class>>clientScriptsHome. + + With the --edit option, a workspace is brought up on the contents of the . + file. With the --list option, the files in the specified directory are listed. If the is not specified, the files in TDShell class>>clientScriptsHome are @@ -62,6 +80,7 @@ EXAMPLES script -h script --list script --list=/opt/git/todeHome/client/scripts - script --script=installTode - script --script=/opt/git/todeHome/client/scripts/installTode + script installTode + script --edit installTode + script /opt/git/todeHome/client/scripts/installTode ') interact ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/executeUpdateClient..st b/repository/Tode-Client-Common.package/TDShell.class/instance/executeUpdateClient..st index 7f8aca562..3a275131a 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/executeUpdateClient..st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/executeUpdateClient..st @@ -1,48 +1,18 @@ built-ins executeUpdateClient: command | options | - command - getOptsMixedLongShort: - {#('help' $h #none). - #('clientRepo' nil #required). - #('lock' nil #none)} - optionsAndArguments: [ :opts :args | options := opts ]. + command getOptsMixedLongShort: {#('help' $h #none)} optionsAndArguments: [ :opts :args | options := opts ]. options at: 'help' ifAbsent: [ - options - at: 'clientRepo' - ifPresent: [ :todeRepository | - | result | - [ - Metacello new - baseline: 'Tode'; - repository: todeRepository; - get. - options - at: 'lock' - ifPresent: [ :ignored | - Metacello new - baseline: 'Tode'; - repository: todeRepository; - lock ]. - result := Metacello new - baseline: 'Tode'; - repository: todeRepository; - onConflict: [ :ex | ex allow ]; - load: 'GemStone Dev' ] - on: Warning - do: [ :ex | - Transcript - cr; - show: 'WARNING: ' , ex description. - ex pass ]. - self class resetWorldMenu. - ^ result printString ]. - ^ 'Must specify options: - updateClient --help - updateClient --clientRepo=github://dalehenrich/tode:master - updateClient --clientRepo=filetree:///opt/git/tode/repository' ] + | filePath todeLoadSource | + filePath := self class lookupPharoScript: 'todeLoad.st'. + filePath asFileReference readStreamDo: [ :fileStream | todeLoadSource := fileStream contents ]. + Compiler evaluate: todeLoadSource. + false + ifTrue: [ Smalltalk snapshot: true andQuit: false ]. + self class resetWorldMenu. + ^ 'Client updated' ] ifPresent: [ :ignored | ^ (TDMultiLineText new prompt: 'Help for ' , command command; @@ -52,15 +22,11 @@ executeUpdateClient: command SYNOPSIS updateClient --help - updateClient --clientRepo= - -DESCRIPTION - Update the tODE software on the client. - --clientRepo option specifies the repository form which tODE will be loaded. +DESCRIPTION + Update the Metacello and tODE software on the client, using the todeLoad.st file in $GS_HOME/tode/sys/default|local/pharo. EXAMPLES updateClient --help - updateClient --clientRepo=github://dalehenrich/tode:master - updateClient --clientRepo=filetree:///opt/git/tode/repository + updateClient ') interact ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/executeUpdateServer..st b/repository/Tode-Client-Common.package/TDShell.class/instance/executeUpdateServer..st deleted file mode 100644 index b7b9ca0ff..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/executeUpdateServer..st +++ /dev/null @@ -1,54 +0,0 @@ -built-ins -executeUpdateServer: command - | options | - command - getOptsMixedLongShort: - {#('help' $h #none). - #('clientScriptPath' nil #required). - #('serverScriptPath' nil #required)} - optionsAndArguments: [ :opts :args | options := opts ]. - options - at: 'help' - ifAbsent: [ - | forceGLASSInstall scriptDirectory | - options at: 'force' ifPresent: [ :ignored | forceGLASSInstall := true ] ifAbsent: [ forceGLASSInstall := false ]. - scriptDirectory := self scriptDirectoryFrom: options. - ^ self topezClient installUpdateTode: forceGLASSInstall scriptDirectory: scriptDirectory ] - ifPresent: [ :ignored | - ^ (TDMultiLineText new - prompt: 'Help for ' , command command; - template: - 'NAME - updateServer - install tODE on the server - -SYNOPSIS - updateServer [-h|--help] - updateServer --serverScriptPath= - updateServer -clientScriptPath= - updateServer - -DESCRIPTION - With no arguments, update an already installed tODE to the latest version. - - updateServer executes a Smalltalk script that is loaded from a directory - on disk. If neither --clientScriptPath nor --serverScriptPath is specified then updateServer expects - to find a directory called `updateServer` as a sibling to the `repository` directory from which the - BaselineOfTode has been installed on the client system. - - If --clientScriptPath is specified, the scripts will be loaded from the specified directory on - the client system. If is a relative path, the path will be appended - to TDShell class>>serverScriptsHome. - - If --serverScriptPath is specified, the scripts will be loaded from the specified directory on - the server system - where the stone and gems are executing. If is a - relative path, the path will be appended to TDShell class>>serverScriptsHome. - -EXAMPLES - updateServer -h - updateServer - updateServer --clientScriptPath=installTode - updateServer --clientScriptPath=/opt/git/tode/installTode - updateServer --serverScriptPath=install - updateServer --serverScriptPath=/opt/git/todeHome/install - -') interact ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/exit.st b/repository/Tode-Client-Common.package/TDShell.class/instance/exit.st index 8f3cd7403..025f019c5 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/exit.st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/exit.st @@ -1,4 +1,8 @@ built-ins exit - shellWindow delete. + self logout. + self class currentShell: nil. + shellWindow ifNotNil: [ shellWindow delete ]. + shellWindow := nil. + console := nil. ^ nil \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/exportClassToServer..st b/repository/Tode-Client-Common.package/TDShell.class/instance/exportClassToServer..st new file mode 100644 index 000000000..a56a00fb4 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/exportClassToServer..st @@ -0,0 +1,28 @@ +server blocks +exportClassToServer: clientClass + | classDefinition className classComment | + className := clientClass name asString. + classDefinition := clientClass definition. + self + onServerDo: [ + classDefinition evaluate. + nil "don't try returning a class to client" ]. + classComment := clientClass comment. + self + onServerDo: [ + (Smalltalk at: className) comment: classComment. + nil "don't try returning a class to client" ]. + clientClass + selectorsDo: [ :selector | + self + exportMethodToServer: clientClass + source: (clientClass sourceCodeAt: selector) + protocol: (clientClass organization categoryOfElement: selector) + isMeta: false ]. + clientClass class + selectorsDo: [ :selector | + self + exportMethodToServer: clientClass class + source: (clientClass class sourceCodeAt: selector) + protocol: (clientClass class organization categoryOfElement: selector) + isMeta: true ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/exportMethodToServer.source.protocol.isMeta..st b/repository/Tode-Client-Common.package/TDShell.class/instance/exportMethodToServer.source.protocol.isMeta..st new file mode 100644 index 000000000..0785e4fd1 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/exportMethodToServer.source.protocol.isMeta..st @@ -0,0 +1,15 @@ +server blocks +exportMethodToServer: clientClass source: source protocol: protocol isMeta: aBool + | className methodSource methodProtocol isMeta | + className := clientClass name. + methodSource := source. + methodProtocol := protocol. + isMeta := aBool. + self + onServerDo: [ + | cls | + cls := Smalltalk at: className. + isMeta + ifTrue: [ cls := cls class ]. + cls compile: methodSource classified: methodProtocol. + nil ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/filetreeUtilityClass.st b/repository/Tode-Client-Common.package/TDShell.class/instance/filetreeUtilityClass.st deleted file mode 100644 index 07117d86e..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/filetreeUtilityClass.st +++ /dev/null @@ -1,3 +0,0 @@ -evaluator engine -filetreeUtilityClass - ^ MCFileTreeFileUtils current \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/help.st b/repository/Tode-Client-Common.package/TDShell.class/instance/help.st index 565f7abd2..ab1d3f669 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/help.st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/help.st @@ -4,205 +4,12 @@ help Thank you for trying tODE. -------------------------- -Before getting started, you should clone a copy of the todeHome repository -from github: +The best way to get going with tODE is to follow the instructions on the +gsDevKitHome project site[1] for installing and setting up GemStone. - git clone git@github.com:dalehenrich/todeHome.git +Then take a look at "Getting Started with tODE"[2]. -You will want to have a clone of todeHome on both the server machine and your -client machine, if they are on different hosts. You should also plan on -"taking ownership" of the todeHome repository as you progress in your usage of -tODE you will be customizing the contents of this repository quite a bit. - -For the purposes of this document we will assume that the location of the -clone on both machines is: - - /opt/git/todeHome - -If you have cloned the repository to a different location, the you should -execute the following in a Pharo workspace: - - TDShell todeHome: ''''. - -I. Start your stone and netldi ------------------------------- - If you do not already have a stone running, you should start your stone and - the netldi process. - - If you''re not sure how to start a stone, please follow the instructions - (https://github.com/dalehenrich/tode/blob/master/README.md) for getting - started with GemStone. - -II. Define a session description -------------------------------- - Use the following expressions to define and test your session description - (this expression can also be found in the `session setup` workspace: - - (OGCustomSessionDescription new - name: ''glass''; - gemstoneVersion: ''3.2.0''; - adornmentColor: nil; - stoneHost: ''localhost''; - stoneName: ''seaside''; - gemHost: ''localhost''; - netLDI: ''50377''; - gemTask: ''gemnetobject''; - userId: ''DataCurator''; - password: ''swordfish''; - osUserId: ''''; - osPassword: ''''; - backupDirectory: ''''; - dataDirectory: ''''; - yourself) exportTo: TDShell sessionDescriptionHome. - TDShell testLogin: ''glass''. - - Pay special attention to the `gemstoneVersion`, `stoneHost`, `gemHost`, - `stoneName` and `netLDI` fields. The `gemstoneVersion` string should have a - minimum of 3 fields, i.e., ''3.2.0''. Normally the `stoneHost` and `gemHost` - will be the same. Use the port number for your netldi process for the - `netLDI` field. - - If you have a session description that you are using with GemTools you can - copy over the corresponding fields. - - The #exportTo: message, saves the session description to a location in - todeHome. The #testLogin: message attempts a login using the namedsession - description. The result of the #testLogin: message provides clues that can be - used to fine tune the definition of the session description. - - When you see a message like the following, you have successfully connected to - your stone: - - Stone : !@foos#server!j_gs64stone - Stone host : foos - GemStone version : 3.2.0 - cpu kind : x86_64 - GLASS version : >=1.0-beta.9.1 [ConfigurationOfGLASS] - Metacello version: >=1.0-beta.32.1 [ConfigurationOfMetacello] - GLASS1 not installed - Tode not installed - - Once you''ve created your own session description, you can use the following - expression to launch your tODE console from a Pharo workspace: - - TDShell open: ''glass'' - - Finally, when you''ve settled on an acceptable session description, it is a - good idea to commit your changes to your todeHome repository. - - -III. Install/Update tODE on server ---------------------------------- - The `updateServer` command will install/upgrade tODE on your server. - - If you have a todeHome repository on your client machine (the machine upon - which you are running Pharo) you can use the following command to - install/upgrade tODE on the server: - - updateServer --clientScriptPath=/opt/git/todeHome/server/scripts - - The standard scripts are based on loading code from github, but you chould be - able to customize the scripts to reference local copies of the various - projects as needed. - - All of the scripts are executed on the server, so any file system paths - should be relative to the server file system. - - After installation is complete, the `testLogin` should return something like - the following: - - Stone : !@foos#server!j_gs64stone - Stone host : foos - GemStone version : 3.2.0 - cpu kind : x86_64 - GLASS version : >=1.0-beta.9.1 [ConfigurationOfGLASS] - Metacello version: >=1.0-beta.32.1 [ConfigurationOfMetacello] - GLASS1: - repository: /opt/git/glass/repository - Tode: - repository: /opt/git/tode/repository - - For additional information about using the `updateServer` command use the - `--help` option: - - updateServer --help - -IV. Backup and restore ---------------------- - Once you have installed tODE on the server, you can start using tODE, by - simply typing commands at the command prompt in the console window. - - The first command that you should use after finishing your install is the - `bu` command: - - bu backup tode.dbf - - The above command makes a backup of your repository in a file named - `tode.dbf` in the backup directory specified in your session description. - If no directory is specified in your session description, the backup is - stored in the `$GEMSTONE/seaside/data/backups` directory. - - You can restore from a backup with this command: - - bu restore tode.dbf - - The `bu` command is executed by tODE code running in the server. For - additional information about the server-side `bu` command use the `--help` - option or the `man` command: - - man bu - bu --help - - If tODE has not been installed yet, you can restore from backup by using - the `restoreBackup` command, which is a client-side built-in command. For - additional information about using the `restoreBackup`, use the `--help` - option: - - restoreBackup --help - - For a list of the client-side built-in commands use the `builtIns` command - (also a client-side built-in). - -V. Mounting /home ---------------------- - Objects in tODE are shared by serializing the objects to disk using STON - (https://github.com/glassdb/ston). One gains access to these shared objects - on disk, by using the `mount` command. The todeHome repository comes with a - pre-defined set of objects that can be accessed by executing the following - commands: - - mount /opt/git/todeHome/home / - logout - bu backup home.dbf - - The `logout` command is necessary because `/home` is a special directory - structure that needs to be reset after being redefined and `logout` is a - temporary workaround. The `bu` command is used to make a backup of the - repository now that you''ve defined `/home`. - -VI. Client-side scripts ------------------------- - If you find that you are frequently executing sequences of commands - involving the logout command or client built-in commands, you can execute - client-side scripts using the`script` command. - - For example, the following sequence of commands is a convenent script for - updating both the client and server: - - updateClient --clientRepo=filetree:///opt/git/tode/repository - updateServer --clientScriptPath=/opt/git/todeHome/server/scripts - bu backup tode.dbf - - With the `script` command you can save the above commands in a file named - `/opt/git/todeHome/client/scripts/updateTode` and invoke the script using - the following: - - script --script=/opt/git/todeHome/client/scripts/updateTode - - If you use a relative path for the script, the argument will be appended - to `TDShell clientScriptHome` which is based upon `TDShell todeHome` which - you should have already defined: - - script --script=updateTode +[1] https://github.com/GsDevKit/gsDevKitHome#open-source-development-kit-for-gemstones-64-bit- +[2] https://github.com/dalehenrich/tode/blob/master/docs/GettingStarted.md#getting-started-with-tode ' label: 'Help for tODE'. diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/label.st b/repository/Tode-Client-Common.package/TDShell.class/instance/label.st index 75a9b012d..a708c74cf 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/label.st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/label.st @@ -1,5 +1,4 @@ stash label - | sessionDescription | - sessionDescription := self topezClient sessionDescription. - ^ 'GemStone Shell: ' , self sessionName , ' (' , sessionDescription stoneName , ':' , sessionDescription netLDI , ')' \ No newline at end of file + ^ 'GemStone ', self sessionDescription gemstoneVersion, ' Shell: ' , self sessionName , ' (' , self sessionDescription stoneName , ':' + , self sessionDescription netLDI , ')' \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/logout.st b/repository/Tode-Client-Common.package/TDShell.class/instance/logout.st index c861f6017..0b51d32e0 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/logout.st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/logout.st @@ -4,7 +4,7 @@ logout | tpz | self close. - tpz := self topezClient. + tpz := topezClient. tpz ifNil: [ ^ nil ]. topezClient := nil. tpz logout. diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/objectSerializer.st b/repository/Tode-Client-Common.package/TDShell.class/instance/objectSerializer.st new file mode 100644 index 000000000..4be4ffcb4 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/objectSerializer.st @@ -0,0 +1,3 @@ +accessing +objectSerializer + ^ self topez objectSerializer \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/onServerDo..st b/repository/Tode-Client-Common.package/TDShell.class/instance/onServerDo..st new file mode 100644 index 000000000..98eb8893e --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/onServerDo..st @@ -0,0 +1,36 @@ +server blocks +onServerDo: aBlock + | blockAst outerContext variableBindings blockScopes blockScope serverSource stonString | + aBlock numArgs > 0 + ifTrue: [ self error: 'only zeroArg blocks may be executed on the server' ]. + outerContext := aBlock outerContext. + outerContext hasInstVarRef + ifTrue: [ self error: 'cannot reference instance variables in server block' ]. + blockAst := aBlock sourceNode. + blockScopes := (OCScopesCollector new visitNode: blockAst) scopes. + blockScope := blockScopes at: 1. + variableBindings := Dictionary new. + blockScope copiedVars + do: [ :tempVar | + | val tempName index | + tempVar isStoringTempVector + ifTrue: [ + tempVar tempVectorForTempStoringIt + do: [ :tempVectorVars | + + tempName := tempVectorVars name. + index := aBlock asContext tempNames indexOf: tempName. + index > 0 + ifTrue: [ + val := aBlock asContext namedTempAt: index. + variableBindings at: tempName put: val ] ] ] + ifFalse: [ + tempName := tempVar name. + index := outerContext tempNames indexOf: tempName. + index > 0 + ifTrue: [ + val := outerContext namedTempAt: index. + variableBindings at: tempName put: val ] ] ]. + serverSource := aBlock sourceNode body formattedCode. + stonString := self evaluateSTONSmalltalk: serverSource variableBindings: variableBindings. + ^ self objectSerializer fromString: stonString \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/quit.st b/repository/Tode-Client-Common.package/TDShell.class/instance/quit.st new file mode 100644 index 000000000..f6bdd2d4c --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/quit.st @@ -0,0 +1,6 @@ +accessing +quit + "use when tdShell is NOT associated with a window .. ensure that all associated windows closed and + that session terminated." + + ^ self windowIsClosing \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/scriptDirectoryFrom..st b/repository/Tode-Client-Common.package/TDShell.class/instance/scriptDirectoryFrom..st deleted file mode 100644 index cc865d563..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/scriptDirectoryFrom..st +++ /dev/null @@ -1,20 +0,0 @@ -built-ins -scriptDirectoryFrom: options - options - at: 'clientScriptPath' - ifPresent: [ :dirname | - | path | - path := dirname. - (dirname beginsWith: '/') - ifFalse: [ path := TDShell updateServerHome , dirname ]. - ^ self filetreeUtilityClass directoryFromPath: path ] - ifAbsent: [ - options - at: 'serverScriptPath' - ifPresent: [ :dirname | - | path | - path := dirname. - (dirname beginsWith: '/') - ifFalse: [ path := TDShell updateServerHome , dirname ]. - ^ self filetreeUtilityClass directoryFromPath: path ] - ifAbsent: [ ^self scriptDirectoryFromBaselineOfTode ]] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/scriptDirectoryFromBaselineOfTode.st b/repository/Tode-Client-Common.package/TDShell.class/instance/scriptDirectoryFromBaselineOfTode.st deleted file mode 100644 index a4c52019b..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/scriptDirectoryFromBaselineOfTode.st +++ /dev/null @@ -1,10 +0,0 @@ -evaluator engine -scriptDirectoryFromBaselineOfTode - | wc fileTreeRepo repoDir fileTreeRepoPath fileTreeRepoDir | - wc := MCWorkingCopy registry detect: [ :mgr | mgr packageName = 'BaselineOfTode' ]. - fileTreeRepo := (wc repositoryGroup repositories reject: [ :repo | MCCacheRepository default = repo ]) - detect: [ :repo | repo isKindOf: MCFileTreeRepository ]. - fileTreeRepoPath := self filetreeUtilityClass directoryPathString: fileTreeRepo directory. - fileTreeRepoDir := self filetreeUtilityClass directoryFromPath: fileTreeRepoPath. - repoDir := self filetreeUtilityClass parentDirectoryOf: fileTreeRepoDir. - ^ self filetreeUtilityClass directoryFromPath: 'installTode' relativeTo: repoDir \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/shellWindow..st b/repository/Tode-Client-Common.package/TDShell.class/instance/shellWindow..st new file mode 100644 index 000000000..686745588 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/shellWindow..st @@ -0,0 +1,3 @@ +accessing +shellWindow: aWindow + shellWindow := aWindow \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/stoneName.st b/repository/Tode-Client-Common.package/TDShell.class/instance/stoneName.st new file mode 100644 index 000000000..3276b0dc9 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/stoneName.st @@ -0,0 +1,3 @@ +accessing +stoneName + ^ self sessionDescription stoneName \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/whatsNew.st b/repository/Tode-Client-Common.package/TDShell.class/instance/whatsNew.st deleted file mode 100644 index 7dc91a642..000000000 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/whatsNew.st +++ /dev/null @@ -1,6 +0,0 @@ -built-ins -whatsNew - ^self openWorkspace: 'dkh 3/22/2014 18:03 -------------------- -It''s all new right now. -' label: 'What''s new?'. diff --git a/repository/Tode-Client-Common.package/TDShell.class/instance/windowIsClosing.st b/repository/Tode-Client-Common.package/TDShell.class/instance/windowIsClosing.st index 50d00fe30..00d0ad32f 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/instance/windowIsClosing.st +++ b/repository/Tode-Client-Common.package/TDShell.class/instance/windowIsClosing.st @@ -1,10 +1,12 @@ accessing windowIsClosing - | status | - windowStatus ifNil: [ ^ self ]. - windowStatus unregisterShellWindow: self shellWindow. - status := windowStatus. - windowStatus := nil. - status windowIsClosing. - status shellWindows isEmpty - ifTrue: [ self logout ] \ No newline at end of file + | status | + windowStatus ifNil: [ ^ self ]. + self + deferFlushEventNotificationDuring: [ + windowStatus unregisterShellWindow: self shellWindow. + status := windowStatus. + windowStatus := nil. + status close ]. + status shellWindows isEmpty + ifTrue: [ self exit ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDShell.class/methodProperties.json b/repository/Tode-Client-Common.package/TDShell.class/methodProperties.json index 9295afc62..3c06084a2 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/methodProperties.json +++ b/repository/Tode-Client-Common.package/TDShell.class/methodProperties.json @@ -1,7 +1,10 @@ { "class" : { - "cleanForDeploy" : "dkh 6/15/2014 09:51", - "clientScriptsHome" : "dkh 7/20/2014 10:05", + "cleanForDeploy" : "dkh 11/14/2014 10:38", + "clientScriptsFiles:" : "dkh 3/26/2015 11:12", + "clientScriptsPath" : "dkh 3/11/2015 11:34", + "currentShell" : "dkh 3/21/2015 11:13", + "currentShell:" : "dkh 3/21/2015 13:06", "debugMode" : "dkh 11/19/2012 14:41", "debugMode:" : "dkh 11/19/2012 14:41", "defaultAdornmentColor" : "dkh 2/23/2013 09:22", @@ -9,41 +12,67 @@ "devKitRoot:" : "dkh 7/20/2014 10:10", "enableDebugger" : "dkh 11/19/2012 14:41", "enableDebugger:" : "dkh 11/19/2012 14:41", - "imageWorkspaceHome" : "dkh 7/20/2014 10:06", - "importSessionDescriptionFrom:for:" : "dkh 7/7/2014 21:18", + "forSessionNamed:" : "dkh 4/15/2015 14:47", + "importSessionDescriptionFrom:for:" : "dkh 4/12/2015 11:33", "initialize" : "dkh 6/1/2014 19:06", + "lookupClientScripts:stoneName:" : "dkh 3/11/2015 15:54", + "lookupPharoScript:" : "dkh 8/16/2015 11:30", + "lookupServerScripts:" : "dkh 3/11/2015 15:54", + "lookupWindowLayout:" : "dkh 3/11/2015 15:56", + "onServer:do:" : "dkh 4/15/2015 10:40", "open" : "dkh 5/28/2014 07:15", - "open:" : "dkh 3/23/2014 10:26", + "open:" : "dkh 3/11/2015 11:16", "openFrom:" : "dkh 5/28/2014 07:15", "openOnSessionDescription:" : "dkh 4/12/2014 08:43", "openSessionDescription:evaluate:" : "dkh 4/13/2014 08:30", - "resetWorldMenu" : "dkh 4/30/2014 15:55", + "pharoPath" : "dkh 8/16/2015 11:28", + "pharoWorldMenuOn:" : "dkh 3/25/2015 08:37", + "resetWorldMenu" : "dkh 3/21/2015 09:20", + "resizeTranscript:" : "dkh 4/4/2015 16:50", + "restorePharoWorldMenu" : "dkh 3/21/2015 09:21", + "serverScriptsPath" : "dkh 3/11/2015 12:22", "sessionDescription:" : "dkh 7/19/2014 07:28", "sessionDescription:debugMode:" : "dkh 7/25/2014 16:46", "sessionDescription:evaluate:" : "dkh 7/25/2014 10:17", - "sessionDescription:evaluate:debugMode:" : "dkh 7/25/2014 16:47", - "sessionDescriptionHome" : "dkh 7/20/2014 10:06", - "startUp:" : "dkh 6/3/2014 20:12", - "testLogin:" : "dkh 5/28/2014 07:15", + "sessionDescription:evaluate:debugMode:" : "dkh 2/21/2015 10:35", + "startUp:" : "dkh 3/21/2015 20:02", + "testLogin:" : "dkh 3/11/2015 11:16", "testLoginForSessionDescription:" : "dkh 4/12/2014 08:51", - "testWindowLayout:" : "dkh 5/28/2014 07:15", - "todeDefineDevKitRootMenuItemOn:" : "dkh 7/20/2014 10:27", - "todeDefineTodeHelpMenuItemOn:" : "dkh 4/13/2014 08:52", - "todeDefineWebEditionRootMenuItemOn:" : "dkh 6/1/2014 09:18", - "todeImageWorkspacesOn:" : "dkh 6/1/2014 09:26", - "todeMenuCommandOn:" : "dkh 7/28/2014 17:41", - "todeOn:" : "dkh 4/30/2014 15:54", - "todePath" : "dkh 7/20/2014 10:04", - "todeRefreshMenuMenuItemOn:" : "dkh 5/1/2014 14:19", - "todeRoot" : "dkh 7/21/2014 10:47", - "todeUpdateClientMenuItemOn:" : "dkh 5/28/2014 07:15", - "todeWindowPropertiesCommandOn:" : "dkh 6/2/2014 06:59", - "updateServerHome" : "dkh 7/20/2014 10:06", - "webEditionRoot" : "dkh 6/1/2014 09:45", - "webEditionRoot:" : "dkh 7/20/2014 10:03", - "windowLayoutHome" : "dkh 7/20/2014 10:06" }, + "testWindowLayout:" : "dkh 3/11/2015 11:16", + "todeDefineDevKitRootMenuItemOn:" : "dkh 4/4/2015 17:21", + "todeDefineTodeHelpMenuItemOn:" : "dkh 3/21/2015 09:50", + "todeDefineTodeRootMenuItemOn:" : "dkh 4/4/2015 17:21", + "todeMenuCommandOn:" : "dkh 4/12/2015 11:33", + "todeOn:" : "dkh 4/4/2015 17:22", + "todePath" : "dkh 11/14/2014 10:58", + "todePath:" : "dkh 11/14/2014 10:58", + "todePharoPath" : "dkh 3/11/2015 14:03", + "todeRoot" : "dkh 2/3/2015 23:08", + "todeRoot:" : "dkh 2/3/2015 23:26", + "todeSessionMenuOn:" : "dkh 3/25/2015 08:42", + "todeSessionToolsMenuOn:" : "dkh 3/21/2015 15:45", + "todeSysDefaultClientScriptsPath" : "dkh 3/11/2015 15:51", + "todeSysDefaultPath" : "dkh 11/14/2014 10:59", + "todeSysDefaultPharoPath" : "dkh 8/16/2015 11:29", + "todeSysDefaultServerScriptsPath" : "dkh 3/11/2015 12:24", + "todeSysDefaultWindowLayoutPath" : "dkh 3/11/2015 09:58", + "todeSysLocalClientScriptsPath" : "dkh 3/11/2015 15:51", + "todeSysLocalPath" : "dkh 11/14/2014 10:59", + "todeSysLocalPharoPath" : "dkh 8/16/2015 11:29", + "todeSysLocalServerScriptsPath" : "dkh 3/11/2015 12:23", + "todeSysLocalSessionDescriptionPath" : "dkh 3/11/2015 11:24", + "todeSysLocalWindowLayoutPath" : "dkh 3/11/2015 09:58", + "todeSysPath" : "dkh 11/14/2014 11:46", + "todeSysStonePath:" : "dkh 3/10/2015 20:36", + "todeWindowPropertiesCommandOn:" : "dkh 4/9/2015 18:58", + "todeWorldMenuOn:" : "dkh 3/21/2015 09:51", + "useTodeSys" : "dkh 11/14/2014 11:18", + "useTodeSys:" : "dkh 11/14/2014 11:18", + "windowLayoutFiles" : "dkh 3/11/2015 11:39", + "windowLayoutPath" : "dkh 3/11/2015 09:57", + "windowLayoutWorkspaceNamed:for:" : "dkh 3/11/2015 14:42" }, "instance" : { - "accumulateText:" : "dkh 5/15/2013 16:10", + "accumulateText:" : "dkh 6/25/2015 17:08", "accumulateTextAndDo:" : "dkh 5/15/2013 16:01", "accumulateTextAndServerDo:" : "dkh 3/29/2013 15:06", "actionStack" : "dkh 11/19/2012 14:41", @@ -54,64 +83,69 @@ "autoCommitEnabled" : "dkh 5/27/2014 11:31", "batchMode" : "dkh 7/25/2014 16:41", "batchMode:" : "dkh 7/25/2014 16:40", - "builtInCommands" : "dkh 6/19/2014 11:52", - "builtIns" : "dkh 6/19/2014 11:52", - "close" : "dkh 3/22/2014 12:50", + "builtInCommands" : "dkh 3/25/2015 21:30", + "builtIns" : "dkh 3/25/2015 21:38", + "close" : "dkh 9/1/2015 09:17", "collapse" : "dkh 3/22/2014 12:50", - "console" : "dkh 5/16/2013 20:41", + "console" : "dkh 4/17/2015 11:20", "debugMode" : "dkh 8/6/2014 09:36", "debugMode:" : "dkh 7/25/2014 07:45", + "deferFlushEventNotificationDuring:" : "dkh 9/1/2015 09:16", "displaySessionDescription" : "dkh 3/22/2014 13:16", "doEndOfFile" : "dkh 11/19/2012 14:41", "editSessionDescription" : "dkh 3/23/2014 10:01", - "evaluate:" : "dkh 7/25/2014 07:46", - "evaluateCommand:" : "dkh 7/25/2014 16:41", + "evaluate:" : "dkh 12/17/2014 16:47", + "evaluateCommand:" : "dkh 6/25/2015 17:07", + "evaluateSTONSmalltalk:" : "dkh 4/11/2015 07:06", + "evaluateSTONSmalltalk:variableBindings:" : "dkh 4/11/2015 11:36", "evaluateSmalltalk:" : "dkh 7/26/2014 10:32", "exception:" : "dkh 11/19/2012 15:34", - "executeBuiltIn:" : "dkh 6/19/2014 12:26", + "executeBuiltIn:" : "dkh 3/25/2015 21:31", "executeDebugMode:" : "dkh 8/6/2014 09:41", - "executeInstallServer:" : "dkh 6/19/2014 12:35", + "executeInstallServer:" : "dkh 3/25/2015 21:36", "executeRestoreBackup:" : "dkh 1/5/2014 14:03", - "executeScript:" : "dkh 3/23/2014 14:22", + "executeScript:" : "dkh 3/26/2015 11:20", "executeSessionDescription:" : "dkh 5/28/2014 07:15", - "executeUpdateClient:" : "dkh 7/22/2014 13:42", - "executeUpdateServer:" : "dkh 6/19/2014 12:34", - "exit" : "dkh 3/23/2014 11:04", + "executeUpdateClient:" : "dkh 8/16/2015 11:48", + "exit" : "dkh 4/17/2015 06:30", "expand" : "dkh 3/22/2014 12:51", - "filetreeUtilityClass" : "dkh 12/8/2013 17:41", + "exportClassToServer:" : "dkh 4/15/2015 13:31", + "exportMethodToServer:source:protocol:isMeta:" : "dkh 4/15/2015 13:30", "filterAndForwardEvent:" : "dkh 11/19/2012 14:41", - "help" : "dkh 3/23/2014 15:18", + "help" : "dkh 3/25/2015 09:17", "history" : "dkh 3/28/2013 19:58", "history:" : "dkh 3/27/2013 15:43", "initialize" : "dkh 3/27/2013 15:47", "installHistoryEntry:windowMorph:" : "dkh 3/27/2013 16:04", - "label" : "dkh 12/16/2013 15:07", - "logout" : "dkh 3/22/2014 12:50", + "label" : "dkh 7/7/2015 16:28", + "logout" : "dkh 2/21/2015 11:07", "nextHistory" : "dkh 3/27/2013 17:12", - "openOnSessionDescription:" : "dkh 7/19/2014 07:27", + "objectSerializer" : "dkh 6/25/2015 16:57", + "onServerDo:" : "dkh 6/25/2015 16:54", + "openOnSessionDescription:" : "dkh 4/17/2015 11:19", "openWorkspace:label:" : "dkh 6/1/2014 09:25", "openWorkspace:styling:label:" : "dkh 6/1/2014 09:27", "postCopy" : "dkh 1/15/2013 11:27", "previousHistory" : "dkh 3/27/2013 17:11", "promptString" : "dkh 2/21/2013 18:27", + "quit" : "dkh 4/15/2015 11:26", "resetStack" : "dkh 5/15/2013 16:21", - "scriptDirectoryFrom:" : "dkh 6/19/2014 12:34", - "scriptDirectoryFromBaselineOfTode" : "dkh 12/8/2013 17:40", "session" : "dkh 3/29/2013 15:06", "sessionDescription" : "dkh 3/22/2014 10:23", "sessionDescription:" : "dkh 7/19/2014 07:25", "sessionName" : "dkh 2/23/2013 07:19", "shellId" : "dkh 1/15/2013 11:26", "shellWindow" : "dkh 11/19/2012 15:05", + "shellWindow:" : "dkh 4/10/2015 14:13", "spawn:adornmentColor:" : "dkh 6/2/2014 06:45", "spawnWindow" : "dkh 3/24/2014 18:06", "stateStack" : "dkh 5/15/2013 16:00", + "stoneName" : "dkh 11/14/2014 11:02", "tabCompletion:" : "dkh 3/28/2013 07:41", "testLogin" : "dkh 12/8/2013 09:25", "topez" : "dkh 12/21/2012 12:43", "topezClient" : "dkh 2/23/2013 07:36", - "whatsNew" : "dkh 3/22/2014 18:04", - "windowIsClosing" : "dkh 1/15/2013 12:02", + "windowIsClosing" : "dkh 9/1/2015 09:18", "windowLabel" : "dkh 3/22/2014 14:27", "windowRegistration" : "dkh 12/21/2012 10:10", "windowStatus" : "dkh 1/15/2013 12:02" } } diff --git a/repository/Tode-Client-Common.package/TDShell.class/properties.json b/repository/Tode-Client-Common.package/TDShell.class/properties.json index fb5098c25..d8136c901 100644 --- a/repository/Tode-Client-Common.package/TDShell.class/properties.json +++ b/repository/Tode-Client-Common.package/TDShell.class/properties.json @@ -1,15 +1,14 @@ { "category" : "Tode-Client-Common", "classinstvars" : [ - "commands", - "subCommands", - "rootNode" ], + "currentShell" ], "classvars" : [ "DebugMode", "DevKitRoot", "EnableDebugger", "TodePath", - "WebEditionRoot" ], + "TodeRoot", + "UseTodeSys" ], "commentStamp" : "", "instvars" : [ "windowStatus", diff --git a/repository/Tode-Client-Common.package/TDSmallWindowProperties.class/instance/caculateWindowBounds.st b/repository/Tode-Client-Common.package/TDSmallWindowProperties.class/instance/caculateWindowBounds.st index 9946b119b..450e32018 100644 --- a/repository/Tode-Client-Common.package/TDSmallWindowProperties.class/instance/caculateWindowBounds.st +++ b/repository/Tode-Client-Common.package/TDSmallWindowProperties.class/instance/caculateWindowBounds.st @@ -1,6 +1,6 @@ window bounds caculateWindowBounds - | layoutExtent dict lw lo lh topHeight shellHeight browserHeight codeWidth shellExtent classCategories classes evaluator superclasses classDef instanceSelectors classSelectors configurations packages implementors app1 app2 app3 app4 context debugger inspector method codeHeight appExtent displayExtent debuggerWidth lcw lce | + | layoutExtent dict lw lo lh topHeight shellHeight browserHeight codeWidth shellExtent classCategories classes evaluator superclasses classDef instanceSelectors classSelectors configurations packages implementors app1 app2 app3 app4 context debugger inspector method codeHeight appExtent displayExtent debuggerWidth lcw lce projectList transcript classicClassDef classicClassButtonBar classicProtocol | displayExtent := Display usableArea extent. layoutExtent := displayExtent - (2 @ 2 * margin). lo := margin. @@ -19,7 +19,10 @@ caculateWindowBounds method := superclasses bottomLeft extent: codeWidth @ codeHeight. evaluator := method bottomLeft extent: shellExtent. classDef := superclasses topRight extent: (1.5 * lw) @ topHeight. + classicClassDef := superclasses topRight extent: (1.5 * lw) @ (topHeight * 0.65). + classicClassButtonBar := superclasses topRight + (0 @ (topHeight * 0.65)) extent: (1.5 * lw) @ (topHeight * 0.35). instanceSelectors := classDef topRight extent: lw @ topHeight. + classicProtocol := instanceSelectors. classSelectors := instanceSelectors topRight extent: lw @ topHeight. implementors := method topRight extent: shellExtent x @ codeHeight. inspector := evaluator topRight extent: shellExtent. @@ -29,10 +32,16 @@ caculateWindowBounds app2 := evaluator topRight - (0 @ appExtent y) extent: appExtent. app3 := evaluator topRight extent: appExtent. app4 := evaluator topRight - (0 @ appExtent y) extent: appExtent. + projectList := app1. + transcript := projectList topRight + (0 @ (projectList height // 2)) + extent: (layoutExtent x - projectList topRight x) @ (projectList height // 2). dict at: #evaluator put: evaluator; at: #superclasses put: superclasses; at: #classDef put: classDef; + at: #classicClassDef put: classicClassDef; + at: #classicClassButtonBar put: classicClassButtonBar; + at: #classicProtocol put: classicProtocol; at: #instanceSelectors put: instanceSelectors; at: #classSelectors put: classSelectors; at: #implementors put: implementors; @@ -44,6 +53,9 @@ caculateWindowBounds at: #app2 put: app2; at: #app3 put: app3; at: #app4 put: app4; + at: #projectList put: projectList; + at: #workspace put: method; + at: #transcript put: transcript; yourself. classCategories := lo extent: lce. classes := classCategories bottomLeft extent: lce. diff --git a/repository/Tode-Client-Common.package/TDSmallWindowProperties.class/methodProperties.json b/repository/Tode-Client-Common.package/TDSmallWindowProperties.class/methodProperties.json index 86051a34d..0e65b9341 100644 --- a/repository/Tode-Client-Common.package/TDSmallWindowProperties.class/methodProperties.json +++ b/repository/Tode-Client-Common.package/TDSmallWindowProperties.class/methodProperties.json @@ -2,4 +2,4 @@ "class" : { }, "instance" : { - "caculateWindowBounds" : "dkh 8/6/2014 20:44" } } + "caculateWindowBounds" : "dkh 8/31/2015 17:35" } } diff --git a/repository/Tode-Client-Common.package/TDStandardWindowProperties.class/instance/caculateWindowBounds.st b/repository/Tode-Client-Common.package/TDStandardWindowProperties.class/instance/caculateWindowBounds.st index 500ea3ce2..11abdb994 100644 --- a/repository/Tode-Client-Common.package/TDStandardWindowProperties.class/instance/caculateWindowBounds.st +++ b/repository/Tode-Client-Common.package/TDStandardWindowProperties.class/instance/caculateWindowBounds.st @@ -1,6 +1,6 @@ window bounds caculateWindowBounds - | layoutExtent dict lw lo lh topHeight shellHeight browserHeight codeWidth le shellExtent classCategories classes evaluator superclasses classDef instanceSelectors classSelectors configurations packages implementors app1 app2 app3 app4 context debugger inspector method codeHeight appExtent displayExtent debuggerWidth | + | layoutExtent dict lw lo lh topHeight shellHeight browserHeight codeWidth le shellExtent classCategories classes evaluator superclasses classDef instanceSelectors classSelectors configurations packages implementors app1 app2 app3 app4 context debugger inspector method codeHeight appExtent displayExtent debuggerWidth projectList transcript classicClassDef classicClassButtonBar classicProtocol | displayExtent := Display usableArea extent. layoutExtent := displayExtent - (2 @ 2 * margin). lo := margin. @@ -21,8 +21,11 @@ caculateWindowBounds classes := classCategories bottomLeft extent: le. evaluator := classes bottomLeft extent: shellExtent. superclasses := classCategories topRight extent: lw @ topHeight. - classDef := superclasses topRight extent: (codeWidth - lw) @ topHeight. + classDef := superclasses topRight extent: (codeWidth - lw) @ (topHeight * 0.65). + classicClassDef := superclasses topRight extent: (codeWidth - lw) @ (topHeight * 0.65). + classicClassButtonBar := superclasses topRight + (0 @ (topHeight * 0.65)) extent: (codeWidth - lw) @ (topHeight * 0.35). instanceSelectors := classDef topRight extent: le. + classicProtocol := instanceSelectors. classSelectors := instanceSelectors topRight extent: le. configurations := lo extent: lw @ (lh // 2). packages := configurations bottomLeft extent: lw @ (lh // 2). @@ -35,12 +38,18 @@ caculateWindowBounds app2 := app1 topRight extent: appExtent. app3 := evaluator topRight - (0 @ lh) extent: appExtent. app4 := app3 topRight extent: appExtent. + projectList := app1. + transcript := projectList topRight + (0 @ (projectList height // 2)) + extent: (layoutExtent x - projectList topRight x) @ (projectList height // 2). dict at: #classCategories put: classCategories; at: #classes put: classes; at: #evaluator put: evaluator; at: #superclasses put: superclasses; at: #classDef put: classDef; + at: #classicClassDef put: classicClassDef; + at: #classicClassButtonBar put: classicClassButtonBar; + at: #classicProtocol put: classicProtocol; at: #instanceSelectors put: instanceSelectors; at: #classSelectors put: classSelectors; at: #configurations put: configurations; @@ -54,5 +63,8 @@ caculateWindowBounds at: #app2 put: app2; at: #app3 put: app3; at: #app4 put: app4; + at: #projectList put: projectList; + at: #workspace put: method; + at: #transcript put: transcript; yourself. ^ dict \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDStandardWindowProperties.class/methodProperties.json b/repository/Tode-Client-Common.package/TDStandardWindowProperties.class/methodProperties.json index f807edfc4..d598fbe00 100644 --- a/repository/Tode-Client-Common.package/TDStandardWindowProperties.class/methodProperties.json +++ b/repository/Tode-Client-Common.package/TDStandardWindowProperties.class/methodProperties.json @@ -2,7 +2,7 @@ "class" : { "standardOne" : "dkh 5/31/2014 18:09" }, "instance" : { - "caculateWindowBounds" : "dkh 5/31/2014 17:51", + "caculateWindowBounds" : "dkh 8/31/2015 17:28", "codeWidthFactor" : "dkh 5/31/2014 17:07", "codeWidthFactor:" : "dkh 5/31/2014 17:07", "extraLists" : "dkh 5/31/2014 17:07", diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/clearUserEditFlagFor..st b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/clearUserEditFlagFor..st new file mode 100644 index 000000000..282be8add --- /dev/null +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/clearUserEditFlagFor..st @@ -0,0 +1,3 @@ +as yet unclassified +clearUserEditFlagFor: aWindowId + self windowStatus clearUserEditFlagFor: aWindowId \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/editElement.aspect.label.inWindow.at..st b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/editElement.aspect.label.inWindow.at..st index 48219bc93..6633c69a6 100644 --- a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/editElement.aspect.label.inWindow.at..st +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/editElement.aspect.label.inWindow.at..st @@ -7,7 +7,16 @@ editElement: aClientElement aspect: aspectSelector label: labelString inWindow: self currentWindowId: windowId. label := labelString. newWindow := (self windowStatus windowAt: windowId) isNil. - (win := self editorWindowAt: windowId) model + win := self editorWindowAt: windowId. + newWindow + ifFalse: [ + | morph | + morph := win model activeEditor morph. + morph canDiscardEdits + ifFalse: [ + morph promptForCancel + ifTrue: [ ^ self ] ] ]. + win model perform: aspectSelector; clientElement: aClientElement; windowId: windowId; diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/editStonElement..st b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/editStonElement..st index 0773b82a6..320a28b03 100644 --- a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/editStonElement..st +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/editStonElement..st @@ -1,6 +1,6 @@ as yet unclassified editStonElement: aStonString | clientElement | - clientElement := STON fromString: aStonString. + clientElement := self objectSerializer fromString: aStonString. clientElement topez: self. ^self editClientElement: clientElement \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/eventCache.st b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/eventCache.st new file mode 100644 index 000000000..ecd44f22f --- /dev/null +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/eventCache.st @@ -0,0 +1,4 @@ +client element caching +eventCache + eventCache ifNil: [ eventCache := TDEventsCache new ]. + ^ eventCache \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/interactWith..st b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/interactWith..st index bc7c3a536..6e0f7683f 100644 --- a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/interactWith..st +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/interactWith..st @@ -1,5 +1,5 @@ as yet unclassified interactWith: aString | interaction | - interaction := STON fromString: aString. - ^STON toString: interaction interact \ No newline at end of file + interaction := self objectSerializer fromString: aString. + ^self objectSerializer toString: interaction interact \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/logStack.st b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/logStack.st new file mode 100644 index 000000000..c62d2157e --- /dev/null +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/logStack.st @@ -0,0 +1,3 @@ +as yet unclassified +logStack + self logStackMessage value \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/logStackMessage.st b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/logStackMessage.st new file mode 100644 index 000000000..d775f2a2a --- /dev/null +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/logStackMessage.st @@ -0,0 +1,11 @@ +as yet unclassified +logStackMessage + logStackMessage + ifNil: [ + logStackMessage := TZGsMessageSend new + topez: self; + receiver: (self session asOopType: self topezServerOop); + selector: 'logExceptionStack'; + arguments: #(); + transform: #'raw' -> nil ]. + ^ logStackMessage \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/objectSerializer..st b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/objectSerializer..st new file mode 100644 index 000000000..4c64316fd --- /dev/null +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/objectSerializer..st @@ -0,0 +1,3 @@ +as yet unclassified +objectSerializer: aTodeObjectSerializer + objectSerializer := aTodeObjectSerializer \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/objectSerializer.st b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/objectSerializer.st new file mode 100644 index 000000000..ae97f815b --- /dev/null +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/objectSerializer.st @@ -0,0 +1,5 @@ +as yet unclassified +objectSerializer + objectSerializer + ifNil: [ objectSerializer := TodeObjectSerializer serializeUsing: TodeObjectSerializer defaultProtocolSignatureArray ]. + ^ objectSerializer \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/remapTranscriptClientForwarderFrom.to..st b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/remapTranscriptClientForwarderFrom.to..st new file mode 100644 index 000000000..266faad74 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/remapTranscriptClientForwarderFrom.to..st @@ -0,0 +1,5 @@ +as yet unclassified +remapTranscriptClientForwarderFrom: oldTranscript to: newTranscript + "noop" + + \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/retireClientElement..st b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/retireClientElement..st new file mode 100644 index 000000000..834cf5084 --- /dev/null +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/retireClientElement..st @@ -0,0 +1,3 @@ +client element caching +retireClientElement: clientElement + self eventCache listAt: #clientElementRetirees add: clientElement clientElementOop \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/shellHistory.st b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/shellHistory.st index b4631e251..44b4a171d 100644 --- a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/shellHistory.st +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/shellHistory.st @@ -1,3 +1,3 @@ as yet unclassified shellHistory - ^ STON toString: self shell history asArray \ No newline at end of file + ^ self objectSerializer toString: self shell history asArray \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/tabCompletionMessage.st b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/tabCompletionMessage.st index d11bf7cff..764f262f5 100644 --- a/repository/Tode-Client-Common.package/TDTopezClient.class/instance/tabCompletionMessage.st +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/instance/tabCompletionMessage.st @@ -7,5 +7,5 @@ tabCompletionMessage receiver: (self session asOopType: self topezServerOop); selector: 'tabCompletion:'; arguments: #(); - transform: #'native' -> nil ]. + transform: #'ston' -> nil ]. ^ tabCompletionMessage \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/methodProperties.json b/repository/Tode-Client-Common.package/TDTopezClient.class/methodProperties.json index 424259e9b..72b2e542e 100644 --- a/repository/Tode-Client-Common.package/TDTopezClient.class/methodProperties.json +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/methodProperties.json @@ -18,44 +18,52 @@ "adornmentColor" : "dkh 11/26/2012 15:16", "autoCommitDisabled" : "dkh 2/21/2013 18:23", "bounds" : "dkh 2/5/2013 07:57", + "clearUserEditFlagFor:" : "dkh 8/31/2015 17:01", "currentWindowId:" : "dkh 1/26/2013 09:58", "dbContinue:" : "dkh 1/11/2014 14:27", "dbStep:forProcessOop:" : "dkh 1/11/2014 15:43", "deleteWindowAt:" : "dkh 10/19/2013 11:19", "editClientElement:" : "dkh 1/8/2014 22:00", - "editElement:aspect:label:inWindow:at:" : "dkh 8/26/2014 06:12", - "editStonElement:" : "dkh 1/8/2014 22:00", + "editElement:aspect:label:inWindow:at:" : "dkh 8/17/2015 16:25", + "editStonElement:" : "dkh 6/25/2015 16:41", "editorWindowAt:" : "dkh 12/27/2012 08:59", "environmentId" : "dkh 2/24/2013 07:11", "evaluateTokenMessage" : "dkh 3/29/2013 15:07", "evaluator" : "dkh 11/21/2012 16:02", + "eventCache" : "dkh 8/11/2015 16:15", "exception:" : "dkh 3/29/2013 13:43", "exception:context:" : "dkh 3/29/2013 14:08", "executeRestoreFromBackupFromClient:" : "dkh 8/2/2013 11:52", "handleDebugExceptionsDuring:" : "dkh 1/11/2014 14:27", "informWarning:" : "dkh 7/25/2014 14:24", - "interactWith:" : "dkh 10/20/2013 14:54", + "interactWith:" : "dkh 6/25/2015 16:41", + "logStack" : "dkh 3/16/2015 15:50", + "logStackMessage" : "dkh 3/16/2015 15:57", "logout" : "dkh 8/26/2014 05:54", "nextAvailableWindowId" : "dkh 11/26/2012 15:04", + "objectSerializer" : "dkh 6/25/2015 15:17", + "objectSerializer:" : "dkh 6/25/2015 15:18", "openDebugger" : "dkh 2/4/2013 14:36", "openDebuggerMessage" : "dkh 3/29/2013 15:07", "postCopy" : "dkh 3/29/2013 15:17", "proxyBehaviorClass" : "dkh 5/28/2013 13:27", "refreshViewFor:" : "dkh 1/11/2014 08:09", + "remapTranscriptClientForwarderFrom:to:" : "dkh 4/4/2015 16:50", "resetObjIn" : "dkh 12/15/2012 08:38", "resetObjInMessage" : "dkh 3/29/2013 15:07", + "retireClientElement:" : "dkh 8/12/2015 12:54", "setExceptionMessage" : "dkh 3/29/2013 15:06", "setFindText:isRegex:" : "dkh 1/31/2014 07:44", "shell" : "dkh 11/19/2012 15:30", "shell:" : "dkh 11/19/2012 15:30", - "shellHistory" : "dkh 3/28/2013 19:58", + "shellHistory" : "dkh 6/25/2015 16:41", "shutdown" : "dkh 8/26/2014 05:54", "spawnWindow" : "dkh 5/28/2013 14:20", "spawnWindowFromServer" : "dkh 6/5/2013 05:21", "status" : "dkh 11/26/2012 15:49", "stylerClass" : "dkh 11/26/2012 15:12", "tabCompletion:" : "dkh 3/28/2013 08:39", - "tabCompletionMessage" : "dkh 3/29/2013 15:07", + "tabCompletionMessage" : "dkh 12/17/2014 19:04", "update:" : "dkh 8/26/2014 06:07", "windowActive:" : "dkh 11/27/2012 14:51", "windowIdNamed:" : "dkh 11/26/2012 15:03", diff --git a/repository/Tode-Client-Common.package/TDTopezClient.class/properties.json b/repository/Tode-Client-Common.package/TDTopezClient.class/properties.json index aa0d63756..30f7daa56 100644 --- a/repository/Tode-Client-Common.package/TDTopezClient.class/properties.json +++ b/repository/Tode-Client-Common.package/TDTopezClient.class/properties.json @@ -17,7 +17,10 @@ "setExceptionMessage", "resetObjInMessage", "openDebuggerMessage", - "tabCompletionMessage" ], + "logStackMessage", + "tabCompletionMessage", + "objectSerializer", + "eventCache" ], "name" : "TDTopezClient", "pools" : [ ], diff --git a/repository/Tode-Client-Common.package/TDWindowStatus.class/instance/clearUserEditFlagFor..st b/repository/Tode-Client-Common.package/TDWindowStatus.class/instance/clearUserEditFlagFor..st new file mode 100644 index 000000000..9bc28e2ae --- /dev/null +++ b/repository/Tode-Client-Common.package/TDWindowStatus.class/instance/clearUserEditFlagFor..st @@ -0,0 +1,3 @@ +accessing +clearUserEditFlagFor: aWindowId + (self windowAt: aWindowId) model clearUserEditFlag \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDWindowStatus.class/instance/unregisterShellWindow..st b/repository/Tode-Client-Common.package/TDWindowStatus.class/instance/unregisterShellWindow..st index 584b157f5..1278b1dff 100644 --- a/repository/Tode-Client-Common.package/TDWindowStatus.class/instance/unregisterShellWindow..st +++ b/repository/Tode-Client-Common.package/TDWindowStatus.class/instance/unregisterShellWindow..st @@ -1,16 +1,17 @@ accessing unregisterShellWindow: aWindow - | theShell index | - theShell := aWindow model cliShell. - self shellWindows remove: aWindow ifAbsent: [ ]. - index := windows indexOf: aWindow. - index > 0 - ifTrue: [ windows at: index put: nil ]. - windows - do: [ :window | - window ~~ nil - ifTrue: [ - (window ~~ aWindow and: [ window model topez shell == theShell ]) - ifTrue: [ - window model windowIsClosing. - window delete ] ] ] \ No newline at end of file + | theShell index | + aWindow ifNil: [ ^ self ]. + theShell := aWindow model cliShell. + self shellWindows remove: aWindow ifAbsent: [ ]. + index := windows indexOf: aWindow. + index > 0 + ifTrue: [ windows at: index put: nil ]. + windows + do: [ :window | + window ~~ nil + ifTrue: [ + (window ~~ aWindow and: [ window model topez shell == theShell ]) + ifTrue: [ + window model windowIsClosing. + window delete ] ] ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDWindowStatus.class/instance/windowIsClosing.st b/repository/Tode-Client-Common.package/TDWindowStatus.class/instance/windowIsClosing.st index 5c2747397..38f163e22 100644 --- a/repository/Tode-Client-Common.package/TDWindowStatus.class/instance/windowIsClosing.st +++ b/repository/Tode-Client-Common.package/TDWindowStatus.class/instance/windowIsClosing.st @@ -4,8 +4,5 @@ windowIsClosing self shellWindows isEmpty not ifTrue: [ ^ self ]. - (windows select: [ :each | each notNil ]) - do: [ :window | - window model windowIsClosing. - window delete ]. + self close. windows detect: [ :window | window notNil ] ifNone: [ ^ self ] \ No newline at end of file diff --git a/repository/Tode-Client-Common.package/TDWindowStatus.class/methodProperties.json b/repository/Tode-Client-Common.package/TDWindowStatus.class/methodProperties.json index 1476dbe78..69587d141 100644 --- a/repository/Tode-Client-Common.package/TDWindowStatus.class/methodProperties.json +++ b/repository/Tode-Client-Common.package/TDWindowStatus.class/methodProperties.json @@ -4,6 +4,7 @@ "instance" : { "activeWindowIndex" : "dkh 11/27/2012 14:53", "activeWindowModel" : "dkh 11/27/2012 15:47", + "clearUserEditFlagFor:" : "dkh 8/31/2015 17:02", "close" : "dkh 12/27/2012 08:59", "collapse" : "dkh 12/27/2012 08:59", "deleteWindowAt:" : "dkh 10/19/2013 11:42", @@ -18,10 +19,10 @@ "registerShellWindow:" : "dkh 12/21/2012 10:08", "shellWindowCount" : "dkh 1/15/2013 11:24", "shellWindows" : "dkh 12/21/2012 10:15", - "unregisterShellWindow:" : "dkh 1/15/2013 11:56", + "unregisterShellWindow:" : "dkh 4/10/2015 14:02", "windowActive:" : "dkh 1/26/2013 10:01", "windowAt:" : "dkh 11/19/2012 14:54", "windowAt:put:" : "dkh 11/27/2012 14:57", "windowIdNamed:" : "dkh 11/19/2012 16:10", - "windowIsClosing" : "dkh 12/21/2012 10:16", + "windowIsClosing" : "dkh 9/1/2015 09:03", "windowNamesAndIds" : "dkh 11/19/2012 14:54" } } diff --git a/repository/Tode-Client-Common.package/monticello.meta/version b/repository/Tode-Client-Common.package/monticello.meta/version index 4811b6d83..a7f73b9dd 100644 --- a/repository/Tode-Client-Common.package/monticello.meta/version +++ b/repository/Tode-Client-Common.package/monticello.meta/version @@ -1 +1 @@ -(name 'Tode-Client-Common-dkh.117' message 'Issue #107: arrange to resize all existing windows when window layout is changed' id '62a19448-9daa-440a-be72-45462dd0a1f2' date '26 August 2014' time '6:25:06.483287 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.116' message 'use maximum space (and overlap) for all windows' id '4f197992-0667-4668-8274-ed5bbc7b3898' date '6 August 2014' time '8:46:54.95945 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.115' message 'browser and debugger layed out satisfactorily' id '39b06453-a688-4aa3-b7ec-369299da6b1e' date '6 August 2014' time '8:12:52.304612 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.113' message 'merged by GitFileTree-MergeDriver' id '2520f852-6709-46a2-94e7-ad61ca71decd' date '6 August 2014' time '6:04:02.659559 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.112' message 'Create TDSmallWindowProperties for presentations on non-HDI projectors' id '78795b35-e3c8-4b1a-b59a-1a46ceb39ff1' date '6 August 2014' time '5:56:24.38195 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.111' message 'ignore README.md in the client/descriptions directory; signal error when running headless and error occurs on server while running tODE command' id '2c20c20d-7e3e-4a70-9b49-2311ff6b5413' date '28 July 2014' time '7:57:51.009868 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.110' message 'make it possible to evaluate Smalltalk expressions on server ... side effects are more important that return value' id 'e0403b58-b3a0-43ef-8011-1598985ed6f5' date '26 July 2014' time '11:20:13.352127 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.109' message 'add batchMode to TDShell ... tode client will NOT swap out the Transcript client forwarder in batch mode ... ultimately provide a means for choosing whether Transcript output should show up in client or not' id 'd42aed90-335a-493a-baf0-6659ba55caf5' date '25 July 2014' time '4:54:39.004675 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.108' message 'clean up the client-side interaction when client is run in headless mode' id 'd31917fe-11e6-43b6-8fe2-b87686ba6752' date '25 July 2014' time '4:21:02.114664 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.107' message 'allow for turning on debugMode when running non-console evaluations' id '15449619-b69a-40a5-b20a-53ed2deab3db' date '25 July 2014' time '7:53:24.149103 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.106' message 'implement --lock option for updateClient builtin' id '7fbdb162-a3ae-4daf-b5e4-d81aeeea4248' date '22 July 2014' time '1:45:50.640014 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.105' message 'more parallel GsDevKit and Web Edition Root work... until web edition is retired ...' id '031b3ab7-8ff5-4727-a783-4717ae1a2ef5' date '21 July 2014' time '10:52:25.025737 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.104' message 'add "Define Dev Kit root'' tode menu item in parallel with the Web Edition Root ... until web edition is retired ...' id '6e084f23-67ea-4dfa-82b4-f3770cd1f335' date '20 July 2014' time '10:30:52.612798 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.103' message 'prepare for changes in gsDevKit structure' id '44c8aae4-e01e-4073-a455-cd6a4bc253cd' date '20 July 2014' time '10:19:04.566069 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.102' message 'add support fro evaluating a comand without opening a console window' id 'c09d3285-ef39-4995-9d17-6730f8133a50' date '19 July 2014' time '7:31:47.560831 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.101' message 'Issue #86: implemented `tODE Edit >> session description name` menu item ...' id '844c8347-b113-40b7-897d-c23b7fd9bcf8' date '7 July 2014' time '9:24:26.109 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.100' message 'fix Issue #93: log to transcript any import errors when importing session descriptions and carry on ...' id 'ae103139-73f1-4c9a-8a0b-d94e999bbd83' date '7 July 2014' time '8:35:19.214 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.99' message 'wrap messages at 80 characters' id '939a88a6-3684-4813-9998-d83625a6f7a1' date '7 July 2014' time '4:59:35.74 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.98' message 'fixes for installTode/updateTode scripts' id 'dcb3e66d-d87b-4481-8df3-5d85bc30e3e4' date '19 June 2014' time '12:37:03.105 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.97' message 'implement installServer client builtIn command. installServer installs GLASS1 and Metacello, etc. while updateServer simply loads a new version of tODE ...' id '21f5d807-3d67-453e-8f71-c584497c53e6' date '19 June 2014' time '12:15:05.549 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.96' message 'porting TDShell class>>cleanForDeploy to Pharo2.0' id '1cb06c0d-73b1-4f36-a6a1-0a571752df93' date '15 June 2014' time '9:54:53.929 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.95' message 'port TDShell class>>cleanForDeploy to Pharo2.0' id 'd38f4087-9ab6-4260-980e-993657807a96' date '15 June 2014' time '9:38:30.916 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.94' message 'missing method resetCacheDirectoryIfInvalid ...' id '80730243-c2c3-455f-824c-52e6bc4f94bd' date '3 June 2014' time '8:14:58.947 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.93' message 'Issue #56: clean up session and close windows on startup - Pharo2.0 wasn''t hanging, but the pharo image wash crashing... which is close enough for me:) - need to test in Pharo1.4 and Pharo3.0 ...' id '60b34327-01f8-4214-bbdf-e8771eff87ba' date '3 June 2014' time '8:09:12.519 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.92' message 'bump version for grins' id '94f2d774-c32e-48f5-ab6b-9647c53b28c5' date '2 June 2014' time '8:01:32.647 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.87' message 'strip out the code associated with the (now) ancient session map stuff and the (recently) ancient window layout code ... the topezclient class now holds onto the window property so that we can provide that to the user for making changes or use it to automatically re-scale the layout if the screen is re-sized' id 'da043771-697a-475a-8233-4583fbde36b1' date '2 June 2014' time '7:52:53.419 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.86' message 'tweak, tweak, tweak goes the alternate layout' id 'b11f3a9f-9494-4fff-8b55-60da16c4ef7c' date '1 June 2014' time '3:47:15.42 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.85' message 'more alternate layout tweaks' id '72f482a5-ea42-4697-ace8-3d9677fcb336' date '1 June 2014' time '3:03:32.735 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.84' message 'revise the alternate layout definition' id '2dd553a6-9b7a-4fec-a499-4300aac213ac' date '1 June 2014' time '2:33:41.325 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.83' message 'adjust for move of image dir to client dir ...' id '1e72dd1d-860c-455f-8333-7178eefe6a67' date '1 June 2014' time '9:59:10.37 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.82' message 'rename TDShell TodeHome to WebEditionRoot - reset menu - define webEditionRoot (same directory path) - open workspaces with syntax highlighting' id '34b6e0c4-303a-4d74-89ea-28bc7ab88264' date '1 June 2014' time '9:31:49.824 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.81' message 'add TDAlternateWindowProperties which is intended for larger fonts and/or smaller displays ... provides for wider list windows without sacrificing code window width ...' id 'e93e952c-dff1-4abe-bd08-07d388835406' date '31 May 2014' time '7:20:21.282 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.80' message 'Issue #81: define window loyout independent of font and scale to fit display - define an abstract class TDAbstractWindowProperties for import/export of properties - TDStandardWindowProperties defines my standard layout with options for extra lists (on wide displays or small fonts) and control proportions of shell window and code window - defined small/medium/large (0, 1, 2 extra lists) that match up pretty well with the layouts I''ve played with so far.' id '40ee2a62-ace4-4b04-a626-21b4b5a8e9a2' date '31 May 2014' time '6:12:33.47 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.79' message 'converting to use TDSessionDescription instead of OGCustomSessionDescription. - TDSessionDescription is passed to server so that the fields (backupDirectory, serverGitRoot serverTodeHome) can be specified in the session description and used on the server - for now server will request the session description to make upgrading easier (if client updated before server, server won''t know what to do with the session description)' id '6a9cd48f-e7f5-476c-82fe-59cb0163658c' date '28 May 2014' time '7:24:10.258 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.78' message 're-enable autoCommit after logout ...' id 'fc670c77-49e2-402f-aaeb-d2c2f553a686' date '27 May 2014' time '11:33:12.96 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.77' message 'flushing cache before load appears to be bad idea?' id '07f02cc1-2bb0-474f-a83e-2de8b71c6ba2' date '26 May 2014' time '5:15:58.456 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.76' message 'reset tode menu when tode home changes' id '1b555df3-2e0d-498d-9da0-c0f6c317f415' date '26 May 2014' time '5:11:06.014 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.75' message 'flushCache before update client load to make sure that the baseline is freshly grabbed' id '3c560531-61fe-4bf4-867d-608f3a0056f4' date '26 May 2014' time '3:09:43.125 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.74' message 'reset tode menu after updating the client ...' id '9982fd73-a1fc-418e-b899-5f0f6739a852' date '25 May 2014' time '10:02:43.129 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.73' message 'start heading in the direction of using raw bounds and general layouts within which different fonts can be used ... as display size and fonts change, different layouts may be more pleasant' id '0f09804a-e17b-4ae0-8b92-be03c88b41d0' date '20 May 2014' time '8:15:05.27272 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.73' message 'start heading in the direction of using raw bounds and general layouts within which different fonts can be used ... as display size and fonts change, different layouts may be more pleasant' id '10a09d68-6b5e-4098-acb8-0dc3b916bcb8' date '20 May 2014' time '8:15:04.780624 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.72' message 'alternate bounds for smaller displays' id '671a8dd3-4f75-401b-8cf5-e1d2acac4eeb' date '19 May 2014' time '9:14:25.107288 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.71' message 'created named window locations app3 and app4 for more options positioning "multi-pane functions"' id 'b6bb5261-a3d4-432b-af97-34fa3777dbec' date '13 May 2014' time '11:02:40.336 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.70' message '- start work on fit-to-display algorithm for window layout' id 'edfcbba7-c840-41f1-a68c-0e182e41bb75' date '5 May 2014' time '8:33:53.447 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.69' message 'another set of structural changes to match current definition in webEditionHome and todeHome ... ' id '3ddf1102-76c9-46e8-9791-da5324726228' date '5 May 2014' time '3:36:37.49 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.68' message 'tweak update client menu label' id 'b3d64407-26f5-43d9-955b-bae8bdd68dbf' date '5 May 2014' time '10:08:15.788 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.67' message '- tweak menu labels - add refresh menu item' id '2b0b84a6-78da-4699-9970-c8e2d894cfab' date '1 May 2014' time '2:20:06.977 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.66' message 'change the home directory methods to match new structure' id 'b5a86518-e881-4a92-b450-06613fa94fdc' date '30 April 2014' time '4:19:02.347 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.65' message 'easy resetWorldMenu access' id 'd1b163d6-8765-4338-b907-3e1d15a1759c' date '30 April 2014' time '3:56:32.86 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.64' message 'sort the menu items derived from file system' id '66aeb53d-c755-4da5-8139-3aa55761e215' date '23 April 2014' time '10:08:46.328 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.63' message 'fix problem with setting default todeHome...' id 'af1e706b-1644-4456-b026-2306f5a69038' date '14 April 2014' time '11:34:13.738 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.62' message 'add Help to tode main menu' id 'dd7f52aa-7eb5-444b-a97f-f8e02293b1d9' date '13 April 2014' time '8:54:59.648 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.61' message 'when finished with backup, we need to logout to ensure that the topez state matches the restored repo"' id '22174781-1fd3-43dd-87fa-8278a145aaf8' date '13 April 2014' time '8:45:58.381 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.60' message 'properly handle the execution of commands in a shell window that will be used ineractively' id '2d59177e-1ad6-4d70-ba8e-39d844abebf5' date '13 April 2014' time '8:38:02.856 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.59' message 'workspace menus added ... ' id '042a4bbd-4904-4364-81a5-a4d8198f7b93' date '12 April 2014' time '3:54:04.845 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.58' message 'add tODE to the system menu...eliminate the requirement to maintain workspaces' id '0c76e729-e9ad-423d-8812-38f749c4177a' date '12 April 2014' time '3:17:32.069 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.57' message 'open help window in #method windowLocation...' id '0638d2e8-b714-4478-a657-dde0346f7975' date '31 March 2014' time '1:27:01.482 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.56' message 'add `debugMode` built-in for controlling debugMode' id '1da7cbb4-9266-4fa4-a1e4-833516f0b188' date '30 March 2014' time '8:38:11.042 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.55' message 'arrange for command errors to simply be printed as the command response ... no need to bring up the debugger ...' id 'b6894e9f-821b-4c25-a3c7-64f95a1920d6' date '30 March 2014' time '8:24:03.908 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.54' message 'differentiate between open and spawn for purposes of controlling welcome message ... rip out support for old debugger console ' id '0f85e113-516c-4e27-b515-3b32cbb31f87' date '24 March 2014' time '6:23:55.272 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.53' message 'add windowProperties to TDTopezClient for easy viewing...' id '5fcd3b21-0f00-4c03-aec5-3d5b6256017f' date '24 March 2014' time '8:54:59.982 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.52' message 'minor fixes to windows layout class' id 'b1719b29-0958-4940-9b6c-ec729ebeba3b' date '23 March 2014' time '3:59:10.162 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.51' message 'a bit of formatting' id 'b312bdfb-2d4f-4f03-8bf6-e6e6c91f5ef9' date '23 March 2014' time '3:18:42.882 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.50' message 'bugfix updateServer command' id '93d5da03-5d04-4cb1-8860-65e5c48240e9' date '23 March 2014' time '3:04:44.849 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.49' message 'checkpoint: - arrange to use TDShell class>>todeHome to reduce path length in `script` and `updateServer` commands ' id '3b5806de-78c2-4a2d-8684-9e61645ac7e3' date '23 March 2014' time '2:40:07.144 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.48' message 'checkpoint: - fine tune session description handling - todeHome will be image level global to simplify doits ... - define 4 workspace windows for setting up client side environment ... part of getting started experience - fine tune window properties handling - testLogin: and testWindowLayout: and `script` command are start of the batching facilities...' id '986d6370-4d37-4103-a96f-36ad610018aa' date '23 March 2014' time '11:43:30.856 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.47' message 'porting to Pharo3.0' id '8c989350-44e1-4d00-849a-8d1934165850' date '23 March 2014' time '8:22:40.645 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.46' message 'fix script command' id '378df0f7-3b0f-48f6-b8a3-1ddd1a9893f6' date '22 March 2014' time '8:56:16.043 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.45' message 'tweak docs' id '1b2a4f6d-6ef4-424f-abc8-7818da868d28' date '22 March 2014' time '7:21:23.702 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.44' message 'tweak docs' id 'e47bd7a1-11c3-4b32-a198-b3c943142fd7' date '22 March 2014' time '7:14:29.716 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.43' message 'last workspace removed ... ' id '7a6936a2-b091-4330-bbaa-8612a9771060' date '22 March 2014' time '7:07:18.232 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.42' message 'checkpoint ... eliminating the need to any custom workspace in Pharo image ...just console workspace: - add OBCustomSessionDescription class>>seaside with default session - `help` writeup - `whatsNew` command - `sessionDescription` command (restored) - `script` command - `TDShell open` support' id '0d7a7f44-de5d-43ac-b241-17da633ee27b' date '22 March 2014' time '6:49:51.611 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.41' message 'checkpoint: - support creating and using serialized session descriptions - cleanup built-in support - add `builtIns` command - start work on improving the `getting started` experience - start work on `help` and `updateClient` commands' id 'e9635ac3-cb96-4a7a-9380-b7fad1268526' date '22 March 2014' time '12:57:53.426 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.40' message 'fix builtin logout...' id '9b0c686d-f2d5-43d5-8c8a-2f0de08c6c8d' date '19 February 2014' time '10:29:31.225 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.39' message 'Issue #53: Make TDTopezClient>>setFindText:isRegex: clientforwarder friendly' id '06bca6f0-f85c-4fc5-abbb-c101a8bd89cf' date '31 January 2014' time '8:57:11.711 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.38' message 'console should activate on open...' id 'd3714b40-ea31-467c-8995-575454d37f84' date '11 January 2014' time '5:07:17.87 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.37' message 'clean up ... attempting to step over ''Transcript show''' id '037f4977-afe1-48c5-a465-72e3160fc0b1' date '11 January 2014' time '4:27:38.322 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.36' message 'fix close builtin' id 'd16a7754-b6c7-4194-9281-2ee59dfa10ef' date '11 January 2014' time '11:27:39.246 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.35' message 'implement refreshViewFor: client callback' id '411bcc10-7a57-407c-bb0d-c9bad6743a38' date '11 January 2014' time '9:08:05.664 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.34' message 'TDTopezClient>>editClientElement:, TodeListEditory>>editStonElement: allows for multiple clientElements to be shipped in one STON packet. TodeListEditor>>setList: allows list to be updated directly ... more efficient that #refreshList' id 'ba35581f-d077-4d09-b2ba-d22a1a45e317' date '8 January 2014' time '10:06:15.424 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.33' message 'implement restoreBackup builtin ... allows for restoreFromBackup without needing to install tODE first' id '0df145c7-df57-4f0a-bb12-b23fc7eb05b3' date '5 January 2014' time '3:00:47.429 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.32' message 'include netldi in window label' id '5785c7c9-1d8a-41cd-868a-388e221bf6ac' date '16 December 2013' time '3:12:21.54 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.31' message 'add `installTode --topaz ...` functionality: generates a topaz script suitable for batch jobs' id 'da4b260b-8eac-43b7-8797-07b0097bf686' date '14 December 2013' time '7:26:37.375 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.30' message 'add --backupDir option to sessionDescription command' id 'ff4e0798-bd04-4950-9702-a36ab1c7a597' date '10 December 2013' time '6:56:09.369 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.29' message 'put stonename into shell label' id '31c021ad-5e65-4ce0-af91-6ac5aa084a1c' date '9 December 2013' time '6:49:58.52 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.28' message 'implement support for installTode --clientScriptPath option....--serverPath is still a bit up in the air' id '4b869155-5f0a-4777-9b07-50422f9e85ec' date '8 December 2013' time '7:03:50.097 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.27' message 'finish up the implementation of the sessionDescription command' id '908f9ec0-db93-44ce-a639-00a7c99a6180' date '8 December 2013' time '3:04:05.704 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.26' message 'add testLogin command' id 'a1fc248f-afe5-4f18-8576-a891858c78cf' date '8 December 2013' time '10:42:11.435 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.25' message 'implement sessionDescription builtin which replaces login builtin' id 'f0739814-5c45-4709-86d2-fd4afe7e5a2b' date '8 December 2013' time '9:12:16.495 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.24' message 'include netldiName in console window label when set by login command' id 'e534e80e-bee2-4fd5-922d-e91348ee68f2' date '14 November 2013' time '4:24:07.525 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.23' message 'add builtin login command to allow user to dynamically switch netldi name to be used (and potentially other login parameters as well)' id '9a2acc06-e7b4-4176-8730-60646fa23711' date '14 November 2013' time '12:24:41.76 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.22' message 'add tODE built-in commmand installTode that performs install/upgrade against remote GemStone repository' id '575ba90f-128a-4a60-9e65-584a274f7e4c' date '12 November 2013' time '10:38:48.191 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.21' message 'TDCommandLine object passed over wire instead of parsed tokens ... ball is in servers court' id '2d420814-26d5-4606-a6c8-fec06f7ee2ac' date '10 November 2013' time '8:05:38.132 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.20' message 'adding support for various interactions: choice, confirm, inform, text, multiline-text' id 'aa389741-7f31-4e00-bd32-01368db1282a' date '20 October 2013' time '5:57:12.135 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.19' message 'support for closing windows from server...' id 'e74fc02a-6cc4-4d57-8f9f-f34907fec593' date '19 October 2013' time '10:00:42.989 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.18' message 'add #app1 and #app2 window locations ....' id 'eeaa2df1-263a-47a0-b740-79b7aeca6806' date '13 October 2013' time '3:04:20.185 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.17' message 'add `classCategories` window location' id 'abf3816d-075c-4156-ba5e-fccc733a2922' date '12 October 2013' time '12:47:55.371 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.16' message 'align context with debugger stack window ... use debugger width too...' id 'fa778323-c67b-4633-b757-f40fd40903ca' date '27 September 2013' time '6:40:07.702 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.15' message 'use #initializeBounds for window sizing to avoid disrupting exsting Session Descriptions' id '2c235e89-c091-4e9c-a308-c71dea2edd3e' date '5 September 2013' time '9:59:44.091 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.14' message 'record backup and restore times and bu list shows them' id '9d57b018-a4d9-4026-8031-623a10e5ffaf' date '2 August 2013' time '12:16:32.116 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.13' message 'independent control of debuggerWidth...' id 'dae14267-c1c5-42d2-917e-91983ca8d43c' date '12 July 2013' time '10:12:32.697 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.12' message 'add spawnWindowFromServer ... used for initiating spawn from server command (like sh)' id '1f2a4b42-4f37-40c4-8a93-01cf98225119' date '5 June 2013' time '5:26:23.717 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.11' message 'tweak default shellWindowHeight' id '4dee8fdb-f170-4c1b-82be-fa1668d039f0' date '4 June 2013' time '9:46:42.016 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.10' message 'add independent shellWindow height for additional control of layout' id 'ddcc9b40-0cd7-4187-9d7e-6f8f8b56e768' date '4 June 2013' time '9:45:26.176 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.9' message 'refactor gci calls for clientElements so that the call is moved into the gemstone client leaving pharo client free to perform clientElement code directly' id '536cc93d-c917-4cf3-a981-fb8906884789' date '28 May 2013' time '2:59:12.337 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.8' message 'working on getting SHOUT to work for Pharo and GemStone' id 'f7214e9a-fd11-491e-a6cd-844374eb5ea5' date '28 May 2013' time '1:39:11.766 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.7' message 'continued repackaging' id '86876911-4b94-449e-a883-2fc912c87d5d' date '26 May 2013' time '9:33:35.303 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.6' message 'pharo and gemstone specific client classes' id 'e668ad57-0b0d-4c02-9510-96f3c62ea9c4' date '26 May 2013' time '2:15:07.635 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.5' message 'tweak' id '8bc0be24-41fe-4a49-b4b8-642c07d1c966' date '26 May 2013' time '2:04:28.233 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.4' message 'continue repackage effort' id '2c659eb3-b7eb-4051-8425-3fc4f710e98e' date '26 May 2013' time '2:02:42.722 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.3' message 'move some gemstone-specific methods' id 'b52d0d68-b289-43e0-a173-aafb5eaefd65' date '26 May 2013' time '12:23:27.199 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.2' message 'TodeSession is for GemStone only...' id 'da7df5b7-9b8a-471f-8245-e95dd90f87ec' date '26 May 2013' time '12:20:22.736 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.1' message 'pull in the common client code ... ' id '89c125a8-fb74-4d57-a27c-ccf4114fd766' date '26 May 2013' time '12:06:49.859 pm' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Tode-Client-Common-dkh.112' message 'debugMode built-in --set and --clear commands refer to console-based debugMode. To change the default debugMode, use the --default option. See ''debugMode --help''' id '56ee9225-d4b7-4b13-a2c6-4575925d0216' date '6 August 2014' time '9:44:00.324692 am' author 'dkh' ancestors ((id '2c20c20d-7e3e-4a70-9b49-2311ff6b5413')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Tode-Client-Common-dkh.184' message 'Issue #184: missed a spot or two where bulk window closing was not protected by a TDShouldFlushEventCacheNotification handler' id 'bb7d34ea-2d62-4904-8909-3ec675e426dc' date '1 September 2015' time '9:22:27.641977 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.183' message 'Issue #186: add classic window locations in support of the button bar' id '29c4097f-0342-4d6e-96af-f8c4525c4252' date '31 August 2015' time '5:42:43.093908 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.182' message 'now that we''re honoring canDiscardEdits, need a way to clearUserEditFlag in code editors (used in debugger at the moment) - client side support ' id 'ab7739ed-e10e-4ae4-ae55-6c9c2cc6678b' date '31 August 2015' time '5:15:11.37659 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.181' message 'Issue #184: when performing `close` command (or `logout`), accumulate all of the flushEventCache calls till all windows have been closed ... much snappier over the wire ' id '93f2bb4b-1a1a-436e-9148-d33f807226fe' date '31 August 2015' time '2:33:59.452099 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.180' message 'Issue #186: tweak the jigsaw def for classic protocol' id 'eda2a209-8c10-40fa-a41f-1ab3a182d2c4' date '20 August 2015' time '12:21:02.432288 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.179' message 'Issue #186: start work on button bar example ... implement a `class browser` that has instance/class buttons ' id '475a41ac-7a5b-4de8-ac26-ebc357480e93' date '19 August 2015' time '9:25:19.880869 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.178' message 'Issue #84: add clinet-side support for the `Window > history` menu item ... list full client element history and allow user to pick an old client element for viewing ' id '14324060-7ea0-4488-92e3-556d0adc803e' date '17 August 2015' time '5:11:25.834838 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.177' message 'honor canDiscardEdits and prompt for correct action' id 'b39ad48c-56ad-4d1b-b0b6-77b1211a15ad' date '17 August 2015' time '4:04:37.848427 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.176' message 'client builtin `updateClient` needs to use the todeLoad.st file ...' id '851b377d-6c71-4354-a1fa-8236657ecc11' date '16 August 2015' time '11:49:27.896651 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.175' message 'Issue #184: tweak client element caching' id '35dbc418-9442-4be7-8f25-024054de15cb' date '12 August 2015' time '12:57:11.565666 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.174' message 'Issue #184: implement (client-side) TDTopezGemStoneClient>>flushCache: logic. Necessitates introduction of tODE API Version for client and server, so that I can use new clients with old servers and old clients with new servers' id '49e31420-f7f1-413c-8ef1-5d6afcea2215' date '12 August 2015' time '12:44:03.469177 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.173' message 'Issue #184: introduce TDEventsCache for passing cached event information back and forth between client and server while minimizing round trips... first application is to record the clientElements that are no longer referenced by a window (retired) on the client ... retired clientElements can be safely removed from the server-side elementCache ... ' id 'c6ccb62c-3388-41ab-b44e-b19e4a27b14d' date '12 August 2015' time '10:29:15.633363 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.172' message 'add gemstone version to console window label' id '5368ce3e-a4f8-4838-bd60-be98421c8296' date '7 July 2015' time '4:29:38.699982 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.171' message 'Issue #175: convert client-side code to use #objectSerializer' id '364ddf2b-87fa-4167-a4f7-ece40a3e9632' date '25 June 2015' time '5:10:58.12489 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.170' message 'Issue #175: checkpoint client-side changes for TodeObjectSerializer' id '8c0c988b-01fa-443b-8b89-afbb35afed9e' date '25 June 2015' time '3:26:32.714297 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.169' message 'console message result should sometimes be nil... oh well pick an alternate method' id 'f2d42fc3-8102-4920-aa73-2c8956b2ceec' date '17 April 2015' time '1:07:29.045919 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.168' message 'Issue #168: revert to full activation and solve keyboard focus later.... allow a console to be attached to a server block TDShell instance ... when it closes there is a logout, but that may not be critical:)' id 'a64b3e05-ff4e-401c-8942-c24df9593871' date '17 April 2015' time '6:34:17.303992 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.167' message 'another round of fixing to handle copiedVars better ... ' id '5d18ac16-8567-4b1c-80e6-65c5d321f4a7' date '15 April 2015' time '4:20:13.181208 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.166' message 'nested blocks not yet handled by onServerDo:, so move to separate method and xfer vals to temps ...' id 'f284c696-b223-483f-a6c6-8324fddd85e5' date '15 April 2015' time '1:33:47.393203 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.165' message 'need quit for shells not associated with at client window' id 'd80a1312-a2da-42bf-a8e4-229da73ea1a9' date '15 April 2015' time '11:27:11.726 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.164' message 'additional GsDevKit server block support' id '42a06d68-12f9-4141-bbc6-cb8b283759f7' date '15 April 2015' time '11:12:48.456904 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.163' message 'whoops, lost ability to bind server vars to client temp var values...' id '28eee77e-89d4-437f-a967-bf257d15436b' date '12 April 2015' time '11:55:44.655412 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.162' message 'fiddle with the tODE system menu' id 'aabdbcd5-9067-4e53-bcb3-a9b09692ef4a' date '12 April 2015' time '11:36:19.097805 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.161' message 'add TDServerBlockWorkspace ... needed to keep the session alive while doing work ... ''shell'' workspace variable holds onto the shell for the desired session ... close window, closes session ... Roassal menu opens a TDServerBlockWorkspace' id '374aa2ed-f42a-4640-a945-beddbc85ecb0' date '12 April 2015' time '8:31:59.276128 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.160' message 'serverBlocks is working now ...' id '57012cff-5376-48fc-9790-7e2c6d5c6d7b' date '11 April 2015' time '1:13:49.463206 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.159' message 'client-side support for executing "local" blocks on the server ... client-side support for evaluating smalltalk code with variable bindings' id 'bc674370-eedb-44a2-85be-3506746fbb6f' date '11 April 2015' time '12:47:59.418341 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.158' message 'client-side support for evaluating smalltalk code on server and passing result back as STON ... hook up to roassal workspace' id '346869a1-deb8-4bf4-b251-97497dae96b6' date '11 April 2015' time '7:17:08.166092 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.157' message 'roassal workspace is a peer of console ... ' id '5aba3f5b-3915-4168-9805-2edbf76a85fc' date '10 April 2015' time '2:23:07.081357 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.156' message 'move more of the roassal code to the roassal package' id '8158976a-b561-46db-aa6b-7a5264302e12' date '9 April 2015' time '8:12:06.667937 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.155' message 'start adding support for Roassal workspace' id '1515d159-06ef-475e-9e6c-b3945f0b58ad' date '9 April 2015' time '5:33:27.904236 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.154' message 'push tode system menu around' id '20005fb9-d2d8-4d86-b92d-86fb1fc1381a' date '4 April 2015' time '5:26:27.167365 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.153' message 'Need to remap the client forwarder for transcript when it is changed while shell is open' id 'e9d90578-0a32-4034-ac68-a01882992521' date '4 April 2015' time '5:05:58.028811 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.152' message 'improve handling of Transcript' id '38adcebc-6fe7-4cf3-a498-ac908a983351' date '26 March 2015' time '5:53:31.050132 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.151' message 'shell builtin ''script'' gets a bit of a makeover ' id '53f22341-8810-4912-89bc-0fb815cbc787' date '26 March 2015' time '11:22:35.54639 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.150' message 'It was too aggressive to remove installServer command ...it''s required' id '44cce8a6-727f-44b4-9a8e-5933f034816c' date '25 March 2015' time '9:40:00.584503 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.149' message 'fiddle about with tode menu structure...' id '078f4efc-6934-4b05-9258-0bcafd653c60' date '25 March 2015' time '9:26:32.93655 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.148' message 'eliminate the installServer and updateServer builtin commands update the help and builtIns man page ... remove whatsNew, since I''m not keeping it updated' id 'd632c822-7f5c-4f48-bccb-5655e36a8b87' date '25 March 2015' time '9:19:16.687234 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.147' message 'Another pass at reorganizing the tODE menu ... server updates are no longer done from the client ... use the bash scripts or tODE itself' id 'e1b0410a-628b-4cc2-b448-c55846a61056' date '25 March 2015' time '8:48:31.918256 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.146' message 'fix updateClient builtIn' id '3d718720-bfd4-434a-ad7a-7de2eb3d1220' date '25 March 2015' time '7:58:33.432075 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.145' message 'revisit implementation of updateClient and updateServer' id '373fd46a-0654-4e5e-8d5d-f3768ec952d6' date '24 March 2015' time '3:49:04.741597 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.144' message 'Push some tode menu items around' id '0be7a727-f0f0-4020-a6d0-b47bc768b79f' date '24 March 2015' time '3:16:57.555004 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.143' message 'fix logic for detecting transcript window for resizing' id '7811fccf-b352-4756-abbd-a3b09fe2be92' date '24 March 2015' time '2:15:26.167197 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.142' message 'arrange for window properties to be recalculated and currentShell to be reset to nil on startup ... ' id '095c8daf-8034-4073-9998-24fa61ad96fd' date '21 March 2015' time '8:13:47.329076 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.141' message 'add Settings Browser to tODE menu ... for managing fonts' id 'c35a6167-98b4-4d84-8796-c321d2d3e816' date '21 March 2015' time '5:10:24.668304 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.140' message 'Major chunk of work ... create a wholly owned tODE world menu in Pharo with a number of useful tools exposed via menu items. Can flip between tODE world menu and pharo world menu ... also start managing the Transcript location and extent via window properties.' id 'a59d7da1-bb7e-4574-b72a-4ab7e5f27a0c' date '21 March 2015' time '3:59:12.460372 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.139' message 'custom window location (#workspace) for ws window' id '0108c172-5b51-428d-bf9a-8b87d5c226e5' date '19 March 2015' time '10:22:23.140694 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.138' message 'add custom project list window location' id 'e903c79f-5557-452e-bf96-d7783b973a7d' date '19 March 2015' time '10:10:54.378333 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.137' message 'add jigsaw windowlayout' id '52a2f359-46cb-4d89-987b-c608632a8101' date '19 March 2015' time '8:40:47.764198 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.136' message 'fiddle stretch layout again...' id '68683160-efba-4b97-bdc9-d70f763352e7' date '17 March 2015' time '9:51:07.654353 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.135' message 'more fine tuning of stretch layout' id '28926969-6875-4a3c-878d-0275196f8f5f' date '16 March 2015' time '9:40:29.985777 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.134' message 'checkpoint ... fine tuning stretch medium' id '7ce8f889-92ab-460f-929e-7fbde1e879cd' date '16 March 2015' time '9:28:32.404475 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.133' message 'add class TDAlternateStretchWindowProperties for a layout that seems to be suited for medium-size displays' id '2cad294d-8744-4223-9e8e-c4158468af27' date '16 March 2015' time '9:04:13.2313 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.132' message 'Add #logStack as error handling option ... triggered when running in a headless client .... ' id '40702ce3-93c1-47f5-b33e-d47dc9a8191e' date '16 March 2015' time '4:49:18.325225 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.131' message 'replace sessionHomeDescription with todeSysLocalSessionDescriptionPath' id 'e93d321a-3429-4c88-b4cb-582539692068' date '13 March 2015' time '12:21:55.606712 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.130' message 'shellWindow can be nil in exit builtIn' id '5e37e0f2-bd0d-48d5-974c-19ebdebb08ed' date '11 March 2015' time '5:18:57.546712 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.129' message 'bugfix for the handling the new client/scripts directories' id 'a3e92a45-c44e-4641-a08d-b2aa0a896e9f' date '11 March 2015' time '3:57:42.055002 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.128' message 'Changes corresponding to recent restructuring of gsDevKitHome disk layout: 1. /sys/stones/stones move to /sys/stones 2. proper lookup of sys/defult/client/scripts|windowLayout, sys/default/server/scripts, sys/local/client/scripts|windowLayout, and sys/local/server/scripts 3. change updateClient touse pharo/installTode by default and --scriptPath to override 4. change installServer and updateServer builtins to do the proper lookup in */server/scripts for the files by default and --scriptPath to specify alternate location 5. script builtin uses proper lookup in sys/local/client/scripts then sys/default/client/scripts 6. add edit window layout menu item ' id '193fb534-96ed-445e-88c9-5137f0913568' date '11 March 2015' time '3:07:48.897394 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.127' message 'add logging to help debug flow stone creation: https://github.com/GsDevKit/gsDevKitHome/issues/58' id '5e245986-7257-4876-83b0-8d97ec9b7c1b' date '21 February 2015' time '11:30:21.112006 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.126' message 'potential for creating a spurious gemstone session on TDShell>>logout, if one hadn''t already been created ...' id '29fc9434-19f6-4ca1-bf63-cd196db8603a' date '21 February 2015' time '11:09:31.198509 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.125' message 'patch session leak in GsDevKit command line ... sessions used to evaluate a tode expression are never logged out...' id 'b9bd5d5c-cf2a-46af-9640-ae2065ab241a' date '21 February 2015' time '10:37:07.897958 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.124' message 'Issue #143: client-side support defining different tODE root directories for the /sys directory structure' id '77a96371-ccd5-4b34-8db6-2f5b6c83248a' date '4 February 2015' time '1:07:57.913667 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.123' message '--list option for script builtin is documented to not require an argument' id 'd24f7c2a-5b19-4e69-9c99-294acaeb5e45' date '3 February 2015' time '11:03:46.0606 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.122' message 'Issue #5: matches listed within console output and new prompt setup with original command ... need to hook in path matching plus longest common match string ' id '0bb29646-c1c5-4c64-8f31-f6f7309365f6' date '17 December 2014' time '9:04:20.361495 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.121' message 'Issue #129: add TDCommandLine class>>fromStream:selectLine:forEachCommand: ... needed for TDShell processing since come command lines are "cached" instread of directly executed ... added test ... hooke new capability into TDShell ... need to tweak interactive behavior' id 'f43dd267-e509-48f7-9b04-aeb5296d8ff8' date '17 December 2014' time '4:58:28.154197 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.120' message 'Issue #123: update sys/stone/stones/stones path correctly' id 'b8c696c6-961c-4297-abe3-c010c5317a9a' date '14 November 2014' time '2:45:38.889529 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.119' message 'Issue #123: a bit o restructuring' id '7cbcd24a-8dc0-4e91-9a8b-dca254775432' date '14 November 2014' time '12:10:49.148636 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.118' message 'Issue #123: add client-side support for new default/local/stone structure' id '07c66048-f8b1-475d-a504-ec4057ef90cb' date '14 November 2014' time '11:58:34.293726 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.117' message 'Issue #107: arrange to resize all existing windows when window layout is changed' id '62a19448-9daa-440a-be72-45462dd0a1f2' date '26 August 2014' time '6:25:06.483287 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.116' message 'use maximum space (and overlap) for all windows' id '4f197992-0667-4668-8274-ed5bbc7b3898' date '6 August 2014' time '8:46:54.95945 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.115' message 'browser and debugger layed out satisfactorily' id '39b06453-a688-4aa3-b7ec-369299da6b1e' date '6 August 2014' time '8:12:52.304612 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.113' message 'merged by GitFileTree-MergeDriver' id '2520f852-6709-46a2-94e7-ad61ca71decd' date '6 August 2014' time '6:04:02.659559 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.112' message 'Create TDSmallWindowProperties for presentations on non-HDI projectors' id '78795b35-e3c8-4b1a-b59a-1a46ceb39ff1' date '6 August 2014' time '5:56:24.38195 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.111' message 'ignore README.md in the client/descriptions directory; signal error when running headless and error occurs on server while running tODE command' id '2c20c20d-7e3e-4a70-9b49-2311ff6b5413' date '28 July 2014' time '7:57:51.009868 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.110' message 'make it possible to evaluate Smalltalk expressions on server ... side effects are more important that return value' id 'e0403b58-b3a0-43ef-8011-1598985ed6f5' date '26 July 2014' time '11:20:13.352127 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.109' message 'add batchMode to TDShell ... tode client will NOT swap out the Transcript client forwarder in batch mode ... ultimately provide a means for choosing whether Transcript output should show up in client or not' id 'd42aed90-335a-493a-baf0-6659ba55caf5' date '25 July 2014' time '4:54:39.004675 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.108' message 'clean up the client-side interaction when client is run in headless mode' id 'd31917fe-11e6-43b6-8fe2-b87686ba6752' date '25 July 2014' time '4:21:02.114664 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.107' message 'allow for turning on debugMode when running non-console evaluations' id '15449619-b69a-40a5-b20a-53ed2deab3db' date '25 July 2014' time '7:53:24.149103 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.106' message 'implement --lock option for updateClient builtin' id '7fbdb162-a3ae-4daf-b5e4-d81aeeea4248' date '22 July 2014' time '1:45:50.640014 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.105' message 'more parallel GsDevKit and Web Edition Root work... until web edition is retired ...' id '031b3ab7-8ff5-4727-a783-4717ae1a2ef5' date '21 July 2014' time '10:52:25.025737 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.104' message 'add "Define Dev Kit root'' tode menu item in parallel with the Web Edition Root ... until web edition is retired ...' id '6e084f23-67ea-4dfa-82b4-f3770cd1f335' date '20 July 2014' time '10:30:52.612798 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.103' message 'prepare for changes in gsDevKit structure' id '44c8aae4-e01e-4073-a455-cd6a4bc253cd' date '20 July 2014' time '10:19:04.566069 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.102' message 'add support fro evaluating a comand without opening a console window' id 'c09d3285-ef39-4995-9d17-6730f8133a50' date '19 July 2014' time '7:31:47.560831 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.101' message 'Issue #86: implemented `tODE Edit >> session description name` menu item ...' id '844c8347-b113-40b7-897d-c23b7fd9bcf8' date '7 July 2014' time '9:24:26.109 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.100' message 'fix Issue #93: log to transcript any import errors when importing session descriptions and carry on ...' id 'ae103139-73f1-4c9a-8a0b-d94e999bbd83' date '7 July 2014' time '8:35:19.214 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.99' message 'wrap messages at 80 characters' id '939a88a6-3684-4813-9998-d83625a6f7a1' date '7 July 2014' time '4:59:35.74 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.98' message 'fixes for installTode/updateTode scripts' id 'dcb3e66d-d87b-4481-8df3-5d85bc30e3e4' date '19 June 2014' time '12:37:03.105 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.97' message 'implement installServer client builtIn command. installServer installs GLASS1 and Metacello, etc. while updateServer simply loads a new version of tODE ...' id '21f5d807-3d67-453e-8f71-c584497c53e6' date '19 June 2014' time '12:15:05.549 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.96' message 'porting TDShell class>>cleanForDeploy to Pharo2.0' id '1cb06c0d-73b1-4f36-a6a1-0a571752df93' date '15 June 2014' time '9:54:53.929 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.95' message 'port TDShell class>>cleanForDeploy to Pharo2.0' id 'd38f4087-9ab6-4260-980e-993657807a96' date '15 June 2014' time '9:38:30.916 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.94' message 'missing method resetCacheDirectoryIfInvalid ...' id '80730243-c2c3-455f-824c-52e6bc4f94bd' date '3 June 2014' time '8:14:58.947 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.93' message 'Issue #56: clean up session and close windows on startup - Pharo2.0 wasn''t hanging, but the pharo image wash crashing... which is close enough for me:) - need to test in Pharo1.4 and Pharo3.0 ...' id '60b34327-01f8-4214-bbdf-e8771eff87ba' date '3 June 2014' time '8:09:12.519 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.92' message 'bump version for grins' id '94f2d774-c32e-48f5-ab6b-9647c53b28c5' date '2 June 2014' time '8:01:32.647 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.87' message 'strip out the code associated with the (now) ancient session map stuff and the (recently) ancient window layout code ... the topezclient class now holds onto the window property so that we can provide that to the user for making changes or use it to automatically re-scale the layout if the screen is re-sized' id 'da043771-697a-475a-8233-4583fbde36b1' date '2 June 2014' time '7:52:53.419 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.86' message 'tweak, tweak, tweak goes the alternate layout' id 'b11f3a9f-9494-4fff-8b55-60da16c4ef7c' date '1 June 2014' time '3:47:15.42 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.85' message 'more alternate layout tweaks' id '72f482a5-ea42-4697-ace8-3d9677fcb336' date '1 June 2014' time '3:03:32.735 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.84' message 'revise the alternate layout definition' id '2dd553a6-9b7a-4fec-a499-4300aac213ac' date '1 June 2014' time '2:33:41.325 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.83' message 'adjust for move of image dir to client dir ...' id '1e72dd1d-860c-455f-8333-7178eefe6a67' date '1 June 2014' time '9:59:10.37 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.82' message 'rename TDShell TodeHome to WebEditionRoot - reset menu - define webEditionRoot (same directory path) - open workspaces with syntax highlighting' id '34b6e0c4-303a-4d74-89ea-28bc7ab88264' date '1 June 2014' time '9:31:49.824 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.81' message 'add TDAlternateWindowProperties which is intended for larger fonts and/or smaller displays ... provides for wider list windows without sacrificing code window width ...' id 'e93e952c-dff1-4abe-bd08-07d388835406' date '31 May 2014' time '7:20:21.282 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.80' message 'Issue #81: define window loyout independent of font and scale to fit display - define an abstract class TDAbstractWindowProperties for import/export of properties - TDStandardWindowProperties defines my standard layout with options for extra lists (on wide displays or small fonts) and control proportions of shell window and code window - defined small/medium/large (0, 1, 2 extra lists) that match up pretty well with the layouts I''ve played with so far.' id '40ee2a62-ace4-4b04-a626-21b4b5a8e9a2' date '31 May 2014' time '6:12:33.47 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.79' message 'converting to use TDSessionDescription instead of OGCustomSessionDescription. - TDSessionDescription is passed to server so that the fields (backupDirectory, serverGitRoot serverTodeHome) can be specified in the session description and used on the server - for now server will request the session description to make upgrading easier (if client updated before server, server won''t know what to do with the session description)' id '6a9cd48f-e7f5-476c-82fe-59cb0163658c' date '28 May 2014' time '7:24:10.258 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.78' message 're-enable autoCommit after logout ...' id 'fc670c77-49e2-402f-aaeb-d2c2f553a686' date '27 May 2014' time '11:33:12.96 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.77' message 'flushing cache before load appears to be bad idea?' id '07f02cc1-2bb0-474f-a83e-2de8b71c6ba2' date '26 May 2014' time '5:15:58.456 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.76' message 'reset tode menu when tode home changes' id '1b555df3-2e0d-498d-9da0-c0f6c317f415' date '26 May 2014' time '5:11:06.014 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.75' message 'flushCache before update client load to make sure that the baseline is freshly grabbed' id '3c560531-61fe-4bf4-867d-608f3a0056f4' date '26 May 2014' time '3:09:43.125 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.74' message 'reset tode menu after updating the client ...' id '9982fd73-a1fc-418e-b899-5f0f6739a852' date '25 May 2014' time '10:02:43.129 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.73' message 'start heading in the direction of using raw bounds and general layouts within which different fonts can be used ... as display size and fonts change, different layouts may be more pleasant' id '0f09804a-e17b-4ae0-8b92-be03c88b41d0' date '20 May 2014' time '8:15:05.27272 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.73' message 'start heading in the direction of using raw bounds and general layouts within which different fonts can be used ... as display size and fonts change, different layouts may be more pleasant' id '10a09d68-6b5e-4098-acb8-0dc3b916bcb8' date '20 May 2014' time '8:15:04.780624 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.72' message 'alternate bounds for smaller displays' id '671a8dd3-4f75-401b-8cf5-e1d2acac4eeb' date '19 May 2014' time '9:14:25.107288 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.71' message 'created named window locations app3 and app4 for more options positioning "multi-pane functions"' id 'b6bb5261-a3d4-432b-af97-34fa3777dbec' date '13 May 2014' time '11:02:40.336 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.70' message '- start work on fit-to-display algorithm for window layout' id 'edfcbba7-c840-41f1-a68c-0e182e41bb75' date '5 May 2014' time '8:33:53.447 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.69' message 'another set of structural changes to match current definition in webEditionHome and todeHome ... ' id '3ddf1102-76c9-46e8-9791-da5324726228' date '5 May 2014' time '3:36:37.49 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.68' message 'tweak update client menu label' id 'b3d64407-26f5-43d9-955b-bae8bdd68dbf' date '5 May 2014' time '10:08:15.788 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.67' message '- tweak menu labels - add refresh menu item' id '2b0b84a6-78da-4699-9970-c8e2d894cfab' date '1 May 2014' time '2:20:06.977 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.66' message 'change the home directory methods to match new structure' id 'b5a86518-e881-4a92-b450-06613fa94fdc' date '30 April 2014' time '4:19:02.347 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.65' message 'easy resetWorldMenu access' id 'd1b163d6-8765-4338-b907-3e1d15a1759c' date '30 April 2014' time '3:56:32.86 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.64' message 'sort the menu items derived from file system' id '66aeb53d-c755-4da5-8139-3aa55761e215' date '23 April 2014' time '10:08:46.328 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.63' message 'fix problem with setting default todeHome...' id 'af1e706b-1644-4456-b026-2306f5a69038' date '14 April 2014' time '11:34:13.738 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.62' message 'add Help to tode main menu' id 'dd7f52aa-7eb5-444b-a97f-f8e02293b1d9' date '13 April 2014' time '8:54:59.648 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.61' message 'when finished with backup, we need to logout to ensure that the topez state matches the restored repo"' id '22174781-1fd3-43dd-87fa-8278a145aaf8' date '13 April 2014' time '8:45:58.381 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.60' message 'properly handle the execution of commands in a shell window that will be used ineractively' id '2d59177e-1ad6-4d70-ba8e-39d844abebf5' date '13 April 2014' time '8:38:02.856 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.59' message 'workspace menus added ... ' id '042a4bbd-4904-4364-81a5-a4d8198f7b93' date '12 April 2014' time '3:54:04.845 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.58' message 'add tODE to the system menu...eliminate the requirement to maintain workspaces' id '0c76e729-e9ad-423d-8812-38f749c4177a' date '12 April 2014' time '3:17:32.069 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.57' message 'open help window in #method windowLocation...' id '0638d2e8-b714-4478-a657-dde0346f7975' date '31 March 2014' time '1:27:01.482 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.56' message 'add `debugMode` built-in for controlling debugMode' id '1da7cbb4-9266-4fa4-a1e4-833516f0b188' date '30 March 2014' time '8:38:11.042 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.55' message 'arrange for command errors to simply be printed as the command response ... no need to bring up the debugger ...' id 'b6894e9f-821b-4c25-a3c7-64f95a1920d6' date '30 March 2014' time '8:24:03.908 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.54' message 'differentiate between open and spawn for purposes of controlling welcome message ... rip out support for old debugger console ' id '0f85e113-516c-4e27-b515-3b32cbb31f87' date '24 March 2014' time '6:23:55.272 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.53' message 'add windowProperties to TDTopezClient for easy viewing...' id '5fcd3b21-0f00-4c03-aec5-3d5b6256017f' date '24 March 2014' time '8:54:59.982 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.52' message 'minor fixes to windows layout class' id 'b1719b29-0958-4940-9b6c-ec729ebeba3b' date '23 March 2014' time '3:59:10.162 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.51' message 'a bit of formatting' id 'b312bdfb-2d4f-4f03-8bf6-e6e6c91f5ef9' date '23 March 2014' time '3:18:42.882 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.50' message 'bugfix updateServer command' id '93d5da03-5d04-4cb1-8860-65e5c48240e9' date '23 March 2014' time '3:04:44.849 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.49' message 'checkpoint: - arrange to use TDShell class>>todeHome to reduce path length in `script` and `updateServer` commands ' id '3b5806de-78c2-4a2d-8684-9e61645ac7e3' date '23 March 2014' time '2:40:07.144 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.48' message 'checkpoint: - fine tune session description handling - todeHome will be image level global to simplify doits ... - define 4 workspace windows for setting up client side environment ... part of getting started experience - fine tune window properties handling - testLogin: and testWindowLayout: and `script` command are start of the batching facilities...' id '986d6370-4d37-4103-a96f-36ad610018aa' date '23 March 2014' time '11:43:30.856 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.47' message 'porting to Pharo3.0' id '8c989350-44e1-4d00-849a-8d1934165850' date '23 March 2014' time '8:22:40.645 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.46' message 'fix script command' id '378df0f7-3b0f-48f6-b8a3-1ddd1a9893f6' date '22 March 2014' time '8:56:16.043 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.45' message 'tweak docs' id '1b2a4f6d-6ef4-424f-abc8-7818da868d28' date '22 March 2014' time '7:21:23.702 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.44' message 'tweak docs' id 'e47bd7a1-11c3-4b32-a198-b3c943142fd7' date '22 March 2014' time '7:14:29.716 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.43' message 'last workspace removed ... ' id '7a6936a2-b091-4330-bbaa-8612a9771060' date '22 March 2014' time '7:07:18.232 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.42' message 'checkpoint ... eliminating the need to any custom workspace in Pharo image ...just console workspace: - add OBCustomSessionDescription class>>seaside with default session - `help` writeup - `whatsNew` command - `sessionDescription` command (restored) - `script` command - `TDShell open` support' id '0d7a7f44-de5d-43ac-b241-17da633ee27b' date '22 March 2014' time '6:49:51.611 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.41' message 'checkpoint: - support creating and using serialized session descriptions - cleanup built-in support - add `builtIns` command - start work on improving the `getting started` experience - start work on `help` and `updateClient` commands' id 'e9635ac3-cb96-4a7a-9380-b7fad1268526' date '22 March 2014' time '12:57:53.426 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.40' message 'fix builtin logout...' id '9b0c686d-f2d5-43d5-8c8a-2f0de08c6c8d' date '19 February 2014' time '10:29:31.225 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.39' message 'Issue #53: Make TDTopezClient>>setFindText:isRegex: clientforwarder friendly' id '06bca6f0-f85c-4fc5-abbb-c101a8bd89cf' date '31 January 2014' time '8:57:11.711 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.38' message 'console should activate on open...' id 'd3714b40-ea31-467c-8995-575454d37f84' date '11 January 2014' time '5:07:17.87 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.37' message 'clean up ... attempting to step over ''Transcript show''' id '037f4977-afe1-48c5-a465-72e3160fc0b1' date '11 January 2014' time '4:27:38.322 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.36' message 'fix close builtin' id 'd16a7754-b6c7-4194-9281-2ee59dfa10ef' date '11 January 2014' time '11:27:39.246 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.35' message 'implement refreshViewFor: client callback' id '411bcc10-7a57-407c-bb0d-c9bad6743a38' date '11 January 2014' time '9:08:05.664 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.34' message 'TDTopezClient>>editClientElement:, TodeListEditory>>editStonElement: allows for multiple clientElements to be shipped in one STON packet. TodeListEditor>>setList: allows list to be updated directly ... more efficient that #refreshList' id 'ba35581f-d077-4d09-b2ba-d22a1a45e317' date '8 January 2014' time '10:06:15.424 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.33' message 'implement restoreBackup builtin ... allows for restoreFromBackup without needing to install tODE first' id '0df145c7-df57-4f0a-bb12-b23fc7eb05b3' date '5 January 2014' time '3:00:47.429 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.32' message 'include netldi in window label' id '5785c7c9-1d8a-41cd-868a-388e221bf6ac' date '16 December 2013' time '3:12:21.54 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.31' message 'add `installTode --topaz ...` functionality: generates a topaz script suitable for batch jobs' id 'da4b260b-8eac-43b7-8797-07b0097bf686' date '14 December 2013' time '7:26:37.375 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.30' message 'add --backupDir option to sessionDescription command' id 'ff4e0798-bd04-4950-9702-a36ab1c7a597' date '10 December 2013' time '6:56:09.369 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.29' message 'put stonename into shell label' id '31c021ad-5e65-4ce0-af91-6ac5aa084a1c' date '9 December 2013' time '6:49:58.52 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.28' message 'implement support for installTode --clientScriptPath option....--serverPath is still a bit up in the air' id '4b869155-5f0a-4777-9b07-50422f9e85ec' date '8 December 2013' time '7:03:50.097 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.27' message 'finish up the implementation of the sessionDescription command' id '908f9ec0-db93-44ce-a639-00a7c99a6180' date '8 December 2013' time '3:04:05.704 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.26' message 'add testLogin command' id 'a1fc248f-afe5-4f18-8576-a891858c78cf' date '8 December 2013' time '10:42:11.435 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.25' message 'implement sessionDescription builtin which replaces login builtin' id 'f0739814-5c45-4709-86d2-fd4afe7e5a2b' date '8 December 2013' time '9:12:16.495 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.24' message 'include netldiName in console window label when set by login command' id 'e534e80e-bee2-4fd5-922d-e91348ee68f2' date '14 November 2013' time '4:24:07.525 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.23' message 'add builtin login command to allow user to dynamically switch netldi name to be used (and potentially other login parameters as well)' id '9a2acc06-e7b4-4176-8730-60646fa23711' date '14 November 2013' time '12:24:41.76 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.22' message 'add tODE built-in commmand installTode that performs install/upgrade against remote GemStone repository' id '575ba90f-128a-4a60-9e65-584a274f7e4c' date '12 November 2013' time '10:38:48.191 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.21' message 'TDCommandLine object passed over wire instead of parsed tokens ... ball is in servers court' id '2d420814-26d5-4606-a6c8-fec06f7ee2ac' date '10 November 2013' time '8:05:38.132 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.20' message 'adding support for various interactions: choice, confirm, inform, text, multiline-text' id 'aa389741-7f31-4e00-bd32-01368db1282a' date '20 October 2013' time '5:57:12.135 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.19' message 'support for closing windows from server...' id 'e74fc02a-6cc4-4d57-8f9f-f34907fec593' date '19 October 2013' time '10:00:42.989 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.18' message 'add #app1 and #app2 window locations ....' id 'eeaa2df1-263a-47a0-b740-79b7aeca6806' date '13 October 2013' time '3:04:20.185 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.17' message 'add `classCategories` window location' id 'abf3816d-075c-4156-ba5e-fccc733a2922' date '12 October 2013' time '12:47:55.371 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.16' message 'align context with debugger stack window ... use debugger width too...' id 'fa778323-c67b-4633-b757-f40fd40903ca' date '27 September 2013' time '6:40:07.702 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.15' message 'use #initializeBounds for window sizing to avoid disrupting exsting Session Descriptions' id '2c235e89-c091-4e9c-a308-c71dea2edd3e' date '5 September 2013' time '9:59:44.091 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.14' message 'record backup and restore times and bu list shows them' id '9d57b018-a4d9-4026-8031-623a10e5ffaf' date '2 August 2013' time '12:16:32.116 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.13' message 'independent control of debuggerWidth...' id 'dae14267-c1c5-42d2-917e-91983ca8d43c' date '12 July 2013' time '10:12:32.697 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.12' message 'add spawnWindowFromServer ... used for initiating spawn from server command (like sh)' id '1f2a4b42-4f37-40c4-8a93-01cf98225119' date '5 June 2013' time '5:26:23.717 am' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.11' message 'tweak default shellWindowHeight' id '4dee8fdb-f170-4c1b-82be-fa1668d039f0' date '4 June 2013' time '9:46:42.016 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.10' message 'add independent shellWindow height for additional control of layout' id 'ddcc9b40-0cd7-4187-9d7e-6f8f8b56e768' date '4 June 2013' time '9:45:26.176 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.9' message 'refactor gci calls for clientElements so that the call is moved into the gemstone client leaving pharo client free to perform clientElement code directly' id '536cc93d-c917-4cf3-a981-fb8906884789' date '28 May 2013' time '2:59:12.337 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.8' message 'working on getting SHOUT to work for Pharo and GemStone' id 'f7214e9a-fd11-491e-a6cd-844374eb5ea5' date '28 May 2013' time '1:39:11.766 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.7' message 'continued repackaging' id '86876911-4b94-449e-a883-2fc912c87d5d' date '26 May 2013' time '9:33:35.303 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.6' message 'pharo and gemstone specific client classes' id 'e668ad57-0b0d-4c02-9510-96f3c62ea9c4' date '26 May 2013' time '2:15:07.635 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.5' message 'tweak' id '8bc0be24-41fe-4a49-b4b8-642c07d1c966' date '26 May 2013' time '2:04:28.233 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.4' message 'continue repackage effort' id '2c659eb3-b7eb-4051-8425-3fc4f710e98e' date '26 May 2013' time '2:02:42.722 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.3' message 'move some gemstone-specific methods' id 'b52d0d68-b289-43e0-a173-aafb5eaefd65' date '26 May 2013' time '12:23:27.199 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.2' message 'TodeSession is for GemStone only...' id 'da7df5b7-9b8a-471f-8245-e95dd90f87ec' date '26 May 2013' time '12:20:22.736 pm' author 'dkh' ancestors ((name 'Tode-Client-Common-dkh.1' message 'pull in the common client code ... ' id '89c125a8-fb74-4d57-a27c-ccf4114fd766' date '26 May 2013' time '12:06:49.859 pm' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Tode-Client-Common-dkh.112' message 'debugMode built-in --set and --clear commands refer to console-based debugMode. To change the default debugMode, use the --default option. See ''debugMode --help''' id '56ee9225-d4b7-4b13-a2c6-4575925d0216' date '6 August 2014' time '9:44:00.324692 am' author 'dkh' ancestors ((id '2c20c20d-7e3e-4a70-9b49-2311ff6b5413')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Tode-Client-Roassal2.package/.filetree b/repository/Tode-Client-Roassal2.package/.filetree new file mode 100644 index 000000000..8998102c2 --- /dev/null +++ b/repository/Tode-Client-Roassal2.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/Tode-Client-Roassal2.package/TDShell.extension/class/todeRoassalMenuOn..st b/repository/Tode-Client-Roassal2.package/TDShell.extension/class/todeRoassalMenuOn..st new file mode 100644 index 000000000..fe37a18b0 --- /dev/null +++ b/repository/Tode-Client-Roassal2.package/TDShell.extension/class/todeRoassalMenuOn..st @@ -0,0 +1,35 @@ +*tode-client-roassal2 +todeRoassalMenuOn: aBuilder + + | sessionDescriptionDir | + sessionDescriptionDir := self todeSysLocalSessionDescriptionPath asFileReference. + sessionDescriptionDir exists + ifTrue: [ + (aBuilder item: #Roassal) + parent: #'Open Tool'; + order: 1.06; + target: self; + icon: RTIcon smallRoassal; + enabled: currentShell isNil. + (sessionDescriptionDir files sorted: [ :a :b | a basename <= b basename ]) + do: [ :file | + [ + file basename = 'README.md' + ifFalse: [ + | sessionDescription | + sessionDescription := TDSessionDescription importFrom: file fullName. + (aBuilder item: sessionDescription name asSymbol) + parent: #Roassal; + action: [ + | bounds window | + bounds := TDTopezGemStoneClient windowProperties caculateWindowBounds at: #evaluator. + (window := TDServerBlockWorkspace openOnSessionDescription: sessionDescription label: 'Roassal Workspace') + extent: bounds extent; + position: bounds origin. + currentShell := window model tdShell ] ] ] + on: Error + do: [ :ex | + Transcript + cr; + show: 'Error importing session description from: ' , file fullName printString , ': ' , ex description. + ^ self ] ] ] \ No newline at end of file diff --git a/repository/Tode-Client-Roassal2.package/TDShell.extension/methodProperties.json b/repository/Tode-Client-Roassal2.package/TDShell.extension/methodProperties.json new file mode 100644 index 000000000..108c262b1 --- /dev/null +++ b/repository/Tode-Client-Roassal2.package/TDShell.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + "todeRoassalMenuOn:" : "dkh 4/12/2015 11:35" }, + "instance" : { + } } diff --git a/repository/Tode-Client-Roassal2.package/TDShell.extension/properties.json b/repository/Tode-Client-Roassal2.package/TDShell.extension/properties.json new file mode 100644 index 000000000..bb0e8d487 --- /dev/null +++ b/repository/Tode-Client-Roassal2.package/TDShell.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TDShell" } diff --git a/repository/Tode-Client-Roassal2.package/monticello.meta/categories.st b/repository/Tode-Client-Roassal2.package/monticello.meta/categories.st new file mode 100644 index 000000000..abc83085c --- /dev/null +++ b/repository/Tode-Client-Roassal2.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Tode-Client-Roassal2'! diff --git a/repository/Tode-Client-Roassal2.package/monticello.meta/initializers.st b/repository/Tode-Client-Roassal2.package/monticello.meta/initializers.st new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-Client-Roassal2.package/monticello.meta/package b/repository/Tode-Client-Roassal2.package/monticello.meta/package new file mode 100644 index 000000000..62d124107 --- /dev/null +++ b/repository/Tode-Client-Roassal2.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Tode-Client-Roassal2') \ No newline at end of file diff --git a/repository/Tode-Client-Roassal2.package/monticello.meta/version b/repository/Tode-Client-Roassal2.package/monticello.meta/version new file mode 100644 index 000000000..ee07ed71a --- /dev/null +++ b/repository/Tode-Client-Roassal2.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'Tode-Client-Roassal2-dkh.10' message 'fiddle with the tODE system menu' id '6904dc96-5297-4683-b997-3277f6da0535' date '12 April 2015' time '11:36:33.482351 am' author 'dkh' ancestors ((name 'Tode-Client-Roassal2-dkh.9' message 'add TDServerBlockWorkspace ... needed to keep the session alive while doing work ... ''shell'' workspace variable holds onto the shell for the desired session ... close window, closes session ... Roassal menu opens a TDServerBlockWorkspace' id '090491bc-d444-45c1-a158-3b9935ad29e7' date '12 April 2015' time '8:32:17.397134 am' author 'dkh' ancestors ((name 'Tode-Client-Roassal2-dkh.8' message 'Tode-Client-Roassal2 package is still needed ... workspac e needed to hold onto the shell instance ... login/logout sematics and window management ...' id '2adf2914-14cf-43bc-b01f-a77d4f5fc02c' date '12 April 2015' time '7:41:04.436788 am' author 'dkh' ancestors ((name 'Tode-Client-Roassal2-dkh.7' message 'client-side support for evaluating smalltalk code on server and passing result back as STON ... hook up to roassal workspace' id 'a01c3a04-6dfe-4dad-8f53-979cff055748' date '11 April 2015' time '7:17:23.492709 am' author 'dkh' ancestors ((name 'Tode-Client-Roassal2-dkh.6' message 'capture ^d for gs doit ... disable Roassal menu item if currentSession is already active' id '7123154e-e0fc-4022-a6d1-2bdeac307264' date '10 April 2015' time '8:10:53.929977 pm' author 'dkh' ancestors ((name 'Tode-Client-Roassal2-dkh.5' message 'executing Pierre''s reference path script without needing explicit wrapper code ... wrapping with block is still browblematic because of scoping bug .... pure script execution with special purpose handling is called for ... a special script/workspace client element may be the ticket' id '7f824a72-d2ef-47e0-baf6-7d03b5b224d0' date '10 April 2015' time '4:40:58.477595 pm' author 'dkh' ancestors ((name 'Tode-Client-Roassal2-dkh.4' message 'focus a minimal roassal functionality and rework system menu' id '6dcabf19-3b2d-4587-8a46-39d44f107bb7' date '10 April 2015' time '3:07:46.514932 pm' author 'dkh' ancestors ((name 'Tode-Client-Roassal2-dkh.3' message 'roassal workspace is a peer of console ... ' id '84e6177f-d235-4554-a174-bdc3bfebf14e' date '10 April 2015' time '2:23:18.548455 pm' author 'dkh' ancestors ((name 'Tode-Client-Roassal2-dkh.2' message 'checkpoint for roassal gs workspace ... login and execute a command from selected text ' id '7c38d70c-13d7-415d-8afe-376a02fff19b' date '9 April 2015' time '8:13:52.884294 pm' author 'dkh' ancestors ((name 'Tode-Client-Roassal2-dkh.1' message 'new package Tode-Client-Roassal2 for obvious reasons' id 'aed0bdf8-8510-44cd-a5db-927f0c0c58b0' date '9 April 2015' time '6:26:55.453113 pm' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Tode-Client-Roassal2.package/properties.json b/repository/Tode-Client-Roassal2.package/properties.json new file mode 100644 index 000000000..f037444a7 --- /dev/null +++ b/repository/Tode-Client-Roassal2.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/Tode-Client-ServerBlocks.package/.filetree b/repository/Tode-Client-ServerBlocks.package/.filetree new file mode 100644 index 000000000..8998102c2 --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/README.md b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/class/openOnSessionDescription..st b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/class/openOnSessionDescription..st new file mode 100644 index 000000000..52c5a641e --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/class/openOnSessionDescription..st @@ -0,0 +1,3 @@ +instance creation +openOnSessionDescription: sessionDescription + ^ self openOnSessionDescription: sessionDescription label: 'tODE Server Block Workspace' \ No newline at end of file diff --git a/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/class/openOnSessionDescription.label..st b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/class/openOnSessionDescription.label..st new file mode 100644 index 000000000..b379974f6 --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/class/openOnSessionDescription.label..st @@ -0,0 +1,7 @@ +instance creation +openOnSessionDescription: sessionDescription label: aLabel + ^ self new + sessionDescription: sessionDescription; + openLabel: aLabel , ': ', sessionDescription name , ' (' , sessionDescription stoneName , ':' , sessionDescription netLDI + , ')' + \ No newline at end of file diff --git a/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/cliShell.st b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/cliShell.st new file mode 100644 index 000000000..f4911d634 --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/cliShell.st @@ -0,0 +1,5 @@ +accessing +cliShell + "funky compat" + + ^ self tdShell \ No newline at end of file diff --git a/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/openLabel..st b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/openLabel..st new file mode 100644 index 000000000..a83e00f0b --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/openLabel..st @@ -0,0 +1,14 @@ +initialization +openLabel: labelString + | window pane windowId windowStatus | + window := (TZSystemWindow labelled: labelString) model: self. + pane := self buildTextMorph. + window addMorph: pane frame: (0 @ 0 corner: 1 @ 1). + window openInWorld. + windowStatus := self tdShell windowStatus. + windowId := windowStatus windowIdNamed: #workspace , self tdShell shellId asString. + windowStatus + windowAt: windowId put: window; + registerShellWindow: window. + self tdShell shellWindow: window. + ^ window \ No newline at end of file diff --git a/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/sessionDescription..st b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/sessionDescription..st new file mode 100644 index 000000000..0e40b9739 --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/sessionDescription..st @@ -0,0 +1,3 @@ +accessing +sessionDescription: aSessionDescription + sessionDescription := aSessionDescription \ No newline at end of file diff --git a/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/sessionDescription.st b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/sessionDescription.st new file mode 100644 index 000000000..b9848a2da --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/sessionDescription.st @@ -0,0 +1,3 @@ +accessing +sessionDescription + ^ sessionDescription \ No newline at end of file diff --git a/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/stylingActive.st b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/stylingActive.st new file mode 100644 index 000000000..210838ee9 --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/stylingActive.st @@ -0,0 +1,4 @@ +styling +stylingActive + + ^stylingActive ifNil:[stylingActive := false] \ No newline at end of file diff --git a/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/tdShell.st b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/tdShell.st new file mode 100644 index 000000000..c86ffe58f --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/tdShell.st @@ -0,0 +1,10 @@ +accessing +tdShell + tdShell + ifNil: [ + tdShell := TDShell new + sessionDescription: sessionDescription; + yourself. + bindings ifNil: [ self initializeBindings ]. + bindings at: 'shell' put: tdShell ]. + ^ tdShell \ No newline at end of file diff --git a/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/windowActive..st b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/windowActive..st new file mode 100644 index 000000000..b56ba655d --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/windowActive..st @@ -0,0 +1,3 @@ +updating +windowActive: aSystemWindow + "noop" diff --git a/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/windowIsClosing.st b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/windowIsClosing.st new file mode 100644 index 000000000..631f384b0 --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/instance/windowIsClosing.st @@ -0,0 +1,3 @@ +updating +windowIsClosing + tdShell ifNotNil: [ tdShell windowIsClosing ] \ No newline at end of file diff --git a/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/methodProperties.json b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/methodProperties.json new file mode 100644 index 000000000..de2b1fb31 --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/methodProperties.json @@ -0,0 +1,13 @@ +{ + "class" : { + "openOnSessionDescription:" : "dkh 4/12/2015 08:12", + "openOnSessionDescription:label:" : "dkh 4/12/2015 08:12" }, + "instance" : { + "cliShell" : "dkh 4/12/2015 08:02", + "openLabel:" : "dkh 4/12/2015 08:02", + "sessionDescription" : "dkh 4/12/2015 08:02", + "sessionDescription:" : "dkh 4/12/2015 08:02", + "stylingActive" : "dkh 4/12/2015 08:03", + "tdShell" : "dkh 4/12/2015 08:07", + "windowActive:" : "dkh 4/12/2015 08:03", + "windowIsClosing" : "dkh 4/12/2015 08:03" } } diff --git a/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/properties.json b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/properties.json new file mode 100644 index 000000000..1687c1b6e --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/TDServerBlockWorkspace.class/properties.json @@ -0,0 +1,15 @@ +{ + "category" : "Tode-Client-ServerBlocks", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "sessionDescription", + "tdShell" ], + "name" : "TDServerBlockWorkspace", + "pools" : [ + ], + "super" : "Workspace", + "type" : "normal" } diff --git a/repository/Tode-Client-ServerBlocks.package/monticello.meta/categories.st b/repository/Tode-Client-ServerBlocks.package/monticello.meta/categories.st new file mode 100644 index 000000000..e027c155a --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Tode-Client-ServerBlocks'! diff --git a/repository/Tode-Client-ServerBlocks.package/monticello.meta/initializers.st b/repository/Tode-Client-ServerBlocks.package/monticello.meta/initializers.st new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-Client-ServerBlocks.package/monticello.meta/package b/repository/Tode-Client-ServerBlocks.package/monticello.meta/package new file mode 100644 index 000000000..4362aae87 --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Tode-Client-ServerBlocks') \ No newline at end of file diff --git a/repository/Tode-Client-ServerBlocks.package/monticello.meta/version b/repository/Tode-Client-ServerBlocks.package/monticello.meta/version new file mode 100644 index 000000000..d07759349 --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'Tode-Client-ServerBlocks-dkh.1' message 'add TDServerBlockWorkspace ... needed to keep the session alive while doing work ... ''shell'' workspace variable holds onto the shell for the desired session ... close window, closes session ... Roassal menu opens a TDServerBlockWorkspace' id '6df04aa8-78a2-4e06-96b6-d2a8a8d02688' date '12 April 2015' time '8:32:32.32749 am' author 'dkh' ancestors () stepChildren ()) \ No newline at end of file diff --git a/repository/Tode-Client-ServerBlocks.package/properties.json b/repository/Tode-Client-ServerBlocks.package/properties.json new file mode 100644 index 000000000..f037444a7 --- /dev/null +++ b/repository/Tode-Client-ServerBlocks.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/Tode-GemStone-Core2x.package/.filetree b/repository/Tode-GemStone-Core2x.package/.filetree new file mode 100644 index 000000000..8998102c2 --- /dev/null +++ b/repository/Tode-GemStone-Core2x.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/Tode-GemStone-Core2x.package/TDGemStoneTool.extension/instance/performOnServer.logging..st b/repository/Tode-GemStone-Core2x.package/TDGemStoneTool.extension/instance/performOnServer.logging..st new file mode 100644 index 000000000..0b0e7e20e --- /dev/null +++ b/repository/Tode-GemStone-Core2x.package/TDGemStoneTool.extension/instance/performOnServer.logging..st @@ -0,0 +1,12 @@ +*tode-gemstone-core2x +performOnServer: command logging: logging + | result | + result := System performOnServer: command. + logging + ifTrue: [ + Transcript + cr; + show: command printString; + cr; + show: result ]. + ^ result diff --git a/repository/Tode-GemStone-Core2x.package/TDGemStoneTool.extension/instance/systemIsVoting.st b/repository/Tode-GemStone-Core2x.package/TDGemStoneTool.extension/instance/systemIsVoting.st new file mode 100644 index 000000000..c8ac73552 --- /dev/null +++ b/repository/Tode-GemStone-Core2x.package/TDGemStoneTool.extension/instance/systemIsVoting.st @@ -0,0 +1,4 @@ +*tode-gemstone-core2x +systemIsVoting + +^false diff --git a/repository/Tode-GemStone-Core2x.package/TDGemStoneTool.extension/methodProperties.json b/repository/Tode-GemStone-Core2x.package/TDGemStoneTool.extension/methodProperties.json new file mode 100644 index 000000000..16d5d7b59 --- /dev/null +++ b/repository/Tode-GemStone-Core2x.package/TDGemStoneTool.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "buBackup:" : "dkh 11/20/2014 11:21" } } diff --git a/repository/Tode-GemStone-Core2x.package/TDGemStoneTool.extension/properties.json b/repository/Tode-GemStone-Core2x.package/TDGemStoneTool.extension/properties.json new file mode 100644 index 000000000..bb05de7b5 --- /dev/null +++ b/repository/Tode-GemStone-Core2x.package/TDGemStoneTool.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TDGemStoneTool" } diff --git a/repository/Tode-GemStone-Core2x.package/monticello.meta/initializers.st b/repository/Tode-GemStone-Core2x.package/monticello.meta/initializers.st new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-GemStone-Core2x.package/monticello.meta/package b/repository/Tode-GemStone-Core2x.package/monticello.meta/package new file mode 100644 index 000000000..b1f5dd997 --- /dev/null +++ b/repository/Tode-GemStone-Core2x.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Tode-GemStone-Core2x') \ No newline at end of file diff --git a/repository/Tode-GemStone-Core2x.package/monticello.meta/version b/repository/Tode-GemStone-Core2x.package/monticello.meta/version new file mode 100644 index 000000000..0aa1565ea --- /dev/null +++ b/repository/Tode-GemStone-Core2x.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'Tode-GemStone-Core2x-dkh.2' message 'add --safely option to bu backup command' id 'e1a6552a-e6b4-455b-b54b-0a421bc34b7c' date '03/22/2015' time '08:03:12' author 'dkh' ancestors ((name 'Tode-GemStone-Core2x-dkh.1' message 'fixing `bu` command for 2.4.x' id '19a0d8c1-b4a5-4fae-ae7c-623e51aac442' date '11/20/2014' time '11:22:27' author 'dkh' ancestors () stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Tode-GemStone-Core2x.package/properties.json b/repository/Tode-GemStone-Core2x.package/properties.json new file mode 100644 index 000000000..f037444a7 --- /dev/null +++ b/repository/Tode-GemStone-Core2x.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/Tode-GemStone-Core3x.package/.filetree b/repository/Tode-GemStone-Core3x.package/.filetree new file mode 100644 index 000000000..8998102c2 --- /dev/null +++ b/repository/Tode-GemStone-Core3x.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/Tode-GemStone-Core3x.package/TDAbstractDevTool.extension/instance/performOnServer.status..st b/repository/Tode-GemStone-Core3x.package/TDAbstractDevTool.extension/instance/performOnServer.status..st new file mode 100644 index 000000000..d531bdb43 --- /dev/null +++ b/repository/Tode-GemStone-Core3x.package/TDAbstractDevTool.extension/instance/performOnServer.status..st @@ -0,0 +1,5 @@ +*tode-gemstone-core3x +performOnServer: commandLine status: statusBlock + | performOnServerStatusArray | + performOnServerStatusArray := System _performOnServer: commandLine. + ^ statusBlock value: performOnServerStatusArray \ No newline at end of file diff --git a/repository/Tode-GemStone-Core3x.package/TDAbstractDevTool.extension/methodProperties.json b/repository/Tode-GemStone-Core3x.package/TDAbstractDevTool.extension/methodProperties.json new file mode 100644 index 000000000..e0227c2b0 --- /dev/null +++ b/repository/Tode-GemStone-Core3x.package/TDAbstractDevTool.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "performOnServer:status:" : "dkh 09/16/2015 14:29" } } diff --git a/repository/Tode-GemStone-Core3x.package/TDAbstractDevTool.extension/properties.json b/repository/Tode-GemStone-Core3x.package/TDAbstractDevTool.extension/properties.json new file mode 100644 index 000000000..0654d47f0 --- /dev/null +++ b/repository/Tode-GemStone-Core3x.package/TDAbstractDevTool.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TDAbstractDevTool" } diff --git a/repository/Tode-GemStone-Core3x.package/TDGemStoneTool.extension/instance/systemIsVoting.st b/repository/Tode-GemStone-Core3x.package/TDGemStoneTool.extension/instance/systemIsVoting.st new file mode 100644 index 000000000..3d6504797 --- /dev/null +++ b/repository/Tode-GemStone-Core3x.package/TDGemStoneTool.extension/instance/systemIsVoting.st @@ -0,0 +1,6 @@ +*tode-gemstone-core3x +systemIsVoting + | vs sessId | + vs := System voteState. + sessId := System sessionIdHoldingGcLock. + ^ sessId ~= 0 or: [ vs > 0 and: [ vs < 4 ] ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Core3x.package/TDGemStoneTool.extension/methodProperties.json b/repository/Tode-GemStone-Core3x.package/TDGemStoneTool.extension/methodProperties.json new file mode 100644 index 000000000..fb955e462 --- /dev/null +++ b/repository/Tode-GemStone-Core3x.package/TDGemStoneTool.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "systemIsVoting" : "dkh 09/16/2015 14:56" } } diff --git a/repository/Tode-GemStone-Core3x.package/TDGemStoneTool.extension/properties.json b/repository/Tode-GemStone-Core3x.package/TDGemStoneTool.extension/properties.json new file mode 100644 index 000000000..bb05de7b5 --- /dev/null +++ b/repository/Tode-GemStone-Core3x.package/TDGemStoneTool.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TDGemStoneTool" } diff --git a/repository/Tode-GemStone-Core3x.package/monticello.meta/initializers.st b/repository/Tode-GemStone-Core3x.package/monticello.meta/initializers.st new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-GemStone-Core3x.package/monticello.meta/package b/repository/Tode-GemStone-Core3x.package/monticello.meta/package new file mode 100644 index 000000000..0b6813b7a --- /dev/null +++ b/repository/Tode-GemStone-Core3x.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Tode-GemStone-Core3x') \ No newline at end of file diff --git a/repository/Tode-GemStone-Core3x.package/monticello.meta/version b/repository/Tode-GemStone-Core3x.package/monticello.meta/version new file mode 100644 index 000000000..244da8788 --- /dev/null +++ b/repository/Tode-GemStone-Core3x.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'Tode-GemStone-Core3x-dkh.4' message 'the gemtool restore method was actually doing a backup ... not cool:(' id 'bd6048a9-fd6b-4521-9606-0c3e75eb2220' date '10/08/2015' time '12:02:44' author 'dkh' ancestors ((name 'Tode-GemStone-Core3x-dkh.3' message 'Issue #202: add --uncompressed option to `bu backup` command. Default for `bu backup` is to create a compressed backup. Also add a `bu validate` command for validating the readability of backup files ... update tests ,, improve (hopefully) performOnServer: functionality by getting back explicit command status' id '6f045600-4da2-4552-b935-8d8e96f40ce5' date '09/16/2015' time '15:45:20' author 'dkh' ancestors ((name 'Tode-GemStone-Core3x-dkh.2' message 'add --safely option to `bu backup` command' id 'c59dc3b6-a4e5-4e60-b5f8-1e4622b999b8' date '03/22/2015' time '08:07:11' author 'dkh' ancestors ((name 'Tode-GemStone-Core3x-dkh.1' message 'fixing `bu` command for 2.4.x' id '6fc89f19-19a6-4eac-af9b-30576a638d2e' date '11/20/2014' time '11:21:19' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Tode-GemStone-Core3x.package/properties.json b/repository/Tode-GemStone-Core3x.package/properties.json new file mode 100644 index 000000000..f037444a7 --- /dev/null +++ b/repository/Tode-GemStone-Core3x.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/Tode-GemStone-Server-Core.package/ClientForwarder.extension/instance/printOn.recursionSet..st b/repository/Tode-GemStone-Server-Core.package/ClientForwarder.extension/instance/printOn.recursionSet..st new file mode 100644 index 000000000..81b8d9bb8 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/ClientForwarder.extension/instance/printOn.recursionSet..st @@ -0,0 +1,3 @@ +*tode-gemstone-server-core +printOn: aStream recursionSet: anIdentitySet + self printOn: aStream \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/ClientForwarder.extension/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/ClientForwarder.extension/methodProperties.json index e46bd41da..d35db49ff 100644 --- a/repository/Tode-GemStone-Server-Core.package/ClientForwarder.extension/methodProperties.json +++ b/repository/Tode-GemStone-Server-Core.package/ClientForwarder.extension/methodProperties.json @@ -4,4 +4,5 @@ "instance" : { "asTDObjectNode:topez:aspect:" : "dkh 03/20/2014 16:13", "displayOnPolicy:" : "dkh 05/30/2013 06:33", - "displayWith:" : "dkh 05/30/2013 06:34" } } + "displayWith:" : "dkh 05/30/2013 06:34", + "printOn:recursionSet:" : "dkh 01/01/2015 16:29" } } diff --git a/repository/Tode-GemStone-Server-Core.package/DirectoryEntry.extension/instance/asTDObjectNode.topez.aspect..st b/repository/Tode-GemStone-Server-Core.package/DirectoryEntry.extension/instance/asTDObjectNode.topez.aspect..st new file mode 100644 index 000000000..558e2e6f6 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/DirectoryEntry.extension/instance/asTDObjectNode.topez.aspect..st @@ -0,0 +1,7 @@ +*tode-gemstone-server-core +asTDObjectNode: parentNode topez: aTopez aspect: aBuilderAspect + ^ self asTDFileSystemNode + parent: parentNode; + topez: aTopez; + builderAspect: aBuilderAspect; + yourself \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/DirectoryEntry.extension/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/DirectoryEntry.extension/methodProperties.json new file mode 100644 index 000000000..8a4b36544 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/DirectoryEntry.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "asTDObjectNode:topez:aspect:" : "dkh 11/12/2014 10:25" } } diff --git a/repository/Tode-GemStone-Server-Core.package/DirectoryEntry.extension/properties.json b/repository/Tode-GemStone-Server-Core.package/DirectoryEntry.extension/properties.json new file mode 100644 index 000000000..2043ac766 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/DirectoryEntry.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "DirectoryEntry" } diff --git a/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/methodBehavior.st b/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/methodBehavior.st deleted file mode 100644 index 7d6a69df8..000000000 --- a/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/methodBehavior.st +++ /dev/null @@ -1,17 +0,0 @@ -as yet unclassified -methodBehavior - | tokens sz class ext cls isMeta | - self hasFileTreeSmalltalkSource - ifFalse: [ ^ nil ]. - tokens := self filePath findTokens: '/'. - sz := tokens size. - class := tokens at: sz - 2. - (class endsWith: '.class') - ifTrue: [ ext := '.class' ] - ifFalse: [ ext := '.extension' ]. - class := class copyFrom: 1 to: class size - ext size. - isMeta := (tokens at: sz - 1) = 'class'. - cls := Smalltalk at: class asSymbol. - isMeta - ifTrue: [ cls := cls class ]. - ^ cls \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/methodClass.st b/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/methodClass.st deleted file mode 100644 index 4be07cc3e..000000000 --- a/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/methodClass.st +++ /dev/null @@ -1,13 +0,0 @@ -as yet unclassified -methodClass - | tokens sz class ext | - self hasFileTreeSmalltalkSource - ifFalse: [ ^ nil ]. - tokens := self filePath findTokens: '/'. - sz := tokens size. - class := tokens at: sz - 2. - (class endsWith: '.class') - ifTrue: [ ext := '.class' ] - ifFalse: [ ext := '.extension' ]. - class := class copyFrom: 1 to: class size - ext size. - ^ Smalltalk at: class asSymbol \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/methodSelector.st b/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/methodSelector.st index a6952c897..3532b59c5 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/methodSelector.st +++ b/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/methodSelector.st @@ -1,4 +1,4 @@ -as yet unclassified +smalltalk source methodSelector | methodSource methodNode | self hasFileTreeSmalltalkSource diff --git a/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/methodSpec.st b/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/methodSpec.st deleted file mode 100644 index f465956e9..000000000 --- a/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/methodSpec.st +++ /dev/null @@ -1,19 +0,0 @@ -as yet unclassified -methodSpec - | tokens sz meta class ext | - self hasFileTreeSmalltalkSource - ifFalse: [ ^ self filePath ]. - ((self filePath includesSubstring: '.class') - or: [ self filePath includesSubstring: '.extension' ]) not - ifTrue: [ ^ self filePath ]. - tokens := self filePath findTokens: '/'. - sz := tokens size. - meta := ''. - (tokens at: sz - 1) = 'class' - ifTrue: [ meta := ' class' ]. - class := tokens at: sz - 2. - (class endsWith: 'class') - ifTrue: [ ext := '.class' ] - ifFalse: [ ext := '.extension' ]. - class := class copyFrom: 1 to: class size - ext size. - ^ class , meta , '>>' , self methodSelector asString \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/methodProperties.json index 1203ae6c6..e1428a813 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/methodProperties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/methodProperties.json @@ -6,10 +6,6 @@ "formatSource:" : "dkh 05/19/2014 11:59", "hasFileTreeSmalltalkSource" : "dkh 05/09/2014 12:39", "label" : "dkh 05/10/2014 20:11", - "methodBehavior" : "dkh 05/12/2014 19:35", - "methodClass" : "dkh 05/10/2014 20:50", - "methodSelector" : "dkh 05/09/2014 15:33", - "methodSpec" : "dkh 05/22/2014 10:15", + "methodSelector" : "dkh 01/30/2015 11:02", "sourceMethodSource" : "dkh 05/29/2014 21:16", - "stSource" : "dkh 05/30/2014 07:03", - "stSource:" : "dkh 05/09/2014 15:29" } } + "stSource" : "dkh 05/30/2014 07:03" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/backupDirectoryName.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/backupDirectoryName.st index 60896962d..a8939cebd 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/backupDirectoryName.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/backupDirectoryName.st @@ -1,5 +1,5 @@ bu backupDirectoryName BackupDirectoryName - ifNil: [ self backupDirectoryName: self defaulBackupDirectoryName ]. + ifNil: [ self backupDirectoryName: self defaultBackupDirectoryName ]. ^ BackupDirectoryName \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buManPage.st index 9597359a9..2618d7070 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buManPage.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buManPage.st @@ -19,18 +19,21 @@ DESCRIPTION list Display info about all backup files remove Remove backup file from backup directory restore Restore from a GemStone backup + snapshot Make a snapshot of the extent0.dbf file + validate Validate that backup file is readable OPTIONS --help --dir= EXAMPLES - bu backup seaside.dbf - bu directory /opt/gemstone/backups - bu info --dir=/opt/gemstone/backups seaside.dbf; print + bu backup sample.dbf + bu directory $GS_HOME/gemstone/stones/dev/backups + bu info --dir=/opt/gemstone/backups sample.dbf; edit bu list - bu remove seaside.dbf - bu restore seaside.dbf + bu remove sample.dbf + bu restore sample.dbf + bu snapshot sample.dbf '. manPage subCommands at: 'backup' put: self bubackupManPage; @@ -39,5 +42,7 @@ EXAMPLES at: 'list' put: self bulistManPage; at: 'restore' put: self burestoreManPage; at: 'remove' put: self buremoveManPage; + at: 'snapshot' put: self busnapshotManPage; + at: 'validate' put: self buvalidateManPage; yourself. ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/bubackupManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/bubackupManPage.st index 975dbd123..8f502510e 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/bubackupManPage.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/bubackupManPage.st @@ -4,13 +4,15 @@ bubackupManPage commandName: 'backup' fromString: 'NAME - backup - Make a GemStone backup + bu backup - Make a GemStone backup SYNOPSIS - bu [--dir=] backup + bu [--dir=] backup [--safely] [--uncompressed] DESCRIPTION - Make a GemStone backup in the specified backup file. + Make a GemStone backup in the specified backup file. By default a compressed + backup is created and a `.gz` is tacked onto the end of the if + not already present. With no options specified, the backup file will be located in the directory specified by the `bu directory` command. The default backup directory is named @@ -19,14 +21,23 @@ DESCRIPTION With the --dir option specified, the backup file will be stored in the named directory. + With the --safely option specified, the backup will (quietly) be skipped if + the target backup file already exists. + + With the --uncompressed option an uncompressed backup is created in the named + . + EXAMPLES bu --help backup - bu backup seaside.dbf - bu --dir=/opt/gemstone/backups backup seaside.dbf + bu backup --uncompressed sample.dbf + bu backup sample.dbf + bu backup --safely sample.dbf + bu --dir=/opt/gemstone/backups backup sample.dbf SEE ALSO bu --help directory bu --help info bu --help list bu --help restore + bu --help validate ' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/budirectoryManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/budirectoryManPage.st index a76ba2b12..332a37dbc 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/budirectoryManPage.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/budirectoryManPage.st @@ -4,25 +4,30 @@ budirectoryManPage commandName: 'directory' fromString: 'NAME - directory - Define default backup directory + bu directory - Define default backup directory SYNOPSIS - bu directory [] + bu directory [--snapshot] [] DESCRIPTION Set the default backup directory. With no arguments specified, the current backup directory is listed. - If an argument is specified, the backeup directory is set to the new + If an argument is specified, the backup directory is set to the new location. The default backup directory is named ''backups'' and is located in the $GEMSTONE_DATADIR. + If the --snapshot option is specified, then the snapshot directory is + set or displayed. + EXAMPLES + bu --help bu directory bu directory /opt/gemstone/backups + bu directory --snapshot /opt/gemstone/snapshots SEE ALSO bu --help backup diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buinfoManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buinfoManPage.st index 01d186c96..007caa67b 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buinfoManPage.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buinfoManPage.st @@ -4,15 +4,15 @@ buinfoManPage commandName: 'info' fromString: 'NAME - info - Display info about a particular backup + bu info - Display info about a particular backup SYNOPSIS - bu [--dir=] info + bu [--dir=] info [--snapshot] DESCRIPTION Display information from the GemStone copydbf command about the backup file: - Source file: /export/foos2/users/dhenrich/3.0/j_gss64bit/backups//wip.dbf + Source file: /export/foos2/users/dhenrich/3.0/j_gss64bit/backups/wip.dbf File type: backup fileId: 0 ByteOrder: Intel (LSB first) compatibilityLevel: 844 The file was created at: 04/20/2014 10:16:08 PDT. @@ -23,11 +23,17 @@ DESCRIPTION With the --dir option specified, the restore file will be read from the named directory. + With the --snapshot options specified, the is looked up in + the snapshot directory/ + EXAMPLES - bu info seaside.dbf; print - bu info --dir=/opt/gemstone/backups seaside.dbf; print + bu info extent0.sample.dbf; edit + bu --dir=/opt/gemstone/backups info sample.dbf; edit + bu info --snapshot extent0.sample.dbf; edit + bu --dir=$GS_HOME/gemstone/snapshots info extent0.sample.dbf; edit SEE ALSO bu --help backup bu --help restore + bu --help snapshot ' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/bulistManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/bulistManPage.st index 97e204703..f9f8bc7bf 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/bulistManPage.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/bulistManPage.st @@ -4,7 +4,7 @@ bulistManPage commandName: 'list' fromString: 'NAME - list - Display info about all backup files + bu list - Display info about all backup and snapshot files SYNOPSIS bu [--dir=] list @@ -14,12 +14,16 @@ DESCRIPTION Last Restore: 17/04/2014 10:13:20 -- home.dbf (04/17/2014 14:14:41) Last Backup: 20/04/2014 10:16:10 -- wip.dbf + Backups: 14/04/2014 20:59:29 -- glass-1.0-beta.9.1.dbf 15/04/2014 17:38:22 -- tode.dbf 17/04/2014 12:12:59 -- seaside3.0.9.1.dbf 17/04/2014 14:21:59 -- seaside3.0.10.dbf 19/04/2014 20:51:15 -- home.dbf 20/04/2014 10:16:10 -- wip.dbf + Snapshots: + 15/04/2014 17:38:22 -- extent0.tode.dbf + 17/04/2014 12:12:59 -- extent0.seaside3.dbf Included in the information is the `Last Backup` and `Last Restore` times. @@ -30,11 +34,15 @@ DESCRIPTION from backup is performed. Note that the state is actually set by a call from the tode client, immediately after the restore is completed. + With the --dir specified, the info for the files in that directory are + listed. EXAMPLES bu list bu --dir=/opt/gemstone/backups list + bu --dir=$GS_HOME/gemstone/snapshots list SEE ALSO bu --help backup bu --help restore + bu --help snapshot ' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buremoveManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buremoveManPage.st index f61f4aff6..7bcf4b2d2 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buremoveManPage.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buremoveManPage.st @@ -4,10 +4,10 @@ buremoveManPage commandName: 'remove' fromString: 'NAME - remove - Remove backup file from backup directory + bu remove - Remove backup file from backup directory SYNOPSIS - bu [--dir=] remove + bu [--dir=] remove [--snapshot] DESCRIPTION Remove the specified backup file from the backup directory. @@ -19,14 +19,21 @@ DESCRIPTION With the --dir option specified, the backup file will be stored in the named directory. + With the --snapshot option specified the named file is removed from the + snapshot directory. See `man bu snapshot` for details of the snapshot + directory. + EXAMPLES - bu --help reemove - bu remove seaside.dbf - bu --dir=/opt/gemstone/backups remove seaside.dbf + bu --help remove + bu remove sample.dbf + bu --dir=/opt/gemstone/backups remove sample.dbf + bu remove --snapshot extent0.sample.dbf + bu --dir=--dir=$GS_HOME/gemstone/snapshots remove extent0.sample.dbf SEE ALSO bu --help directory bu --help info bu --help list bu --help restore + bu --help snapshot ' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/burestoreManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/burestoreManPage.st index 4127e87ba..2138f055d 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/burestoreManPage.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/burestoreManPage.st @@ -4,7 +4,7 @@ burestoreManPage commandName: 'restore' fromString: 'NAME - restore - Restore from a GemStone backup + bu restore - Restore from a GemStone backup SYNOPSIS bu [--dir=] restore @@ -20,8 +20,9 @@ DESCRIPTION directory. EXAMPLES - bu restore seaside.dbf - bu --dir=/opt/gemstone/backups restore seaside.dbf + bu restore sample.dbf + bu restore sample.dbf.gz + bu --dir=/opt/gemstone/backups restore sample.dbf.gz SEE ALSO bu --help backup diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/busnapshotManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/busnapshotManPage.st new file mode 100644 index 000000000..23064c696 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/busnapshotManPage.st @@ -0,0 +1,54 @@ +bu +busnapshotManPage + ^ TDManPage + commandName: 'snapshot' + fromString: + 'NAME + bu snapshot - Make a snapshot of the extent files + +SYNOPSIS + bu [--dir=] snapshot [--safely] [--suspend=] \ + +DESCRIPTION + Make a snapshot copy of the extent files: + + 1. Suspend checkpoints. By default, checkpoints will be suspended for 15 + minutes. If that may not be enough time, you can specify the number of + minutes to suspend the checkpoints with the --suspend option. + 2. Copy the extent files to the (replacing the `.dbf` + file extension with the given . + 3. Resume checkpoints. Since checkpoints are explicitly resumed after the + copies have been made, it does not hurt to be generous with the + --suspend option. + + The default snapshot directory is a sibling directory of the backup directory + named ''snapshot''. + + With the --dir option specified, the snapshot files will be stored in the named + directory. + + While an extent snapshot can be used to restore the state of a repository + (see http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/9-BackupAndRestore.htm#pgfId-1001430), + the recommended usage is to create an extent snapshot immediately after + installing tODE (see $GS_HOME/tode/sys/defaults/client/scripts/installServerTode2) + and using the snapshot as the starting point for subsequent installations. + + With the --safely option specified, the snapshot will (quietly) be skipped if + the target snapshot already exists. + +EXAMPLES + bu --help snapshot + bu snapshot sample.dbf + bu snapshot --safely sample.dbf + bu --dir=$GS_HOME/gemstone/snapshots snapshot sample.dbf + +SEE ALSO + bu --help directory + bu --help info + bu --help list + bu --help restore + Extent Snapshot Backup when the Repository is running: + http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/9-BackupAndRestore.htm#pgfId-972147 + + Restoring from and Extent Snapshot Backup: + http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/9-BackupAndRestore.htm#pgfId-1001430' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buvalidateManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buvalidateManPage.st new file mode 100644 index 000000000..2dc509398 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/buvalidateManPage.st @@ -0,0 +1,35 @@ +bu +buvalidateManPage + ^ TDManPage + commandName: 'validate' + fromString: + 'NAME + bu validate - Validate that backup file is readable + +SYNOPSIS + bu [--dir=] validate [--snapshot] + +DESCRIPTION + Verify the readability of the specified bacup file. + + With no options specified, the backup file will be read from the directory + specified by the `bu directory` command. The default backup directory is named + ''backups'' and is located in the $GEMSTONE_DATADIR. + + With the --dir option specified, the restore file will be read from the named + directory. + + With the --snapshot option specified the in the snapshot directory + will be validated. + +EXAMPLES + bu validate sample.dbf.gz + bu --dir=/opt/gemstone/backups validate sample.dbf.gz + bu validate --snapshot extent0.sample.dbf + +SEE ALSO + bu --help backup + bu --help directory + bu --help info + bu --help list +' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/defaulBackupDirectoryName.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/defaulBackupDirectoryName.st deleted file mode 100644 index a98e52d44..000000000 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/defaulBackupDirectoryName.st +++ /dev/null @@ -1,3 +0,0 @@ -bu -defaulBackupDirectoryName - ^ (GsFile _expandEnvVariable: 'GEMSTONE_DATADIR' isClient: false) , '/backups' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/defaultBackupDirectoryName.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/defaultBackupDirectoryName.st new file mode 100644 index 000000000..088f34c70 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/defaultBackupDirectoryName.st @@ -0,0 +1,7 @@ +bu +defaultBackupDirectoryName + | path | + path := (GsFile _expandEnvVariable: 'GEMSTONE_DATADIR' isClient: false) + , '/backups'. + (ServerFileDirectory on: path) assureExistence. + ^ path \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/defaultSnapshotDirectoryName.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/defaultSnapshotDirectoryName.st new file mode 100644 index 000000000..dc7ad156c --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/defaultSnapshotDirectoryName.st @@ -0,0 +1,7 @@ +bu +defaultSnapshotDirectoryName + | path | + path := ((ServerFileDirectory on: self backupDirectoryName) + containingDirectory directoryNamed: 'snapshots') fullName. + (ServerFileDirectory on: path) assureExistence. + ^ path \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gs.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gs.st index 675efccac..b9c8b5e35 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gs.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gs.st @@ -1,4 +1,9 @@ -as yet unclassified +gs gs - ^ [ :topez :objIn :tokens :command | self performSubCommand: topez objIn: objIn todeCommand: command ] \ No newline at end of file + ^ [ :topez :objIn :tokens :command | + self + performSubCommand: topez + objIn: objIn + commandOptions: {#('help' $h #'none')} + todeCommand: command ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsManPage.st index a1d787a04..512d8cc1b 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsManPage.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsManPage.st @@ -1,34 +1,88 @@ -as yet unclassified +gs gsManPage - ^ 'NAME + | manPage | + manPage := TDManPage + commandName: 'gs' + fromString: + 'NAME gs - execute gemstone commands SYNOPSIS -# gs dataDir - gs fileout -d|--directory= - [--class|--package|--category] ... - gs halt -m|--almostOutOfMemory= - gs instances - instances @ - gs mfc [] - gs mreferences @ - gs objectAudit [] - gs objectFor - gs references @ - gs sessionDescription - gs version + gs [--help] [] DESCRIPTION + gs is the primary command for executing GemStone-specific commands. + + The is the name of a gs command that invokes a + specific operation or tool. + + Commands: + configuration Gem and Stone configuration reports + fileout Fileout Classes, Categories or Packages + fileSizeReport Report on repository size and amount of free space + gemtools Emulate GemTools Launcher Menus + halt Halt on AlmostOutOfMemory exception + instances + mfc Perform a Mark for Collection + mreferences + objectAudit + objectFor Resolve an object from given objectId + references Find reference paths to the given objects + sessionDescription Session information report + version OS, hardware and GemStone version attributes for Client, Gem, or Stone + + Use `gs --help ` to read about a specific subcommand. + +OPTIONS + --help [] + Bring up this man page or a man page for a subCommand. + +EXAMPLES + gs --help + gs --help mfc + + gs configuration --gem + gs configuration --stone - fileout - -d, --directory file system path to target directory where fileout files will - be written - --class fileout class. the is: - --package fileout package. the is: - --category fileout category. the is: + gs fileout --directory=/tmp/fileouts --category Metacello-Core-Scripts metacello-scripts.gs + gs fileout --directory=/tmp/fileouts --class TDGemStoneTool gstool.gs + gs fileout --directory=/tmp/fileouts --package Tode-GemStone-Server-Tests tests.gs - example: + gs fileSizeReport - gs file --directory=/tmp/fileouts --class TDGemStoneTool gstool.gs - gs file -d/tmp/fileouts --package Index-Tests indexTests.gs -' \ No newline at end of file + gs gemtools + + gs halt -m=65 + gs halt -almostOutOfMemory=65 + + gs mfc + gs mfc --noCommit + gs mfc --threads=3 --wait=120 --cpu=40 + gs mfc --buffer=256 + + gs objectFor + + gs references --max=32 + + gs sessionDescription + gs sessionDescription 5 + gs sessionDescription --all + + gs version + gs version --client + gs version --gem + gs version --stone +'. + manPage subCommands + at: 'gemtools' put: self gsgemtoolsManPage; + at: 'configuration' put: self gsconfigurationManPage; + at: 'fileout' put: self gsfileoutManPage; + at: 'halt' put: self gshaltManPage; + at: 'fileSizeReport' put: self gsfileSizeReportManPage; + at: 'mfc' put: self gsmfcManPage; + at: 'objectFor' put: self gsobjectForManPage; + at: 'sessionDescription' put: self gssessionDescriptionManPage; + at: 'version' put: self gsversionManPage; + at: 'references' put: self gsreferencesManPage; + yourself. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsconfigurationManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsconfigurationManPage.st new file mode 100644 index 000000000..93b91b55d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsconfigurationManPage.st @@ -0,0 +1,30 @@ +gs +gsconfigurationManPage + | manPage | + manPage := TDManPage + commandName: 'configuration' + fromString: + 'NAME + gs configuration - Gem and Stone configuration reports + +SYNOPSIS + gs configuration [--gem|--stone] + +DESCRIPTION + Returns a dictionary whose keys are the names of configuration file parameters. + +OPTIONS + --gem + Returns a dictionary whose keys are the names of configuration file parameters, and whose + values are the current settings of those parameters in the current session''s Gem process. + + --stone + Returns a dictionary whose keys are the names of configuration file parameters, and whose + values are the current settings of those parameters in the repository monitor process + (Stone). + +EXAMPLES + gs configuration --gem + gs configuration --stone +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsfileSizeReportManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsfileSizeReportManPage.st new file mode 100644 index 000000000..e40779f83 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsfileSizeReportManPage.st @@ -0,0 +1,20 @@ +gs +gsfileSizeReportManPage + | manPage | + manPage := TDManPage + commandName: 'fileSizeReport' + fromString: + 'NAME + gs fileSizeReport - Report on repository size and amount of free space + +SYNOPSIS + gs fileSizeReport + +DESCRIPTION + Opens editor on a string which reports on the name, size, and amount of free space + for each extent and the size and free space of the entire logical Repository. + +EXAMPLES + gs fileSizeReport +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsfileoutManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsfileoutManPage.st new file mode 100644 index 000000000..48d7d2d7b --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsfileoutManPage.st @@ -0,0 +1,43 @@ +gs +gsfileoutManPage + | manPage | + manPage := TDManPage + commandName: 'fileout' + fromString: + 'NAME + gs fileout - Fileout Classes, Categories or Packages + +SYNOPSIS + gs fileout --directory= [--class|--package|--category] ... + +DESCRIPTION + Fileout classes, categories or packages to the given directory. + + At leasy one must be specified. A consists of the name of a + category, class, or package and the name of the file. + +OPTIONS + --directory= + may be fully qualified or relative to the PWD env variable with which + the gem was started. In general, a fully qualified path should be used. Each of the files + is created in the given directory + + --category + The name in the will be interpreted as a class category name and all of the + the classes located in that category will be filed out to the given file. + + --class + The name in the will be interpreted as a class name and the given class + will be filed out to the given file. + + --package + The name in the will be interpreted as a package name and all of the + the classes and extension methods contained in the package will be filed out to the + given file. + +EXAMPLES + gs fileout --directory=/tmp/fileouts --category Metacello-Core-Scripts metacello-scripts.gs + gs fileout --directory=/tmp/fileouts --class TDGemStoneTool gstool.gs + gs fileout --directory=/tmp/fileouts --package Tode-GemStone-Server-Tests tests.gs +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsgemtoolsManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsgemtoolsManPage.st new file mode 100644 index 000000000..7e4689e12 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsgemtoolsManPage.st @@ -0,0 +1,182 @@ +gs +gsgemtoolsManPage + | manPage | + manPage := TDManPage + commandName: 'gemtools' + fromString: + 'NAME + gs gemtools - Emulate GemTools Launcher Menus + +SYNOPSIS + gs gemtools + +DESCRIPTION + The `gemtools` command opens a window that lists all of the menu items in the GemTools + Launcher menu. When you click on an item in the list, the man page for the corresponding + tODE command is opened. Selecting a menu item from the hierarchical menu, will perform the + corresponding command in the tODE environment. + + The purpose of this window is to provide developers who are familiar with GemTools a + bridge between familiar GemTools commands and their tODE counterparts. + + For best results, you should scan through the command list in the window (you might want to + drag the bottom of the window down to make it as tall as your display, so you can more of + the commands without scrolling) and click on the items that you frequently use. Then you + should read the man page and try typing the command in the console and experiment with the + various options. All man pages have an EXAMPLES section at the bottom of the page. By using + the `tODE it` menu item, tODE shell expressions can be executed by simply highlighting the + expression (similar to the Smalltalk `do it` menuitem). + + If you prefer, you can use the menu associated with the window to execute the various + GemTools commands. As you become more familiar with tODE, I expect that you will build up + your own custom tool sets. + + One of the priniciples of tODE is that you should be able to have equal access to command + functionality from: + + GUI tools + Shell tools + Batch tools (topaz) + + This is accomplished by by basing all GUI functionality upon shell commands (this is why you are being shown the man page for the commands that implement the various GemTools menu + items). tODE commands are written such that the core functionality can be called from + Smalltalk. The command line implementation parses the arguments and calls the same api that + is used by the GUI, which uses the user interface to collect information from the users. + Additionally, shell commands return a REAL object as the command result, so not only are + command results available in the shell console AFTER a command has been executed, but + shell commands can be called from Smalltalk using `TDTopezServer>>evaluateCommandString:`. + This makes it possible to run tODE shell commands from topaz. + + As a simple example, let''s compare the implementation of the `Admin>Repository>List backup + files` gemtools menu item, to the `bu list` command. We''ll start by looking at the code + for TDGemToolsMenuBar>>repositoryListBackup:selectedIndex: (select the line below and use + the `tODE it` menu item to execute the tODE shell command in place): + + browse method --spec TDGemToolsMenuBar>>repositoryListBackup:selectedIndex: + + After you click on the method in the method list window, click in the method source and use + the `Window>cloine window` item to make a copy of the method window. Drag the method source + to the side of the screen. + + Next bring up the source for the `bu list` command: + + browse method --spec TDGemStoneTool>>bulist + + It should be pretty clear that both methods are using a common API. The gemtools code is + invoked from a menu item, while the `bu list` code is invoked from the command line. + + Using shell commands in topaz + ----------------------------- + If you need to be run tODE shell scripts from a batch environment, then you would use something like the following topaz script: + +display oops +level 1 +run +| entries | +entries := TDTopezServer evaluateCommandString: ''bu list''. +entries collect: [:each | each name]. +% + + Digging Deeper + -------------- + If you are interested in seeing how the GemTools functions are implemented, start by + using the `Window>inspect builder` menu item to open an inspector on the window builder. In + the inspector, use the `Object>browse class` menu item to bring up a class browser on the + window builder class and poke around in the methods. + + Alternatively you can `tode it` the following tODE shell expression: + + browse method --spec TDGemToolsMenuBar>>menuActionSpec: + + to view the menu specification for all of the commands. You can scan through the commands + until you find a menu spec that you are interested in, like the following: + + #(''Class...'' nil #''findClass:selectedIndex:''). + + select the `findClass:selectedIndex:` which is the method that is invoked when + the menu item is clicked and use the `Browse>implementors of it` menu item to see the + implementation of the method. + + If you wanted to create your own tODE shell script based on one of the commands. Start + by creating a shell file in your /home directory and then open an editor on the script: + + cd /home + touch sh fc + edit fc + + Copy the method contents (without the selector) and replace the "WRITE SCRIPT HERE" with the + paste buffer. Replace any occurences of `self topez` with `topez` as `topez` is supplied as + an argument to the shell command block. Also remove any returns in the method, as non-local + returns are not permitted in shell command blocks. You might have to adjust the logic a bit + to avoid the non-local returns. + + When you are happy with the script, `accept` it and then test the script by executing the + following: + + ./fc + + When you are done with your experiment you can delete the shell script: + + rm fc + + GemTools Launcher Menu Items + ---------------------------- + Transactions + Commit + Abort + Auto Abort + Auto Commit + Auto Migrate + Find + Class... + Hierarchy Browser... + Class References... + Method... + String... + Senders... + Case Sensitive String... + Tools + System Browser + Open Workspaces + File Browser + Process Browser + Inspect UndefinedSymbols + Inspect Sent But Not Implemented + Test Runner + Monticello + Admin + Repository + List backup files + Backup + Restore from Backup + Mark for Collection + DoIt + Changed packages & methods + Configuration Reports + Gem Configuration Report + Stone Configuration Report + Empty Object Log + File Size Report + Object Log + User Session Report + Version Report + Client Version Report + Gem Version Report + Stone Version Report + Browser Preferences + Commit on Almost Out of Memory + Popup on debug + Send Bug Report + Help + Debug... + Remove Continuations from Object Log + Clear Object Log + Debug Continuations + Update... + Update GemTools Launcher + Update GLASS + +EXAMPLES + gs gemtools +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gshaltManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gshaltManPage.st new file mode 100644 index 000000000..6ba5b3340 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gshaltManPage.st @@ -0,0 +1,25 @@ +gs +gshaltManPage + | manPage | + manPage := TDManPage + commandName: 'halt' + fromString: + 'NAME + gs halt - Halt on AlmostOutOfMemory exception + +SYNOPSIS + gs halt -m|--almostOutOfMemory= + +DESCRIPTION + Halt on AlmostOutOfMemory exception invocation. + +OPTIONS + -m|--almostOutOfMemory= + specifies the percentage of Temporary Object Cache at which the + AlmostOutOfMemory admonition is signalled + +EXAMPLES + gs halt -m=65 + gs halt -almostOutOfMemory=65 +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsmfcManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsmfcManPage.st new file mode 100644 index 000000000..1f225a1a1 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsmfcManPage.st @@ -0,0 +1,64 @@ +gs +gsmfcManPage + | manPage | + manPage := TDManPage + commandName: 'mfc' + fromString: + 'NAME + gs mfc - Perform a Mark for Collection + +SYNOPSIS + gs mfc [--noCommit] [--threads=] [--wait=] + [--buffer=] [--cpu=] + +DESCRIPTION + Perform a garbage collection analysis of all permanent objects on disk. + Every object in the receiver that cannot be reached from AllUsers is marked + for subsequent reclaiming of storage space. + + This command commits the current transaction (unless the --noCommit option + is specified), empties the GcCandidates queue and commits, runs the analysis + while outside of a transaction and then reenters a transaction if the session + was in a transaction at the start of this method. If an abort would cause unsaved + changes to be lost, it does not execute and signals an error, #rtErrAbortWouldLoseData. + + For additional information see the comments in the following methods: + + browse method --spec Repository>>markForCollection \ + Repository>>_mfcWithMaxThreads:waitForLock:pageBufSize:percentCpuActiveLimit: + +OPTIONS + --buffer= + By default, the is 128. The , which must be a + power of two, specifies the number of pages to buffer per thread. This parameter in + conjunction with the largely determines the memory footprint needed to + perform this operation. + + --cpu= + By default, the is 90. The + specifies a level of total cpu activity at which the algorithm automatically + inactivates threads to prevent overload of system resources. + + --noCommit + By default, this command performs a commit. If the --noCommit option is specified, + then an abort is performed instead as the mfc must start with no dirty objects in + the vm. + + --threads= + By default, the is 1. The argument specifies the maximum + number of slave sessions (threads) that can be used during the operation. + + --wait= + By default the is 60. The is used to specify how many + seconds the method should wait while attempting to acquire the gcLock. No other + garbage collection operations may be started or in progress while this method is + running. There also must be no outstanding possible dead objects in the system for + the GC lock to be granted. + +EXAMPLES + gs mfc + gs mfc --noCommit + gs mfc --threads=3 --wait=120 --cpu=40 + gs mfc --buffer=256 +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsobjectForManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsobjectForManPage.st new file mode 100644 index 000000000..6105b491e --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsobjectForManPage.st @@ -0,0 +1,23 @@ +gs +gsobjectForManPage + | manPage | + manPage := TDManPage + commandName: 'objectFor' + fromString: + 'NAME + gs objectFor - Resolve an object from given objectId + +SYNOPSIS + gs objectFor ... + +DESCRIPTION + Return an Array of objects with the given list of s. The object''s slot + in the Array is occuped by nil if no such object exists. The + may specify a special object. + +EXAMPLES + gs objectFor 188566017 + gs objectFor 188566017 79171329 + +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsreferencesManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsreferencesManPage.st new file mode 100644 index 000000000..58646d811 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsreferencesManPage.st @@ -0,0 +1,26 @@ +gs +gsreferencesManPage + | manPage | + manPage := TDManPage + commandName: 'references' + fromString: + 'NAME + gs references - Find reference paths to the given objects + +SYNOPSIS + gs references [--max=] [--inMemory] ... + +DESCRIPTION + Return an Dictionary of reference paths for the given list of objects, where the + key is the object and the value is an Array of reference paths. + + With --inMemory, only objects in the current session''s temporary object memory + are returned. + +EXAMPLES + gs references --inMemory 188566017 + gs references 188566017 + gs references 188566017 79171329 + gs references --max=5 188566017 79171329 +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gssessionDescriptionManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gssessionDescriptionManPage.st new file mode 100644 index 000000000..92e753ad0 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gssessionDescriptionManPage.st @@ -0,0 +1,66 @@ +gs +gssessionDescriptionManPage + | manPage | + manPage := TDManPage + commandName: 'sessionDescription' + fromString: + 'NAME + gs sessionDescription - Session information report + +SYNOPSIS + gs sessionDescription [--all]|[] + +DESCRIPTION + Return a dictionary with a variety of information about the given . + + By default, returns the session description for the current session. + + With the --all option, a dictionary of session description dictionaries is returned, keyed + by session id. + + Here''s a summary of the information in each session description dictionary: + + 1. The UserProfile of the session; nil if the UserProfile is recently + created and not visible from this session''s transactional view + or the session is in login or processing, or has logged out. + 2. A SmallInteger, the process ID of the Gem or topaz -l process . + 3. The hostname of the machine running the Gem process. Specifically, + the peer''s hostname as seen by stone, for the gem to stone network + connection used for login. + (a String, limited to 127 bytes). + 4. Primitive number in which the Gem is executing, or 0 if it is not executing + in a long primitive. + 5. Time of the session''s most recent beginTransaction, commitTransaction, or + abortTransaction (from System timeGmt). + 6. The session state (a SmallInteger). + 7. A SmallInteger whose value is -1 if the session is in transactionless mode, + 0 if it is not in a transaction and 1 if it is in a transaction. + 8. A Boolean whose value is true if the session is currently referencing the + oldest commit record, and false if it is not. + 9. The session''s serial number (a SmallInteger). + 10. The session''s sessionId (a SmallInteger). + 11. A String containing the ip address of host running the GCI process. + If the GCI application is remote, the peer address as seen by + the gem of the GCI app to gem network connection. + If the GCI application is linked (using libgcilnk*.so or gcilnk*.dll) + this is the peer''s ip address as seen by stone, for the gem to + stone network connection used for login. + 12. The priority of the session (a SmallInteger). + 13. Unique host ID of the host where the session is running (an Integer) + 14. Time of the session''s most recent request to stone (from System timeGmt) + 15. Time the session logged in (from System timeGmt) + 16. Number of commits which have occurred since the session obtained its view. + 17. Nil or a String describing a system or gc gem . + 18. Number of temporary (uncommitted) object IDs allocated to the session. + 19. Number of temporary (non-persistent) page IDs allocated to the session. + 20. A SmallInteger, 0 session has not voted, 1 session voting in progress, + 2 session has voted, or voting not active. + 21. A SmallInteger, processId of the remote GCI client process, + or -1 if the session has no remote GCI client . + +EXAMPLES + gs sessionDescription + gs sessionDescription 5 + gs sessionDescription --all +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsversionManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsversionManPage.st new file mode 100644 index 000000000..68186bb99 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/gsversionManPage.st @@ -0,0 +1,34 @@ +gs +gsversionManPage + | manPage | + manPage := TDManPage + commandName: 'version' + fromString: + 'NAME + gs version - OS, hardware and GemStone version attributes for Client, Gem, or Stone + +SYNOPSIS + gs version [--client|--gem|--stone] + +DESCRIPTION + Return a StringKeyValueDictionary whose keys are the names of operating system, + hardware, or GemStone version attributes, and whose values are the current values + of those attributes for the current client, gem, or stone. + +OPTIONS + --client + Return attribute dictionary for client GemBuilder for C process. + + --gem + Return attribute dictionary for Gem process. + + --stone + Return attribute dictionary for Stone process. + +EXAMPLES + gs version + gs version --client + gs version --gem + gs version --stone +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/initialize.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/initialize.st index acdec3a94..9afe4d835 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/initialize.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/initialize.st @@ -1,4 +1,4 @@ -as yet unclassified +initialization initialize self install. TDTopezServer diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/installOn..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/installOn..st index ccf6ffb49..80e2d2942 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/installOn..st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/installOn..st @@ -1,4 +1,4 @@ -as yet unclassified +initialization installOn: aTDTopezServer aTDTopezServer ensureChildrenExistIn: self commandPath. super installOn: aTDTopezServer \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/olManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/olManPage.st index 66e23be45..a4c8790c5 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/olManPage.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/olManPage.st @@ -39,10 +39,14 @@ EXAMPLES ol view error ol view --inverse transcript ol view --age=`1 day` -r transcript + ol view --continuation + ol view --continuation --age=`1 month` error ol clear debug error trace ol clear --inverse transcript ol clear --age=`1 month` + ol clear --continuation + ol clear --continuation --age=`1 month` error '. manPage subCommands at: 'view' put: self olviewManPage; diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/olclearManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/olclearManPage.st index 26a5987cd..0d449ae73 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/olclearManPage.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/olclearManPage.st @@ -5,10 +5,10 @@ olclearManPage commandName: 'clear' fromString: 'NAME - old clear - Remove object log entries + ol clear - Remove object log entries SYNOPSIS - ol clear [--inverse] [--age=] [ ... ] + ol clear [--inverse] [--age=] [--continuation] [ ... ] DESCRIPTION The `ol clear` command the object log entries that match the list of priorities. If @@ -29,6 +29,9 @@ OPTIONS --age= Only object log entries OLDER than age are removed. + --continuation + Only object log entries with continuations are removed. + --inverse The applies to the list of all priorities, except the listed priorities. @@ -37,5 +40,7 @@ EXAMPLES ol clear debug error trace ol clear --inverse transcript ol clear --age=`1 month` + ol clear --continuation + ol clear --continuation --age=`1 month` error '. ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/olviewManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/olviewManPage.st index 18ac82b9a..d1b2d05e4 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/olviewManPage.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/olviewManPage.st @@ -5,10 +5,10 @@ olviewManPage commandName: 'view' fromString: 'NAME - old view - View object log entries + ol view - View object log entries SYNOPSIS - ol view [--inverse] [--reverse|-r] [--age=] [--pid=] + ol view [--inverse] [--reverse|-r] [--age=] [--pid=] [--continuation] \ [ ... ] DESCRIPTION @@ -31,6 +31,9 @@ OPTIONS --age= Only object log entries NEWER than are included in the list + --continuation + Only object log entries with continuations are displayed. + --inverse The applies to the list of all priorities, except the listed priorities. @@ -45,5 +48,7 @@ EXAMPLES ol view --inverse transcript ol view --age=`1 day` -r transcript ol view --age=`1 day` -r --pid=15292 transcript + ol view --continuation + ol view --continuation --age=`1 month` error '. ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/priority.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/priority.st index 1b72f3b54..5497ac450 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/priority.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/priority.st @@ -1,4 +1,4 @@ -as yet unclassified +accessing priority ^ 50 \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/shapshotDirectoryName.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/shapshotDirectoryName.st new file mode 100644 index 000000000..adf3354ca --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/shapshotDirectoryName.st @@ -0,0 +1,5 @@ +bu +shapshotDirectoryName + SnapshotDirectoryName + ifNil: [ self snapshotDirectoryName: self defaultSnapshotDirectoryName ]. + ^ SnapshotDirectoryName \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/snapshotDirectoryName..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/snapshotDirectoryName..st new file mode 100644 index 000000000..7951ad933 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/snapshotDirectoryName..st @@ -0,0 +1,7 @@ +bu +snapshotDirectoryName: aDirectoryPathOrNil + "self snapshotDirectoryName: nil" + + SnapshotDirectoryName := aDirectoryPathOrNil. + aDirectoryPathOrNil + ifNotNil: [ (ServerFileDirectory on: aDirectoryPathOrNil) assureExistence ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/snapshotDirectoryName.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/snapshotDirectoryName.st new file mode 100644 index 000000000..5452ca1d6 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/snapshotDirectoryName.st @@ -0,0 +1,5 @@ +bu +snapshotDirectoryName + SnapshotDirectoryName + ifNil: [ self snapshotDirectoryName: self defaultSnapshotDirectoryName ]. + ^ SnapshotDirectoryName \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/toolName.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/toolName.st index bd9267895..51a4a36cd 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/toolName.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/toolName.st @@ -1,3 +1,3 @@ -as yet unclassified +accessing toolName ^ 'gs' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/toolReadMe.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/toolReadMe.st index e856acd2f..6dd04ad66 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/toolReadMe.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/class/toolReadMe.st @@ -1,3 +1,3 @@ -as yet unclassified +accessing toolReadMe ^ self commandPath , ' provides gemstone system level support.' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buBackup..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buBackup..st index 7227e21ea..539991c32 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buBackup..st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buBackup..st @@ -1,18 +1,3 @@ bu buBackup: backupPath - | vs sessId | - vs := System voteState. - sessId := System sessionIdHoldingGcLock. - (sessId ~= 0 or: [ vs > 0 and: [ vs < 4 ] ]) - ifTrue: [ ^ 'Please wait until system is no longer voting and try again' ]. - Transcript - cr; - show: '---Starting backup to ' , backupPath printString , ' ('; - show: TimeStamp now asString; - show: ')'. - self fullBackupTo: backupPath. - self class lastBackup: backupPath. - Transcript - cr; - show: '---Finished backup to ' , LastBackup. - ^ backupPath \ No newline at end of file + ^ self buBackup: backupPath safely: false \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buBackup.safely..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buBackup.safely..st new file mode 100644 index 000000000..52ed6fcd2 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buBackup.safely..st @@ -0,0 +1,3 @@ +bu +buBackup: backupPath safely: safely + ^ self buBackup: backupPath safely: safely uncompressed: false \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buBackup.safely.uncompressed..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buBackup.safely.uncompressed..st new file mode 100644 index 000000000..5972fe842 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buBackup.safely.uncompressed..st @@ -0,0 +1,26 @@ +bu +buBackup: backupPath safely: safely uncompressed: uncompressed + | theBackupPath | + self systemIsVoting + ifTrue: [ ^ 'Please wait until system is no longer voting and try again' ]. + Transcript + cr; + show: '---Starting backup to ' , backupPath printString , ' ('; + show: TimeStamp now asString; + show: ')'. + theBackupPath := uncompressed + ifTrue: [ backupPath ] + ifFalse: [ + | postFix | + postFix := '.gz'. + (backupPath endsWith: postFix) + ifTrue: [ backupPath ] + ifFalse: [ + ".gz automatically added to filename during compressed backup" + backupPath , postFix ] ]. + self fullBackupTo: theBackupPath safely: safely uncompressed: uncompressed. + self class lastBackup: theBackupPath. + Transcript + cr; + show: '---Finished backup to ' , LastBackup. + ^ theBackupPath \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buEntries..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buEntries..st new file mode 100644 index 000000000..c174b71d5 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buEntries..st @@ -0,0 +1,5 @@ +bu +buEntries: backupPath + | backupDirPath | + backupDirPath := self resolveBackupPath: backupPath. + ^ self buEntriesForDirectory: (ServerFileDirectory on: backupDirPath) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buEntries.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buEntries.st new file mode 100644 index 000000000..c8afd5500 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buEntries.st @@ -0,0 +1,3 @@ +bu +buEntries + ^ self buEntries: '' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buEntriesForDirectory..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buEntriesForDirectory..st new file mode 100644 index 000000000..b81b38350 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buEntriesForDirectory..st @@ -0,0 +1,5 @@ +bu +buEntriesForDirectory: directory + ^ (directory entries + select: [ :entry | entry isDirectory not and: [ (entry name beginsWith: '.') not ] ]) + sorted: [ :a :b | a modificationTime <= b modificationTime ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buReport.snapshot.on..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buReport.snapshot.on..st new file mode 100644 index 000000000..8657ce1b3 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buReport.snapshot.on..st @@ -0,0 +1,25 @@ +bu +buReport: entries snapshot: snapshotEntries on: stream + stream + nextPutAll: 'Last Restore: ' , LastRestore asString; + cr; + nextPutAll: 'Last Backup: ' , LastBackup asString; + cr. + stream + nextPutAll: 'Backups:'; + cr. + entries + do: [ :entry | + stream + nextPutAll: entry modificationTime printString , ' -- ' , entry name; + cr ]. + snapshotEntries isEmpty not + ifTrue: [ + stream + nextPutAll: 'Snapshots:'; + cr. + snapshotEntries + do: [ :entry | + stream + nextPutAll: entry modificationTime printString , ' -- ' , entry name; + cr ] ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buReportOn..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buReportOn..st new file mode 100644 index 000000000..54886b48d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buReportOn..st @@ -0,0 +1,9 @@ +bu +buReportOn: stream + | entries snapshotEntries | + entries := self buEntries. + self options + at: 'dir' + ifPresent: [ snapshotEntries := #() ] + ifAbsent: [ snapshotEntries := self snapshotEntries ]. + self buReport: entries snapshot: snapshotEntries on: stream \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buRestore..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buRestore..st new file mode 100644 index 000000000..3dda7ba86 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buRestore..st @@ -0,0 +1,28 @@ +bu +buRestore: backupFilePath + | status count | + status := SystemRepository restoreStatus. + status = 'Restore is not active.' + ifFalse: [ ^ self error: 'System is already in restore mode: ' , status ]. + System stopUserSessions. + count := 0. + [ + | sessionCount | + sessionCount := 0. + System currentSessions + do: [ :index | + | id sessionArray | + sessionArray := System descriptionOfSession: index. + id := (sessionArray at: 1) userId. + (id = 'GcUser' or: [ id = 'SymbolUser' ]) + ifFalse: [ sessionCount := sessionCount + 1 ] ]. + count < 30 and: [ sessionCount > 1 ] ] + whileTrue: [ + (Delay forSeconds: 1) wait. + count := count + 1 ]. + count >= 30 + ifTrue: [ + ^ self + error: + 'Could not restore from backup because there are still sessions logged in.' ]. + topez restoreFromBackup: backupFilePath "normally terminates session" \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buValidateReadableBackupFile..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buValidateReadableBackupFile..st new file mode 100644 index 000000000..6db2d0e82 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buValidateReadableBackupFile..st @@ -0,0 +1,3 @@ +bu +buValidateReadableBackupFile: backupFilePath + ^ self copydbf: '' forFilePath: backupFilePath , ' /dev/null' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/bubackup.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/bubackup.st index f5fa6a5f4..0f0ba494f 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/bubackup.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/bubackup.st @@ -1,10 +1,21 @@ bu bubackup " - bu [--dir=] backup + bu [--dir=] backup [--safely] [--uncompressed] " - | backupFilePath | - self getSubcommandOptsMixedLongShort: {}. + | backupFilePath safely uncompressed | + self + getSubcommandOptsMixedLongShort: + {#('safely' nil #'none'). + #('uncompressed' nil #'none')}. backupFilePath := self resolveBackupFilePath. - ^ self buBackup: backupFilePath \ No newline at end of file + subOptions + at: 'safely' + ifPresent: [ :ignored | safely := true ] + ifAbsent: [ safely := false ]. + subOptions + at: 'uncompressed' + ifPresent: [ :ignored | uncompressed := true ] + ifAbsent: [ uncompressed := false ]. + ^ self buBackup: backupFilePath safely: safely uncompressed: uncompressed \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/budirectory.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/budirectory.st index 255d1d4fc..4cf4c74e1 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/budirectory.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/budirectory.st @@ -1,10 +1,17 @@ bu budirectory " - bu directory [] + bu directory [--snapshot] [] " - self getSubcommandOptsMixedLongShort: {}. - subArguments size > 0 - ifTrue: [ self class backupDirectoryName: (subArguments at: 1) ]. - ^ self class backupDirectoryName \ No newline at end of file + self getSubcommandOptsMixedLongShort: {#('snapshot' nil #'none')}. + subOptions + at: 'snapshot' + ifPresent: [ :ignored | + subArguments size > 0 + ifTrue: [ self class snapshotDirectoryName: (subArguments at: 1) ]. + ^ self class snapshotDirectoryName ] + ifAbsent: [ + subArguments size > 0 + ifTrue: [ self class backupDirectoryName: (subArguments at: 1) ]. + ^ self class backupDirectoryName ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buinfo.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buinfo.st index 2fdaf71fb..1db2a144f 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buinfo.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buinfo.st @@ -1,12 +1,13 @@ bu buinfo " - bu [--dir=] info + bu [--dir=] info [--snapshot] " - | backupFilePath copyDbfCommand | - self getSubcommandOptsMixedLongShort: {}. - backupFilePath := self resolveBackupFilePath. - copyDbfCommand := (GsFile _expandEnvVariable: 'GEMSTONE' isClient: false) - , '/bin/copydbf -i ' , backupFilePath. - ^ System performOnServer: copyDbfCommand \ No newline at end of file + | filePath copyDbfCommand | + self getSubcommandOptsMixedLongShort: {#('snapshot' nil #'none')}. + filePath := subOptions + at: 'snapshot' + ifPresent: [ :ignored | self resolveSnapshotFilePath ] + ifAbsent: [ self resolveBackupFilePath ]. + ^ self copydbf: '-i' forFilePath: filePath \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/bulist.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/bulist.st index 232cf7c5a..d12855b4c 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/bulist.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/bulist.st @@ -4,23 +4,12 @@ bulist bu [--dir=] list " - | backupDirPath entries stream | + | entries stream snapshotEntries | self getSubcommandOptsMixedLongShort: {}. - backupDirPath := self resolveBackupPath: ''. - entries := ((ServerFileDirectory on: backupDirPath) entries - select: [ :entry | entry isDirectory not ]) - sorted: [ :a :b | a modificationTime <= b modificationTime ]. + entries := self buEntries. + snapshotEntries := self snapshotEntries. stream := WriteStream on: String new. - stream - nextPutAll: 'Last Restore: ' , LastRestore asString; - cr; - nextPutAll: 'Last Backup: ' , LastBackup asString; - cr. - entries - do: [ :entry | - stream - nextPutAll: entry modificationTime printString , ' -- ' , entry name; - cr ]. + self buReport: entries snapshot: snapshotEntries on: stream. ^ TDCommandResult new displayText: stream contents asText; resultObject: entries; diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buremove.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buremove.st index 60f181650..550a0703b 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buremove.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buremove.st @@ -1,10 +1,13 @@ bu buremove " - bu [--dir=] remove + bu [--dir=] remove [--snapshot] " - | backupFilePath | - self getSubcommandOptsMixedLongShort: {}. - backupFilePath := self resolveBackupFilePath. - ^ self buRemove: backupFilePath \ No newline at end of file + | filePath | + self getSubcommandOptsMixedLongShort: {#('snapshot' nil #'none')}. + filePath := subOptions + at: 'snapshot' + ifPresent: [ :ignored | self resolveSnapshotFilePath ] + ifAbsent: [ self resolveBackupFilePath ]. + ^ self buRemove: filePath \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/burestore.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/burestore.st index 1c3bded9e..336eb98eb 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/burestore.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/burestore.st @@ -4,31 +4,7 @@ burestore bu [--dir=] restore " - | backupFilePath status count | + | backupFilePath | self getSubcommandOptsMixedLongShort: {}. backupFilePath := self resolveBackupFilePath. - status := SystemRepository restoreStatus. - status = 'Restore is not active.' - ifFalse: [ ^ self error: 'System is already in restore mode: ' , status ]. - System stopUserSessions. - count := 0. - [ - | sessionCount | - sessionCount := 0. - System currentSessions - do: [ :index | - | id sessionArray | - sessionArray := System descriptionOfSession: index. - id := (sessionArray at: 1) userId. - (id = 'GcUser' or: [ id = 'SymbolUser' ]) - ifFalse: [ sessionCount := sessionCount + 1 ] ]. - count < 30 and: [ sessionCount > 1 ] ] - whileTrue: [ - (Delay forSeconds: 1) wait. - count := count + 1 ]. - count >= 30 - ifTrue: [ - ^ self - error: - 'Could not restore from backup because there are still sessions logged in.' ]. - topez restoreFromBackup: backupFilePath "normally terminates session" \ No newline at end of file + self buRestore: backupFilePath \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/busnapshot.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/busnapshot.st new file mode 100644 index 000000000..da7f1e61d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/busnapshot.st @@ -0,0 +1,27 @@ +bu +busnapshot + " + bu [--dir=] snapshot [--safely] [--suspend=] \ + +" + + | suspendInMinutes snapshotPath snapshotExtension snapshots safely | + self + getSubcommandOptsMixedLongShort: + {#('suspend' nil #'required'). + #('safely' nil #'none')}. + subOptions + at: 'suspend' + ifPresent: [ :arg | suspendInMinutes := arg asNumber ] + ifAbsent: [ suspendInMinutes := 15 ]. + subOptions + at: 'safely' + ifPresent: [ :ignored | safely := true ] + ifAbsent: [ safely := false ]. + snapshotPath := self resolveSnapshotPath: ''. + snapshotExtension := subArguments at: 1. + ^ self + snapshot: snapshotExtension + to: snapshotPath + suspendInMinutes: suspendInMinutes + safely: safely \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buvalidate.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buvalidate.st new file mode 100644 index 000000000..8e8447db3 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/buvalidate.st @@ -0,0 +1,13 @@ +bu +buvalidate + " + bu [--dir=] validate [--snapshot] +" + + | filePath | + self getSubcommandOptsMixedLongShort: {#('snapshot' nil #'none')}. + filePath := subOptions + at: 'snapshot' + ifPresent: [ :ignored | self resolveSnapshotFilePath ] + ifAbsent: [ self resolveBackupFilePath ]. + self buValidateReadableBackupFile: filePath \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/checkpointsSuspended.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/checkpointsSuspended.st new file mode 100644 index 000000000..58863ce90 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/checkpointsSuspended.st @@ -0,0 +1,3 @@ +private +checkpointsSuspended + ^ System checkpointStatus at: 1 \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/copydbf.forFilePath..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/copydbf.forFilePath..st new file mode 100644 index 000000000..7acedecfe --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/copydbf.forFilePath..st @@ -0,0 +1,6 @@ +bu +copydbf: args forFilePath: filePath + | copyDbfCommand | + copyDbfCommand := (GsFile _expandEnvVariable: 'GEMSTONE' isClient: false) + , '/bin/copydbf ' , args , ' ' , filePath. + ^ self performOnServer: copyDbfCommand logging: true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/fullBackupTo..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/fullBackupTo..st index 75fbead16..15f3106ef 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/fullBackupTo..st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/fullBackupTo..st @@ -1,18 +1,3 @@ bu fullBackupTo: backupPath - | backupFilename backupDirName backupDir result | - ServerFileDirectory - splitName: backupPath - to: [ :dirPath :filename | - backupDirName := dirPath. - backupFilename := filename ]. - backupDir := ServerFileDirectory on: backupDirName. - (backupDir fileExists: backupFilename) - ifTrue: [ backupDir deleteFileNamed: backupFilename ]. - System commitTransaction. - result := SystemRepository fullBackupTo: backupPath. - result == true - ifFalse: [ ^ self error: 'Could not complete the backup: ' , result ]. "we have been left outside of transaction in manual - transaction mode" - System transactionMode: #'autoBegin'. - ^ true \ No newline at end of file + ^ self fullBackupTo: backupPath safely: false \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/fullBackupTo.safely..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/fullBackupTo.safely..st new file mode 100644 index 000000000..f77bad5cb --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/fullBackupTo.safely..st @@ -0,0 +1,3 @@ +bu +fullBackupTo: backupPath safely: safely + ^ self fullBackupTo: backupPath safely: safely uncompressed: false \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/fullBackupTo.safely.uncompressed..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/fullBackupTo.safely.uncompressed..st new file mode 100644 index 000000000..8c5f565d5 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/fullBackupTo.safely.uncompressed..st @@ -0,0 +1,29 @@ +bu +fullBackupTo: backupPath safely: safely uncompressed: uncompressed + | backupFilename backupDirName backupDir result | + ServerFileDirectory + splitName: backupPath + to: [ :dirPath :filename | + backupDirName := dirPath. + backupFilename := filename ]. + backupDir := ServerFileDirectory on: backupDirName. + (backupDir fileExists: backupFilename) + ifTrue: [ + safely + ifTrue: [ + Transcript + cr; + show: + 'Skipping backup, --safely specified and ' , backupFilename printString + , ' exists.'. + ^ false ]. + backupDir deleteFileNamed: backupFilename ]. + System commitTransaction. + result := uncompressed + ifTrue: [ SystemRepository fullBackupTo: backupPath ] + ifFalse: [ SystemRepository fullBackupCompressedTo: backupPath ]. + result == true + ifFalse: [ ^ self error: 'Could not complete the backup: ' , result ]. "we have been left outside of transaction in manual + transaction mode" + System transactionMode: #'autoBegin'. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsFileSizeReportOn..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsFileSizeReportOn..st new file mode 100644 index 000000000..3ff330e6d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsFileSizeReportOn..st @@ -0,0 +1,38 @@ +as yet unclassified +gsFileSizeReportOn: aStream + " + gs fileSizeReport +" + + | repositoryFiles stats | + repositoryFiles := SystemRepository fileNames. + stats := SystemRepository _extentStatistics: -1. + 1 to: SystemRepository numberOfExtents do: [ :i | + | extentFile | + extentFile := repositoryFiles at: i. + aStream + nextPutAll: 'Extent #' , i asString; + cr; + nextPutAll: ' Filename = ' , extentFile; + cr; + nextPutAll: + ' File size = ' + , (SystemRepository numToMByteString: ((stats at: i) at: 1)); + cr; + nextPutAll: + ' Space available = ' + , (SystemRepository numToMByteString: ((stats at: i) at: 2)); + cr; + yourself ]. + aStream + nextPutAll: 'Totals'; + cr; + nextPutAll: + ' Repository size = ' + , (SystemRepository numToMByteString: SystemRepository fileSize); + cr; + nextPutAll: + ' Free Space = ' + , (SystemRepository numToMByteString: SystemRepository freeSpace); + cr; + yourself \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsMfc..1.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsMfc..1.st new file mode 100644 index 000000000..3f0df520d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsMfc..1.st @@ -0,0 +1,28 @@ +as yet unclassified +gsMfc + | threads wait buffer cpu | + self subOptions + at: 'noCommit' + ifPresent: [ :ignored | System abortTransaction ] + ifAbsent: [ self topez commitTransaction ]. + self subOptions + at: 'threads' + ifPresent: [ :aNumber | threads := aNumber asNumber ] + ifAbsent: [ threads := 1 ]. + self subOptions + at: 'wait' + ifPresent: [ :aNumber | wait := aNumber asNumber ] + ifAbsent: [ wait := 60 ]. + self subOptions + at: 'buffer' + ifPresent: [ :aNumber | buffer := aNumber asNumber ] + ifAbsent: [ buffer := 128 ]. + self subOptions + at: 'cpu' + ifPresent: [ :aNumber | cpu := aNumber asNumber ] + ifAbsent: [ cpu := 90 ]. + self + gsMfc: threads + wait: wait + buffer: buffer + cpu: cpu \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsmfc.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsMfc.wait.buffer.cpu..st similarity index 71% rename from repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsmfc.st rename to repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsMfc.wait.buffer.cpu..st index d02381759..86ce4d733 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsmfc.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsMfc.wait.buffer.cpu..st @@ -1,17 +1,16 @@ as yet unclassified -gsmfc - "gs mfc []" - - | maxThreads | - maxThreads := 2. - tokens size > 1 - ifTrue: [ maxThreads := (tokens at: 2) asNumber ]. +gsMfc: threads wait: wait buffer: buffer cpu: cpu Transcript cr; show: '---Starting mark for collect. ('; show: TimeStamp now asString; show: ')'. - [ SystemRepository markForCollectionWithMaxThreads: maxThreads waitForLock: 60 ] + [ + SystemRepository + markForCollectionWithMaxThreads: threads + waitForLock: wait + pageBufSize: buffer + percentCpuActiveLimit: cpu ] on: Error , Warning do: [ :ex | ((ex isKindOf: Warning) or: [ ex gsNumber == 3020 or: [ ex gsNumber == 3006 ] ]) diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsReferencesTo.into.inMemory.max..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsReferencesTo.into.inMemory.max..st new file mode 100644 index 000000000..b14a75604 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsReferencesTo.into.inMemory.max..st @@ -0,0 +1,16 @@ +as yet unclassified +gsReferencesTo: objectArray into: referencePathsForOop inMemory: inMemory max: maxRefs + objectArray + do: [ :obj | + | refs | + refs := inMemory + ifTrue: [ obj findReferencesInMemory ] + ifFalse: [ + obj isCommitted + ifTrue: [ + System abort. + SystemRepository + findAllReferencePathsToObject: obj + maxPaths: maxRefs ] + ifFalse: [ 'Object is not persistent' ] ]. + referencePathsForOop at: obj put: refs ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsSessionDescription..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsSessionDescription..st new file mode 100644 index 000000000..4c856ebde --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsSessionDescription..st @@ -0,0 +1,26 @@ +as yet unclassified +gsSessionDescription: aSessionId + | ar | + ar := System descriptionOfSession: aSessionId. + ^ Dictionary new + at: #'userProfile' put: (ar at: 1); + at: #'gemPid' put: (ar at: 2); + at: #'gemHost' put: (ar at: 3); + at: #'gemPrimitiveNumber' put: (ar at: 4); + at: #'mostRecentTransactionTime' put: (ar at: 5); + at: #'sessionState' put: (ar at: 6); + at: #'transactionMode' put: (ar at: 7); + at: #'onOldestCommitRecord' put: (ar at: 8); + at: #'sessionSerialNumber' put: (ar at: 9); + at: #'sessionId' put: (ar at: 10); + at: #'gciHostIP' put: (ar at: 11); + at: #'sessionPriority' put: (ar at: 12); + at: #'gciUniqueHostId' put: (ar at: 13); + at: #'mostRecetStoneRequest' put: (ar at: 14); + at: #'sessionLoginTime' put: (ar at: 15); + at: #'systemCommitsSinceSessionView' put: (ar at: 16); + at: #'systemDescription' put: (ar at: 17); + at: #'numTempObjIds' put: (ar at: 18); + at: #'numTempPageIds' put: (ar at: 19); + at: #'sessionVoteState' put: (ar at: 20); + yourself \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsconfiguration..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsconfiguration..st new file mode 100644 index 000000000..f0ec0ae5b --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsconfiguration..st @@ -0,0 +1,7 @@ +as yet unclassified +gsconfiguration: reportType + reportType == #'gem' + ifTrue: [ ^ System gemConfigurationReport ]. + reportType == #'stone' + ifTrue: [ ^ System stoneConfigurationReport ]. + self error: 'Unknown reportType (#gem, #stone): ' , reportType printString \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsconfiguration.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsconfiguration.st new file mode 100644 index 000000000..7834c9911 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsconfiguration.st @@ -0,0 +1,22 @@ +as yet unclassified +gsconfiguration + " + gs configuration [--gem|--stone] +" + + | reportDict reportType | + self + getSubcommandOptsMixedLongShort: + {#('gem' nil #'none'). + #('stone' nil #'none')}. + self subOptions + at: 'gem' + ifPresent: [ :ignored | reportType := #'gem' ] + ifAbsent: [ + self options + at: 'stone' + ifPresent: [ :ignored | reportType := #'stone' ] + ifAbsent: [ reportType := #'stone' ] ]. + reportDict := self gsconfiguration: reportType. + reportDict edit: self topez. + ^ reportDict \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileOutMethods.on..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileOutMethods.on..st index 6dcadd4c4..9d1313bc4 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileOutMethods.on..st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileOutMethods.on..st @@ -20,7 +20,7 @@ gsfileOutMethods: cls on: aStream sel := sels at: i. nativeStream := WriteStream on: String new. cls class fileOutMethod: sel on: nativeStream. - aStream nextPutAll: nativeStream contents encodeAsUTF8 asString ]. + aStream nextPutAll: nativeStream contents encodeAsUTF8intoString ]. aStream nextPutAll: '! ------------------- Instance methods for '; nextPutAll: nm; @@ -31,7 +31,7 @@ gsfileOutMethods: cls on: aStream sel := sels at: i. nativeStream := WriteStream on: String new. cls fileOutMethod: sel on: nativeStream. - aStream nextPutAll: nativeStream contents encodeAsUTF8 asString ]. + aStream nextPutAll: nativeStream contents encodeAsUTF8intoString ]. cat := cls _classCategory. "File out the category name" cat ~~ nil ifTrue: [ diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileSizeReport.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileSizeReport.st new file mode 100644 index 000000000..a6290b8fc --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileSizeReport.st @@ -0,0 +1,12 @@ +as yet unclassified +gsfileSizeReport + " + gs fileSizeReport +" + + | stream report repositoryFiles stats | + stream := WriteStream on: String new. + self gsFileSizeReportOn: stream. + report := stream contents. + report edit: self topez. + ^ report \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.externalMethodMap.classToFilenameMap.defaultHeader..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.externalMethodMap.classToFilenameMap.defaultHeader..st index 2f8e3ea0f..6721d99eb 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.externalMethodMap.classToFilenameMap.defaultHeader..st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.externalMethodMap.classToFilenameMap.defaultHeader..st @@ -35,7 +35,14 @@ gsfileout: directoryPath externalMethodMap: externalMethodMap classToFilenameMap at: methodRef selector asSymbol ifAbsent: [ lastFile - ifTrue: [ #'append' ] + ifTrue: [ + self halt: 'Needs an append at position marker'. + (sourceMap at: beh name ifAbsent: [ Dictionary new ]) + at: + (beh isMeta + ifTrue: [ ' lastInstanceMethod' ] + ifFalse: [ ' lastClassMethod' ]) + ifAbsent: [ #'append' ] ] ifFalse: [ #'notFound' ] ]. ar ~~ #'notFound' ifTrue: [ diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.filename.range.in..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.filename.range.in..st index 94810d963..0f7d1bbce 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.filename.range.in..st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.filename.range.in..st @@ -20,25 +20,45 @@ gsfileout: methodRef filename: filename range: ar in: directory ifFalse: [ | src cat fileCat | src := methodRef sourceCode withGemstoneLineEndings. - (fileCat := ar at: 3) - = (cat := methodRef category asString printString) - ifTrue: [ fileStream nextPutAll: (originalSource copyFrom: 1 to: (ar at: 1)) ] + (ar at: 5) == #'replace' + ifTrue: [ + "replace src" + (fileCat := ar at: 3) + = (cat := methodRef category asString printString) + ifTrue: [ fileStream nextPutAll: (originalSource copyFrom: 1 to: (ar at: 1)) ] + ifFalse: [ + fileStream nextPutAll: (originalSource copyFrom: 1 to: (ar at: 4)). + fileStream + nextPutAll: 'category: ' , cat; + nextPut: lf. + methodRef classIsMeta + ifTrue: [ fileStream nextPutAll: 'classmethod: ' ] + ifFalse: [ fileStream nextPutAll: 'method: ' ]. + fileStream + nextPutAll: + methodRef actualClass theNonMetaClass name asString; + nextPut: lf ]. + fileStream nextPutAll: src. + src last == lf + ifFalse: [ fileStream nextPut: lf ] ] ifFalse: [ - fileStream nextPutAll: (originalSource copyFrom: 1 to: (ar at: 4)). + "append src after the last instance/class method for the class" + fileStream + nextPut: $%; + nextPut: lf. + fileStream nextPutAll: (originalSource copyFrom: 1 to: (ar at: 2)). fileStream nextPutAll: 'category: ' , cat; - nextPut: lf; - nextPutAll: 'set compile_env: 0'; nextPut: lf. methodRef classIsMeta ifTrue: [ fileStream nextPutAll: 'classmethod: ' ] ifFalse: [ fileStream nextPutAll: 'method: ' ]. fileStream nextPutAll: methodRef actualClass theNonMetaClass name asString; - nextPut: lf ]. - fileStream nextPutAll: src. - src last == lf - ifFalse: [ fileStream nextPut: lf ]. + nextPut: lf. + fileStream nextPutAll: src. + src last == lf + ifFalse: [ fileStream nextPut: lf ] ]. fileStream nextPutAll: (originalSource copyFrom: (ar at: 2) + 1 to: originalSource size) ] ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.st index bed0a2698..3cd8e5d4f 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.st @@ -1,42 +1,41 @@ as yet unclassified gsfileout " - gs fileout -dfilesystem-path>|--directory= - [--class|--package|--category] ... + gs fileout --directory= [--class|--package|--category] ... " | directoryPath fileoutPairs | self - getOptsMixedLongShort: - {#('directory' $d #'required'). + getSubcommandOptsMixedLongShort: + {#('directory' nil #'required'). #('class' nil #'none'). #('package' nil #'none'). #('category' nil #'none')}. - directoryPath := options at: 'directory'. + directoryPath := subOptions at: 'directory'. fileoutPairs := {}. - 1 to: arguments size by: 2 do: [ :index | + 1 to: subArguments size by: 2 do: [ :index | | itemName filename | - itemName := arguments at: index. - filename := arguments at: index + 1. + itemName := subArguments at: index. + filename := subArguments at: index + 1. fileoutPairs add: {itemName. filename} ]. - options + subOptions at: 'class' ifPresent: [ :ignored | self gsfileout: directoryPath classnameFilenamePairs: fileoutPairs defaultHeader: '' ]. - options + subOptions at: 'package' ifPresent: [ :ignored | self gsfileout: directoryPath packageFilenamePairs: fileoutPairs defaultHeader: '' ]. - options + subOptions at: 'category' ifPresent: [ :ignored | self diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.workingCopy.filename.defaultHeader..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.workingCopy.filename.defaultHeader..st index 0c3ec0b73..ff9f77203 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.workingCopy.filename.defaultHeader..st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileout.workingCopy.filename.defaultHeader..st @@ -34,7 +34,7 @@ gsfileout: directoryPath workingCopy: workingCopy filename: filename defaultHead methodRef actualClass fileOutMethod: methodRef selector on: nativeStream. - fileStream nextPutAll: nativeStream contents encodeAsUTF8 asString ]. + fileStream nextPutAll: nativeStream contents encodeAsUTF8intoString ]. fileStream nextPutAll: '! ------------------- Class initializers '; lf. diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileoutBuildMethodSourceMapFor.filename.in..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileoutBuildMethodSourceMapFor.filename.in..st index f883bee95..40805a133 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileoutBuildMethodSourceMapFor.filename.in..st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsfileoutBuildMethodSourceMapFor.filename.in..st @@ -1,10 +1,10 @@ as yet unclassified gsfileoutBuildMethodSourceMapFor: behavior filename: filename in: directory - | map methodStartToken categoryStartToken | + | map methodStartToken classStartToken categoryStartToken startToken lastInstanceMethod lastClassMethod | categoryStartToken := 'category:'. - methodStartToken := 'method:'. - behavior isMeta - ifTrue: [ methodStartToken := 'classmethod:' ]. + startToken := methodStartToken := 'method:'. + classStartToken := 'classmethod:' behavior isMeta + ifTrue: [ startToken := classStartToken ]. map := Dictionary new. directory readOnlyFileNamed: filename @@ -21,9 +21,11 @@ gsfileoutBuildMethodSourceMapFor: behavior filename: filename in: directory categoryTokens := line findTokens: ':'. category := (categoryTokens at: 2) trimBoth ] ifFalse: [ - (line beginsWith: methodStartToken) + ((line beginsWith: methodStartToken) or: [ line beginsWith: classStartToken ]) ifTrue: [ - | methodTokens | + | methodTokens targetted instance | + instance := line beginsWith: methodStartToken. + targetted := line beginsWith: startToken. methodTokens := line findTokens: ' '. (methodTokens size = 1 or: [ (methodTokens at: 2) trimBoth = behavior theNonMetaClass name asString ]) @@ -37,24 +39,39 @@ gsfileoutBuildMethodSourceMapFor: behavior filename: filename in: directory chunk nextPutAll: line. end := fileStream position. line := fileStream nextLine ]. - [ - selector := Behavior parseSelector: chunk contents for: behavior. - (map - at: behavior name - ifAbsent: [ map at: behavior name put: Dictionary new ]) - at: selector asSymbol - put: - {begin. - end. - category. - lastCategoryPosition} ] - on: Error , SecurityError - do: [ :ignored | - (ignored isKindOf: SecurityError) - ifFalse: [ - "primitive compilation errors expected" - false - ifTrue: [ self halt ] ] ] ] ] ]. + targetted + ifTrue: [ + [ + selector := Behavior parseSelector: chunk contents for: behavior. + (map + at: behavior name + ifAbsent: [ map at: behavior name put: Dictionary new ]) + at: selector asSymbol + put: + {begin. + end. + category. + lastCategoryPosition. + #'replace'} ] + on: Error , SecurityError + do: [ :ignored | + (ignored isKindOf: SecurityError) + ifFalse: [ + "primitive compilation errors expected" + false + ifTrue: [ self halt ] ] ] ] + ifFalse: [ + (map at: behavior name ifAbsent: [ map at: behavior name put: Dictionary new ]) + at: + (instance + ifTrue: [ ' lastInstanceMethod' ] + ifFalse: [ ' lastClassMethod' ]) + put: + {begin. + end. + category. + lastCategoryPosition. + #'append'} ] ] ] ]. linePosition := fileStream position. line := fileStream nextLine ] ]. ^ map \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsgemtools.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsgemtools.st new file mode 100644 index 000000000..0e9d5b5cd --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsgemtools.st @@ -0,0 +1,9 @@ +as yet unclassified +gsgemtools + " + gs gemtools +" + + TDGemToolsMenuBar new + topez: self topez; + open \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gshalt.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gshalt.st index f393359e8..4c158dea5 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gshalt.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gshalt.st @@ -4,17 +4,7 @@ gshalt gs halt -m|--almostOutOfMemory= " - | opts | - self - getOptsMixedLongShort: - {#('help' $h #'none'). - #('almostOutOfMemory' $m #'required')}. - opts := self options. - opts + self getSubcommandOptsMixedLongShort: {#('almostOutOfMemory' $m #'required')}. + self subOptions at: 'almostOutOfMemory' - ifPresent: [ :percent | - AlmostOutOfMemory enableAtThreshold: percent asNumber. - AlmostOutOfMemory - addDefaultHandler: [ :ex | - self halt. - ex resume ] ] \ No newline at end of file + ifPresent: [ :percent | self gshaltOnOutOfMemory: percent ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsmfc..2.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsmfc..2.st new file mode 100644 index 000000000..c33cbeafd --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsmfc..2.st @@ -0,0 +1,15 @@ +as yet unclassified +gsmfc + " + gs mfc [--noCommit] [--threads=] [--wait=] + [--buffer=] [--cpu=] +" + + self + getSubcommandOptsMixedLongShort: + {#('noCommit' nil #'none'). + #('threads' nil #'required'). + #('wait' nil #'required'). + #('buffer' nil #'required'). + #('cpu' nil #'required')}. + self gsMfc \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsobjectFor.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsobjectFor.st index 99bdfb1ac..eb946e181 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsobjectFor.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsobjectFor.st @@ -1,7 +1,15 @@ as yet unclassified gsobjectFor - "gs objectFor " + " + gs objectFor ... +" - | oop | - oop := (tokens at: 2) asNumber. - ^ Object _objectForOop: oop \ No newline at end of file + | oops | + self getSubcommandOptsMixedLongShort: {}. + oops := {}. + subArguments + do: [ :oopArg | + | oop | + oop := oopArg asNumber. + oops add: (Object _objectForOop: oop) ]. + ^ oops \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsreferences.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsreferences.st new file mode 100644 index 000000000..ce6e9a304 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsreferences.st @@ -0,0 +1,34 @@ +as yet unclassified +gsreferences + " + gs references [--max=] ... +" + + | referencePathsForOop max inMemory objectArray | + self + getSubcommandOptsMixedLongShort: + {#('max' nil #'required'). + #('inMemory' nil #'none')}. + referencePathsForOop := Dictionary new. + subOptions + at: 'max' + ifPresent: [ :arg | max := arg asNumber ] + ifAbsent: [ max := 32 ]. + subOptions + at: 'inMemory' + ifPresent: [ :arg | inMemory := true ] + ifAbsent: [ inMemory := false ]. + objectArray := {}. + subArguments + do: [ :oopArg | + | oop | + oop := oopArg asNumber. + (Object _objectForOop: oop) + ifNil: [ referencePathsForOop at: oop put: 'oop not resolved' ] + ifNotNil: [ :obj | objectArray add: obj ] ]. + self + gsReferencesTo: objectArray + into: referencePathsForOop + inMemory: inMemory + max: max. + ^ referencePathsForOop \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gssessionDescription.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gssessionDescription.st index 9be2a2310..007ab68c5 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gssessionDescription.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gssessionDescription.st @@ -1,31 +1,22 @@ as yet unclassified gssessionDescription " - gs sessionDescription + gs sessionDescription [--all]|[] " - | description ar x | - ar := System descriptionOfSession: System session. - description := Dictionary new - at: #'userProfile' put: (ar at: 1); - at: #'gemPid' put: (ar at: 2); - at: #'gemHost' put: (ar at: 3); - at: #'gemPrimitiveNumber' put: (ar at: 4); - at: #'mostRecentTransactionTime' put: (ar at: 5); - at: #'sessionState' put: (ar at: 6); - at: #'transactionMode' put: (ar at: 7); - at: #'onOldestCommitRecord' put: (ar at: 8); - at: #'sessionSerialNumber' put: (ar at: 9); - at: #'sessionId' put: (ar at: 10); - at: #'gciHostIP' put: (ar at: 11); - at: #'sessionPriority' put: (ar at: 12); - at: #'gciUniqueHostId' put: (ar at: 13); - at: #'mostRecetStoneRequest' put: (ar at: 14); - at: #'sessionLoginTime' put: (ar at: 15); - at: #'systemCommitsSinceSessionView' put: (ar at: 16); - at: #'systemDescription' put: (ar at: 17); - at: #'numTempObjIds' put: (ar at: 18); - at: #'numTempPageIds' put: (ar at: 19); - at: #'sessionVoteState' put: (ar at: 20); - yourself. - ^ description \ No newline at end of file + | result | + self getSubcommandOptsMixedLongShort: {#('all' nil #'none')}. + self subOptions + at: 'all' + ifPresent: [ :ignored | + result := Dictionary new. + System currentSessions + do: [ :sessionId | result at: sessionId put: (self gsSessionDescription: sessionId) ] ] + ifAbsent: [ + | sessionId | + self subArguments size = 0 + ifTrue: [ sessionId := System session ] + ifFalse: [ sessionId := (self subArguments at: 1) asNumber ]. + result := self gsSessionDescription: sessionId ]. + result edit: self topez. + ^ result \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsversion..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsversion..st new file mode 100644 index 000000000..7a487abc9 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsversion..st @@ -0,0 +1,11 @@ +as yet unclassified +gsversion: reportType + reportType == #'client' + ifTrue: [ ^ System clientVersionReport ]. + reportType == #'gem' + ifTrue: [ ^ System gemVersionReport ]. + reportType == #'stone' + ifTrue: [ ^ System stoneVersionReport ]. + self + error: + 'Unknown reportType (#client, #gem, #stone): ' , reportType printString \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsversion.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsversion.st index 67a0bd6b2..879700c07 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsversion.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/gsversion.st @@ -1,6 +1,27 @@ as yet unclassified gsversion - "gs version" + " + gs version [--client|--gem|--stone] +" - ^ System gemVersionReport - editUsing: (TDEditorSpec topez: topez editorAspect: #'edit') \ No newline at end of file + | reportDict reportType | + self + getSubcommandOptsMixedLongShort: + {#('client' nil #'none'). + #('gem' nil #'none'). + #('stone' nil #'none')}. + self subOptions + at: 'client' + ifPresent: [ :ignored | reportType := #'client' ] + ifAbsent: [ + self subOptions + at: 'gem' + ifPresent: [ :ignored | reportType := #'gem' ] + ifAbsent: [ + self subOptions + at: 'stone' + ifPresent: [ :ignored | reportType := #'stone' ] + ifAbsent: [ reportType := #'stone' ] ] ]. + reportDict := self gsversion: reportType. + reportDict edit: self topez. + ^ reportDict \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olClear..1.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olClear..1.st new file mode 100644 index 000000000..2b9879681 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olClear..1.st @@ -0,0 +1,3 @@ +ol +olClear + ^ self olClear: #() age: nil continuations: false \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olClear..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olClear..st new file mode 100644 index 000000000..9556971a9 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olClear..st @@ -0,0 +1,14 @@ +ol +olClear: priorities + "priorities: + debug + error + fatal + info + interaction + trace + transcript + warn +" + + ^ self olClear: priorities age: nil continuations: false \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olClear.age..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olClear.age..st new file mode 100644 index 000000000..5e2950f26 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olClear.age..st @@ -0,0 +1,3 @@ +ol +olClear: priorities age: aDateAndTimeOrNil + ^ self olClear: priorities age: aDateAndTimeOrNil continuations: false \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olClear.age.continuations..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olClear.age.continuations..st new file mode 100644 index 000000000..c4416c7cc --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olClear.age.continuations..st @@ -0,0 +1,32 @@ +ol +olClear: priorities age: aDateAndTimeOrNil continuations: continuations + "priorities: + debug + error + fatal + info + interaction + trace + transcript + warn +" + + | objectLog | + (priorities isEmpty and: [ continuations not ]) + ifTrue: [ + "clear all - most efficient to simply reset the collections" + ObjectLogEntry initialize. + ^ true ]. + objectLog := ObjectLogEntry objectLog. + objectLog copy + do: [ :entry | + ((priorities includes: entry priority) + or: [ priorities isEmpty and: [ continuations ] ]) + ifTrue: [ + ((continuations and: [ entry hasContinuation ]) or: [ continuations not ]) + ifTrue: [ + aDateAndTimeOrNil + ifNil: [ objectLog remove: entry ] + ifNotNil: [ + objectLog stamp < aDateAndTimeOrNil + ifTrue: [ objectLog remove: entry ] ] ] ] ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olView..1.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olView..1.st new file mode 100644 index 000000000..db69100bc --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olView..1.st @@ -0,0 +1,8 @@ +ol +olView + ^ self + olView: [ + System commitTransaction. + ObjectLogEntry objectLog ] + reversed: false + label: 'Object log' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olView.reversed.label..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olView.reversed.label..st new file mode 100644 index 000000000..5cafa0a50 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olView.reversed.label..st @@ -0,0 +1,8 @@ +ol +olView: objectLogBlock reversed: reversed label: label + ^ (TDObjectLogEntryBrowser new + topez: self topez; + reversed: reversed; + objectLogBlock: objectLogBlock; + windowLabel: label; + yourself) open \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olclear.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olclear..2.st similarity index 51% rename from repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olclear.st rename to repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olclear..2.st index 11a7d3697..0948c7992 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olclear.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olclear..2.st @@ -1,13 +1,14 @@ ol olclear " - ol clear [--inverse] [--age=] [ ... ] + ol clear [--inverse] [--age=] [--continuation] [ ... ] " - | args priorities age objectLog | + | args priorities age objectLog continuations | self getSubcommandOptsMixedLongShort: {#('age' nil #'required'). + #('continuation' nil #'none'). #('inverse' nil #'none')}. args := subArguments collect: [ :priorityName | priorityName asSymbol ]. subOptions @@ -19,21 +20,11 @@ olclear subOptions at: 'age' ifPresent: [ :durationExpression | age := DateAndTime now - durationExpression evaluate ]. + subOptions + at: 'continuation' + ifPresent: [ :ignored | continuations := true ] + ifAbsent: [ continuations := false ]. priorities := args collect: [ :priorityName | ObjectLogEntry perform: priorityName ]. - priorities isEmpty - ifTrue: [ - "clear all - most efficient to simply reset the collections" - ObjectLogEntry initialize. - ^ true ]. - objectLog := ObjectLogEntry objectLog. - objectLog copy - do: [ :entry | - (priorities includes: entry priority) - ifTrue: [ - age - ifNil: [ objectLog remove: entry ] - ifNotNil: [ - objectLog stamp < age - ifTrue: [ objectLog remove: entry ] ] ] ]. + self olClear: priorities age: age continuations: continuations. ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olview.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olview..2.st similarity index 51% rename from repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olview.st rename to repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olview..2.st index 51a6bb684..f21628af3 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olview.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/olview..2.st @@ -1,14 +1,15 @@ ol olview " - ol view [--inverse] [--reverse|-r] [--age=] [--pid=] + ol view [--inverse] [--reverse|-r] [--age=] [--pid=] [--continuation] \ [ ... ] " - | args priorities reversed age pid | + | args priorities reversed age pid continuations | self getSubcommandOptsMixedLongShort: {#('age' nil #'required'). + #('continuation' nil #'none'). #('inverse' nil #'none'). #('pid' nil #'required'). #('reverse' $r #'none')}. @@ -23,25 +24,29 @@ olview at: 'reverse' ifPresent: [ :ignored | reversed := true ] ifAbsent: [ reversed := false ]. + subOptions + at: 'continuation' + ifPresent: [ :ignored | continuations := true ] + ifAbsent: [ continuations := false ]. priorities := priorities collect: [ :priorityName | ObjectLogEntry perform: priorityName ]. subOptions at: 'age' ifPresent: [ :durationExpression | age := DateAndTime now - durationExpression evaluate ]. subOptions at: 'pid' ifPresent: [ :arg | pid := arg asNumber ]. - (TDObjectLogEntryBrowser new - topez: self topez; - reversed: reversed; - objectLogBlock: [ - | objectLog | - System abortTransaction. - objectLog := objectLog := ObjectLogEntry objectLog. - pid - ifNotNil: [ objectLog := objectLog select: [ :each | each pid = pid ] ]. - age - ifNotNil: [ objectLog := objectLog select: [ :each | each stamp >= age ] ]. - priorities isEmpty - ifFalse: [ objectLog := objectLog select: [ :each | priorities includes: each priority ] ]. - objectLog ]; - windowLabel: 'Object log ' , subCommand commandLine printString; - yourself) open \ No newline at end of file + self + olView: [ + | objectLog | + System commitTransaction. + objectLog := ObjectLogEntry objectLog. + pid + ifNotNil: [ objectLog := objectLog select: [ :each | each pid = pid ] ]. + age + ifNotNil: [ objectLog := objectLog select: [ :each | each stamp >= age ] ]. + priorities isEmpty + ifFalse: [ objectLog := objectLog select: [ :each | priorities includes: each priority ] ]. + continuations + ifTrue: [ objectLog := objectLog select: [ :each | each hasContinuation ] ]. + objectLog ] + reversed: reversed + label: 'Object log ' , subCommand commandLine printString \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/resolveBackupPath..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/resolveBackupPath..st index f2712c7a5..d0bd9d588 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/resolveBackupPath..st +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/resolveBackupPath..st @@ -1,6 +1,6 @@ bu resolveBackupPath: backupName - ^ options + ^ self options at: 'dir' ifPresent: [ :dirPath | dirPath , '/' , backupName ] ifAbsent: [ self class backupDirectoryName , '/' , backupName ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/resolveSnapshotFilePath.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/resolveSnapshotFilePath.st new file mode 100644 index 000000000..454e62f61 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/resolveSnapshotFilePath.st @@ -0,0 +1,3 @@ +bu +resolveSnapshotFilePath + ^ self resolveSnapshotPath: (subArguments at: 1) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/resolveSnapshotPath..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/resolveSnapshotPath..st new file mode 100644 index 000000000..53054d679 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/resolveSnapshotPath..st @@ -0,0 +1,6 @@ +bu +resolveSnapshotPath: backupName + ^ self options + at: 'dir' + ifPresent: [ :dirPath | dirPath , '/' , backupName ] + ifAbsent: [ self class snapshotDirectoryName , '/' , backupName ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshot.to..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshot.to..st new file mode 100644 index 000000000..3459c4396 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshot.to..st @@ -0,0 +1,3 @@ +bu +snapshot: snapshotExtension to: snapshotPath + ^ self ssnapshot: snapshotExtension to: snapshotPath suspendInMinutes: 15 \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshot.to.suspendInMinutes..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshot.to.suspendInMinutes..st new file mode 100644 index 000000000..8d51e528a --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshot.to.suspendInMinutes..st @@ -0,0 +1,7 @@ +bu +snapshot: snapshotExtension to: snapshotPath suspendInMinutes: suspendInMinutes + ^ self + snapshot: snapshotExtension + to: snapshotPath + suspendInMinutes: suspendInMinutes + safely: false \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshot.to.suspendInMinutes.safely..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshot.to.suspendInMinutes.safely..st new file mode 100644 index 000000000..3d43e9260 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshot.to.suspendInMinutes.safely..st @@ -0,0 +1,55 @@ +bu +snapshot: snapshotExtension to: snapshotPath suspendInMinutes: suspendInMinutes safely: safely + | snapshots | + [ + self checkpointsSuspended + ifTrue: [ self error: 'Checkpoints currently suspended. Please wait and try again.' ]. + System startCheckpointSync + ifFalse: [ + self + error: + 'Could not start a checkpoint, See comment in System class>>startCheckpointSync for possible reasons for failure.' ]. + System suspendCheckpointsForMinutes: suspendInMinutes. + snapshots := {}. + SystemRepository fileNames + do: [ :extentPath | + | extent extentName snapshotName snapshotFilePath performCopy | + extent := ServerFileDirectory on: extentPath. + snapshotName := extentName := extent localName. + (extentName endsWith: '.dbf') + ifTrue: [ + snapshotName := (extentName copyFrom: 1 to: extentName size - 3) + , snapshotExtension ]. + snapshotFilePath := snapshotPath , '/' , snapshotName. + performCopy := safely + ifTrue: [ + "account for nil return value" + ((GsFile existsOnServer: snapshotFilePath) == true) not ] + ifFalse: [ true ]. + Transcript cr. + performCopy + ifTrue: [ + Transcript + show: + '---Starting snapshot to ' , (extentPath , ' ' , snapshotFilePath) printString + , '(' , TimeStamp now asString , ')'. + System performOnServer: 'cp ' , extentPath , ' ' , snapshotFilePath. + snapshots add: snapshotFilePath. + Transcript + cr; + tab; + show: + '---Finishing snapshot ' , TimeStamp now asString , ' -- ' , snapshotFilePath ] + ifFalse: [ + self + inform: + 'The snapshot file exists, --safely present, copy skipped for: ' + , snapshotFilePath printString ] ]. + self checkpointsSuspended + ifFalse: [ + snapshots do: [ :snapshotFilePath | GsFile removeServerFile: snapshotFilePath ]. + self + error: + 'Checkpoints were resumed before the extent copies were completed. Extent copies have been deleted.' ] ] + ensure: [ System resumeCheckpoints ]. + ^ snapshots \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshotEntries..st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshotEntries..st new file mode 100644 index 000000000..08f04c5ea --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshotEntries..st @@ -0,0 +1,5 @@ +bu +snapshotEntries: backupPath + | backupDirPath | + backupDirPath := self resolveSnapshotPath: backupPath. + ^ self buEntriesForDirectory: (ServerFileDirectory on: backupDirPath) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshotEntries.st b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshotEntries.st new file mode 100644 index 000000000..cbf378d38 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/instance/snapshotEntries.st @@ -0,0 +1,3 @@ +bu +snapshotEntries + ^ self snapshotEntries: '' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/methodProperties.json index 83fe87e51..fa09f9b09 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/methodProperties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/methodProperties.json @@ -1,64 +1,119 @@ { "class" : { - "backupDirectoryName" : "dkh 04/20/2014 20:51", + "backupDirectoryName" : "dkh 03/18/2015 21:01", "backupDirectoryName:" : "dkh 05/14/2013 14:25", "bu" : "dkh 05/15/2014 05:44", - "buManPage" : "dkh 05/13/2014 16:29", - "bubackupManPage" : "dkh 04/20/2014 20:49", - "budirectoryManPage" : "dkh 04/20/2014 16:18", - "buinfoManPage" : "dkh 04/20/2014 16:59", - "bulistManPage" : "dkh 04/20/2014 17:07", - "buremoveManPage" : "dkh 05/13/2014 16:28", - "burestoreManPage" : "dkh 04/20/2014 17:00", - "defaulBackupDirectoryName" : "dkh 04/20/2014 20:51", - "gs" : "dkh 11/10/2013 10:29", - "gsManPage" : "dkh 01/31/2014 14:58", + "buManPage" : "dkh 09/16/2015 14:06", + "bubackupManPage" : "dkh 09/16/2015 15:32", + "budirectoryManPage" : "dkh 09/16/2015 14:40", + "buinfoManPage" : "dkh 03/19/2015 11:40", + "bulistManPage" : "dkh 03/19/2015 11:44", + "buremoveManPage" : "dkh 09/16/2015 16:24", + "burestoreManPage" : "dkh 09/16/2015 15:00", + "busnapshotManPage" : "dkh 09/16/2015 14:42", + "buvalidateManPage" : "dkh 09/16/2015 16:24", + "defaultBackupDirectoryName" : "dkh 09/01/2015 09:47", + "defaultSnapshotDirectoryName" : "dkh 09/01/2015 09:47", + "gs" : "dkh 02/08/2015 10:49", + "gsManPage" : "dkh 07/05/2015 12:10", + "gsconfigurationManPage" : "dkh 02/07/2015 15:47", + "gsfileSizeReportManPage" : "dkh 02/08/2015 09:06", + "gsfileoutManPage" : "dkh 02/07/2015 15:47", + "gsgemtoolsManPage" : "dkh 02/07/2015 15:06", + "gshaltManPage" : "dkh 02/07/2015 15:53", + "gsmfcManPage" : "dkh 02/08/2015 10:47", + "gsobjectForManPage" : "dkh 07/04/2015 13:30", + "gsreferencesManPage" : "dkh 07/05/2015 12:55", + "gssessionDescriptionManPage" : "dkh 02/08/2015 15:24", + "gsversionManPage" : "dkh 02/08/2015 16:09", "initialize" : "dkh 01/14/2014 18:41", "installOn:" : "dkh 05/14/2013 11:19", "lastBackup:" : "dkh 08/02/2013 12:10", "lastRestore:" : "dkh 09/17/2013 03:41", "ol" : "dkh 06/02/2014 19:38", - "olManPage" : "dkh 06/03/2014 15:28", - "olclearManPage" : "dkh 06/03/2014 15:28", - "olviewManPage" : "dkh 06/05/2014 19:08", + "olManPage" : "dkh 02/07/2015 12:26", + "olclearManPage" : "dkh 02/07/2015 12:26", + "olviewManPage" : "dkh 02/07/2015 12:41", "priority" : "dkh 05/14/2013 11:22", + "shapshotDirectoryName" : "dkh 03/18/2015 20:59", + "snapshotDirectoryName" : "dkh 03/18/2015 21:00", + "snapshotDirectoryName:" : "dkh 03/19/2015 14:27", "toolName" : "dkh 05/14/2013 11:20", "toolReadMe" : "dkh 05/14/2013 11:20" }, "instance" : { - "buBackup:" : "dkh 06/18/2014 21:25", + "buBackup:" : "dkh 03/22/2015 07:43", + "buBackup:safely:" : "dkh 09/16/2015 14:45", + "buBackup:safely:uncompressed:" : "dkh 09/16/2015 15:07", + "buEntries" : "dkh 02/06/2015 16:25", + "buEntries:" : "dkh 03/19/2015 11:54", + "buEntriesForDirectory:" : "dkh 03/19/2015 11:55", "buRemove:" : "dkh 05/13/2014 16:38", - "bubackup" : "dkh 04/26/2014 13:16", - "budirectory" : "dkh 04/26/2014 13:17", - "buinfo" : "dkh 04/26/2014 13:17", - "bulist" : "dkh 04/26/2014 13:17", - "buremove" : "dkh 05/13/2014 16:26", - "burestore" : "dkh 04/26/2014 13:17", + "buReport:snapshot:on:" : "dkh 03/18/2015 20:42", + "buReportOn:" : "dkh 03/18/2015 20:41", + "buRestore:" : "dkh 02/06/2015 16:17", + "buValidateReadableBackupFile:" : "dkh 09/16/2015 14:35", + "bubackup" : "dkh 09/16/2015 14:44", + "budirectory" : "dkh 03/19/2015 16:39", + "buinfo" : "dkh 09/16/2015 15:40", + "bulist" : "dkh 03/18/2015 20:34", + "buremove" : "dkh 09/16/2015 15:40", + "burestore" : "dkh 02/06/2015 16:18", + "busnapshot" : "dkh 03/22/2015 08:15", + "buvalidate" : "dkh 09/16/2015 15:39", + "checkpointsSuspended" : "dkh 03/19/2015 14:24", + "copydbf:forFilePath:" : "dkh 09/16/2015 14:18", "freeSpaceLogEntry:" : "dkh 05/14/2013 13:40", - "fullBackupTo:" : "dkh 05/14/2013 15:19", - "gsfileOutMethods:on:" : "dkh 11/11/2013 14:35", - "gsfileout" : "dkh 11/11/2013 16:51", + "fullBackupTo:" : "dkh 03/22/2015 07:42", + "fullBackupTo:safely:" : "dkh 09/16/2015 14:45", + "fullBackupTo:safely:uncompressed:" : "dkh 09/16/2015 14:49", + "gsFileSizeReportOn:" : "dkh 02/08/2015 09:05", + "gsMfc" : "dkh 02/08/2015 15:44", + "gsMfc:wait:buffer:cpu:" : "dkh 02/08/2015 11:06", + "gsReferencesTo:into:inMemory:max:" : "dkh 07/05/2015 13:40", + "gsSessionDescription:" : "dkh 02/08/2015 15:26", + "gsconfiguration" : "dkh 02/08/2015 15:41", + "gsconfiguration:" : "dkh 02/07/2015 10:19", + "gsfileOutMethods:on:" : "dkh 06/22/2015 13:41", + "gsfileSizeReport" : "dkh 02/08/2015 09:03", + "gsfileout" : "dkh 02/08/2015 15:58", "gsfileout:categoryFilenamePairs:defaultHeader:" : "dkh 11/11/2013 12:52", "gsfileout:classDefs:filename:defaultHeader:" : "dkh 11/11/2013 13:57", "gsfileout:classMethods:filename:defaultHeader:" : "dkh 10/02/2013 15:41", "gsfileout:classes:filename:defaultHeader:" : "dkh 11/11/2013 13:57", "gsfileout:classnameFilenamePairs:" : "dkh 09/30/2013 11:59", "gsfileout:classnameFilenamePairs:defaultHeader:" : "dkh 11/11/2013 12:57", - "gsfileout:externalMethodMap:classToFilenameMap:defaultHeader:" : "dkh 02/07/2014 07:21", - "gsfileout:filename:range:in:" : "dkh 12/24/2013 20:34", + "gsfileout:externalMethodMap:classToFilenameMap:defaultHeader:" : "dkh 06/16/2015 19:09", + "gsfileout:filename:range:in:" : "dkh 06/16/2015 19:29", "gsfileout:packageFilenamePairs:defaultHeader:" : "dkh 11/11/2013 14:07", - "gsfileout:workingCopy:filename:defaultHeader:" : "dkh 11/11/2013 14:35", - "gsfileoutBuildMethodSourceMapFor:filename:in:" : "dkh 12/24/2013 18:53", + "gsfileout:workingCopy:filename:defaultHeader:" : "dkh 06/19/2015 13:19", + "gsfileoutBuildMethodSourceMapFor:filename:in:" : "dkh 06/16/2015 19:20", "gsfileoutClass:header:on:" : "dkh 12/21/2013 09:49", "gsfileoutClass:on:" : "dkh 02/07/2014 07:51", "gsfileoutExtractHeaderFor:in:" : "dkh 10/01/2013 20:57", - "gshalt" : "dkh 12/18/2013 19:58", + "gsgemtools" : "dkh 02/04/2015 11:33", + "gshalt" : "dkh 02/08/2015 15:44", "gshaltOnOutOfMemory:" : "dkh 12/18/2013 20:11", - "gsmfc" : "dkh 05/14/2013 14:01", - "gsobjectFor" : "dkh 01/14/2014 17:17", - "gssessionDescription" : "dkh 11/14/2013 16:54", - "gsversion" : "dkh 01/31/2014 14:59", + "gsmfc" : "dkh 02/08/2015 15:44", + "gsobjectFor" : "dkh 07/04/2015 13:32", + "gsreferences" : "dkh 07/05/2015 14:03", + "gssessionDescription" : "dkh 02/08/2015 15:53", + "gsversion" : "dkh 02/08/2015 15:46", + "gsversion:" : "dkh 02/07/2015 10:12", + "olClear" : "dkh 02/07/2015 12:33", + "olClear:" : "dkh 02/07/2015 12:33", + "olClear:age:" : "dkh 02/07/2015 12:33", + "olClear:age:continuations:" : "dkh 02/07/2015 12:32", "olPriorities" : "dkh 06/03/2014 15:28", - "olclear" : "dkh 06/02/2014 21:37", - "olview" : "dkh 06/05/2014 19:11", + "olView" : "dkh 02/07/2015 10:58", + "olView:reversed:label:" : "dkh 02/07/2015 10:54", + "olclear" : "dkh 02/07/2015 12:28", + "olview" : "dkh 02/07/2015 12:37", "resolveBackupFilePath" : "dkh 04/26/2014 13:14", - "resolveBackupPath:" : "dkh 04/20/2014 18:38" } } + "resolveBackupPath:" : "dkh 02/06/2015 15:57", + "resolveSnapshotFilePath" : "dkh 03/18/2015 20:26", + "resolveSnapshotPath:" : "dkh 03/18/2015 20:25", + "snapshot:to:" : "dkh 03/22/2015 08:16", + "snapshot:to:suspendInMinutes:" : "dkh 03/22/2015 08:15", + "snapshot:to:suspendInMinutes:safely:" : "dkh 08/07/2015 10:58", + "snapshotEntries" : "dkh 03/18/2015 20:33", + "snapshotEntries:" : "dkh 03/19/2015 11:54" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/properties.json b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/properties.json index bf4bdddc6..33c94c339 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/properties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDGemStoneTool.class/properties.json @@ -6,7 +6,8 @@ "BackupDirectoryName", "HomePath", "LastBackup", - "LastRestore" ], + "LastRestore", + "SnapshotDirectoryName" ], "commentStamp" : "", "instvars" : [ ], diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/README.md b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtool.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtool.st new file mode 100644 index 000000000..cc2aba33e --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtool.st @@ -0,0 +1,9 @@ +commands +gemtool + + ^ [ :topez :objIn :tokens :command | + self + performSubCommand: topez + objIn: objIn + commandOptions: {#('help' $h #'none')} + todeCommand: command ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolBackupManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolBackupManPage.st new file mode 100644 index 000000000..b91d64526 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolBackupManPage.st @@ -0,0 +1,18 @@ +man pages +gemtoolBackupManPage + | manPage | + manPage := TDManPage + commandName: 'bu' + fromString: + 'NAME + gemtool bu - Open tODE equivalent of GemTools tools + +SYNOPSIS + gemtool [--help] bu ( backup | list | restore ) + +DESCRIPTION + +EXAMPLES + gemtool --help tools +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolFindManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolFindManPage.st new file mode 100644 index 000000000..fbdcf5b5d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolFindManPage.st @@ -0,0 +1,17 @@ +man pages +gemtoolFindManPage + | manPage | + manPage := TDManPage + commandName: 'find' + fromString: + 'NAME + gemtool find - Prompt-based variants of the `browse` family of commands + +SYNOPSIS + gemtool [--help] find ( class | hierarchy | references | method | senders | string ) + +DESCRIPTION +EXAMPLES + gemtool --help find +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolManPage.st new file mode 100644 index 000000000..b6dc90358 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolManPage.st @@ -0,0 +1,46 @@ +man pages +gemtoolManPage + | manPage | + manPage := TDManPage + commandName: 'gemtool' + fromString: + 'NAME + gemtool - Provide GemTools MenuBar functionality + +SYNOPSIS + gemtool [--help] [] + +DESCRIPTION + gemtools implements most of the GemTools MenuBar funcationality. + + The is the name of a gemtools command that invokes a + specific operation or tool. + + Commands: + bu System backup and restore + find Prompt-based variants of the `browse` family of commands + menuBar Open window that bridges the gap between GemTools and tODE + tools Open tODE equivalent of GemTools tools + + Use `gemtool --help ` to read about a specific subcommand. + +OPTIONS + --help [] + Bring up this man page or a man page for a subCommand. + +EXAMPLES + gemtool --help + + gemtool bu backup + gemtool bu list + gemtool bu restore + + gemtool find class +'. + manPage subCommands + at: 'bu' put: self gemtoolBackupManPage; + at: 'menuBar' put: self gemtoolMenuBarManPage; + at: 'find' put: self gemtoolFindManPage; + at: 'tools' put: self gemtoolToolsManPage; + yourself. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolMenuBarManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolMenuBarManPage.st new file mode 100644 index 000000000..e27b988f3 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolMenuBarManPage.st @@ -0,0 +1,179 @@ +man pages +gemtoolMenuBarManPage + | manPage | + manPage := TDManPage commandName: 'menuBar' fromString: 'NAME + gemtool menuBar - Emulate GemTools Launcher Menus + +SYNOPSIS + gemtool menuBar + +DESCRIPTION + The `gemtools` command opens a window that lists all of the menu items in the GemTools + Launcher menu. When you click on an item in the list, the man page for the corresponding + tODE command is opened. Selecting a menu item from the hierarchical menu, will perform the + corresponding command in the tODE environment. + + The purpose of this window is to provide developers who are familiar with GemTools a + bridge between familiar GemTools commands and their tODE counterparts. + + For best results, you should scan through the command list in the window (you might want to + drag the bottom of the window down to make it as tall as your display, so you can more of + the commands without scrolling) and click on the items that you frequently use. Then you + should read the man page and try typing the command in the console and experiment with the + various options. All man pages have an EXAMPLES section at the bottom of the page. By using + the `tODE it` menu item, tODE shell expressions can be executed by simply highlighting the + expression (similar to the Smalltalk `do it` menuitem). + + If you prefer, you can use the menu associated with the window to execute the various + GemTools commands. As you become more familiar with tODE, I expect that you will build up + your own custom tool sets. + + One of the priniciples of tODE is that you should be able to have equal access to command + functionality from: + + GUI tools + Shell tools + Batch tools (topaz) + + This is accomplished by by basing all GUI functionality upon shell commands (this is why you are being shown the man page for the commands that implement the various GemTools menu + items). tODE commands are written such that the core functionality can be called from + Smalltalk. The command line implementation parses the arguments and calls the same api that + is used by the GUI, which uses the user interface to collect information from the users. + Additionally, shell commands return a REAL object as the command result, so not only are + command results available in the shell console AFTER a command has been executed, but + shell commands can be called from Smalltalk using `TDTopezServer>>evaluateCommandString:`. + This makes it possible to run tODE shell commands from topaz. + + As a simple example, let''s compare the implementation of the `Admin>Repository>List backup + files` gemtools menu item, to the `bu list` command. We''ll start by looking at the code + for TDGemToolsMenuBar>>repositoryListBackup:selectedIndex: (select the line below and use + the `tODE it` menu item to execute the tODE shell command in place): + + browse method --spec TDGemToolsMenuBar>>repositoryListBackup:selectedIndex: + + After you click on the method in the method list window, click in the method source and use + the `Window>cloine window` item to make a copy of the method window. Drag the method source + to the side of the screen. + + Next bring up the source for the `bu list` command: + + browse method --spec TDGemStoneTool>>bulist + + It should be pretty clear that both methods are using a common API. The gemtools code is + invoked from a menu item, while the `bu list` code is invoked from the command line. + + Using shell commands in topaz + ----------------------------- + If you need to be run tODE shell scripts from a batch environment, then you would use something like the following topaz script: + +display oops +level 1 +run +| entries | +entries := TDTopezServer evaluateCommandString: ''bu list''. +entries collect: [:each | each name]. +% + + Digging Deeper + -------------- + If you are interested in seeing how the GemTools functions are implemented, start by + using the `Window>inspect builder` menu item to open an inspector on the window builder. In + the inspector, use the `Object>browse class` menu item to bring up a class browser on the + window builder class and poke around in the methods. + + Alternatively you can `tode it` the following tODE shell expression: + + browse method --spec TDGemToolsMenuBar>>menuActionSpec: + + to view the menu specification for all of the commands. You can scan through the commands + until you find a menu spec that you are interested in, like the following: + + #(''Class...'' nil #''findClass:selectedIndex:''). + + select the `findClass:selectedIndex:` which is the method that is invoked when + the menu item is clicked and use the `Browse>implementors of it` menu item to see the + implementation of the method. + + If you wanted to create your own tODE shell script based on one of the commands. Start + by creating a shell file in your /home directory and then open an editor on the script: + + cd /home + touch sh fc + edit fc + + Copy the method contents (without the selector) and replace the "WRITE SCRIPT HERE" with the + paste buffer. Replace any occurences of `self topez` with `topez` as `topez` is supplied as + an argument to the shell command block. Also remove any returns in the method, as non-local + returns are not permitted in shell command blocks. You might have to adjust the logic a bit + to avoid the non-local returns. + + When you are happy with the script, `accept` it and then test the script by executing the + following: + + ./fc + + When you are done with your experiment you can delete the shell script: + + rm fc + + GemTools Launcher Menu Items + ---------------------------- + Transactions + Commit + Abort + Auto Abort + Auto Commit + Auto Migrate + Find + Class... + Hierarchy Browser... + Class References... + Method... + String... + Senders... + Case Sensitive String... + Tools + System Browser + Open Workspaces + File Browser + Process Browser + Inspect UndefinedSymbols + Inspect Sent But Not Implemented + Test Runner + Monticello + Admin + Repository + List backup files + Backup + Restore from Backup + Mark for Collection + DoIt + Changed packages & methods + Configuration Reports + Gem Configuration Report + Stone Configuration Report + Empty Object Log + File Size Report + Object Log + User Session Report + Version Report + Client Version Report + Gem Version Report + Stone Version Report + Browser Preferences + Commit on Almost Out of Memory + Popup on debug + Send Bug Report + Help + Debug... + Remove Continuations from Object Log + Clear Object Log + Debug Continuations + Update... + Update GemTools Launcher + Update GLASS + +EXAMPLES + gemtool menuBar +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolToolsManPage.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolToolsManPage.st new file mode 100644 index 000000000..3f9470c12 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/gemtoolToolsManPage.st @@ -0,0 +1,18 @@ +man pages +gemtoolToolsManPage + | manPage | + manPage := TDManPage + commandName: 'tools' + fromString: + 'NAME + gemtool tools - Open tODE equivalent of GemTools tools + +SYNOPSIS + gemtool [--help] tools + +DESCRIPTION + +EXAMPLES + gemtool --help tools +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/initialize.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/initialize.st new file mode 100644 index 000000000..32dc1362b --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/initialize.st @@ -0,0 +1,3 @@ +initialization +initialize + self install \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/installOn..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/installOn..st new file mode 100644 index 000000000..80e2d2942 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/installOn..st @@ -0,0 +1,4 @@ +initialization +installOn: aTDTopezServer + aTDTopezServer ensureChildrenExistIn: self commandPath. + super installOn: aTDTopezServer \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/priority.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/priority.st new file mode 100644 index 000000000..5497ac450 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/priority.st @@ -0,0 +1,4 @@ +accessing +priority + + ^ 50 \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/toolName.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/toolName.st new file mode 100644 index 000000000..cacafa93a --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/toolName.st @@ -0,0 +1,3 @@ +accessing +toolName + ^ 'gemtool' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/toolReadMe.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/toolReadMe.st new file mode 100644 index 000000000..540019049 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/class/toolReadMe.st @@ -0,0 +1,3 @@ +accessing +toolReadMe + ^ self commandPath , ' provides GemTools emulation.' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolbu.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolbu.st new file mode 100644 index 000000000..54fc53d51 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolbu.st @@ -0,0 +1,15 @@ +bu +gemtoolbu + " + gemtool [--help] bu ( backup | list | restore ) +" + + | cmd | + self getSubcommandOptsMixedLongShort: {}. + cmd := subArguments at: 1. + cmd = 'backup' + ifTrue: [ ^ self gemtoolbuBackup ]. + cmd = 'list' + ifTrue: [ ^ self gemtoolbuList ]. + cmd = 'restore' + ifTrue: [ ^ self gemtoolbuRestore ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolbuBackup.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolbuBackup.st new file mode 100644 index 000000000..627f7ed26 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolbuBackup.st @@ -0,0 +1,22 @@ +bu +gemtoolbuBackup + | buTool entries fileNames newChoice fileName backupPath | + buTool := self topez toolInstanceFor: 'bu'. + entries := buTool buEntries. + newChoice := 'Choose new file'. + fileNames := (entries collect: [ :each | each name ]) , {newChoice}. + fileName := (GsChoiceInteraction + prompt: 'Choose a file' + labels: fileNames + values: fileNames + lines: {(entries size)}) signal. + fileName == nil + ifTrue: [ ^ false ]. + fileName = newChoice + ifTrue: [ + fileName := (GsTextInteraction + prompt: 'New backup file name:' + template: 'backup.dbf') signal ]. + backupPath := buTool resolveBackupPath: fileName. + buTool buBackup: backupPath. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolbuList.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolbuList.st new file mode 100644 index 000000000..dc4231af9 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolbuList.st @@ -0,0 +1,11 @@ +bu +gemtoolbuList + | buTool stream | + buTool := self topez toolInstanceFor: 'bu'. + stream := WriteStream on: String new. + buTool buReportOn: stream. + stream contents + editUsing: + ((TDEditorSpec topez: topez editorAspect: #'edit') + windowLabel: 'Backup/Snapshots list'). + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolbuRestore.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolbuRestore.st new file mode 100644 index 000000000..3034d0379 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolbuRestore.st @@ -0,0 +1,15 @@ +bu +gemtoolbuRestore + | buTool entries fileNames fileName backupPath | + buTool := self topez toolInstanceFor: 'bu'. + entries := buTool buEntries. + fileNames := entries collect: [ :each | each name ]. + fileName := (GsChoiceInteraction + prompt: 'Choose restore file:' + labels: fileNames + values: fileNames) signal. + fileName == nil + ifTrue: [ ^ false ]. + backupPath := buTool resolveBackupPath: fileName. + buTool buRestore: backupPath. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfind.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfind.st new file mode 100644 index 000000000..58a7433ff --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfind.st @@ -0,0 +1,21 @@ +find +gemtoolfind + " + gemtool [--help] find ( class | hierarchy | references | method | senders | string ) +" + + | cmd | + self getSubcommandOptsMixedLongShort: {}. + cmd := subArguments at: 1. + cmd = 'class' + ifTrue: [ ^ self gemtoolfindClass ]. + cmd = 'hierarchy' + ifTrue: [ ^ self gemtoolfindHierarchy ]. + cmd = 'references' + ifTrue: [ ^ self gemtoolfindReferences ]. + cmd = 'method' + ifTrue: [ ^ self gemtoolfindMethod ]. + cmd = 'senders' + ifTrue: [ ^ self gemtoolfindSenders ]. + cmd = 'string' + ifTrue: [ ^ self gemtoolfindString ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindClass.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindClass.st new file mode 100644 index 000000000..25a427c33 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindClass.st @@ -0,0 +1,13 @@ +find +gemtoolfindClass + | browseTool block clsNamePattern | + browseTool := self topez toolInstanceFor: 'browse'. + clsNamePattern := (GsTextInteraction + prompt: 'Class Name Fragment:' + template: 'Object') signal. + clsNamePattern ifNil: [ ^ false ]. + block := [ browseTool findClass: clsNamePattern ]. + browseTool + browseClassesBlock: block + label: 'Find class ' , clsNamePattern printString. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindHierarchy.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindHierarchy.st new file mode 100644 index 000000000..9a4eb846d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindHierarchy.st @@ -0,0 +1,17 @@ +find +gemtoolfindHierarchy + | browseTool block clsNamePattern | + browseTool := self topez toolInstanceFor: 'browse'. + clsNamePattern := (GsTextInteraction + prompt: 'Class Name Fragment:' + template: 'Object') signal. + clsNamePattern ifNil: [ ^ false ]. + block := [ + | list classNames | + list := browseTool findClass: clsNamePattern. + classNames := list collect: [ :cls | cls className asString ]. + browseTool findClassHierarchy: classNames ]. + browseTool + browseClassesBlock: block + label: 'Find class hierarchy' , clsNamePattern printString. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindMethod.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindMethod.st new file mode 100644 index 000000000..0a6c9f5fa --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindMethod.st @@ -0,0 +1,24 @@ +find +gemtoolfindMethod + | browseTool block methodPattern matches selectors selector | + browseTool := self topez toolInstanceFor: 'browse'. + methodPattern := (GsTextInteraction + prompt: 'Method Name Fragment:' + template: '') signal. + methodPattern ifNil: [ ^ false ]. + matches := browseTool findMethodNamesMatching: methodPattern. + selectors := (matches + asSortedCollection: [ :match1 :match2 | match1 moreRelevantThan: match2 ]) + collect: [ :match | match name asString ]. + selectors isEmpty + ifTrue: [ ^ false ]. + selector := (GsChoiceInteraction + prompt: 'Choose a method' + labels: selectors + values: selectors) signal. + selector ifNil: [ ^ false ]. + block := [ browseTool findMethod: selector ]. + browseTool + browseMethodsBlock: block + label: 'Find method ' , methodPattern printString. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindReferences.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindReferences.st new file mode 100644 index 000000000..555b0ae0a --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindReferences.st @@ -0,0 +1,20 @@ +find +gemtoolfindReferences + | browseTool block clsNamePattern list classNames className | + browseTool := self topez toolInstanceFor: 'browse'. + clsNamePattern := (GsTextInteraction + prompt: 'Class Name Fragment:' + template: 'Object') signal. + clsNamePattern ifNil: [ ^ false ]. + list := browseTool findClass: clsNamePattern. + classNames := list collect: [ :cls | cls className asString ]. + className := (GsChoiceInteraction + prompt: 'Choose a class' + labels: classNames + values: classNames) signal. + className ifNil: [ ^ false ]. + block := [ browseTool findReferences: className inClass: nil searchScriptRoot: nil ]. + browseTool + browseMethodsBlock: block + label: 'Browse references to class ' , className printString. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindSenders.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindSenders.st new file mode 100644 index 000000000..cf8caf63f --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindSenders.st @@ -0,0 +1,11 @@ +find +gemtoolfindSenders + | browseTool block selector | + browseTool := self topez toolInstanceFor: 'browse'. + selector := (GsTextInteraction prompt: 'Enter Selector:' template: '') signal. + selector ifNil: [ ^ false ]. + block := [ browseTool findSender: selector ]. + browseTool + browseMethodsBlock: block + label: 'Find sender ' , selector printString. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindString.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindString.st new file mode 100644 index 000000000..9da16528d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolfindString.st @@ -0,0 +1,11 @@ +find +gemtoolfindString + | browseTool block substring | + browseTool := self topez toolInstanceFor: 'browse'. + substring := (GsTextInteraction prompt: 'Enter Substring' template: '') signal. + substring ifNil: [ ^ false ]. + block := [ browseTool findSourceExact: substring ignoreCase: true ]. + browseTool + browseMethodsBlock: block + label: 'Find string ' , substring printString. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolmenuBar.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolmenuBar.st new file mode 100644 index 000000000..37c79ffe6 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtoolmenuBar.st @@ -0,0 +1,2 @@ +menuBar +gemtoolmenuBar \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtooltools.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtooltools.st new file mode 100644 index 000000000..d713502ca --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/instance/gemtooltools.st @@ -0,0 +1,2 @@ +tools +gemtooltools \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/methodProperties.json new file mode 100644 index 000000000..e00a46f40 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/methodProperties.json @@ -0,0 +1,27 @@ +{ + "class" : { + "gemtool" : "dkh 03/21/2015 11:39", + "gemtoolBackupManPage" : "dkh 03/21/2015 15:28", + "gemtoolFindManPage" : "dkh 03/21/2015 11:41", + "gemtoolManPage" : "dkh 03/21/2015 15:27", + "gemtoolMenuBarManPage" : "dkh 03/21/2015 11:37", + "gemtoolToolsManPage" : "dkh 03/21/2015 11:37", + "initialize" : "dkh 03/21/2015 11:38", + "installOn:" : "dkh 03/21/2015 11:39", + "priority" : "dkh 03/21/2015 11:37", + "toolName" : "dkh 03/21/2015 11:37", + "toolReadMe" : "dkh 03/21/2015 11:38" }, + "instance" : { + "gemtoolbu" : "dkh 03/21/2015 15:31", + "gemtoolbuBackup" : "dkh 03/21/2015 15:33", + "gemtoolbuList" : "dkh 03/21/2015 15:32", + "gemtoolbuRestore" : "dkh 10/08/2015 12:01", + "gemtoolfind" : "dkh 03/21/2015 12:11", + "gemtoolfindClass" : "dkh 03/21/2015 12:17", + "gemtoolfindHierarchy" : "dkh 03/21/2015 12:17", + "gemtoolfindMethod" : "dkh 03/21/2015 12:17", + "gemtoolfindReferences" : "dkh 03/21/2015 12:18", + "gemtoolfindSenders" : "dkh 03/21/2015 12:18", + "gemtoolfindString" : "dkh 03/21/2015 12:19", + "gemtoolmenuBar" : "dkh 03/21/2015 11:44", + "gemtooltools" : "dkh 03/21/2015 11:44" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/properties.json b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/properties.json new file mode 100644 index 000000000..bde043422 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolTool.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Tode-GemStone-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDGemToolTool", + "pools" : [ + ], + "super" : "TDStandardTool", + "type" : "normal" } diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/README.md b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/clientList.listElement..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/clientList.listElement..st new file mode 100644 index 000000000..e9d218c57 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/clientList.listElement..st @@ -0,0 +1,4 @@ +tools +clientList: miniTool listElement: listElement + theMiniTool := miniTool. + ^ self menuMapList -> nil \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/debugRemoveObjectLogContinuations.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/debugRemoveObjectLogContinuations.selectedIndex..st new file mode 100644 index 000000000..1c8cacfd0 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/debugRemoveObjectLogContinuations.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +debugRemoveObjectLogContinuations: listElement selectedIndex: index + | gsTool | + gsTool := self topez toolInstanceFor: 'gs'. + gsTool olClear: #() age: nil continuations: true. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/debugViewObjectLogContinuations.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/debugViewObjectLogContinuations.selectedIndex..st new file mode 100644 index 000000000..91acdc30b --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/debugViewObjectLogContinuations.selectedIndex..st @@ -0,0 +1,11 @@ +menu actions +debugViewObjectLogContinuations: listElement selectedIndex: index + | gsTool | + gsTool := self topez toolInstanceFor: 'gs'. + gsTool + olView: [ + System commitTransaction. + ObjectLogEntry objectLog select: [ :each | each hasContinuation ] ] + reversed: false + label: 'Object Log Continuations'. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitChangedPackagesAndMethods.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitChangedPackagesAndMethods.selectedIndex..st new file mode 100644 index 000000000..f526501ce --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitChangedPackagesAndMethods.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +doitChangedPackagesAndMethods: listElement selectedIndex: index + | projectTool | + projectTool := self topez toolInstanceFor: 'project'. + projectTool projectsummary. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitClearObjectLog.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitClearObjectLog.selectedIndex..st new file mode 100644 index 000000000..116dfb9d7 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitClearObjectLog.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +doitClearObjectLog: listElement selectedIndex: index + | gsTool | + gsTool := self topez toolInstanceFor: 'gs'. + gsTool olClear. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitClientVersionReport.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitClientVersionReport.selectedIndex..st new file mode 100644 index 000000000..df712ac78 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitClientVersionReport.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +doitClientVersionReport: listElement selectedIndex: index + | gsTool | + gsTool := self topez toolInstanceFor: 'gs'. + (gsTool gsversion: #'client') edit: listElement topez. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitFileSizeReport.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitFileSizeReport.selectedIndex..st new file mode 100644 index 000000000..a2da5a9e6 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitFileSizeReport.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +doitFileSizeReport: listElement selectedIndex: index + | gsTool | + gsTool := self topez toolInstanceFor: 'gs'. + gsTool gsfileSizeReport. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitGemConfigReport.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitGemConfigReport.selectedIndex..st new file mode 100644 index 000000000..27be8eaad --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitGemConfigReport.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +doitGemConfigReport: listElement selectedIndex: index + | gsTool | + gsTool := self topez toolInstanceFor: 'gs'. + (gsTool gsconfiguration: #'gem') edit: listElement topez. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitGemVersionReport.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitGemVersionReport.selectedIndex..st new file mode 100644 index 000000000..3e96bbfa7 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitGemVersionReport.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +doitGemVersionReport: listElement selectedIndex: index + | gsTool | + gsTool := self topez toolInstanceFor: 'gs'. + (gsTool gsversion: #'gem') edit: listElement topez. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitSessionReport.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitSessionReport.selectedIndex..st new file mode 100644 index 000000000..d69c08a61 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitSessionReport.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +doitSessionReport: listElement selectedIndex: index + | gsTool | + gsTool := self topez toolInstanceFor: 'gs'. + gsTool gssessionDescription: System session. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitStoneConfigReport.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitStoneConfigReport.selectedIndex..st new file mode 100644 index 000000000..95a36e7e1 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitStoneConfigReport.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +doitStoneConfigReport: listElement selectedIndex: index + | gsTool | + gsTool := self topez toolInstanceFor: 'gs'. + (gsTool gsconfiguration: #'stone') edit: listElement topez. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitStoneVersionReport.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitStoneVersionReport.selectedIndex..st new file mode 100644 index 000000000..e12e660c1 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitStoneVersionReport.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +doitStoneVersionReport: listElement selectedIndex: index + | gsTool | + gsTool := self topez toolInstanceFor: 'gs'. + (gsTool gsversion: #'stone') edit: listElement topez. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitViewObjectLog.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitViewObjectLog.selectedIndex..st new file mode 100644 index 000000000..b0ac0279a --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/doitViewObjectLog.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +doitViewObjectLog: listElement selectedIndex: index + | gsTool | + gsTool := self topez toolInstanceFor: 'gs'. + gsTool olView. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findClass.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findClass.selectedIndex..st new file mode 100644 index 000000000..a9dbe22dd --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findClass.selectedIndex..st @@ -0,0 +1,3 @@ +menu actions +findClass: listElement selectedIndex: index + ^ (self topez toolInstanceFor: 'gemtool') gemtoolfindClass \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findClassHierarchy.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findClassHierarchy.selectedIndex..st new file mode 100644 index 000000000..a8f96b825 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findClassHierarchy.selectedIndex..st @@ -0,0 +1,3 @@ +menu actions +findClassHierarchy: listElement selectedIndex: index + ^ (self topez toolInstanceFor: 'gemtool') gemtoolfindHierarchy \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findClassReferences.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findClassReferences.selectedIndex..st new file mode 100644 index 000000000..27bb6eca3 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findClassReferences.selectedIndex..st @@ -0,0 +1,3 @@ +menu actions +findClassReferences: listElement selectedIndex: index + ^ (self topez toolInstanceFor: 'gemtool') gemtoolfindReferences \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findMethodImplementors.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findMethodImplementors.selectedIndex..st new file mode 100644 index 000000000..975c51642 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findMethodImplementors.selectedIndex..st @@ -0,0 +1,3 @@ +menu actions +findMethodImplementors: listElement selectedIndex: index + ^ (self topez toolInstanceFor: 'gemtool') gemtoolfindMethod \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findMethodSenders.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findMethodSenders.selectedIndex..st new file mode 100644 index 000000000..6f31e9e98 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findMethodSenders.selectedIndex..st @@ -0,0 +1,3 @@ +menu actions +findMethodSenders: listElement selectedIndex: index + ^ (self topez toolInstanceFor: 'gemtool') gemtoolfindSenders \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findStringCaseSensitive.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findStringCaseSensitive.selectedIndex..st new file mode 100644 index 000000000..a2f989922 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findStringCaseSensitive.selectedIndex..st @@ -0,0 +1,10 @@ +menu actions +findStringCaseSensitive: listElement selectedIndex: index + | browseTool block substring | + browseTool := self topez toolInstanceFor: 'browse'. + substring := (GsTextInteraction prompt: 'Enter Substring' template: '') signal. + block := [ browseTool findSourceExact: substring ignoreCase: false ]. + browseTool + browseMethodsBlock: block + label: 'Find string ' , substring printString. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findStringNoCase.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findStringNoCase.selectedIndex..st new file mode 100644 index 000000000..6faed8e5c --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/findStringNoCase.selectedIndex..st @@ -0,0 +1,3 @@ +menu actions +findStringNoCase: listElement selectedIndex: index + ^ (self topez toolInstanceFor: 'gemtool') gemtoolfindString \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/help.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/help.selectedIndex..st new file mode 100644 index 000000000..1d52f8c20 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/help.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +help: listElement selectedIndex: index + | manTool | + manTool := self topez toolInstanceFor: 'man'. + manTool manAll. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st new file mode 100644 index 000000000..75c6def44 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st @@ -0,0 +1,26 @@ +tools +itemSelected: miniTool listElement: listElement selectedIndex: index shiftPressed: shiftPressed + | item | + index == 0 + ifTrue: [ ^ true ]. + item := self menuMapList at: index. + (self menuCommandMap at: item asString trimBoth ifAbsent: [ ]) + ifNotNil: [ :ar | + | command | + command := ar at: 1. + (listElement topez commands at: command ifAbsent: [ ]) + ifNil: [ + (item trimBoth printString , ' not implemented by tODE.') asText allBold + editUsing: + ((TDEditorSpec topez: listElement topez editorAspect: #'edit') + windowName: #'manPage'; + windowLabel: item trimBoth; + yourself) ] + ifNotNil: [ :commandNode | + | page | + listElement topez setFindText: (ar at: 2) isRegex: false. + page := commandNode manPage. + (page subCommands notEmpty and: [ ar size > 2 ]) + ifTrue: [ page := page subCommands at: (ar at: 3) ifAbsent: [ page ] ]. + page view: listElement topez ] ]. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/menuActionSpec..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/menuActionSpec..st new file mode 100644 index 000000000..80a70eea9 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/menuActionSpec..st @@ -0,0 +1,79 @@ +menu action specs +menuActionSpec: miniTool + theMiniTool := miniTool. + ^ {{('Transactions' + -> + {#('Commit' nil #'transactionsCommit:selectedIndex:'). + #('Abort' nil #'transactionsAbort:selectedIndex:'). + #('Auto Abort' nil #'transactionsAutoAbort:selectedIndex:' nil #'neverMind' false). + #('Auto Commit' nil #'transactionsAutoCommit:selectedIndex:'). + #('Auto Migrate' nil #'transactionsAutoMigrate:selectedIndex:')})}. + {('View' + -> + {#('New' nil #'notAvailable:selectedIndex:' nil #'neverMind' false). + #('Open' nil #'notAvailable:selectedIndex:' nil #'neverMind' false). + #('Remove' nil #'notAvailable:selectedIndex:' nil #'neverMind' false). + #('Session Info' nil #'notAvailable:selectedIndex:' nil #'neverMind' false)})}. + {('Find' + -> + {#('Class...' nil #'findClass:selectedIndex:'). + #('Hierarchy Browser...' nil #'findClassHierarchy:selectedIndex:'). + #('Class References...' nil #'findClassReferences:selectedIndex:'). + #('Method...' nil #'findMethodImplementors:selectedIndex:'). + #('String...' nil #'findStringNoCase:selectedIndex:'). + #('Senders...' nil #'findMethodSenders:selectedIndex:'). + #('Case Sensitive String...' nil #'findStringCaseSensitive:selectedIndex:')})}. + {('Tools' + -> + {#('System Browser' nil #'toolSystemBrowser:selectedIndex:'). + #('Open Workspaces' nil #'toolOpenWorkspaces:selectedIndex:'). + #('File Browser' nil #'notAvailable:selectedIndex:' nil #'neverMind' false). + #('Process Browser' nil #'toolProcessBrowser:selectedIndex:'). + #('Inspect UndefinedSymbols' nil #'toolUndefinedSymbols:selectedIndex:'). + #('Inspect Sent But Not Implemented' nil #'toolSentButNotImplemented:selectedIndex:'). + #('Test Runner' nil #'toolTestClass:selectedIndex:'). + #('Monticello' nil #'toolMonticelloBrowser:selectedIndex:')})}. + {('Admin' + -> + {{('Repository' + -> + {#('List backup files' nil #'repositoryListBackup:selectedIndex:'). + #('Backup' nil #'repositoryMakeBackup:selectedIndex:'). + #('Restore from Backup' nil #'repositoryRestoreFromBackup:selectedIndex:'). + #('-'). + #('Mark for Collection' nil #'repositoryMFC:selectedIndex:')})}. + #('-'). + {('DoIt' + -> + {#('Changed packages & methods' nil #'doitChangedPackagesAndMethods:selectedIndex:'). + {('Configuration Reports' + -> + {#('Gem Configuration Report' nil #'doitGemConfigReport:selectedIndex:'). + #('Stone Configuration Report' nil #'doitStoneConfigReport:selectedIndex:')})}. + #('Empty Object Log' nil #'doitClearObjectLog:selectedIndex:'). + #('File Size Report' nil #'doitFileSizeReport:selectedIndex:'). + #('Object Log' nil #'doitViewObjectLog:selectedIndex:'). + #('User Session Report' nil #'doitSessionReport:selectedIndex:'). + {('Version Reports' + -> + {#('Client Version Report' nil #'doitClientVersionReport:selectedIndex:'). + #('Gem Version Report' nil #'doitGemVersionReport:selectedIndex:'). + #('Stone Version Report' nil #'doitStoneVersionReport:selectedIndex:')})}})}. + #('-'). + #('Browser Preferences' nil #'notAvailable:selectedIndex:' nil #'neverMind' false). + #('-'). + #('Commit on Almost Out of Memory' nil #'notAvailable:selectedIndex:' nil #'neverMind' false). + #('Popup on debug' nil #'notAvailable:selectedIndex:' nil #'neverMind' false). + #('-'). + #('Send Bug Report' nil #'notAvailable:selectedIndex:' nil #'neverMind' false)})}. + #('Help' nil #'help:selectedIndex:'). + {('Debug...' + -> + {#('Remove Continuations from Object Log' nil #'debugRemoveObjectLogContinuations:selectedIndex:'). + #('Clear Object Log' nil #'doitClearObjectLog:selectedIndex:'). + #('Debug Continuations' nil #'debugViewObjectLogContinuations:selectedIndex:')})}. + {('Update' + -> + {#('Update GemTools Launcher' nil #'notAvailable:selectedIndex:' nil #'neverMind' false). + #('Update GLASS' nil #'notAvailable:selectedIndex:' nil #'neverMind' false)})}. + #('-')} , self standardMenuActionSpec \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/menuCommandMap.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/menuCommandMap.st new file mode 100644 index 000000000..d87feb93e --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/menuCommandMap.st @@ -0,0 +1,209 @@ +accessing +menuCommandMap + " slot 1 :: tODE command name + slot 2 :: text to highlight in man page ... typically the command or subcommand" + + ^ Dictionary new + at: 'Commit' + put: + {'commit'. + 'commit'}; + at: 'Abort' + put: + {'abort'. + 'abort'}; + at: 'Auto Abort' + put: + {''. + ''}; + at: 'Auto Commit' + put: + {'limit'. + 'autoCommit'}; + at: 'Auto Migrate' + put: + {'limit'. + 'autoMigrate'}; + at: 'Class...' + put: + {'browse'. + 'browse class'. + 'class'}; + at: 'Hierarchy Browser...' + put: + {'browse'. + '--hier'. + 'class'}; + at: 'Class References...' + put: + {'browse'. + 'browse references'. + 'references'}; + at: 'Method...' + put: + {'browse'. + 'browse method'. + 'method'}; + at: 'String...' + put: + {'browse'. + 'browse source'. + 'source'}; + at: 'Senders...' + put: + {'browse'. + 'browse sender'. + 'sender'}; + at: 'Case Sensitive String...' + put: + {'browse'. + '--case|--exact'. + 'source'}; + at: 'System Browser' + put: + {'browse'. + '--full'. + 'class'}; + at: 'Open Workspaces' + put: + {'ws'. + ''. + ''}; + at: 'File Browser' + put: + {''. + ''}; + at: 'Process Browser' + put: + {'ps'. + 'ps list'. + 'list'}; + at: 'Inspect UndefinedSymbols' + put: + {'port'. + 'port undefinedSymbols'. + ''}; + at: 'Inspect Sent But Not Implemented' + put: + {'port'. + 'port sentButNotImplemented'. + ''}; + at: 'Test Runner' + put: + {'test'. + 'test'. + ''}; + at: 'Monticello' + put: + {'mc'. + 'mc list'. + ''}; + at: 'List backup files' + put: + {'bu'. + 'bu list'. + 'list'}; + at: 'Backup' + put: + {'bu'. + 'bu backup'. + 'backup'}; + at: 'Restore from Backup' + put: + {'bu'. + 'bu restore'. + 'restore'}; + at: 'Mark for Collection' + put: + {'gs'. + 'gs mfc'. + 'mfc'}; + at: 'Changed packages & methods' + put: + {'project'. + 'project summary'. + 'summary'}; + at: 'Gem Configuration Report' + put: + {'gs'. + '--gem'. + 'configuration'}; + at: 'Stone Configuration Report' + put: + {'gs'. + '--stone'. + 'configuration'}; + at: 'Empty Object Log' + put: + {'ol'. + 'ol clear'. + 'clear'}; + at: 'File Size Report' + put: + {'gs'. + 'fileSizeReport'. + 'fileSizeReport'}; + at: 'Object Log' + put: + {'ol'. + 'ol view'. + 'view'}; + at: 'User Session Report' + put: + {'gs'. + 'sessionDescription'. + 'sessionDescription'}; + at: 'Client Version Report' + put: + {'gs'. + '--client'. + 'version'}; + at: 'Gem Version Report' + put: + {'gs'. + '--gem'. + 'version'}; + at: 'Stone Version Report' + put: + {'gs'. + '--stone'. + 'version'}; + at: 'Browser Preferences' + put: + {'limit'. + 'limit'. + ''}; + at: 'Commit on Almost Out of Memory' + put: + {'gs'. + 'gs halt'. + 'halt'}; + at: 'Help' + put: + {'man'. + '--all'. + ''}; + at: 'Remove Continuations from Object Log' + put: + {'ol'. + '--continuation'. + 'clear'}; + at: 'Clear Object Log' + put: + {'ol'. + 'ol clear'. + 'clear'}; + at: 'Debug Continuations' + put: + {'ol'. + '--continuation'. + 'view'}; + at: 'Update GemTools Launcher' + put: + {''. + ''}; + at: 'Update GLASS' + put: + {''. + ''}; + yourself \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/menuMapList.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/menuMapList.st new file mode 100644 index 000000000..4bfe4e59b --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/menuMapList.st @@ -0,0 +1,57 @@ +accessing +menuMapList + ^ {('GemTools Launcher Menu' asText allBold). + (' Transactions' asText allBold). + ' Commit'. + ' Abort'. + ' Auto Abort'. + ' Auto Commit'. + ' Auto Migrate'. + (' Find' asText allBold). + ' Class...'. + ' Hierarchy Browser...'. + ' Class References...'. + ' Method...'. + ' String...'. + ' Senders...'. + ' Case Sensitive String...'. + (' Tools' asText allBold). + ' System Browser'. + ' Open Workspaces'. + ' File Browser'. + ' Process Browser'. + ' Inspect UndefinedSymbols'. + ' Inspect Sent But Not Implemented'. + ' Test Runner'. + ' Monticello'. + (' Admin' asText allBold). + (' Repository' asText allBold). + ' List backup files'. + ' Backup'. + ' Restore from Backup'. + ' Mark for Collection'. + (' DoIt' asText allBold). + ' Changed packages & methods'. + (' Configuration Reports' asText allBold). + ' Gem Configuration Report'. + ' Stone Configuration Report'. + ' Empty Object Log'. + ' File Size Report'. + ' Object Log'. + ' User Session Report'. + (' Version Report' asText allBold). + ' Client Version Report'. + ' Gem Version Report'. + ' Stone Version Report'. + ' Browser Preferences'. + ' Commit on Almost Out of Memory'. + ' Popup on debug'. + ' Send Bug Report'. + ' Help'. + (' Debug...' asText allBold). + ' Remove Continuations from Object Log'. + ' Clear Object Log'. + ' Debug Continuations'. + (' Update...' asText allBold). + ' Update GemTools Launcher'. + ' Update GLASS'} \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/repositoryListBackup.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/repositoryListBackup.selectedIndex..st new file mode 100644 index 000000000..cad3f2b24 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/repositoryListBackup.selectedIndex..st @@ -0,0 +1,3 @@ +menu actions +repositoryListBackup: listElement selectedIndex: index + ^ (self topez toolInstanceFor: 'gemtool') gemtoolbuList \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/repositoryMFC.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/repositoryMFC.selectedIndex..st new file mode 100644 index 000000000..d2de17d14 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/repositoryMFC.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +repositoryMFC: listElement selectedIndex: index + | gsTool | + gsTool := self topez toolInstanceFor: 'gs'. + gsTool gsMfc. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/repositoryMakeBackup.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/repositoryMakeBackup.selectedIndex..st new file mode 100644 index 000000000..2492aa061 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/repositoryMakeBackup.selectedIndex..st @@ -0,0 +1,3 @@ +menu actions +repositoryMakeBackup: listElement selectedIndex: index + ^ (self topez toolInstanceFor: 'gemtool') gemtoolbuBackup \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/repositoryRestoreFromBackup.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/repositoryRestoreFromBackup.selectedIndex..st new file mode 100644 index 000000000..718042e51 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/repositoryRestoreFromBackup.selectedIndex..st @@ -0,0 +1,3 @@ +menu actions +repositoryRestoreFromBackup: listElement selectedIndex: index + ^ (self topez toolInstanceFor: 'gemtool') gemtoolbuRestore \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolMonticelloBrowser.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolMonticelloBrowser.selectedIndex..st new file mode 100644 index 000000000..1acd18b28 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolMonticelloBrowser.selectedIndex..st @@ -0,0 +1,7 @@ +menu actions +toolMonticelloBrowser: listElement selectedIndex: index + | monticelloTool block | + monticelloTool := self topez toolInstanceFor: 'mc'. + block := [ monticelloTool mclist: '' ]. + monticelloTool mcBrowseWorkingCopies: block label: 'Working Copies'. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolOpenWorkspaces.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolOpenWorkspaces.selectedIndex..st new file mode 100644 index 000000000..d745cd515 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolOpenWorkspaces.selectedIndex..st @@ -0,0 +1,14 @@ +menu actions +toolOpenWorkspaces: listElement selectedIndex: index + '"Try the following tode script commands, instead: +cd # cd to /home +touch st sample # create a smalltalk node named sample (`man touch` for more info) +edit sample # the workspace is saved to disk in the home dir for the current stone +./sample # returns the result of evaluating the smalltalk in the st node +rm sample # delete the sample node ... when done +eval `3->4` # evaluate st from commandline +"' + editUsing: + ((TDEditorSpec topez: topez editorAspect: #'workspace') + windowLabel: 'Workspace on ' , nil printString). + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolProcessBrowser.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolProcessBrowser.selectedIndex..st new file mode 100644 index 000000000..d34e93335 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolProcessBrowser.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +toolProcessBrowser: listElement selectedIndex: index + | psTool | + psTool := self topez toolInstanceFor: 'ps'. + psTool pslist. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolSentButNotImplemented.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolSentButNotImplemented.selectedIndex..st new file mode 100644 index 000000000..157384c11 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolSentButNotImplemented.selectedIndex..st @@ -0,0 +1,7 @@ +menu actions +toolSentButNotImplemented: listElement selectedIndex: index + | portTool | + portTool := self topez toolInstanceFor: 'port'. + portTool portsentButNotImplemented + editUsing: (TDEditorSpec topez: listElement topez editorAspect: #'edit'). + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolSystemBrowser.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolSystemBrowser.selectedIndex..st new file mode 100644 index 000000000..429157cdd --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolSystemBrowser.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +toolSystemBrowser: listElement selectedIndex: index + | browseTool | + browseTool := self topez toolInstanceFor: 'browse'. + browseTool browseClassHierarchy: Object label: 'Hierarchy for Object'. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolTestClass.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolTestClass.selectedIndex..st new file mode 100644 index 000000000..6c99c2385 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolTestClass.selectedIndex..st @@ -0,0 +1,17 @@ +menu actions +toolTestClass: listElement selectedIndex: index + | findTool testTool block clsNamePattern list classNames className | + findTool := self topez toolInstanceFor: 'find'. + clsNamePattern := (GsTextInteraction + prompt: 'Test Class Name Fragment:' + template: 'Test') signal. + list := findTool findClass: clsNamePattern. + classNames := list collect: [ :cls | cls className asString ]. + className := (GsChoiceInteraction + prompt: 'Choose a class' + labels: classNames + values: classNames) signal. + className ifNil: [ ^ false ]. + testTool := self topez toolInstanceFor: 'test'. + testTool testclass: {className}. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolUndefinedSymbols.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolUndefinedSymbols.selectedIndex..st new file mode 100644 index 000000000..04b17f151 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/toolUndefinedSymbols.selectedIndex..st @@ -0,0 +1,7 @@ +menu actions +toolUndefinedSymbols: listElement selectedIndex: index + | portTool | + portTool := self topez toolInstanceFor: 'port'. + portTool portundefinedSymbols + editUsing: (TDEditorSpec topez: listElement topez editorAspect: #'edit'). + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsAbort.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsAbort.selectedIndex..st new file mode 100644 index 000000000..9826c23d9 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsAbort.selectedIndex..st @@ -0,0 +1,4 @@ +menu actions +transactionsAbort: listElement selectedIndex: index + (self topez toolInstanceFor: 'abort') abort. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsAutoAbort.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsAutoAbort.selectedIndex..st new file mode 100644 index 000000000..c729e585f --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsAutoAbort.selectedIndex..st @@ -0,0 +1,4 @@ +menu actions +transactionsAutoAbort: listElement selectedIndex: index + self notify: 'Auto Abort not available'. + ^ false \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsAutoCommit.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsAutoCommit.selectedIndex..st new file mode 100644 index 000000000..e655513df --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsAutoCommit.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +transactionsAutoCommit: listElement selectedIndex: index + | tool | + tool := self topez toolInstanceFor: 'limit'. + tool limitAutoCommit: tool limitAutoCommit not. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsAutoMigrate.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsAutoMigrate.selectedIndex..st new file mode 100644 index 000000000..19cbbd301 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsAutoMigrate.selectedIndex..st @@ -0,0 +1,6 @@ +menu actions +transactionsAutoMigrate: listElement selectedIndex: index + | tool | + tool := self topez toolInstanceFor: 'limit'. + tool limitAutoMigrate: tool limitAutoMigrate not. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsCommit.selectedIndex..st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsCommit.selectedIndex..st new file mode 100644 index 000000000..61a7e0871 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/transactionsCommit.selectedIndex..st @@ -0,0 +1,4 @@ +menu actions +transactionsCommit: listElement selectedIndex: index + (self topez toolInstanceFor: 'commit') commit. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/windowLocation.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/windowLocation.st new file mode 100644 index 000000000..8137016a5 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/windowLocation.st @@ -0,0 +1,4 @@ +accessing +windowLocation + windowLocation ifNil: [ windowLocation := #'classCategories' ]. + ^ windowLocation \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/windowName.st b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/windowName.st new file mode 100644 index 000000000..420398458 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/instance/windowName.st @@ -0,0 +1,4 @@ +accessing +windowName + windowName ifNil: [ windowName := #'gemtoolsLauncherMenu' ]. + ^ windowName \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/methodProperties.json new file mode 100644 index 000000000..52b6b1cf6 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/methodProperties.json @@ -0,0 +1,47 @@ +{ + "class" : { + }, + "instance" : { + "clientList:listElement:" : "dkh 02/04/2015 12:25", + "debugRemoveObjectLogContinuations:selectedIndex:" : "dkh 02/07/2015 12:34", + "debugViewObjectLogContinuations:selectedIndex:" : "dkh 02/07/2015 12:39", + "doitChangedPackagesAndMethods:selectedIndex:" : "dkh 02/07/2015 09:39", + "doitClearObjectLog:selectedIndex:" : "dkh 02/07/2015 10:46", + "doitClientVersionReport:selectedIndex:" : "dkh 02/07/2015 11:24", + "doitFileSizeReport:selectedIndex:" : "dkh 02/08/2015 09:03", + "doitGemConfigReport:selectedIndex:" : "dkh 02/07/2015 10:24", + "doitGemVersionReport:selectedIndex:" : "dkh 02/07/2015 11:25", + "doitSessionReport:selectedIndex:" : "dkh 02/08/2015 15:46", + "doitStoneConfigReport:selectedIndex:" : "dkh 02/07/2015 10:26", + "doitStoneVersionReport:selectedIndex:" : "dkh 02/07/2015 11:25", + "doitViewObjectLog:selectedIndex:" : "dkh 02/07/2015 10:58", + "findClass:selectedIndex:" : "dkh 03/21/2015 15:34", + "findClassHierarchy:selectedIndex:" : "dkh 03/21/2015 15:34", + "findClassReferences:selectedIndex:" : "dkh 03/21/2015 12:04", + "findMethodImplementors:selectedIndex:" : "dkh 03/21/2015 12:03", + "findMethodSenders:selectedIndex:" : "dkh 03/21/2015 12:04", + "findStringCaseSensitive:selectedIndex:" : "dkh 02/06/2015 13:47", + "findStringNoCase:selectedIndex:" : "dkh 03/21/2015 12:05", + "help:selectedIndex:" : "dkh 02/07/2015 12:07", + "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 02/07/2015 12:47", + "menuActionSpec:" : "dkh 02/07/2015 12:45", + "menuCommandMap" : "dkh 02/08/2015 16:24", + "menuMapList" : "dkh 02/07/2015 12:46", + "repositoryListBackup:selectedIndex:" : "dkh 03/21/2015 15:35", + "repositoryMFC:selectedIndex:" : "dkh 02/08/2015 11:05", + "repositoryMakeBackup:selectedIndex:" : "dkh 03/21/2015 15:35", + "repositoryRestoreFromBackup:selectedIndex:" : "dkh 03/21/2015 15:35", + "toolMonticelloBrowser:selectedIndex:" : "dkh 02/06/2015 15:01", + "toolOpenWorkspaces:selectedIndex:" : "dkh 02/07/2015 09:43", + "toolProcessBrowser:selectedIndex:" : "dkh 02/06/2015 14:40", + "toolSentButNotImplemented:selectedIndex:" : "dkh 02/06/2015 15:58", + "toolSystemBrowser:selectedIndex:" : "dkh 02/06/2015 14:11", + "toolTestClass:selectedIndex:" : "dkh 02/06/2015 14:57", + "toolUndefinedSymbols:selectedIndex:" : "dkh 02/06/2015 15:58", + "transactionsAbort:selectedIndex:" : "dkh 02/04/2015 13:53", + "transactionsAutoAbort:selectedIndex:" : "dkh 02/04/2015 13:01", + "transactionsAutoCommit:selectedIndex:" : "dkh 02/04/2015 13:54", + "transactionsAutoMigrate:selectedIndex:" : "dkh 02/04/2015 13:54", + "transactionsCommit:selectedIndex:" : "dkh 02/04/2015 13:54", + "windowLocation" : "dkh 02/04/2015 12:11", + "windowName" : "dkh 02/04/2015 12:22" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/properties.json b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/properties.json new file mode 100644 index 000000000..2c4439019 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGemToolsMenuBar.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Tode-GemStone-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDGemToolsMenuBar", + "pools" : [ + ], + "super" : "TDStandardToolBuilder", + "type" : "normal" } diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitConflict.class/instance/common.st b/repository/Tode-GemStone-Server-Core.package/TDGitConflict.class/instance/common.st index b9e11cfef..fc0ed57e0 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGitConflict.class/instance/common.st +++ b/repository/Tode-GemStone-Server-Core.package/TDGitConflict.class/instance/common.st @@ -1,4 +1,4 @@ accessing common - ^common + ^common \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitDiff.class/instance/asMergeOperation.st b/repository/Tode-GemStone-Server-Core.package/TDGitDiff.class/instance/asMergeOperation.st new file mode 100644 index 000000000..5267a32e5 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitDiff.class/instance/asMergeOperation.st @@ -0,0 +1,30 @@ +converting +asMergeOperation + | them us stage view | + us := source. + them := destination. + view := #'usVsThem'. + editOp = 'A' + ifTrue: [ stage := #'added' ] + ifFalse: [ + editOp = 'D' + ifTrue: [ stage := #'deleted' ] + ifFalse: [ + editOp = 'M' + ifTrue: [ stage := #'modified' ] + ifFalse: [ + editOp = 'U' + ifTrue: [ + "unmerged ... shouldn't see this" + self error: 'Unexpected edit operation: ' , editOp printString ] + ifFalse: [ self error: 'Unknown edit operation: ' , editOp printString ] ] ] ]. + ^ TDGitMergeOperation new + baseDirectory: self baseDirectory; + filePath: self filePath; + us: us; + ancestor: nil; + them: them; + stage: stage; + view: view; + resolved: true; + yourself \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitDiff.class/instance/source..st b/repository/Tode-GemStone-Server-Core.package/TDGitDiff.class/instance/source..st index 8bb297255..7fbaeb318 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGitDiff.class/instance/source..st +++ b/repository/Tode-GemStone-Server-Core.package/TDGitDiff.class/instance/source..st @@ -1,5 +1,7 @@ accessing source: aString (aString beginsWith: 'fatal') - ifTrue: [ self halt ]. + ifTrue: [ + self inform: 'Error extracting source: ' , aString. + source := aString ]. source := aString \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitDiff.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDGitDiff.class/methodProperties.json index ffa9dc7d8..0b6e1a650 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGitDiff.class/methodProperties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDGitDiff.class/methodProperties.json @@ -2,6 +2,7 @@ "class" : { }, "instance" : { + "asMergeOperation" : "dkh 01/26/2015 13:14", "baseDirectory" : "dkh 10/06/2013 10:38", "baseDirectory:" : "dkh 05/10/2014 19:01", "destination" : "dkh 05/30/2014 07:07", @@ -11,7 +12,6 @@ "editOp:" : "dkh 05/10/2014 19:17", "filePath" : "dkh 10/06/2013 10:38", "filePath:" : "dkh 05/10/2014 19:01", - "hasFileTreeSmalltalkSource" : "dkh 05/21/2014 10:42", "hasSameSource" : "dkh 05/29/2014 21:12", "label" : "dkh 05/10/2014 20:11", "mergeSource" : "dkh 05/29/2014 21:12", @@ -20,5 +20,5 @@ "printText" : "dkh 05/10/2014 19:41", "selectedSource" : "dkh 05/29/2014 21:12", "source" : "dkh 05/30/2014 07:06", - "source:" : "dkh 05/29/2014 21:11", + "source:" : "dkh 09/07/2015 10:40", "windowLabel" : "dkh 10/06/2013 10:39" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/README.md b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/ancestor..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/ancestor..st new file mode 100644 index 000000000..7b3160432 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/ancestor..st @@ -0,0 +1,3 @@ +accessing +ancestor: anObject + ancestor := anObject \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/ancestor.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/ancestor.st new file mode 100644 index 000000000..feea4c807 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/ancestor.st @@ -0,0 +1,4 @@ +accessing +ancestor + ancestor ifNil: [ ^ '' ]. + ^ ancestor \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/applyTo..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/applyTo..st new file mode 100644 index 000000000..9dbcebb05 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/applyTo..st @@ -0,0 +1,9 @@ +merge +applyTo: aTDGitMerger + self selectedSourceRaw + ifNil: [ aTDGitMerger gitTool gitrmIn: self baseDirectory with: ' -rf ' , self filePath ] + ifNotNil: [ :src | + self baseDirectory + forceNewFileNamed: self filePath + do: [ :fileStream | fileStream nextPutAll: src withUnixLineEndings encodeAsUTF8intoString ]. + aTDGitMerger gitTool gitaddIn: self baseDirectory with: self filePath ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/baseDirectory..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/baseDirectory..st new file mode 100644 index 000000000..79a1248d6 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/baseDirectory..st @@ -0,0 +1,3 @@ +as yet unclassified +baseDirectory: aDirectory + baseDirectory := aDirectory \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/baseDirectory.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/baseDirectory.st new file mode 100644 index 000000000..6e52f3eef --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/baseDirectory.st @@ -0,0 +1,3 @@ +as yet unclassified +baseDirectory + ^ baseDirectory \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/calculateStage.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/calculateStage.st new file mode 100644 index 000000000..9bb09edd6 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/calculateStage.st @@ -0,0 +1,14 @@ +as yet unclassified +calculateStage + ancestor + ifNil: [ + us + ifNil: [ + them + ifNil: [ self error: 'illegal stage, ancestor, us and them nil' ] + ifNotNil: [ ^ #'adddedByThem' ] ] + ifNotNil: [ them ifNil: [ ^ #'addedByUs' ] ifNotNil: [ ^ #'addedByBoth' ] ] ] + ifNotNil: [ + us + ifNil: [ them ifNil: [ ^ #'deletedByBoth' ] ifNotNil: [ ^ #'deletedByUs' ] ] + ifNotNil: [ them ifNil: [ ^ #'deletedByThem' ] ifNotNil: [ ^ #'modifiedByBoth' ] ] ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/defaultSelection.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/defaultSelection.st new file mode 100644 index 000000000..e3607d4c2 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/defaultSelection.st @@ -0,0 +1,23 @@ +as yet unclassified +defaultSelection + self stage == #'adddedByThem' + ifTrue: [ ^ #'them' ]. + stage == #'addedByUs' + ifTrue: [ ^ #'us' ]. + stage == #'addedByBoth' + ifTrue: [ ^ #'us' ]. + stage == #'deletedByBoth' + ifTrue: [ ^ #'us' ]. + stage == #'deletedByUs' + ifTrue: [ ^ #'us' ]. + stage == #'deletedByThem' + ifTrue: [ ^ #'us' ]. + stage == #'modifiedByBoth' + ifTrue: [ ^ #'us' ]. + stage == #'added' + ifTrue: [ ^ #'them' ]. + stage == #'deleted' + ifTrue: [ ^ #'them' ]. + stage == #'modified' + ifTrue: [ ^ #'them' ]. + self error: 'unknown stage' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/defaultView.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/defaultView.st new file mode 100644 index 000000000..191712eac --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/defaultView.st @@ -0,0 +1,19 @@ +as yet unclassified +defaultView + self resolved + ifTrue: [ ^ self selection ]. + self stage == #'adddedByThem' + ifTrue: [ ^ #'ancestorVsThem' ]. + stage == #'addedByUs' + ifTrue: [ ^ #'ancestorVsUs' ]. + stage == #'addedByBoth' + ifTrue: [ ^ #'usVsThem' ]. + stage == #'deletedByBoth' + ifTrue: [ ^ #'ancestorVsUs' ]. + stage == #'deletedByUs' + ifTrue: [ ^ #'ancestorVsUs' ]. + stage == #'deletedByThem' + ifTrue: [ ^ #'ancestorVsThem' ]. + stage == #'modifiedByBoth' + ifTrue: [ ^ #'usVsThem' ]. + self error: 'unknown stage' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/editDefinition.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/editDefinition.st new file mode 100644 index 000000000..af02268de --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/editDefinition.st @@ -0,0 +1,4 @@ +accessing +editDefinition + editDefinition ifNil: [ ^ '' ]. + ^ editDefinition \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/elementSource..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/elementSource..st new file mode 100644 index 000000000..0bd910060 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/elementSource..st @@ -0,0 +1,4 @@ +as yet unclassified +elementSource: aSTONString + self editDefinition: (self objectSerializer fromString: aSTONString) asString. + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/filePath..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/filePath..st new file mode 100644 index 000000000..903d0839d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/filePath..st @@ -0,0 +1,3 @@ +as yet unclassified +filePath: aString + filePath := aString \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/filePath.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/filePath.st new file mode 100644 index 000000000..c25ec9993 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/filePath.st @@ -0,0 +1,3 @@ +as yet unclassified +filePath + ^ filePath \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/formatSource..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/formatSource..st new file mode 100644 index 000000000..03cde17fb --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/formatSource..st @@ -0,0 +1,16 @@ +as yet unclassified +formatSource: methodSource + | ar firstLine stSource | + self hasFileTreeSmalltalkSource + ifFalse: [ + "from a non-st file ... formatting not possible" + ^ methodSource ]. + methodSource isEmpty + ifTrue: [ ^ methodSource ]. + ar := self stSource: methodSource. + firstLine := ar at: 1. + stSource := (ar at: 2) trimBoth. + firstLine + add: String cr; + add: (super formatSource: stSource). + ^ firstLine \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/hasFileTreeSmalltalkSource.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/hasFileTreeSmalltalkSource.st new file mode 100644 index 000000000..f7db0f986 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/hasFileTreeSmalltalkSource.st @@ -0,0 +1,3 @@ +testing +hasFileTreeSmalltalkSource + ^ self filePath endsWith: '.st' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/hasTag.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/hasTag.st new file mode 100644 index 000000000..042e56931 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/hasTag.st @@ -0,0 +1,3 @@ +testing +hasTag + ^ self tag notNil \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/imageMethodSource.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/imageMethodSource.st new file mode 100644 index 000000000..25e449592 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/imageMethodSource.st @@ -0,0 +1,10 @@ +smalltalk source +imageMethodSource + | beh src sel cat | + self methodClass isNil + ifTrue: [ ^ '' ]. + beh := self methodBehavior. + sel := self methodSelector. + src := (beh compiledMethodAt: sel ifAbsent: [ ^ '' ]) sourceString. + cat := beh categoryOfSelector: sel. + ^ cat , String lf , src \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/initEditDefinition.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/initEditDefinition.st new file mode 100644 index 000000000..577cd195e --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/initEditDefinition.st @@ -0,0 +1,3 @@ +as yet unclassified +initEditDefinition + editDefinition ifNil: [ self editDefinition: self selectedSourceRaw ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/isConflict.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/isConflict.st new file mode 100644 index 000000000..de40dc61d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/isConflict.st @@ -0,0 +1,3 @@ +testing +isConflict + ^ (#(#'added' #'modified' #'deleted') includes: self stage) not \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/labelString.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/labelString.st new file mode 100644 index 000000000..41d064f0a --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/labelString.st @@ -0,0 +1,24 @@ +accessing +labelString + labelString ifNotNil: [ ^ labelString ]. + self stage == #'adddedByThem' + ifTrue: [ ^ 'added by them ' ]. + stage == #'addedByUs' + ifTrue: [ ^ 'added by us ' ]. + stage == #'addedByBoth' + ifTrue: [ ^ 'both added ' ]. + stage == #'deletedByBoth' + ifTrue: [ ^ 'both deleted ' ]. + stage == #'deletedByUs' + ifTrue: [ ^ 'deleted by us ' ]. + stage == #'deletedByThem' + ifTrue: [ ^ 'deleted by them' ]. + stage == #'modifiedByBoth' + ifTrue: [ ^ 'both modified ' ]. + stage == #'added' + ifTrue: [ ^ 'added ' ]. + stage == #'deleted' + ifTrue: [ ^ 'deleted ' ]. + stage == #'modified' + ifTrue: [ ^ 'modified ' ]. + self error: 'unknown stage' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/mergeSource..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/mergeSource..st new file mode 100644 index 000000000..908203482 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/mergeSource..st @@ -0,0 +1,3 @@ +as yet unclassified +mergeSource: aStringOrText + self shouldNotImplement \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/mergeSource.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/mergeSource.st new file mode 100644 index 000000000..64e8161ab --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/mergeSource.st @@ -0,0 +1,65 @@ +as yet unclassified +mergeSource + | diff from to | + view == #'ancestor' + ifTrue: [ ^ self ancestor ]. + view == #'us' + ifTrue: [ ^ self us ]. + view == #'them' + ifTrue: [ ^ self them ]. + view == #'custom' + ifTrue: [ ^ self editDefinition ]. + view == #'ancestorVsUs' + ifTrue: [ + from := self ancestor. + to := self us ] + ifFalse: [ + view == #'ancestorVsThem' + ifTrue: [ + from := self ancestor. + to := self them ] + ifFalse: [ + view == #'ancestorVsCustom' + ifTrue: [ + from := self ancestor. + to := self editDefinition ] + ifFalse: [ + view == #'usVsThem' + ifTrue: [ + from := self us. + to := self them ] + ifFalse: [ + view == #'usVsCustom' + ifTrue: [ + from := self us. + to := self editDefinition ] + ifFalse: [ + view == #'themVsUs' + ifTrue: [ + from := self them. + to := self us ] + ifFalse: [ + view == #'themVsCustom' + ifTrue: [ + from := self them. + to := self editDefinition ] + ifFalse: [ + view == #'imageVsCustom' + ifTrue: [ + from := self imageMethodSource. + to := self editDefinition ] + ifFalse: [ + view == #'imageVsThem' + ifTrue: [ + from := self imageMethodSource. + to := self them ] + ifFalse: [ + view == #'imageVsUs' + ifTrue: [ + from := self imageMethodSource. + to := self us ] + ifFalse: [ self error: 'Unknown view: ' , view printString ] ] ] ] ] ] ] ] ] ]. + diff := TextDiffBuilder + from: (self formatSource: from) withSqueakLineEndings + to: (self formatSource: to) withSqueakLineEndings. + ^ diff buildTextPatch \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/methodSelector.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/methodSelector.st new file mode 100644 index 000000000..f6fc502d6 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/methodSelector.st @@ -0,0 +1,19 @@ +smalltalk source +methodSelector + | methodSource methodNode src | + self hasFileTreeSmalltalkSource + ifFalse: [ ^ nil ]. + src := ancestor notNil + ifTrue: [ ancestor ] + ifFalse: [ + us notNil + ifTrue: [ us ] + ifFalse: [ + them notNil + ifTrue: [ them ] + ifFalse: [ self error: 'no method ... no selector' ] ] ]. + methodSource := (self stSource: src) at: 2. + methodNode := RBParser + parseMethod: methodSource + onError: [ :err :pos | ^ nil ]. + ^ methodNode selector \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/printOn..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/printOn..st new file mode 100644 index 000000000..56d5a2b3c --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/printOn..st @@ -0,0 +1,10 @@ +as yet unclassified +printOn: aStream + aStream + nextPutAll: self labelString; + space; + nextPutAll: self filePath. + self resolved + ifTrue: [ aStream nextPutAll: ' (' , self selection asString , ')' ]. + self hasTag + ifTrue: [ aStream nextPutAll: ' [' , self tag , ']' ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/printText.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/printText.st new file mode 100644 index 000000000..331c19aff --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/printText.st @@ -0,0 +1,5 @@ +as yet unclassified +printText + ^ Text + string: self printString + attribute: (TextEmphasis perform: self selectionAttribute) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/resolveSafely.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/resolveSafely.st new file mode 100644 index 000000000..bcaf299ef --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/resolveSafely.st @@ -0,0 +1,4 @@ +as yet unclassified +resolveSafely + self stage == #'deletedByBoth' + ifTrue: [ ^ self selectUs ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/resolved..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/resolved..st new file mode 100644 index 000000000..fd824cc22 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/resolved..st @@ -0,0 +1,3 @@ +as yet unclassified +resolved: aBool + resolved := aBool \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/resolved.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/resolved.st new file mode 100644 index 000000000..388ffecc4 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/resolved.st @@ -0,0 +1,4 @@ +as yet unclassified +resolved + resolved ifNil: [ resolved := false ]. + ^ resolved \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/safeToIgnore.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/safeToIgnore.st new file mode 100644 index 000000000..b4e4edf39 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/safeToIgnore.st @@ -0,0 +1,5 @@ +testing +safeToIgnore + (self resolved and: [ self stage == #'deletedByBoth' ]) + ifTrue: [ ^ us = them ]. + ^ false \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectAncestor.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectAncestor.st new file mode 100644 index 000000000..7883115e1 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectAncestor.st @@ -0,0 +1,3 @@ +as yet unclassified +selectAncestor + self selection: #'ancestor' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectCustom.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectCustom.st new file mode 100644 index 000000000..179f511b6 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectCustom.st @@ -0,0 +1,3 @@ +as yet unclassified +selectCustom + self selection: #'custom' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectDeletion.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectDeletion.st new file mode 100644 index 000000000..e6d28f01f --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectDeletion.st @@ -0,0 +1,5 @@ +as yet unclassified +selectDeletion + self + editDefinition: nil; + selectCustom \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectThem.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectThem.st new file mode 100644 index 000000000..1d9c6b802 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectThem.st @@ -0,0 +1,3 @@ +as yet unclassified +selectThem + self selection: #'them' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectUs.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectUs.st new file mode 100644 index 000000000..2765cc761 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectUs.st @@ -0,0 +1,3 @@ +as yet unclassified +selectUs + self selection: #'us' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectedSource.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectedSource.st new file mode 100644 index 000000000..31d0c7d30 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectedSource.st @@ -0,0 +1,13 @@ +as yet unclassified +selectedSource + ^ self selection == #'ancestor' + ifTrue: [ self ancestor ] + ifFalse: [ + self selection == #'us' + ifTrue: [ self us ] + ifFalse: [ + self selection == #'them' + ifTrue: [ self them ] + ifFalse: [ + "#'custom'" + self editDefinition ] ] ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectedSourceRaw.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectedSourceRaw.st new file mode 100644 index 000000000..3c20cc7fb --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectedSourceRaw.st @@ -0,0 +1,13 @@ +as yet unclassified +selectedSourceRaw + ^ self selection == #'ancestor' + ifTrue: [ ancestor ] + ifFalse: [ + self selection == #'us' + ifTrue: [ us ] + ifFalse: [ + self selection == #'them' + ifTrue: [ them ] + ifFalse: [ + "#'custom'" + editDefinition ] ] ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selection..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selection..st new file mode 100644 index 000000000..79ac66492 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selection..st @@ -0,0 +1,5 @@ +accessing +selection: aSymbol + self resolved: true. + super selection: aSymbol. + self view: aSymbol \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectionAttribute.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectionAttribute.st new file mode 100644 index 000000000..b7bb93f5a --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/selectionAttribute.st @@ -0,0 +1,20 @@ +as yet unclassified +selectionAttribute + ^ self resolved + ifTrue: [ + (self selection == #'us' or: [ selection == #'them' ]) + ifTrue: [ + self selectedSourceRaw isNil + ifTrue: [ #'struckOut' ] + ifFalse: [ + self isConflict + ifTrue: [ #'underlined' ] + ifFalse: [ #'normal' ] ] ] + ifFalse: [ + self selectedSourceRaw isNil + ifTrue: [ #'struckOut' ] + ifFalse: [ + self isConflict + ifTrue: [ #'italic' ] + ifFalse: [ #'normal' ] ] ] ] + ifFalse: [ #'bold' ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/stage..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/stage..st new file mode 100644 index 000000000..72def2d2e --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/stage..st @@ -0,0 +1,3 @@ +accessing +stage: aSymbol + stage := aSymbol \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/stage.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/stage.st new file mode 100644 index 000000000..6f85fb93f --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/stage.st @@ -0,0 +1,4 @@ +accessing +stage + stage ifNil: [ stage := self calculateStage ]. + ^ stage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/stonContents..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/stonContents..st new file mode 100644 index 000000000..9ab51978a --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/stonContents..st @@ -0,0 +1,3 @@ +as yet unclassified +stonContents: aSTONString + self elementSource: (self objectSerializer fromString: aSTONString) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/tag..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/tag..st new file mode 100644 index 000000000..b35f73f74 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/tag..st @@ -0,0 +1,3 @@ +accessing +tag: anObject + tag := anObject \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/tag.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/tag.st new file mode 100644 index 000000000..bf918dd4a --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/tag.st @@ -0,0 +1,3 @@ +accessing +tag + ^ tag \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/them..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/them..st new file mode 100644 index 000000000..fd9bd4882 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/them..st @@ -0,0 +1,3 @@ +accessing +them: anObject + them := anObject \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/them.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/them.st new file mode 100644 index 000000000..dc04de4a2 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/them.st @@ -0,0 +1,4 @@ +accessing +them + them ifNil: [ ^ '' ]. + ^ them \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/us..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/us..st new file mode 100644 index 000000000..d32b44d8b --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/us..st @@ -0,0 +1,3 @@ +accessing +us: anObject + us := anObject \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/us.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/us.st new file mode 100644 index 000000000..c12ffda34 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/us.st @@ -0,0 +1,4 @@ +accessing +us + us ifNil: [ ^ '' ]. + ^ us \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/view..st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/view..st new file mode 100644 index 000000000..aa7d4539c --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/view..st @@ -0,0 +1,3 @@ +accessing +view: anObject + view := anObject \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/view.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/view.st new file mode 100644 index 000000000..f470f8bf9 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/view.st @@ -0,0 +1,4 @@ +accessing +view + view ifNil: [ view := self defaultView ]. + ^ view \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewAncestor.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewAncestor.st new file mode 100644 index 000000000..51368fd07 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewAncestor.st @@ -0,0 +1,3 @@ +as yet unclassified +viewAncestor + self view: #'ancestor' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewAncestorVsCustom.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewAncestorVsCustom.st new file mode 100644 index 000000000..7f8f5376c --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewAncestorVsCustom.st @@ -0,0 +1,3 @@ +as yet unclassified +viewAncestorVsCustom + self view: #'ancestorVsCustom' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewAncestorVsThem.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewAncestorVsThem.st new file mode 100644 index 000000000..d960f065f --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewAncestorVsThem.st @@ -0,0 +1,3 @@ +as yet unclassified +viewAncestorVsThem + self view: #'ancestorVsThem' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewAncestorVsUs.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewAncestorVsUs.st new file mode 100644 index 000000000..904eac135 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewAncestorVsUs.st @@ -0,0 +1,3 @@ +as yet unclassified +viewAncestorVsUs + self view: #'ancestorVsUs' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewCustom.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewCustom.st new file mode 100644 index 000000000..bfc14e0c3 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewCustom.st @@ -0,0 +1,3 @@ +as yet unclassified +viewCustom + self view: #'custom' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewImageVsCustom.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewImageVsCustom.st new file mode 100644 index 000000000..71a13d782 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewImageVsCustom.st @@ -0,0 +1,3 @@ +as yet unclassified +viewImageVsCustom + self view: #'imageVsCustom' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewImageVsThem.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewImageVsThem.st new file mode 100644 index 000000000..cb6c7795b --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewImageVsThem.st @@ -0,0 +1,3 @@ +as yet unclassified +viewImageVsThem + self view: #'imageVsThem' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewImageVsUs.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewImageVsUs.st new file mode 100644 index 000000000..2b785e4a7 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewImageVsUs.st @@ -0,0 +1,3 @@ +as yet unclassified +viewImageVsUs + self view: #'imageVsUs' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewThem.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewThem.st new file mode 100644 index 000000000..9ca8c654f --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewThem.st @@ -0,0 +1,3 @@ +as yet unclassified +viewThem + self view: #'them' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewThemVsCustom.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewThemVsCustom.st new file mode 100644 index 000000000..6ef4a7c24 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewThemVsCustom.st @@ -0,0 +1,3 @@ +as yet unclassified +viewThemVsCustom + self view: #'themVsCustom' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewThemVsUs.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewThemVsUs.st new file mode 100644 index 000000000..db797137b --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewThemVsUs.st @@ -0,0 +1,3 @@ +as yet unclassified +viewThemVsUs + self view: #'themVsUs' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewUs.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewUs.st new file mode 100644 index 000000000..156f98c5d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewUs.st @@ -0,0 +1,3 @@ +as yet unclassified +viewUs + self view: #'us' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewUsVsCustom.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewUsVsCustom.st new file mode 100644 index 000000000..661a19ae6 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewUsVsCustom.st @@ -0,0 +1,3 @@ +as yet unclassified +viewUsVsCustom + self view: #'usVsCustom' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewUsVsThem.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewUsVsThem.st new file mode 100644 index 000000000..3b9130d8e --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/viewUsVsThem.st @@ -0,0 +1,3 @@ +as yet unclassified +viewUsVsThem + self view: #'usVsThem' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/windowLabel.st b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/windowLabel.st new file mode 100644 index 000000000..090797dfe --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/instance/windowLabel.st @@ -0,0 +1,8 @@ +as yet unclassified +windowLabel + ^ '[' + , + (self resolved + ifTrue: [ 'selection: ' , self selection asString printString ] + ifFalse: [ 'selection: none' ]) + , ' view: ' , self view asString printString , '] ' , self printString \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/methodProperties.json new file mode 100644 index 000000000..60bde4a9c --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/methodProperties.json @@ -0,0 +1,67 @@ +{ + "class" : { + }, + "instance" : { + "ancestor" : "dkh 01/24/2015 14:59", + "ancestor:" : "dkh 01/24/2015 14:59", + "applyTo:" : "dkh 09/07/2015 11:10", + "baseDirectory" : "dkh 01/24/2015 14:54", + "baseDirectory:" : "dkh 01/24/2015 14:54", + "calculateStage" : "dkh 01/24/2015 21:38", + "defaultSelection" : "dkh 01/26/2015 13:16", + "defaultView" : "dkh 01/30/2015 14:26", + "editDefinition" : "dkh 01/30/2015 14:31", + "elementSource:" : "dkh 06/25/2015 15:50", + "filePath" : "dkh 01/24/2015 14:54", + "filePath:" : "dkh 01/24/2015 14:54", + "formatSource:" : "dkh 01/25/2015 10:01", + "hasFileTreeSmalltalkSource" : "dkh 01/25/2015 09:59", + "hasTag" : "dkh 01/26/2015 13:34", + "imageMethodSource" : "dkh 01/30/2015 11:11", + "initEditDefinition" : "dkh 01/30/2015 14:37", + "isConflict" : "dkh 01/25/2015 15:05", + "labelString" : "dkh 01/25/2015 14:35", + "mergeSource" : "dkh 01/30/2015 11:13", + "mergeSource:" : "dkh 01/25/2015 08:59", + "methodSelector" : "dkh 01/30/2015 11:10", + "printOn:" : "dkh 01/26/2015 13:39", + "printText" : "dkh 01/24/2015 14:54", + "resolveSafely" : "dkh 01/30/2015 14:10", + "resolved" : "dkh 01/24/2015 14:54", + "resolved:" : "dkh 01/24/2015 14:54", + "safeToIgnore" : "dkh 01/30/2015 14:03", + "selectAncestor" : "dkh 01/24/2015 19:38", + "selectCustom" : "dkh 01/30/2015 14:27", + "selectDeletion" : "dkh 01/30/2015 14:34", + "selectThem" : "dkh 01/24/2015 19:39", + "selectUs" : "dkh 01/24/2015 19:38", + "selectedSource" : "dkh 01/25/2015 08:04", + "selectedSourceRaw" : "dkh 01/25/2015 15:00", + "selection:" : "dkh 01/25/2015 09:02", + "selectionAttribute" : "dkh 01/25/2015 15:10", + "stage" : "dkh 01/24/2015 21:34", + "stage:" : "dkh 01/25/2015 14:33", + "stonContents:" : "dkh 06/25/2015 15:50", + "tag" : "dkh 01/26/2015 13:25", + "tag:" : "dkh 01/26/2015 13:25", + "them" : "dkh 01/24/2015 15:08", + "them:" : "dkh 01/24/2015 15:08", + "us" : "dkh 01/24/2015 15:09", + "us:" : "dkh 01/24/2015 15:09", + "view" : "dkh 01/25/2015 08:39", + "view:" : "dkh 01/25/2015 07:48", + "viewAncestor" : "dkh 01/25/2015 08:23", + "viewAncestorVsCustom" : "dkh 01/25/2015 08:24", + "viewAncestorVsThem" : "dkh 01/25/2015 08:24", + "viewAncestorVsUs" : "dkh 01/25/2015 08:24", + "viewCustom" : "dkh 01/25/2015 08:23", + "viewImageVsCustom" : "dkh 01/30/2015 11:14", + "viewImageVsThem" : "dkh 01/30/2015 10:43", + "viewImageVsUs" : "dkh 01/30/2015 11:13", + "viewThem" : "dkh 01/25/2015 08:53", + "viewThemVsCustom" : "dkh 01/25/2015 08:25", + "viewThemVsUs" : "dkh 01/25/2015 08:25", + "viewUs" : "dkh 01/25/2015 08:53", + "viewUsVsCustom" : "dkh 01/25/2015 08:25", + "viewUsVsThem" : "dkh 01/25/2015 08:26", + "windowLabel" : "dkh 01/25/2015 08:36" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/properties.json b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/properties.json new file mode 100644 index 000000000..b0b9ed433 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitMergeOperation.class/properties.json @@ -0,0 +1,25 @@ +{ + "category" : "Tode-GemStone-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "baseDirectory", + "filePath", + "source", + "common", + "destination", + "resolved", + "ancestor", + "us", + "them", + "stage", + "view", + "tag" ], + "name" : "TDGitMergeOperation", + "pools" : [ + ], + "super" : "TDMergeOperation", + "type" : "normal" } diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/instance/gitcatfile.gitObjectId..st b/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/instance/gitcatfile.gitObjectId..st new file mode 100644 index 000000000..e8baea967 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/instance/gitcatfile.gitObjectId..st @@ -0,0 +1,9 @@ +as yet unclassified +gitcatfile: gitRepoDirectory gitObjectId: gitObjectId + | result | + result := self + performGitCommand: 'cat-file' + in: gitRepoDirectory + with: '-p ' , gitObjectId + logging: false. + ^ result \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/instance/gitmergetool.mergerCompletionBlock.mergerAbortBlock.windowLabel..st b/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/instance/gitmergetool.mergerCompletionBlock.mergerAbortBlock.windowLabel..st index fc68af2a5..af84e8653 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/instance/gitmergetool.mergerCompletionBlock.mergerAbortBlock.windowLabel..st +++ b/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/instance/gitmergetool.mergerCompletionBlock.mergerAbortBlock.windowLabel..st @@ -1,25 +1,44 @@ as yet unclassified gitmergetool: gitRepoDirectory mergerCompletionBlock: aMergerCompletionBlock mergerAbortBlock: aMergerAbortBlock windowLabel: label - | dictionary conflicts merger mergeTool | + | dictionary conflicts merger mergeTool diffs | dictionary := self gitlsfiles: gitRepoDirectory. - dictionary isEmpty - ifTrue: [ ^ 'No conflicts' ]. conflicts := OrderedCollection new. - dictionary keys - do: [ :path | - gitRepoDirectory - readOnlyFileNamed: path - do: [ :fileStream | - | triplet conflict | - triplet := self parseSourceConflictsOn: fileStream. - conflict := TDGitConflict new - baseDirectory: gitRepoDirectory; - filePath: path; - source: (triplet at: 1); - common: (triplet at: 2); - destination: (triplet at: 3); - yourself. - conflicts add: conflict ] ]. + dictionary + keysAndValuesDo: [ :path :stages | + | conflict us them ancestor labelString | + "stages at: 1 - common ancestor + stages at: 2 - us + stages at: 3 - them" + labelString := us := them := ancestor := nil. + (stages at: 1) + ifNotNil: [ :oc | ancestor := self gitcatfile: gitRepoDirectory gitObjectId: (oc at: 2) ]. + (stages at: 2) + ifNotNil: [ :oc | us := self gitcatfile: gitRepoDirectory gitObjectId: (oc at: 2) ]. + (stages at: 3) + ifNotNil: [ :oc | them := self gitcatfile: gitRepoDirectory gitObjectId: (oc at: 2) ]. + conflict := TDGitMergeOperation new + baseDirectory: gitRepoDirectory; + filePath: path; + us: us; + ancestor: ancestor; + them: them; + labelString: labelString; + yourself. + conflict resolveSafely. + conflicts add: conflict ]. + diffs := (self + gitdifftool: '' + destination: '' + cached: true + filePath: '' + gitRepoDirectory: gitRepoDirectory + diffClass: TDGitDiff) collect: [ :diff | diff asMergeOperation ]. + conflicts addAll: diffs. + conflicts := conflicts sorted: [ :a :b | a filePath <= b filePath ]. + conflicts isEmpty + ifTrue: [ + self inform: 'No conflicts or diffs'. + ^ 'No conflicts' ]. merger := TDGitMerger new conflicts: conflicts; gitTool: self; diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/instance/gitrmIn.with..st b/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/instance/gitrmIn.with..st new file mode 100644 index 000000000..111a23d5f --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/instance/gitrmIn.with..st @@ -0,0 +1,3 @@ +as yet unclassified +gitrmIn: gitRepoDir with: args + ^ self performGitCommand: 'rm' in: gitRepoDir with: args \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/methodProperties.json index 727b8d286..149d8b72c 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/methodProperties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDGitTool.class/methodProperties.json @@ -18,6 +18,7 @@ "gitaddIn:with:" : "dkh 08/09/2013 17:45", "gitbranch" : "dkh 05/28/2014 16:15", "gitbranchIn:with:" : "dkh 05/28/2014 16:15", + "gitcatfile:gitObjectId:" : "dkh 01/24/2015 15:24", "gitcheckout" : "dkh 10/06/2013 12:44", "gitcheckoutIn:with:" : "dkh 08/09/2013 17:51", "gitclone" : "dkh 05/20/2014 14:25", @@ -54,7 +55,7 @@ "gitmergetool" : "dkh 09/04/2013 00:05", "gitmergetool:" : "dkh 05/28/2014 21:07", "gitmergetool:mergerCompletionBlock:mergerAbortBlock:" : "dkh 05/30/2014 06:55", - "gitmergetool:mergerCompletionBlock:mergerAbortBlock:windowLabel:" : "dkh 05/30/2014 06:55", + "gitmergetool:mergerCompletionBlock:mergerAbortBlock:windowLabel:" : "dkh 01/31/2015 11:15", "gitpull" : "dkh 10/06/2013 12:44", "gitpullIn:with:" : "dkh 08/10/2013 08:43", "gitpush" : "dkh 10/06/2013 12:44", @@ -62,6 +63,7 @@ "gitreset" : "dkh 05/28/2014 20:59", "gitresetIn:with:" : "dkh 05/28/2014 21:00", "gitrevparseIn:with:" : "dkh 07/02/2014 13:05", + "gitrmIn:with:" : "dkh 01/30/2015 13:57", "gitshowIn:with:" : "dkh 05/11/2014 18:24", "gitstatus" : "dkh 10/06/2013 12:42", "gitstatusIn:with:" : "dkh 08/09/2013 17:47", diff --git a/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/clientList.listElement..st b/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/clientList.listElement..st index f05016414..0739ade17 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/clientList.listElement..st +++ b/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/clientList.listElement..st @@ -13,9 +13,11 @@ clientList: miniTool listElement: listElement objectLogEntries do: [ :ole | | one two three | - two := ole labelString. - two size > 35 - ifTrue: [ two := (two copyFrom: 1 to: 35) , '...' ]. + two := ole label. + ole hasContinuation + ifTrue: [ two := ole labelString , ' (' , two , ')' ]. + two size > 50 + ifTrue: [ two := (two copyFrom: 1 to: 50) , '...' ]. labels add: {(one := priorityLabels at: ole priority). diff --git a/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/enableMenuItemsFor..st b/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/enableMenuItemsFor..st index d335641c1..788f29deb 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/enableMenuItemsFor..st +++ b/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/enableMenuItemsFor..st @@ -8,7 +8,7 @@ enableMenuItemsFor: objectLogEntry disabled remove: symbol ]. objectLogEntry hasContinuation ifTrue: [ enable value: #'continuation' ]. - ^ STON + ^ self objectSerializer toString: {#'setMenuCategories:'. enabled. diff --git a/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/objectLogBlock..st b/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/objectLogBlock..st index e63bcc62a..6728b6c4d 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/objectLogBlock..st +++ b/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/objectLogBlock..st @@ -1,4 +1,4 @@ initialization objectLogBlock: anObject - objectLogBlock := anObject + objectLogBlock := anObject \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/objectLogBlock.st b/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/objectLogBlock.st index 5070c3c4b..e897d1163 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/objectLogBlock.st +++ b/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/objectLogBlock.st @@ -1,4 +1,4 @@ accessing objectLogBlock - ^objectLogBlock + ^objectLogBlock \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/reversed..st b/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/reversed..st index de5f33159..fed28cf5f 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/reversed..st +++ b/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/instance/reversed..st @@ -1,4 +1,4 @@ accessing reversed: anObject - reversed := anObject + reversed := anObject \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/methodProperties.json index 81bb2b9b8..8d331a6b9 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/methodProperties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDObjectLogEntryBrowser.class/methodProperties.json @@ -4,10 +4,10 @@ "instance" : { "attachContinuation:" : "dkh 06/03/2014 06:12", "attachContinuation:selectedIndex:" : "dkh 06/03/2014 06:15", - "clientList:listElement:" : "dkh 06/05/2014 19:03", + "clientList:listElement:" : "dkh 12/02/2014 16:11", "debugContinuation:" : "dkh 06/03/2014 06:15", "debugContinuation:selectedIndex:" : "dkh 06/03/2014 07:23", - "enableMenuItemsFor:" : "dkh 06/03/2014 05:54", + "enableMenuItemsFor:" : "dkh 06/25/2015 16:00", "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 06/03/2014 05:56", "menuActionSpec:" : "dkh 06/03/2014 08:05", "objectLogBlock" : "dkh 06/02/2014 20:44", diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/README.md b/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/instance/menuActionSpec.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/instance/menuActionSpec.st new file mode 100644 index 000000000..cd894a043 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/instance/menuActionSpec.st @@ -0,0 +1,5 @@ +menu action specs +menuActionSpec + ^ {#('Object Creation for class...' nil #'visitObjectCreationForClassMenuAction:selectionIndex:'). + #('Object Creation for method...' nil #'visitObjectCreationForMethodMenuAction:selectionIndex:'). + #('-')} , super menuActionSpec \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/instance/visitObjectCreationForClassMenuAction.selectionIndex..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/instance/visitObjectCreationForClassMenuAction.selectionIndex..st new file mode 100644 index 000000000..c68d8c62c --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/instance/visitObjectCreationForClassMenuAction.selectionIndex..st @@ -0,0 +1,24 @@ +menu actions +visitObjectCreationForClassMenuAction: listElement selectionIndex: selectionIndex + | classes classNames className cls classEntry | + classes := self object classInstancesCreated. + classNames := (classes collect: [ :each | each theNonMetaClass name asString ]) + asArray sorted. + className := (GsChoiceInteraction + prompt: 'Choose a class' + labels: classNames + values: classNames) signal. + className == nil + ifTrue: [ ^ false ]. + cls := (Smalltalk at: className asSymbol) class. + classEntry := TDProfMonitorClassEntry new + tallyClass: cls; + tally: (self object objCreationCounts at: cls); + profMon: self object profMonitor; + yourself. + classEntry + editUsing: + ((TDEditorSpec topez: listElement topez editorAspect: #'profMonResults') + windowLabel: classEntry windowLabel; + yourself). + ^ true \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/instance/visitObjectCreationForMethodMenuAction.selectionIndex..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/instance/visitObjectCreationForMethodMenuAction.selectionIndex..st new file mode 100644 index 000000000..41cd5562e --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/instance/visitObjectCreationForMethodMenuAction.selectionIndex..st @@ -0,0 +1,36 @@ +menu actions +visitObjectCreationForMethodMenuAction: listElement selectionIndex: selectionIndex + | classes classNames className cls classEntry methodEntry sampleDict | + classes := self object classInstancesCreated. + classNames := (classes collect: [ :each | each theNonMetaClass name asString ]) + asArray sorted. + className := (GsChoiceInteraction + prompt: 'Choose a class' + labels: classNames + values: classNames) signal. + className == nil + ifTrue: [ ^ false ]. + cls := (Smalltalk at: className asSymbol) class. + classEntry := TDProfMonitorClassEntry new + tallyClass: cls; + tally: (self object objCreationCounts at: cls); + profMon: self object profMonitor; + yourself. + sampleDict := self object profMonitor profMonitor results at: 2. + sampleDict + keysAndValuesDo: [ :ar :d | + (ar at: 1) = cls + ifTrue: [ + | entry | + entry := d at: self object profMonEntry cmethod. + methodEntry := TDProfMonitorObjectCreationEntry new + profMonEntry: entry values any; + profMon: classEntry; + yourself. + methodEntry + editUsing: + ((TDEditorSpec topez: listElement topez editorAspect: #'profMonResults') + windowLabel: methodEntry windowLabel; + yourself). + ^ true ] ]. + ^ false \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/methodProperties.json new file mode 100644 index 000000000..07edc692a --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "menuActionSpec" : "dkh 07/03/2015 17:28", + "visitObjectCreationForClassMenuAction:selectionIndex:" : "dkh 07/03/2015 17:24", + "visitObjectCreationForMethodMenuAction:selectionIndex:" : "dkh 07/03/2015 17:45" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/properties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/properties.json new file mode 100644 index 000000000..f59e7ae19 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClassEntryClientListElementBuilder.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Tode-GemStone-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDProfMonClassEntryClientListElementBuilder", + "pools" : [ + ], + "super" : "TDProfMonEntryClientListElementBuilder", + "type" : "normal" } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/clientList..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/clientList..st index aa20ce637..595a0439b 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/clientList..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/clientList..st @@ -1,7 +1,7 @@ as yet unclassified clientList: listElement - ^ ({('elapsed CPU time: ' , self object elapsedTime asString , ' ms'). - 'tally % smpl% ms class and method name'. - '----- ----- ----- ----- ---------------------'} - , (self object profMonResults collect: [ :entry | entry printSampleString ])) - -> nil \ No newline at end of file + | header | + header := self object clientListHeading. + headerSize := header size. + clientList := self object clientListEntries. + ^ (header , (clientList collect: [ :entry | entry printSampleString ])) -> nil \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/headerSize.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/headerSize.st new file mode 100644 index 000000000..cc4100753 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/headerSize.st @@ -0,0 +1,3 @@ +as yet unclassified +headerSize + ^ headerSize \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/itemSelected.at.shiftPressed..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/itemSelected.at.shiftPressed..st index 52d5728b8..5c7f4058a 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/itemSelected.at.shiftPressed..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/itemSelected.at.shiftPressed..st @@ -2,11 +2,13 @@ as yet unclassified itemSelected: listElement at: index shiftPressed: shiftPressed | entry | index ifNil: [ ^ nil ]. - index <= 3 + index <= self headerSize ifTrue: [ ^ nil ]. - entry := self object profMonResults at: index - 3. + entry := clientList at: index - self headerSize. entry parentEntry: nil. entry editUsing: - (TDEditorSpec topez: listElement topez editorAspect: #'profMonResults'). + ((TDEditorSpec topez: listElement topez editorAspect: #'profMonResults') + windowLabel: entry windowLabel; + yourself). ^ nil \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/menuActionSpec.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/menuActionSpec.st index dc82b1e09..f2a06b65c 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/menuActionSpec.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/menuActionSpec.st @@ -1,9 +1,3 @@ menu action specs menuActionSpec - "label, shortcut character, actionSymbol" - - "works in concert with menuActionBlock" - - ^ {#('sort by tally' nil #'sortByTallyMenuAction:'). - #('sort by total' nil #'sortByTotalMenuAction:'). - #('-')} , self basicMenuActionSpec \ No newline at end of file + ^ self tallyMenuActionSpec , {#('-')} , self basicMenuActionSpec \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByClassNameMenuAction..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByClassNameMenuAction..st new file mode 100644 index 000000000..ef748d820 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByClassNameMenuAction..st @@ -0,0 +1,4 @@ +menu actions +sortByClassNameMenuAction: listElement + self object resortByClassName. + ^ #'refreshView' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByClassTallyMenuAction..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByClassTallyMenuAction..st new file mode 100644 index 000000000..b3d1ca6ff --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByClassTallyMenuAction..st @@ -0,0 +1,4 @@ +menu actions +sortByClassTallyMenuAction: listElement + self object resortByClassTally. + ^ #'refreshView' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByTallyMenuAction..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByTallyMenuAction..st index be3371ac4..96189f110 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByTallyMenuAction..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByTallyMenuAction..st @@ -1,4 +1,4 @@ -menu action specs +menu actions sortByTallyMenuAction: listElement self object resortByTally. ^ #'refreshView' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByTotalMenuAction..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByTotalMenuAction..st index 4d9122762..17d6dad91 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByTotalMenuAction..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/sortByTotalMenuAction..st @@ -1,4 +1,4 @@ -menu action specs +menu actions sortByTotalMenuAction: listElement self object resortByTotal. ^ #'refreshView' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/tallyMenuActionSpec.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/tallyMenuActionSpec.st new file mode 100644 index 000000000..f9c29702a --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/instance/tallyMenuActionSpec.st @@ -0,0 +1,9 @@ +menu action specs +tallyMenuActionSpec + ^ self object objectCreationTally + ifTrue: [ + {#('sort by class tally' nil #'sortByClassTallyMenuAction:'). + #('sort by class name' nil #'sortByClassNameMenuAction:')} ] + ifFalse: [ + {#('sort by tally' nil #'sortByTallyMenuAction:'). + #('sort by total' nil #'sortByTotalMenuAction:')} ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/methodProperties.json index 57f0267d3..17daef859 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/methodProperties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/methodProperties.json @@ -2,9 +2,13 @@ "class" : { }, "instance" : { - "clientList:" : "dkh 03/20/2014 20:40", + "clientList:" : "dkh 06/11/2015 14:53", "defaultEditorWindowLocation" : "dkh 09/27/2013 17:02", - "itemSelected:at:shiftPressed:" : "dkh 04/19/2014 09:36", - "menuActionSpec" : "dkh 08/10/2014 18:17", + "headerSize" : "dkh 06/10/2015 16:08", + "itemSelected:at:shiftPressed:" : "dkh 07/03/2015 13:30", + "menuActionSpec" : "dkh 07/02/2015 15:04", + "sortByClassNameMenuAction:" : "dkh 07/03/2015 15:34", + "sortByClassTallyMenuAction:" : "dkh 07/03/2015 15:34", "sortByTallyMenuAction:" : "dkh 08/10/2014 18:16", - "sortByTotalMenuAction:" : "dkh 08/10/2014 18:16" } } + "sortByTotalMenuAction:" : "dkh 08/10/2014 18:16", + "tallyMenuActionSpec" : "dkh 07/03/2015 15:45" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/properties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/properties.json index c14b063fb..d79f9b2f4 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/properties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonClientListElementBuilder.class/properties.json @@ -6,7 +6,8 @@ ], "commentStamp" : "", "instvars" : [ - ], + "headerSize", + "clientList" ], "name" : "TDProfMonClientListElementBuilder", "pools" : [ ], diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/instance/clientArray.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/instance/clientArray.st deleted file mode 100644 index 593b303c6..000000000 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/instance/clientArray.st +++ /dev/null @@ -1,10 +0,0 @@ -as yet unclassified -clientArray - | list | - list := Array new. - (self object parents asArray sort: [ :a :b | a total >= b total ]) - do: [ :entry | list add: entry ]. - list add: self object. - (self object children asArray sort: [ :a :b | a total >= b total ]) - do: [ :entry | list add: entry ]. - ^ list \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/instance/clientList..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/instance/clientList..st index 3bd771793..8a7826fa3 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/instance/clientList..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/instance/clientList..st @@ -1,16 +1,18 @@ as yet unclassified clientList: listElement | list | - list := Array new. - list - add: ' % % Parent'; - add: ' self total total local Method'; - add: 'tally Time Time ms % Child'; - add: '----- ---- ------ ----- ----- -----------'. + list := self object clientEntryListColumnLabels. + headerSize := list size. self object parentEntry ifNotNil: [ list add: '<<<' ]. + clientList := {}. (self object parents asArray sort: [ :a :b | a total >= b total ]) - do: [ :entry | list add: entry printParentString ]. + do: [ :entry | + clientList add: entry. + list add: entry printParentString ]. + clientList add: self object. list add: self object printSenderString. (self object children asArray sort: [ :a :b | a total >= b total ]) - do: [ :entry | list add: entry printChildString ]. + do: [ :entry | + clientList add: entry. + list add: entry printChildString ]. ^ list -> nil \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/instance/itemSelected.at.shiftPressed..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/instance/itemSelected.at.shiftPressed..st index be6487664..4b48348fa 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/instance/itemSelected.at.shiftPressed..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/instance/itemSelected.at.shiftPressed..st @@ -2,9 +2,9 @@ as yet unclassified itemSelected: listElement at: listIndex shiftPressed: shiftPressed | index entry offset highlightIndex | listIndex ifNil: [ ^ nil ]. - listIndex <= 4 + listIndex <= headerSize ifTrue: [ ^ nil ]. - index := listIndex - 4. + index := listIndex - headerSize. offset := 0. self object parentEntry ifNotNil: [ offset := 1 ]. index == offset @@ -12,7 +12,7 @@ itemSelected: listElement at: listIndex shiftPressed: shiftPressed entry := self object parentEntry. highlightIndex := self object parentIndex ] ifFalse: [ - entry := self clientArray at: index - offset. + entry := clientList at: index - offset. entry == self object ifFalse: [ entry @@ -27,5 +27,6 @@ itemSelected: listElement at: listIndex shiftPressed: shiftPressed editUsing: ((TDEditorSpec topez: listElement topez editorAspect: #'profMonResults') highlightIndex: highlightIndex; + windowLabel: entry windowLabel; yourself). ^ nil \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/methodProperties.json index fff857704..c27d16e33 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/methodProperties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/methodProperties.json @@ -2,11 +2,10 @@ "class" : { }, "instance" : { - "clientArray" : "dkh 09/28/2013 10:03", - "clientList:" : "dkh 03/20/2014 20:40", + "clientList:" : "dkh 06/11/2015 14:55", "defaultEditorWindowLocation" : "dkh 09/27/2013 19:38", "defaultEditorWindowName" : "dkh 09/27/2013 21:20", - "itemSelected:at:shiftPressed:" : "dkh 06/04/2014 15:20", + "itemSelected:at:shiftPressed:" : "dkh 07/03/2015 14:54", "menuActionBlock" : "dkh 08/10/2014 19:18", "menuActionSpec" : "dkh 08/10/2014 18:53", "parentMenuActionSpec" : "dkh 08/10/2014 19:15" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/properties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/properties.json index 53d622365..d82d2b99c 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/properties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonEntryClientListElementBuilder.class/properties.json @@ -6,7 +6,8 @@ ], "commentStamp" : "", "instvars" : [ - ], + "headerSize", + "clientList" ], "name" : "TDProfMonEntryClientListElementBuilder", "pools" : [ ], diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonObjCreationClientListElementBuilder.class/README.md b/repository/Tode-GemStone-Server-Core.package/TDProfMonObjCreationClientListElementBuilder.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonObjCreationClientListElementBuilder.class/instance/menuActionSpec.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonObjCreationClientListElementBuilder.class/instance/menuActionSpec.st new file mode 100644 index 000000000..e8b675fc0 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonObjCreationClientListElementBuilder.class/instance/menuActionSpec.st @@ -0,0 +1,3 @@ +menu action specs +menuActionSpec + ^ self basicMenuActionSpec \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonObjCreationClientListElementBuilder.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonObjCreationClientListElementBuilder.class/methodProperties.json new file mode 100644 index 000000000..c488aa58f --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonObjCreationClientListElementBuilder.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "menuActionSpec" : "dkh 07/02/2015 15:34" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonObjCreationClientListElementBuilder.class/properties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonObjCreationClientListElementBuilder.class/properties.json new file mode 100644 index 000000000..bcf5199fd --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonObjCreationClientListElementBuilder.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Tode-GemStone-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDProfMonObjCreationClientListElementBuilder", + "pools" : [ + ], + "super" : "TDProfMonClientListElementBuilder", + "type" : "normal" } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/buildObjectCreationEntries.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/buildObjectCreationEntries.st new file mode 100644 index 000000000..d89ff4788 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/buildObjectCreationEntries.st @@ -0,0 +1,42 @@ +private +buildObjectCreationEntries + self objectCreationTally + ifFalse: [ ^ self ]. + objectCreationMethodToClassMap := IdentityKeyValueDictionary new. + objectCreationClassToMethodMap := IdentityKeyValueDictionary new. + objCreationCounts := IdentityKeyValueDictionary new. + (profMonitor results at: 2) + keysAndValuesDo: [ :k :d | + | cls tally | + cls := k at: 1. + cls + ifNotNil: [ + tally := objCreationCounts + at: cls + ifAbsent: [ objCreationCounts at: cls put: 0 ]. + d + valuesDo: [ :d2 | + d2 + valuesDo: [ :e | + e cclass isNil + ifFalse: [ tally := tally + e tally ]. + (objectCreationMethodToClassMap + at: e cmethod + ifAbsent: [ objectCreationMethodToClassMap at: e cmethod put: IdentitySet new ]) + add: cls. + false + ifTrue: [ + (objectCreationClassToMethodMap + at: cls + ifAbsent: [ objectCreationClassToMethodMap at: cls put: IdentitySet new ]) + add: e cmethod ] ] ]. + objCreationCounts at: cls put: tally ] ]. + objCreationTallyTotal := 0. + objCreationClasses := Array new. + objCreationCounts + keysAndValuesDo: [ :k :v | + objCreationClasses add: (Array with: k with: v). + objCreationTallyTotal := objCreationTallyTotal + v ]. + objCreationClasses := objCreationClasses + asSortedCollection: [ :x :y | (x at: 2) > (y at: 2) ]. + objCreationClasses := objCreationClasses collect: [ :x | x at: 1 ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/clientListColumnLabels.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/clientListColumnLabels.st new file mode 100644 index 000000000..bf850c87f --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/clientListColumnLabels.st @@ -0,0 +1,9 @@ +client list +clientListColumnLabels + ^ self objectCreationTally + ifTrue: [ + {(' ' , sortKey , ' % class name'). + '---------- ----- ---------------------'} ] + ifFalse: [ + {(' ' , sortKey , ' ms % class and method name'). + '---------- ---------- ----- ---------------------'} ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/clientListEntries.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/clientListEntries.st new file mode 100644 index 000000000..dac2f5a62 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/clientListEntries.st @@ -0,0 +1,5 @@ +client list +clientListEntries + ^ clientListEntries := self sortKey = 'total' + ifTrue: [ self profMonitorEntries select: [ :entry | entry total >= self tallyLimit ] ] + ifFalse: [ self profMonitorEntries select: [ :entry | entry tally >= self tallyLimit ] ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/clientListHeading.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/clientListHeading.st new file mode 100644 index 000000000..522145c3c --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/clientListHeading.st @@ -0,0 +1,16 @@ +client list +clientListHeading + | heading line | + heading := {('TALLYING: ' , self tallying)}. + line := self sampling == #'cpu' + ifTrue: [ 'elapsed CPU time: ' , self elapsedTime asString , ' ms' ] + ifFalse: [ 'elapsed REAL time: ' , self elapsedTime asString , ' ms' ]. + heading add: line. + self objectCreationTally + ifFalse: [ + | res | + res := profMonitor results. + res size > 2 + ifTrue: [ heading add: (res at: 4) ] ]. + heading add: ''. + ^ heading , self clientListColumnLabels \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/elapsedTime.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/elapsedTime.st index 2cc3c2ea7..68e4afa8f 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/elapsedTime.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/elapsedTime.st @@ -1,3 +1,3 @@ -as yet unclassified +accessing elapsedTime ^ elapsedTime \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/objCreationClasses.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/objCreationClasses.st new file mode 100644 index 000000000..789dd72ed --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/objCreationClasses.st @@ -0,0 +1,3 @@ +accessing +objCreationClasses + ^ objCreationClasses \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/objCreationCounts.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/objCreationCounts.st new file mode 100644 index 000000000..b47a66252 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/objCreationCounts.st @@ -0,0 +1,3 @@ +accessing +objCreationCounts + ^ objCreationCounts \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/objectCreationMethodToClassMap.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/objectCreationMethodToClassMap.st new file mode 100644 index 000000000..7e95127f2 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/objectCreationMethodToClassMap.st @@ -0,0 +1,3 @@ +accessing +objectCreationMethodToClassMap + ^ objectCreationMethodToClassMap \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/objectCreationTally.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/objectCreationTally.st new file mode 100644 index 000000000..bf594c4c6 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/objectCreationTally.st @@ -0,0 +1,3 @@ +testing +objectCreationTally + ^ (traceObjCreation bitAnd: 1) ~~ 0 \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMon..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMon..st deleted file mode 100644 index a5b749e47..000000000 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMon..st +++ /dev/null @@ -1,9 +0,0 @@ -as yet unclassified -profMon: aProfMon - | endTime startTime | - endTime := aProfMon endTime. - startTime := aProfMon startTime. - self profMonResults: aProfMon results. - endTime >= startTime - ifTrue: [ elapsedTime := endTime - startTime ] - ifFalse: [ elapsedTime := endTime + (16rffffffff - startTime) ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonResults..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonResults..st deleted file mode 100644 index 7839418f0..000000000 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonResults..st +++ /dev/null @@ -1,8 +0,0 @@ -as yet unclassified -profMonResults: aProfMonResults - profMonResults := ((aProfMonResults at: 1) sortDescending: 'tally') - collect: [ :each | - TDProfMonitorEntry new - profMonEntry: each; - profMon: self; - yourself ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonResults.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonResults.st deleted file mode 100644 index 5c97fe9aa..000000000 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonResults.st +++ /dev/null @@ -1,3 +0,0 @@ -as yet unclassified -profMonResults - ^ profMonResults \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonitor..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonitor..st new file mode 100644 index 000000000..315e7b8b4 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonitor..st @@ -0,0 +1,13 @@ +accessing +profMonitor: aProfMonitor + | endTime startTime | + endTime := aProfMonitor endTime. + startTime := aProfMonitor startTime. + (aProfMonitor respondsTo: #'sampling') + ifTrue: [ sampling := aProfMonitor perform: #'sampling' ]. + traceObjCreation := aProfMonitor instVarNamed: #'traceObjCreation'. + profMonitor := aProfMonitor. + endTime >= startTime + ifTrue: [ elapsedTime := endTime - startTime ] + ifFalse: [ elapsedTime := endTime + (16rffffffff - startTime) ]. + self buildObjectCreationEntries \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonitor.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonitor.st new file mode 100644 index 000000000..e776bff74 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonitor.st @@ -0,0 +1,3 @@ +accessing +profMonitor + ^ profMonitor \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonitorEntries.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonitorEntries.st new file mode 100644 index 000000000..1101bfaa5 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/profMonitorEntries.st @@ -0,0 +1,8 @@ +accessing +profMonitorEntries + profMonitorEntries + ifNil: [ + self objectCreationTally + ifTrue: [ self resortByClass: self sortKey ] + ifFalse: [ self resortBy: self sortKey ] ]. + ^ profMonitorEntries \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortBy..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortBy..st index 1b77ed406..d0c55a76c 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortBy..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortBy..st @@ -1,11 +1,20 @@ -as yet unclassified +sorting resortBy: aString - "no optimal, but hey more work is planned" + "not optimal, but hey more work is planned" - profMonResults := ((profMonResults collect: [ :each | each profMonEntry ]) - sortDescending: aString) - collect: [ :each | - TDProfMonitorEntry new - profMonEntry: each; - profMon: self; - yourself ] \ No newline at end of file + sortKey := aString. + profMonitorEntries := self objectCreationTally + ifTrue: [ + ((profMonitor results at: 1) sortDescending: sortKey) + collect: [ :each | + TDProfMonitorClassTallyEntry new + profMonEntry: each; + profMon: self; + yourself ] ] + ifFalse: [ + ((profMonitor results at: 1) sortDescending: sortKey) + collect: [ :each | + TDProfMonitorEntry new + profMonEntry: each; + profMon: self; + yourself ] ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByClass..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByClass..st new file mode 100644 index 000000000..8ce189891 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByClass..st @@ -0,0 +1,15 @@ +sorting +resortByClass: aSortKey + "not optimal, but hey more work is planned" + + sortKey := aSortKey. + profMonitorEntries := objCreationClasses + collect: [ :cls | + TDProfMonitorClassEntry new + tallyClass: cls; + tally: (objCreationCounts at: cls); + profMon: self; + yourself ]. + profMonitorEntries := sortKey = 'tallyClassName' + ifTrue: [ profMonitorEntries sortAscending: sortKey ] + ifFalse: [ profMonitorEntries sortDescending: sortKey ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByClassName.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByClassName.st new file mode 100644 index 000000000..a9a7c8876 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByClassName.st @@ -0,0 +1,3 @@ +sorting +resortByClassName + self resortByClass: 'tallyClassName' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByClassTally.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByClassTally.st new file mode 100644 index 000000000..0cd543568 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByClassTally.st @@ -0,0 +1,3 @@ +sorting +resortByClassTally + self resortByClass: 'tally' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByTally.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByTally.st index f56ff7105..75a4038ea 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByTally.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByTally.st @@ -1,3 +1,3 @@ -as yet unclassified +sorting resortByTally self resortBy: 'tally' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByTotal.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByTotal.st index 0eedb26f2..ebc55c299 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByTotal.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/resortByTotal.st @@ -1,3 +1,3 @@ -as yet unclassified +sorting resortByTotal self resortBy: 'total' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/sampling.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/sampling.st new file mode 100644 index 000000000..89fdc863c --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/sampling.st @@ -0,0 +1,4 @@ +accessing +sampling + sampling ifNil: [ ^ #'cpu' ]. + ^ sampling \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/sortKey..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/sortKey..st new file mode 100644 index 000000000..31fb1485a --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/sortKey..st @@ -0,0 +1,5 @@ +accessing +sortKey: aString + "aString -> tally or total" + + sortKey := aString \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/sortKey.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/sortKey.st new file mode 100644 index 000000000..207a414a7 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/sortKey.st @@ -0,0 +1,4 @@ +accessing +sortKey + sortKey ifNil: [ ^ 'total' ]. + ^ sortKey \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/tallyLimit..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/tallyLimit..st new file mode 100644 index 000000000..d79bdba7e --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/tallyLimit..st @@ -0,0 +1,3 @@ +accessing +tallyLimit: anInteger + tallyLimit := anInteger \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/tallyLimit.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/tallyLimit.st new file mode 100644 index 000000000..6ff40a051 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/tallyLimit.st @@ -0,0 +1,4 @@ +accessing +tallyLimit + tallyLimit ifNil: [ ^ 0 ]. + ^ tallyLimit \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/tallying.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/tallying.st new file mode 100644 index 000000000..ae5da8bc7 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/tallying.st @@ -0,0 +1,21 @@ +accessing +tallying + | iv | + traceObjCreation ifNil: [ ^ 'execTime' ]. + iv := traceObjCreation. "following must agree with VM C code in profileStatsWord() and code in setOptions: + 16r4 for elapsed time sampling, tally object faults + 16r8 for elapsed time sampling, tally page faults + 16r10 for elapsed time sampling, tally eden bytes used + 16r20 for elapsed time sampling, tally temp obj memory gc time + " + (iv bitAnd: 16r4) ~~ 0 + ifTrue: [ ^ 'objFaults' ]. + (iv bitAnd: 16r8) ~~ 0 + ifTrue: [ ^ 'pageFaults' ]. + (iv bitAnd: 16r10) ~~ 0 + ifTrue: [ ^ 'edenUsage' ]. + (iv bitAnd: 16r20) ~~ 0 + ifTrue: [ ^ 'gcTime' ]. + (iv bitAnd: 16r1) ~~ 0 + ifTrue: [ ^ 'objCreation' ]. + ^ 'execTime' "assume just time sampling" \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/totalClassTally.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/totalClassTally.st new file mode 100644 index 000000000..412af4e5c --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/totalClassTally.st @@ -0,0 +1,3 @@ +accessing +totalClassTally + ^ objCreationTallyTotal \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/totalSamples.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/totalSamples.st index 8a5c119ed..2d6442426 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/totalSamples.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/totalSamples.st @@ -1,8 +1,8 @@ -as yet unclassified +accessing totalSamples totalSamples ifNil: [ totalSamples := 0. - self profMonResults + self profMonitorEntries do: [ :each | totalSamples := totalSamples + each sampleTally ] ]. ^ totalSamples \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/totalTally.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/totalTally.st index e031ddee5..874a22654 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/totalTally.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/instance/totalTally.st @@ -1,7 +1,8 @@ -as yet unclassified +accessing totalTally totalTally ifNil: [ totalTally := 0. - self profMonResults do: [ :each | totalTally := totalTally + each tally ] ]. + self profMonitorEntries + do: [ :each | totalTally := totalTally + each tally ] ]. ^ totalTally \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/methodProperties.json index 18e95e3aa..46796a93c 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/methodProperties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/methodProperties.json @@ -2,12 +2,30 @@ "class" : { "initialize" : "dkh 09/27/2013 17:00" }, "instance" : { + "buildObjectCreationEntries" : "dkh 07/03/2015 16:40", + "clientListColumnLabels" : "dkh 07/02/2015 16:20", + "clientListEntries" : "dkh 07/02/2015 10:06", + "clientListHeading" : "dkh 07/02/2015 14:39", "elapsedTime" : "dkh 09/27/2013 20:50", - "profMon:" : "dkh 09/27/2013 20:49", - "profMonResults" : "dkh 09/27/2013 16:18", - "profMonResults:" : "dkh 09/27/2013 19:42", - "resortBy:" : "dkh 08/10/2014 18:24", + "objCreationClasses" : "dkh 07/02/2015 14:57", + "objCreationCounts" : "dkh 07/02/2015 14:57", + "objectCreationMethodToClassMap" : "dkh 07/03/2015 16:58", + "objectCreationTally" : "dkh 07/02/2015 09:30", + "profMonitor" : "dkh 07/02/2015 16:31", + "profMonitor:" : "dkh 07/02/2015 14:56", + "profMonitorEntries" : "dkh 07/03/2015 15:49", + "resortBy:" : "dkh 07/02/2015 16:41", + "resortByClass:" : "dkh 07/03/2015 16:00", + "resortByClassName" : "dkh 07/03/2015 15:41", + "resortByClassTally" : "dkh 07/03/2015 15:41", "resortByTally" : "dkh 08/10/2014 18:19", "resortByTotal" : "dkh 08/10/2014 18:19", - "totalSamples" : "dkh 09/27/2013 20:43", - "totalTally" : "dkh 09/27/2013 16:43" } } + "sampling" : "dkh 06/10/2015 15:12", + "sortKey" : "dkh 07/03/2015 15:51", + "sortKey:" : "dkh 06/11/2015 09:19", + "tallyLimit" : "dkh 06/11/2015 09:37", + "tallyLimit:" : "dkh 06/11/2015 09:35", + "tallying" : "dkh 07/02/2015 16:17", + "totalClassTally" : "dkh 07/02/2015 15:23", + "totalSamples" : "dkh 07/02/2015 10:03", + "totalTally" : "dkh 07/02/2015 10:03" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/properties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/properties.json index 5a36559ef..5f8ec435e 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/properties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitor.class/properties.json @@ -6,10 +6,21 @@ ], "commentStamp" : "", "instvars" : [ - "profMonResults", "totalTally", "totalSamples", - "elapsedTime" ], + "elapsedTime", + "sampling", + "sortKey", + "tallyLimit", + "traceObjCreation", + "profMonitor", + "profMonitorEntries", + "clientListEntries", + "objCreationCounts", + "objectCreationClassToMethodMap", + "objectCreationMethodToClassMap", + "objCreationClasses", + "objCreationTallyTotal" ], "name" : "TDProfMonitor", "pools" : [ ], diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/README.md b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/class/initialize.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/class/initialize.st new file mode 100644 index 000000000..e04cfdcf1 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/class/initialize.st @@ -0,0 +1,8 @@ +as yet unclassified +initialize + "self initialize" + + TDTopezServer + registerEditorClass: TDProfMonObjCreationClientListElementBuilder + for: TDProfMonitorClassEntry + aspect: #'profMonResults' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/clientListColumnLabels.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/clientListColumnLabels.st new file mode 100644 index 000000000..9ac779624 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/clientListColumnLabels.st @@ -0,0 +1,4 @@ +client list +clientListColumnLabels + ^ {' tally % class'. + '---------- ----- ---------------------'} \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/clientListEntries.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/clientListEntries.st new file mode 100644 index 000000000..dac2f5a62 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/clientListEntries.st @@ -0,0 +1,5 @@ +client list +clientListEntries + ^ clientListEntries := self sortKey = 'total' + ifTrue: [ self profMonitorEntries select: [ :entry | entry total >= self tallyLimit ] ] + ifFalse: [ self profMonitorEntries select: [ :entry | entry tally >= self tallyLimit ] ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/clientListHeading.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/clientListHeading.st new file mode 100644 index 000000000..b565dd5bd --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/clientListHeading.st @@ -0,0 +1,5 @@ +client list +clientListHeading + | heading | + heading := {('Object Creation tally for ' , self tallyClassName)}. + ^ heading , self clientListColumnLabels \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/objCreationCounts.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/objCreationCounts.st new file mode 100644 index 000000000..6b33ec911 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/objCreationCounts.st @@ -0,0 +1,3 @@ +TDProfMon compat +objCreationCounts + ^ self profMon objCreationCounts \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/objectCreationMethodToClassMap.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/objectCreationMethodToClassMap.st new file mode 100644 index 000000000..98a5e7011 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/objectCreationMethodToClassMap.st @@ -0,0 +1,3 @@ +TDProfMon compat +objectCreationMethodToClassMap + ^ self profMon objectCreationMethodToClassMap \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/overallTotal.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/overallTotal.st new file mode 100644 index 000000000..9a5490633 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/overallTotal.st @@ -0,0 +1,3 @@ +TDProfMon compat +overallTotal + ^ self profMon totalClassTally \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/parentEntry..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/parentEntry..st new file mode 100644 index 000000000..c519409b8 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/parentEntry..st @@ -0,0 +1,2 @@ +accessing +parentEntry: aProfMonitorObject \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/printSampleOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/printSampleOn..st new file mode 100644 index 000000000..4ffd125db --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/printSampleOn..st @@ -0,0 +1,11 @@ +reporting +printSampleOn: aStream + | tallyPct | + tallyPct := self tally asFloat * 100.0 / self overallTotal. + aStream + nextPutAll: (self tally asString width: -10); + nextPutAll: ' '; + nextPutAll: (tallyPct asStringUsingFormat: #(-6 2 false)); + nextPutAll: ' '; + nextPutAll: self tallyClassName; + yourself \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/printSampleString.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/printSampleString.st new file mode 100644 index 000000000..d4dd28c45 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/printSampleString.st @@ -0,0 +1,7 @@ +reporting +printSampleString + | ws str | + str := String new. + ws := PrintStream printingOn: str. + self printSampleOn: ws. + ^ ws _collection \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/profMon..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/profMon..st new file mode 100644 index 000000000..572db48e6 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/profMon..st @@ -0,0 +1,3 @@ +accessing +profMon: aProfMonitor + profMon := aProfMonitor \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/profMon.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/profMon.st new file mode 100644 index 000000000..a07acda6d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/profMon.st @@ -0,0 +1,3 @@ +accessing +profMon + ^ profMon \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/profMonitor.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/profMonitor.st new file mode 100644 index 000000000..0fe45511b --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/profMonitor.st @@ -0,0 +1,3 @@ +TDProfMon compat +profMonitor + ^ self profMon \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/profMonitorEntries.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/profMonitorEntries.st new file mode 100644 index 000000000..b1abeefdf --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/profMonitorEntries.st @@ -0,0 +1,22 @@ +accessing +profMonitorEntries + | sampleDict tallySet entries | + sampleDict := self profMon profMonitor results at: 2. + tallySet := IdentitySet new. + sampleDict + keysAndValuesDo: [ :ar :d | + (ar at: 1) = tallyClass + ifTrue: [ + d + valuesDo: [ :d2 | + d2 + valuesDo: [ :e | + e cclass isNil + ifFalse: [ tallySet add: e ] ] ] ] ]. + entries := (tallySet sortDescending: self sortKey) + collect: [ :each | + TDProfMonitorObjectCreationEntry new + profMonEntry: each; + profMon: self; + yourself ]. + ^ entries \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/sortKey..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/sortKey..st new file mode 100644 index 000000000..31fb1485a --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/sortKey..st @@ -0,0 +1,5 @@ +accessing +sortKey: aString + "aString -> tally or total" + + sortKey := aString \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/sortKey.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/sortKey.st new file mode 100644 index 000000000..207a414a7 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/sortKey.st @@ -0,0 +1,4 @@ +accessing +sortKey + sortKey ifNil: [ ^ 'total' ]. + ^ sortKey \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tally..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tally..st new file mode 100644 index 000000000..ad19368f6 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tally..st @@ -0,0 +1,4 @@ +accessing +tally: anObject + + tally := anObject \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tally.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tally.st new file mode 100644 index 000000000..68d9dabf1 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tally.st @@ -0,0 +1,4 @@ +accessing +tally + + ^tally \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallyClass..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallyClass..st new file mode 100644 index 000000000..334791aef --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallyClass..st @@ -0,0 +1,5 @@ +accessing +tallyClass: anObject + tallyClass := anObject. + tallyClassName := nil. + self tallyClassName \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallyClass.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallyClass.st new file mode 100644 index 000000000..f685fe60c --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallyClass.st @@ -0,0 +1,4 @@ +accessing +tallyClass + + ^tallyClass \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallyClassName.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallyClassName.st new file mode 100644 index 000000000..dee9eff0d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallyClassName.st @@ -0,0 +1,5 @@ +accessing +tallyClassName + tallyClassName + ifNil: [ tallyClassName := self tallyClass theNonMetaClass name asString ]. + ^ tallyClassName \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallyLimit.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallyLimit.st new file mode 100644 index 000000000..a664ace7b --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallyLimit.st @@ -0,0 +1,3 @@ +accessing +tallyLimit + ^ self profMon tallyLimit \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallying.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallying.st new file mode 100644 index 000000000..5b2093b31 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/tallying.st @@ -0,0 +1,3 @@ +TDProfMon compat +tallying + ^ 'objCreation' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/totalSamples.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/totalSamples.st new file mode 100644 index 000000000..02e3c662d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/totalSamples.st @@ -0,0 +1,5 @@ +TDProfMon compat +totalSamples + | total | + total := 0. + ^ total \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/totalTally.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/totalTally.st new file mode 100644 index 000000000..b42acfeba --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/totalTally.st @@ -0,0 +1,3 @@ +TDProfMon compat +totalTally + ^ tally \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/windowLabel.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/windowLabel.st new file mode 100644 index 000000000..f44067a74 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/instance/windowLabel.st @@ -0,0 +1,3 @@ +accessing +windowLabel + ^ self tallyClassName \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/methodProperties.json new file mode 100644 index 000000000..0c39356ed --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/methodProperties.json @@ -0,0 +1,29 @@ +{ + "class" : { + "initialize" : "dkh 07/02/2015 15:33" }, + "instance" : { + "clientListColumnLabels" : "dkh 07/02/2015 16:20", + "clientListEntries" : "dkh 07/02/2015 16:22", + "clientListHeading" : "dkh 07/03/2015 15:54", + "objCreationCounts" : "dkh 07/03/2015 17:17", + "objectCreationMethodToClassMap" : "dkh 07/03/2015 17:03", + "overallTotal" : "dkh 07/02/2015 15:19", + "parentEntry:" : "dkh 07/02/2015 15:31", + "printSampleOn:" : "dkh 07/03/2015 15:54", + "printSampleString" : "dkh 07/02/2015 16:25", + "profMon" : "dkh 07/02/2015 15:15", + "profMon:" : "dkh 07/02/2015 15:15", + "profMonitor" : "dkh 07/03/2015 17:27", + "profMonitorEntries" : "dkh 07/02/2015 16:45", + "sortKey" : "dkh 07/02/2015 16:23", + "sortKey:" : "dkh 07/02/2015 16:23", + "tally" : "dkh 07/02/2015 15:15", + "tally:" : "dkh 07/02/2015 15:15", + "tallyClass" : "dkh 07/02/2015 15:15", + "tallyClass:" : "dkh 07/03/2015 15:58", + "tallyClassName" : "dkh 07/03/2015 15:53", + "tallyLimit" : "dkh 07/02/2015 16:24", + "tallying" : "dkh 07/02/2015 16:48", + "totalSamples" : "dkh 07/02/2015 16:50", + "totalTally" : "dkh 07/02/2015 16:46", + "windowLabel" : "dkh 07/03/2015 15:54" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/properties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/properties.json new file mode 100644 index 000000000..ae5517500 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassEntry.class/properties.json @@ -0,0 +1,19 @@ +{ + "category" : "Tode-GemStone-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "profMon", + "tallyClass", + "tallyClassName", + "tally", + "sortKey", + "clientListEntries" ], + "name" : "TDProfMonitorClassEntry", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/README.md b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/class/initialize.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/class/initialize.st new file mode 100644 index 000000000..b41b64d3b --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/class/initialize.st @@ -0,0 +1,8 @@ +as yet unclassified +initialize + "self initialize" + + TDTopezServer + registerEditorClass: TDProfMonClassEntryClientListElementBuilder + for: TDProfMonitorEntry + aspect: #'profMonResults' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/instance/classInstancesCreated.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/instance/classInstancesCreated.st new file mode 100644 index 000000000..efd2a3f7a --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/instance/classInstancesCreated.st @@ -0,0 +1,3 @@ +accessing +classInstancesCreated + self halt \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/instance/printSampleOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/instance/printSampleOn..st new file mode 100644 index 000000000..8b94b29f3 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/instance/printSampleOn..st @@ -0,0 +1,20 @@ +reporting +printSampleOn: aStream + | tallyPct totalPct sortKey | + sortKey := self profMon sortKey. + sortKey = 'tally' + ifTrue: [ + tallyPct := self tally asFloat * 100.0 / self overallTotal. + aStream + nextPutAll: (self tally asString width: -10); + nextPutAll: ' '; + nextPutAll: (tallyPct asStringUsingFormat: #(-6 2 false)); + nextPutAll: ' ' ] + ifFalse: [ + totalPct := self total asFloat * 100.0 / self overallTotal. + aStream + nextPutAll: (self total asString width: -10); + nextPutAll: ' '; + nextPutAll: (totalPct asStringUsingFormat: #(-5 1 false)); + nextPutAll: ' ' ]. + aStream nextPutAll: (self profMonEntry asStringWidth: 25) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/methodProperties.json new file mode 100644 index 000000000..92dab5269 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + "initialize" : "dkh 07/03/2015 13:25" }, + "instance" : { + "classInstancesCreated" : "dkh 07/03/2015 16:56", + "printSampleOn:" : "dkh 07/02/2015 16:41" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/properties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/properties.json new file mode 100644 index 000000000..de2201b47 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorClassTallyEntry.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Tode-GemStone-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDProfMonitorClassTallyEntry", + "pools" : [ + ], + "super" : "TDProfMonitorEntry", + "type" : "normal" } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/children.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/children.st index 2ea0e2750..b6dbfa335 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/children.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/children.st @@ -5,7 +5,7 @@ children children ifNil: [ ^ #() ]. ^ children collect: [ :each | - TDProfMonitorEntry new + self class new profMon: profMon; profMonEntry: each; master: self; diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/clientEntryListColumnLabels.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/clientEntryListColumnLabels.st new file mode 100644 index 000000000..7855dec6b --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/clientEntryListColumnLabels.st @@ -0,0 +1,18 @@ +as yet unclassified +clientEntryListColumnLabels + | list | + list := Array new. + self fullEntryReport + ifTrue: [ + list + add: ' % % Parent'; + add: ' self total total local Method'; + add: ' tally total Time Time ms % Child'; + add: ' ----- ----- ----- ----- ---------- ----- -----------' ] + ifFalse: [ + list + add: ' Parent'; + add: ' total Method'; + add: ' tally total % Child'; + add: ' ---------- ---------- ------ -----------' ]. + ^ list \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/fullEntryReport.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/fullEntryReport.st new file mode 100644 index 000000000..6726fa331 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/fullEntryReport.st @@ -0,0 +1,3 @@ +as yet unclassified +fullEntryReport + ^ self profMon tallying = 'execTime' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/listIndex.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/listIndex.st index 568e16c2f..4f5ee1456 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/listIndex.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/listIndex.st @@ -1,3 +1,3 @@ as yet unclassified listIndex - ^ self profMon profMonResults indexOf: self \ No newline at end of file + ^ self profMon clientListEntries indexOf: self \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/methodTallyMs.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/methodTallyMs.st new file mode 100644 index 000000000..bfa48daf9 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/methodTallyMs.st @@ -0,0 +1,3 @@ +as yet unclassified +methodTallyMs + ^ self tally * self overallElapsedTime asFloat / self overallTotalSamples \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/methodMs.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/methodTotalMs.st similarity index 87% rename from repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/methodMs.st rename to repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/methodTotalMs.st index e573994dd..175a11a2f 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/methodMs.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/methodTotalMs.st @@ -1,3 +1,3 @@ as yet unclassified -methodMs +methodTotalMs ^ self total * self overallElapsedTime asFloat / self overallTotalSamples \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/parents.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/parents.st index 6322762b2..133cd90c9 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/parents.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/parents.st @@ -5,7 +5,7 @@ parents parents ifNil: [ ^ #() ]. ^ parents collect: [ :each | - TDProfMonitorEntry new + self class new profMon: profMon; profMonEntry: each; master: self; diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printChildOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printChildOn..st index 5c4771ae7..bf9d93ece 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printChildOn..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printChildOn..st @@ -6,13 +6,17 @@ printChildOn: aStream methodMs := self master total * elapsedTime asFloat / totalSamples. cMap := self master childTallies. ct := cMap at: self profMonEntry otherwise: 0. + self printParentChildSpacerOn: aStream. + self fullEntryReport + ifTrue: [ + aStream + nextPutAll: + (ct * elapsedTime asFloat / totalSamples asStringUsingFormat: #(-10 1 false)); + nextPutAll: ' '; + nextPutAll: + (ct * elapsedTime * 100.0 / totalSamples / methodMs + asStringUsingFormat: #(-5 1 false)) ] + ifFalse: [ self printParentChildTallyPctOn: aStream ]. aStream - nextPutAll: ' '; - nextPutAll: - (ct * elapsedTime asFloat / totalSamples asStringUsingFormat: #(-6 1 false)); - nextPutAll: ' '; - nextPutAll: - (ct * elapsedTime * 100.0 / totalSamples / methodMs - asStringUsingFormat: #(-6 1 false)); - nextPutAll: ' '; + nextPutAll: ' '; nextPutAll: (self profMonEntry asStringWidth: 12) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printParentChildSpacerOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printParentChildSpacerOn..st new file mode 100644 index 000000000..eff050e65 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printParentChildSpacerOn..st @@ -0,0 +1,5 @@ +as yet unclassified +printParentChildSpacerOn: aStream + self fullEntryReport + ifTrue: [ aStream nextPutAll: ' ' ] + ifFalse: [ aStream nextPutAll: ' ' ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printParentChildTallyPctOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printParentChildTallyPctOn..st new file mode 100644 index 000000000..b61a73525 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printParentChildTallyPctOn..st @@ -0,0 +1,14 @@ +as yet unclassified +printParentChildTallyPctOn: aStream + aStream + nextPutAll: (self tally asString width: -10); + nextPutAll: ' '; + nextPutAll: (self total asString width: -10); + nextPutAll: ' '. + master total = 0 + ifTrue: [ aStream nextPutAll: (0.0 asStringUsingFormat: #(-6 1 false)) ] + ifFalse: [ + aStream + nextPutAll: + (self total * 100.0 / master total asStringUsingFormat: #(-6 1 false)) ]. + aStream nextPutAll: ' ' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printParentOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printParentOn..st index b2304e995..9da1ae0af 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printParentOn..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printParentOn..st @@ -6,13 +6,17 @@ printParentOn: aStream methodMs := self master total * elapsedTime asFloat / totalSamples. pMap := self master parentTallies. pt := pMap at: self profMonEntry otherwise: 0. + self printParentChildSpacerOn: aStream. + self fullEntryReport + ifTrue: [ + aStream + nextPutAll: + (pt * elapsedTime asFloat / totalSamples asStringUsingFormat: #(-10 1 false)); + nextPutAll: ' '; + nextPutAll: + (pt * elapsedTime * 100.0 / totalSamples / methodMs + asStringUsingFormat: #(-5 1 false)) ] + ifFalse: [ self printParentChildTallyPctOn: aStream ]. aStream - nextPutAll: ' '; - nextPutAll: - (pt * elapsedTime asFloat / totalSamples asStringUsingFormat: #(-6 1 false)); - nextPutAll: ' '; - nextPutAll: - (pt * elapsedTime * 100.0 / totalSamples / methodMs - asStringUsingFormat: #(-6 1 false)); - nextPutAll: ' '; + nextPutAll: ' '; nextPutAll: (self profMonEntry asStringWidth: 12) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printSampleOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printSampleOn..st index e55f8d4fb..bf89a599d 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printSampleOn..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printSampleOn..st @@ -1,15 +1,24 @@ as yet unclassified printSampleOn: aStream - | tallyPct totalPct | - tallyPct := self tally asFloat * 100.0 / self overallTotal. - totalPct := self total asFloat * 100.0 / self overallTotal. - aStream - nextPutAll: (self tally asString width: -4); - nextPutAll: ' '; - nextPutAll: (tallyPct asStringUsingFormat: #(-6 2 false)); - nextPutAll: ' '; - nextPutAll: (totalPct asStringUsingFormat: #(-6 2 false)); - nextPutAll: ' '; - nextPutAll: (self methodMs asStringUsingFormat: #(-5 1 false)); - nextPutAll: ' '; - nextPutAll: (self profMonEntry asStringWidth: 25) \ No newline at end of file + | tallyPct totalPct sortKey | + sortKey := self profMon sortKey. + sortKey = 'tally' + ifTrue: [ + tallyPct := self tally asFloat * 100.0 / self overallTotal. + aStream + nextPutAll: (self tally asString width: -10); + nextPutAll: ' '; + nextPutAll: (self methodTallyMs asStringUsingFormat: #(-10 1 false)); + nextPutAll: ' '; + nextPutAll: (tallyPct asStringUsingFormat: #(-6 2 false)); + nextPutAll: ' ' ] + ifFalse: [ + totalPct := self total asFloat * 100.0 / self overallTotal. + aStream + nextPutAll: (self total asString width: -10); + nextPutAll: ' '; + nextPutAll: (self methodTotalMs asStringUsingFormat: #(-10 1 false)); + nextPutAll: ' '; + nextPutAll: (totalPct asStringUsingFormat: #(-5 1 false)); + nextPutAll: ' ' ]. + aStream nextPutAll: (self profMonEntry asStringWidth: 25) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printSenderOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printSenderOn..st index f80370053..0ee2f85c0 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printSenderOn..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/printSenderOn..st @@ -3,18 +3,35 @@ printSenderOn: aStream | tallyPct totalPct methodMs elapsedPct | tallyPct := self tally asFloat * 100.0 / self overallTotalSamples. totalPct := self total asFloat * 100.0 / self overallTotalSamples. - methodMs := self methodMs. + methodMs := self methodTotalMs. elapsedPct := self tally * self overallElapsedTime * 100.0 / self overallTotalSamples / methodMs. + aStream nextPut: $=. + self fullEntryReport + ifTrue: [ + aStream + nextPutAll: (self tally asString width: -5); + nextPutAll: ' '; + nextPutAll: (self total asString width: -5); + nextPutAll: ' '. + aStream + nextPutAll: (tallyPct asStringUsingFormat: #(-5 1 false)); + nextPutAll: ' '; + nextPutAll: (totalPct asStringUsingFormat: #(-5 1 false)); + nextPutAll: ' '; + nextPutAll: (methodMs asStringUsingFormat: #(-10 1 false)); + nextPutAll: ' '; + nextPutAll: (elapsedPct asStringUsingFormat: #(-5 1 false)) ] + ifFalse: [ + aStream + nextPutAll: (self tally asString width: -10); + nextPutAll: ' '; + nextPutAll: (self total asString width: -10); + nextPutAll: ' '. + aStream + nextPutAll: + (self total asFloat * 100.0 / self overallTotal + asStringUsingFormat: #(-6 1 false)) ]. aStream - nextPutAll: (self tally asString width: -4); - nextPutAll: ' '; - nextPutAll: (tallyPct asStringUsingFormat: #(-6 2 false)); - nextPutAll: ' '; - nextPutAll: (totalPct asStringUsingFormat: #(-6 2 false)); - nextPutAll: ' '; - nextPutAll: (methodMs asStringUsingFormat: #(-6 1 false)); - nextPutAll: ' '; - nextPutAll: (elapsedPct asStringUsingFormat: #(-6 1 false)); nextPutAll: ' '; nextPutAll: (self profMonEntry asStringWidth: 12) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/windowLabel.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/windowLabel.st new file mode 100644 index 000000000..281854cf0 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/instance/windowLabel.st @@ -0,0 +1,3 @@ +as yet unclassified +windowLabel + ^ self profMonEntry asStringWidth: 0 \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/methodProperties.json index 51d68a61a..c2ff145fc 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/methodProperties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorEntry.class/methodProperties.json @@ -3,12 +3,15 @@ "initialize" : "dkh 09/27/2013 21:06" }, "instance" : { "childTallies" : "dkh 09/27/2013 21:18", - "children" : "dkh 09/27/2013 21:13", - "listIndex" : "dkh 09/27/2013 17:17", + "children" : "dkh 07/02/2015 16:51", + "clientEntryListColumnLabels" : "dkh 06/12/2015 11:27", + "fullEntryReport" : "dkh 06/11/2015 15:12", + "listIndex" : "dkh 07/02/2015 10:06", "master" : "dkh 09/27/2013 20:37", "master:" : "dkh 09/27/2013 20:37", "method" : "dkh 09/27/2013 21:54", - "methodMs" : "dkh 09/28/2013 06:58", + "methodTallyMs" : "dkh 06/11/2015 13:48", + "methodTotalMs" : "dkh 06/11/2015 13:47", "overallElapsedTime" : "dkh 09/27/2013 20:50", "overallTotal" : "dkh 09/27/2013 16:42", "overallTotalSamples" : "dkh 09/27/2013 20:45", @@ -17,16 +20,18 @@ "parentIndex" : "dkh 09/27/2013 21:43", "parentIndex:" : "dkh 09/27/2013 21:43", "parentTallies" : "dkh 09/27/2013 21:11", - "parents" : "dkh 09/27/2013 21:13", - "printChildOn:" : "dkh 09/27/2013 21:17", + "parents" : "dkh 07/02/2015 16:51", + "printChildOn:" : "dkh 06/11/2015 16:05", "printChildString" : "dkh 09/27/2013 20:58", "printLabelOn:" : "dkh 09/27/2013 21:37", "printLabelString" : "dkh 09/27/2013 21:37", - "printParentOn:" : "dkh 09/27/2013 21:17", + "printParentChildSpacerOn:" : "dkh 06/12/2015 11:25", + "printParentChildTallyPctOn:" : "dkh 06/12/2015 11:28", + "printParentOn:" : "dkh 06/11/2015 16:05", "printParentString" : "dkh 09/27/2013 19:43", - "printSampleOn:" : "dkh 09/28/2013 07:06", + "printSampleOn:" : "dkh 06/12/2015 11:26", "printSampleString" : "dkh 09/27/2013 17:10", - "printSenderOn:" : "dkh 09/28/2013 07:00", + "printSenderOn:" : "dkh 06/12/2015 11:28", "printSenderString" : "dkh 09/27/2013 21:11", "profMon" : "dkh 09/27/2013 16:29", "profMon:" : "dkh 09/27/2013 16:30", @@ -34,4 +39,5 @@ "profMonEntry:" : "dkh 09/27/2013 16:14", "sampleTally" : "dkh 09/27/2013 21:10", "tally" : "dkh 09/27/2013 16:25", - "total" : "dkh 09/27/2013 16:50" } } + "total" : "dkh 09/27/2013 16:50", + "windowLabel" : "dkh 07/03/2015 13:34" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/README.md b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/classInstancesCreated.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/classInstancesCreated.st new file mode 100644 index 000000000..3824737c8 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/classInstancesCreated.st @@ -0,0 +1,3 @@ +accessing +classInstancesCreated + ^ self profMon objectCreationMethodToClassMap at: self profMonEntry cmethod \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/fullEntryReport.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/fullEntryReport.st new file mode 100644 index 000000000..fbe935028 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/fullEntryReport.st @@ -0,0 +1,3 @@ +accessing +fullEntryReport + ^ false \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/objCreationCounts.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/objCreationCounts.st new file mode 100644 index 000000000..66ec3f163 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/objCreationCounts.st @@ -0,0 +1,3 @@ +accessing +objCreationCounts + ^ self profMon objCreationCounts \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/printChildOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/printChildOn..st new file mode 100644 index 000000000..94c6feb26 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/printChildOn..st @@ -0,0 +1,11 @@ +reporting +printChildOn: aStream + | cMap ct totalSamples | + totalSamples := self overallTotalSamples. + cMap := self master childTallies. + ct := cMap at: self profMonEntry otherwise: 0. + self printParentChildSpacerOn: aStream. + self printParentChildTallyPctOn: aStream. + aStream + nextPutAll: ' '; + nextPutAll: (self profMonEntry asStringWidth: 12) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/printParentOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/printParentOn..st new file mode 100644 index 000000000..45488e7a8 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/printParentOn..st @@ -0,0 +1,11 @@ +reporting +printParentOn: aStream + | pMap pt totalSamples | + totalSamples := self overallTotalSamples. + pMap := self master parentTallies. + pt := pMap at: self profMonEntry otherwise: 0. + self printParentChildSpacerOn: aStream. + self printParentChildTallyPctOn: aStream. + aStream + nextPutAll: ' '; + nextPutAll: (self profMonEntry asStringWidth: 12) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/printSampleOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/printSampleOn..st new file mode 100644 index 000000000..8b94b29f3 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/printSampleOn..st @@ -0,0 +1,20 @@ +reporting +printSampleOn: aStream + | tallyPct totalPct sortKey | + sortKey := self profMon sortKey. + sortKey = 'tally' + ifTrue: [ + tallyPct := self tally asFloat * 100.0 / self overallTotal. + aStream + nextPutAll: (self tally asString width: -10); + nextPutAll: ' '; + nextPutAll: (tallyPct asStringUsingFormat: #(-6 2 false)); + nextPutAll: ' ' ] + ifFalse: [ + totalPct := self total asFloat * 100.0 / self overallTotal. + aStream + nextPutAll: (self total asString width: -10); + nextPutAll: ' '; + nextPutAll: (totalPct asStringUsingFormat: #(-5 1 false)); + nextPutAll: ' ' ]. + aStream nextPutAll: (self profMonEntry asStringWidth: 25) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/printSenderOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/printSenderOn..st new file mode 100644 index 000000000..33d2c4b3e --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/printSenderOn..st @@ -0,0 +1,18 @@ +reporting +printSenderOn: aStream + | tallyPct totalPct elapsdPct | + tallyPct := self tally asFloat * 100.0 / self overallTotalSamples. + totalPct := self total asFloat * 100.0 / self overallTotalSamples. + aStream nextPut: $=. + aStream + nextPutAll: (self tally asString width: -10); + nextPutAll: ' '; + nextPutAll: (self total asString width: -10); + nextPutAll: ' '. + aStream + nextPutAll: + (self total asFloat * 100.0 / self overallTotal + asStringUsingFormat: #(-6 1 false)). + aStream + nextPutAll: ' '; + nextPutAll: (self profMonEntry asStringWidth: 12) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/profMonitor.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/profMonitor.st new file mode 100644 index 000000000..b711bf196 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/profMonitor.st @@ -0,0 +1,3 @@ +accessing +profMonitor + ^ self profMon profMonitor \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/tallyClass.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/tallyClass.st new file mode 100644 index 000000000..7fb344a7e --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/tallyClass.st @@ -0,0 +1,3 @@ +accessing +tallyClass + ^ self profMon tallyClass \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/tallyClassName.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/tallyClassName.st new file mode 100644 index 000000000..54d235056 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/tallyClassName.st @@ -0,0 +1,3 @@ +accessing +tallyClassName + ^ self profMon tallyClassName \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/windowLabel.st b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/windowLabel.st new file mode 100644 index 000000000..93aa11368 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/instance/windowLabel.st @@ -0,0 +1,3 @@ +accessing +windowLabel + ^ self tallyClassName , ' creation for ' , super windowLabel \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/methodProperties.json new file mode 100644 index 000000000..4f8f60f60 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/methodProperties.json @@ -0,0 +1,15 @@ +{ + "class" : { + }, + "instance" : { + "classInstancesCreated" : "dkh 07/03/2015 17:03", + "fullEntryReport" : "dkh 07/02/2015 17:01", + "objCreationCounts" : "dkh 07/03/2015 17:16", + "printChildOn:" : "dkh 07/02/2015 17:04", + "printParentOn:" : "dkh 07/02/2015 17:02", + "printSampleOn:" : "dkh 07/02/2015 14:43", + "printSenderOn:" : "dkh 07/02/2015 17:02", + "profMonitor" : "dkh 07/03/2015 17:24", + "tallyClass" : "dkh 07/03/2015 13:41", + "tallyClassName" : "dkh 07/03/2015 16:01", + "windowLabel" : "dkh 07/03/2015 15:54" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/properties.json b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/properties.json new file mode 100644 index 000000000..4de6184ac --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfMonitorObjectCreationEntry.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Tode-GemStone-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDProfMonitorObjectCreationEntry", + "pools" : [ + ], + "super" : "TDProfMonitorEntry", + "type" : "normal" } diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/installExampleOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/installExampleOn..st index 5aab3ac90..04f7e213e 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/installExampleOn..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/installExampleOn..st @@ -1,3 +1,3 @@ -as yet unclassified +initialization installExampleOn: aTDTopezServer "nothing for now" \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/installOn..st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/installOn..st deleted file mode 100644 index eb4371ec2..000000000 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/installOn..st +++ /dev/null @@ -1,3 +0,0 @@ -as yet unclassified -installOn: aTDTopezServer - super installOn: aTDTopezServer \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pf.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pf.st index 3eadba534..b5b11574d 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pf.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pf.st @@ -1,4 +1,11 @@ -as yet unclassified pf +pf + "self install" + - ^ [ :topez :objIn :tokens :command | self performSubCommand: topez objIn: objIn todeCommand: command ] \ No newline at end of file + ^ [ :topez :objIn :tokens :command | + self + performSubCommand: topez + objIn: objIn + commandOptions: {#('help' $h #'none')} + todeCommand: command ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfManPage.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfManPage.st index 20167013c..762025cef 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfManPage.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfManPage.st @@ -1,17 +1,42 @@ -as yet unclassified +pf pfManPage - ^ 'NAME - pf - control ProfMonitor + | manPage | + manPage := TDManPage + commandName: 'pf' + fromString: + 'NAME + pf - profile Smalltalk method execution SYNOPSIS - pf start - pf status - pf stop - pf gather - pf report [] - pf vew [] - pf clean + pf [] DESCRIPTION - default is 100 -' \ No newline at end of file + The pf commands provides access to the ProfMonitor services. + + The is the name of a specific profiling operation. + + Commands: + clean Stop and clean up resources used by pf command + gather Analyze samples from file and produce report data structure + report Generate a string-based report from sampled data + start Begin sampling data + status Status of active prof monitor + stop Stop sampling + view Open prof monitor browser + +EXAMPLES + + pf start + pf report + pf view +'. + manPage subCommands + at: 'start' put: self pfstartManPage; + at: 'status' put: self pfstatusManPage; + at: 'stop' put: self pfstopManPage; + at: 'gather' put: self pfgatherManPage; + at: 'report' put: self pfreportManPage; + at: 'view' put: self pfviewManPage; + at: 'clean' put: self pfcleanManPage; + yourself. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfcleanManPage.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfcleanManPage.st new file mode 100644 index 000000000..08add3483 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfcleanManPage.st @@ -0,0 +1,18 @@ +pf +pfcleanManPage + | manPage | + manPage := TDManPage + commandName: 'clean' + fromString: + 'NAME + pf clean - Stop and clean up resources used by pf command + +SYNOPSIS + pf clean + +DESCRIPTION + +EXAMPLES + pf clean +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfgatherManPage.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfgatherManPage.st new file mode 100644 index 000000000..d766070ca --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfgatherManPage.st @@ -0,0 +1,18 @@ +pf +pfgatherManPage + | manPage | + manPage := TDManPage + commandName: 'gather' + fromString: + 'NAME + pf gather - Analyze samples from file and produce report data structure + +SYNOPSIS + pf gather + +DESCRIPTION + +EXAMPLES + pf gather +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfreportManPage.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfreportManPage.st new file mode 100644 index 000000000..c4cc104bd --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfreportManPage.st @@ -0,0 +1,18 @@ +pf +pfreportManPage + | manPage | + manPage := TDManPage + commandName: 'report' + fromString: + 'NAME + pf report - Generate a string-based report from sampled data + +SYNOPSIS + pf report [--tally=] + +DESCRIPTION + +EXAMPLES + pf report +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfstartManPage.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfstartManPage.st new file mode 100644 index 000000000..8957a1f3d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfstartManPage.st @@ -0,0 +1,15 @@ +pf +pfstartManPage + | manPage | + manPage := TDManPage commandName: 'start' fromString: 'NAME + pf start - Begin sampling data + +SYNOPSIS + pf start + +DESCRIPTION + +EXAMPLES + pf start +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfstatusManPage.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfstatusManPage.st new file mode 100644 index 000000000..a7a4dcdc4 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfstatusManPage.st @@ -0,0 +1,18 @@ +pf +pfstatusManPage + | manPage | + manPage := TDManPage + commandName: 'status' + fromString: + 'NAME + pf status - Generate a string-based status from sampled data + +SYNOPSIS + pf status + +DESCRIPTION + +EXAMPLES + pf status +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfstopManPage.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfstopManPage.st new file mode 100644 index 000000000..70bb08174 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfstopManPage.st @@ -0,0 +1,18 @@ +pf +pfstopManPage + | manPage | + manPage := TDManPage + commandName: 'stop' + fromString: + 'NAME + pf stop - Stop sampling + +SYNOPSIS + pf stop + +DESCRIPTION + +EXAMPLES + pf stop +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfviewManPage.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfviewManPage.st new file mode 100644 index 000000000..4d56c01be --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/pfviewManPage.st @@ -0,0 +1,27 @@ +pf +pfviewManPage + | manPage | + manPage := TDManPage + commandName: 'view' + fromString: + 'NAME + pf view - Open prof monitor browser + +SYNOPSIS + pf view [--label=] [--limit=] [--sort=tally|total] + +DESCRIPTION + +OPTIONS + + --label= + --limit= + --sort=tally|total + total is default + +EXAMPLES + pf view + pf view --label=`Test Case 1` + pf view --label=`Test Case 1` --limit=25 --sort=total +'. + ^ manPage \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/priority.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/priority.st index 1b72f3b54..726a163d3 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/priority.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/priority.st @@ -1,4 +1,4 @@ -as yet unclassified +initialization priority ^ 50 \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/profMonitor..st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/profMonitor..st index 925179c6e..26952dcef 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/profMonitor..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/profMonitor..st @@ -1,3 +1,3 @@ -as yet unclassified +pf profMonitor: aProfMonitor ProfMon := aProfMonitor \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/profMonitor.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/profMonitor.st index badd7a090..0e9c3bd1d 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/profMonitor.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/profMonitor.st @@ -1,3 +1,3 @@ -as yet unclassified +pf profMonitor ^ ProfMon \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/toolName.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/toolName.st index 663c5c980..bcd5b3c13 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/toolName.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/toolName.st @@ -1,3 +1,3 @@ -as yet unclassified +initialization toolName ^ 'profiler' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/toolReadMe.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/toolReadMe.st index 21b376a7b..e0285ae01 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/toolReadMe.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/class/toolReadMe.st @@ -1,3 +1,3 @@ -as yet unclassified +initialization toolReadMe ^ self commandPath , ' provides ProfMonitor suppport.' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/defaultLabel.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/defaultLabel.st new file mode 100644 index 000000000..26a89bcd2 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/defaultLabel.st @@ -0,0 +1,3 @@ +private +defaultLabel + ^ 'Profile Monitor' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/defaultSortKey.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/defaultSortKey.st new file mode 100644 index 000000000..f5bf40edd --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/defaultSortKey.st @@ -0,0 +1,3 @@ +private +defaultSortKey + ^ 'total' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/defaultTallyLimit.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/defaultTallyLimit.st new file mode 100644 index 000000000..f8888da9c --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/defaultTallyLimit.st @@ -0,0 +1,3 @@ +private +defaultTallyLimit + ^ 0 \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfClean..st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfClean..st new file mode 100644 index 000000000..8f44ac6c1 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfClean..st @@ -0,0 +1,10 @@ +smalltalk api +pfClean: aProfMonitor + aProfMonitor endTime + ifNotNil: [ + [ aProfMonitor stopMonitoring ] + on: Error + do: [ :ignored | ] ]. + [ aProfMonitor removeFile ] + on: Error + do: [ :ignored | ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfGather..st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfGather..st new file mode 100644 index 000000000..4adac87e9 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfGather..st @@ -0,0 +1,4 @@ +smalltalk api +pfGather: aProfMonitor + self pfStop: aProfMonitor. + aProfMonitor results ifNil: [ aProfMonitor gatherResults ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfMonitor.block..st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfMonitor.block..st new file mode 100644 index 000000000..cffec589b --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfMonitor.block..st @@ -0,0 +1,5 @@ +smalltalk api +pfMonitor: aProfMon block: aBlock + self pfStart: aProfMon. + aBlock + ensure: [ self pfStop: aProfMon ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfReport..st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfReport..st new file mode 100644 index 000000000..0ee4c819d --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfReport..st @@ -0,0 +1,3 @@ +smalltalk api +pfReport: aProfMon + self pfReport: aProfMon tallyLimit: self defaultTallyLimit \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfReport.tallyLimit..st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfReport.tallyLimit..st new file mode 100644 index 000000000..092f47337 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfReport.tallyLimit..st @@ -0,0 +1,5 @@ +smalltalk api +pfReport: aProfMon tallyLimit: limit + self pfStop: aProfMon. + self pfGather: aProfMon. + ^ aProfMon reportDownTo: limit \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfStart..1.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfStart..1.st new file mode 100644 index 000000000..8a33458e1 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfStart..1.st @@ -0,0 +1,5 @@ +smalltalk api +pfStart + ^ ProfMonitor new + startMonitoring; + yourself \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfStatus..st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfStatus..st new file mode 100644 index 000000000..b29713235 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfStatus..st @@ -0,0 +1,9 @@ +smalltalk api +pfStatus: aProfMon + aProfMon == nil + ifTrue: [ ^ 'not started' ]. + aProfMon endTime == nil + ifTrue: [ ^ 'started at ' , aProfMon startTime printString ]. + aProfMon results == nil + ifTrue: [ ^ 'results not gathered, ended at ' , aProfMon endTime printString ]. + ^ 'results available, ended at ' , aProfMon endTime printString \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfStop..st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfStop..st new file mode 100644 index 000000000..339f32067 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfStop..st @@ -0,0 +1,5 @@ +smalltalk api +pfStop: aProfMonitor + aProfMonitor endTime ~~ nil + ifTrue: [ ^ self ]. + aProfMonitor stopMonitoring \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfview..st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfView.label.limit.sortKey..st similarity index 55% rename from repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfview..st rename to repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfView.label.limit.sortKey..st index 2e84c5614..0017a7379 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfview..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfView.label.limit.sortKey..st @@ -1,15 +1,15 @@ -as yet unclassified -pfview: label +smalltalk api +pfView: aProfMon label: label limit: limit sortKey: sortKey "pf view" - | profMon profMonitorView | - self pfstop. - profMon := self profMonitor. - profMon results ifNil: [ profMon gatherResults ]. + | profMonitorView | + self pfStop: aProfMon. + self pfGather: aProfMon. profMonitorView := TDProfMonitor new - profMon: profMon; + sortKey: sortKey; + tallyLimit: limit; + profMonitor: aProfMon; yourself. - profMon removeResults. profMonitorView editUsing: ((TDEditorSpec topez: topez editorAspect: #'profMonResults') diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfclean.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfclean.st index 0e20c7f85..4627396af 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfclean.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfclean.st @@ -1,16 +1,8 @@ -as yet unclassified +tode commands pfclean "pf clean" self profMonitor ifNotNil: [ :profMon | - [ - profMon endTime - ifNotNil: [ - [ profMon stopMonitoring ] - on: Error - do: [ :ex | ] ]. - profMon removeFile ] - on: Error - do: [ :ex | ]. + self pfClean: profMon. self profMonitor: nil ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfgather.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfgather.st index c2f2ec435..9ccd97513 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfgather.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfgather.st @@ -1,4 +1,4 @@ -as yet unclassified +tode commands pfgather "pf gather" diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfmonitor..st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfmonitor..st index 7a75ff4db..02a400f2d 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfmonitor..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfmonitor..st @@ -1,5 +1,3 @@ -as yet unclassified +tode commands pfmonitor: aBlock - self pfstart. - aBlock - ensure: [ self pfstop ] \ No newline at end of file + self pfMonitor: self profMon block: aBlock \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfreport.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfreport.st index 84eb25e2b..9be66b7f3 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfreport.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfreport.st @@ -1,14 +1,13 @@ -as yet unclassified +tode commands pfreport "pf report" - | profMon tally report | - self pfstop. - tally := 100. - tokens size > 1 - ifTrue: [ tally := (tokens at: 2) asNumber ]. - profMon := self profMonitor. - profMon results ifNil: [ profMon gatherResults ]. - report := profMon reportDownTo: tally. + | limit report | + self getSubcommandOptsMixedLongShort: {#('limit' nil #'required')}. + subOptions + at: 'limit' + ifPresent: [ :arg | limit := arg asNumber ] + ifAbsent: [ limit := self defaultTallyLimit ]. + report := self pfReport: self profMonitor tallyLimit: (limit max: 1). report editUsing: (TDEditorSpec topez: topez editorAspect: #'edit'). - ^ profMon \ No newline at end of file + ^ self profMonitor \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstart..2.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstart..2.st new file mode 100644 index 000000000..dc51fc301 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstart..2.st @@ -0,0 +1,6 @@ +tode commands +pfstart + "pf start" + + self pfclean. + self class profMonitor: self pfStart \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstart.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstart.st deleted file mode 100644 index dd080dbb5..000000000 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstart.st +++ /dev/null @@ -1,9 +0,0 @@ -as yet unclassified -pfstart - "pf start" - - | profMon | - self pfclean. - profMon := ProfMonitor new. - self class profMonitor: profMon. - profMon startMonitoring \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstatus.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstatus.st index 1942b9c70..e508c9951 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstatus.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstatus.st @@ -1,13 +1,5 @@ -as yet unclassified +tode commands pfstatus "pf status" - | profMon | - profMon := self profMonitor. - profMon == nil - ifTrue: [ ^ 'not started' asText ]. - profMon endTime == nil - ifTrue: [ ^ ('started at ' , profMon startTime printString) asText ]. - profMon results == nil - ifTrue: [ ^ ('results not gathered, ended at ' , profMon endTime printString) asText ]. - ^ ('results available, ended at ' , profMon endTime printString) asText \ No newline at end of file + ^ (self pfStatus: self profMonitor) asText \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstop.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstop.st index b43ab666c..bb9df118f 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstop.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfstop.st @@ -1,9 +1,5 @@ -as yet unclassified +tode commands pfstop "pf stop" - | profMon | - profMon := self profMonitor. - profMon endTime ~~ nil - ifTrue: [ ^ self ]. - profMon stopMonitoring \ No newline at end of file + self pfStop: self profMonitor \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfview.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfview.st index 68413f94b..77f429d65 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfview.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/pfview.st @@ -1,9 +1,29 @@ -as yet unclassified +tode commands pfview - "pf vew []" + " + pf view [--label=] [--limit=] [--sort=tally|total] +" - | label | - label := 'Profile Monitor'. - tokens size > 1 - ifTrue: [ label := tokens at: 2 ]. - ^ self pfview: label \ No newline at end of file + | label limit sortKey | + self + getSubcommandOptsMixedLongShort: + {#('label' nil #'required'). + #('limit' nil #'required'). + #('sort' nil #'required')}. + subOptions + at: 'label' + ifPresent: [ :arg | label := arg ] + ifAbsent: [ label := self defaultLabel ]. + subOptions + at: 'limit' + ifPresent: [ :arg | limit := arg asNumber ] + ifAbsent: [ limit := self defaultTallyLimit ]. + subOptions + at: 'sort' + ifPresent: [ :arg | sortKey := arg ] + ifAbsent: [ sortKey := self defaultSortKey ]. + ^ self + pfView: self profMonitor + label: label + limit: limit + sortKey: sortKey \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/profMonitor..st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/profMonitor..st index 77db02077..b75527097 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/profMonitor..st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/profMonitor..st @@ -1,3 +1,3 @@ -as yet unclassified +accessing profMonitor: aProfMonitor self class profMonitor: aProfMonitor \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/profMonitor.st b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/profMonitor.st index dd2f5bc75..89e7f75a1 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/profMonitor.st +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/instance/profMonitor.st @@ -1,3 +1,3 @@ -as yet unclassified +accessing profMonitor ^ self class profMonitor \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/methodProperties.json index 0809687f3..6d8b9d7e6 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/methodProperties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDProfileTool.class/methodProperties.json @@ -1,23 +1,40 @@ { "class" : { "installExampleOn:" : "DataCurator 02/07/2013 19:07", - "installOn:" : "DataCurator 02/07/2013 19:08", - "pf" : "dkh 11/10/2013 10:31", - "pfManPage" : "dkh 09/28/2013 08:01", + "pf" : "dkh 06/10/2015 14:49", + "pfManPage" : "dkh 06/11/2015 10:08", + "pfcleanManPage" : "dkh 06/10/2015 11:26", + "pfgatherManPage" : "dkh 06/10/2015 11:26", + "pfreportManPage" : "dkh 06/10/2015 11:42", + "pfstartManPage" : "dkh 06/10/2015 11:25", + "pfstatusManPage" : "dkh 06/10/2015 11:28", + "pfstopManPage" : "dkh 06/10/2015 11:29", + "pfviewManPage" : "dkh 06/11/2015 09:27", "priority" : "DataCurator 02/07/2013 19:05", "profMonitor" : "DataCurator 02/07/2013 20:02", "profMonitor:" : "DataCurator 02/07/2013 20:03", "toolName" : "DataCurator 02/07/2013 19:08", "toolReadMe" : "DataCurator 02/07/2013 19:09" }, "instance" : { - "pfclean" : "07/09/2013 15:43", + "defaultLabel" : "dkh 06/10/2015 11:45", + "defaultSortKey" : "dkh 06/11/2015 16:38", + "defaultTallyLimit" : "dkh 06/11/2015 11:49", + "pfClean:" : "dkh 06/10/2015 16:00", + "pfGather:" : "dkh 06/10/2015 10:44", + "pfMonitor:block:" : "dkh 06/10/2015 10:45", + "pfReport:" : "dkh 06/11/2015 09:18", + "pfReport:tallyLimit:" : "dkh 06/11/2015 09:17", + "pfStart" : "dkh 06/10/2015 10:51", + "pfStatus:" : "dkh 06/10/2015 10:53", + "pfStop:" : "dkh 06/10/2015 10:42", + "pfView:label:limit:sortKey:" : "dkh 07/02/2015 09:58", + "pfclean" : "dkh 06/10/2015 10:40", "pfgather" : "07/09/2013 15:45", - "pfmonitor:" : "dkh 03/26/2014 18:24", - "pfreport" : "07/09/2013 15:45", - "pfstart" : "dkh 09/28/2013 06:09", - "pfstatus" : "07/09/2013 15:43", - "pfstop" : "07/09/2013 15:43", - "pfview" : "dkh 09/28/2013 08:02", - "pfview:" : "dkh 10/17/2013 18:41", + "pfmonitor:" : "dkh 06/10/2015 10:45", + "pfreport" : "dkh 06/11/2015 11:52", + "pfstart" : "dkh 06/10/2015 10:51", + "pfstatus" : "dkh 06/10/2015 10:53", + "pfstop" : "dkh 06/10/2015 10:43", + "pfview" : "dkh 06/11/2015 09:25", "profMonitor" : "DataCurator 02/07/2013 19:23", "profMonitor:" : "DataCurator 02/07/2013 19:23" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDRcIndexDictionaryNodeBuilder.class/instance/childNamed.parent.ifAbsent..st b/repository/Tode-GemStone-Server-Core.package/TDRcIndexDictionaryNodeBuilder.class/instance/childNamed.parent.ifAbsent..st index 0234bbd1a..db0cf8c5b 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDRcIndexDictionaryNodeBuilder.class/instance/childNamed.parent.ifAbsent..st +++ b/repository/Tode-GemStone-Server-Core.package/TDRcIndexDictionaryNodeBuilder.class/instance/childNamed.parent.ifAbsent..st @@ -1,7 +1,7 @@ as yet unclassified childNamed: elementName parent: parentNode ifAbsent: absentBlock | obj | - (#('(class)' '(oop)') includes: elementName) + (#('(class)' '(oop)' '(committed)' '(notTranlogged)') includes: elementName) ifTrue: [ obj := self objectValueForSpecialElementName: elementName diff --git a/repository/Tode-GemStone-Server-Core.package/TDRcIndexDictionaryNodeBuilder.class/instance/childNodeNameList..st b/repository/Tode-GemStone-Server-Core.package/TDRcIndexDictionaryNodeBuilder.class/instance/childNodeNameList..st index 0cab503db..e876aa69b 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDRcIndexDictionaryNodeBuilder.class/instance/childNodeNameList..st +++ b/repository/Tode-GemStone-Server-Core.package/TDRcIndexDictionaryNodeBuilder.class/instance/childNodeNameList..st @@ -2,6 +2,6 @@ as yet unclassified childNodeNameList: parentNode | specialElements | specialElements := parentNode topez displayOops - ifTrue: [ #('(class)' '(oop)') ] - ifFalse: [ #('(class)') ]. + ifTrue: [ #('(class)' '(oop)' '(committed)' '(notTranlogged)') ] + ifFalse: [ #('(class)' '(committed)' '(notTranlogged)') ]. ^ specialElements , (1 to: self keys size) collect: [ :each | each asString ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDRcIndexDictionaryNodeBuilder.class/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDRcIndexDictionaryNodeBuilder.class/methodProperties.json index af6386588..267a3b6e5 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDRcIndexDictionaryNodeBuilder.class/methodProperties.json +++ b/repository/Tode-GemStone-Server-Core.package/TDRcIndexDictionaryNodeBuilder.class/methodProperties.json @@ -2,6 +2,6 @@ "class" : { }, "instance" : { - "childNamed:parent:ifAbsent:" : "dkh 01/15/2014 08:16", - "childNodeNameList:" : "dkh 01/15/2014 08:16", + "childNamed:parent:ifAbsent:" : "dkh 09/07/2015 17:24", + "childNodeNameList:" : "dkh 09/07/2015 17:24", "keys" : "dkh 01/15/2014 08:42" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/destination..st b/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/destination..st index 4e1152af1..11419a6a5 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/destination..st +++ b/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/destination..st @@ -1,4 +1,4 @@ accessing destination: anObject - destination := anObject + destination := anObject \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/destination.st b/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/destination.st index 4428f252e..a614de295 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/destination.st +++ b/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/destination.st @@ -1,4 +1,4 @@ accessing destination - ^destination + ^destination \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/filePath..st b/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/filePath..st index 1444c7747..4feb8cec9 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/filePath..st +++ b/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/filePath..st @@ -1,4 +1,4 @@ accessing filePath: anObject - filePath := anObject + filePath := anObject \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/filePath.st b/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/filePath.st index 31bff678e..cdee8d284 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/filePath.st +++ b/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/filePath.st @@ -1,4 +1,4 @@ accessing filePath - ^filePath + ^filePath \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/source..st b/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/source..st index cbac7b8c1..235ac390b 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/source..st +++ b/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/source..st @@ -1,4 +1,4 @@ accessing source: anObject - source := anObject + source := anObject \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/source.st b/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/source.st index a12e15414..93319657b 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/source.st +++ b/repository/Tode-GemStone-Server-Core.package/TDSimpleDiff.class/instance/source.st @@ -1,4 +1,4 @@ accessing source - ^source + ^source \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDWindowBuilder.extension/instance/gemstoneTool..st b/repository/Tode-GemStone-Server-Core.package/TDWindowBuilder.extension/instance/gemstoneTool..st new file mode 100644 index 000000000..06cc9e5f9 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDWindowBuilder.extension/instance/gemstoneTool..st @@ -0,0 +1,3 @@ +*tode-gemstone-server-core +gemstoneTool: clientElement + ^ clientElement topez toolInstanceFor: 'gs' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDWindowBuilder.extension/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TDWindowBuilder.extension/methodProperties.json new file mode 100644 index 000000000..33b9741ba --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDWindowBuilder.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "gemstoneTool:" : "dkh 07/05/2015 13:25" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TDWindowBuilder.extension/properties.json b/repository/Tode-GemStone-Server-Core.package/TDWindowBuilder.extension/properties.json new file mode 100644 index 000000000..32395c5c4 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TDWindowBuilder.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TDWindowBuilder" } diff --git a/repository/Tode-GemStone-Server-Core.package/TodeClientElement.extension/instance/printOn..st b/repository/Tode-GemStone-Server-Core.package/TodeClientElement.extension/instance/printOn..st new file mode 100644 index 000000000..4b4ccb89c --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TodeClientElement.extension/instance/printOn..st @@ -0,0 +1,4 @@ +*tode-gemstone-server-core +printOn: aStream + aStream + nextPutAll: self class name asString , '(' , self asOop printString , ')' \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TodeClientElement.extension/methodProperties.json b/repository/Tode-GemStone-Server-Core.package/TodeClientElement.extension/methodProperties.json new file mode 100644 index 000000000..96451e73f --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TodeClientElement.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "printOn:" : "dkh 08/12/2015 13:10" } } diff --git a/repository/Tode-GemStone-Server-Core.package/TodeClientElement.extension/properties.json b/repository/Tode-GemStone-Server-Core.package/TodeClientElement.extension/properties.json new file mode 100644 index 000000000..fe6c3c464 --- /dev/null +++ b/repository/Tode-GemStone-Server-Core.package/TodeClientElement.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TodeClientElement" } diff --git a/repository/Tode-GemStone-Server-Core.package/monticello.meta/version b/repository/Tode-GemStone-Server-Core.package/monticello.meta/version index a32db1b4d..bd690315a 100644 --- a/repository/Tode-GemStone-Server-Core.package/monticello.meta/version +++ b/repository/Tode-GemStone-Server-Core.package/monticello.meta/version @@ -1 +1 @@ -(name 'Tode-GemStone-Server-Core-dkh.118' message 'add "bread crumb" menu item to profile tools entry view ... jump up the stack of visited methods rather than have to navigate back using th `<<<` line ... the profile tools needs a modernization workover, but using the profiler today pointed out these particular issues' id 'd848139a-67a1-418f-888c-4901ec600065' date '08/10/2014' time '19:49:57' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.117' message 'for profile tool, add menu items to sort by total and sort by tally (currently only sorts by tally)' id '71dbb190-7ad2-4f7e-87ff-5398c2fcc34e' date '08/10/2014' time '18:26:35' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.116' message 'Issue #92: get started on fix Here''s the sequence of git commands used to implement this feature: - git clone --no-cache - git checkout branch - git symbolic-ref HEAD - if fatal: prompt for new branch name and checkout -b newBrancName' id 'c1d757bc-e2e2-4f23-ae45-377d55b6b707' date '07/02/2014' time '13:24:23' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.115' message 'Issue #85: take a shot at checking for voting ... need more testing' id '7c07fe0b-eef0-40ff-90c1-e29a316605de' date '06/18/2014' time '21:33:21' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.114' message 'add pid filter to `ol view` command ... add tracking to TDDebugTool class>>sendSetOrClearBreakPointSignal: to see how remote debugging is working' id '659a3fd3-3590-4b73-b9ae-f732a4ffb4c6' date '06/05/2014' time '19:18:47' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.113' message 'tweak `ol view` entry layout ... truncate the label so timestamp is still easily visible' id 'efba6a52-f117-4f0d-b953-0da42c30a306' date '06/05/2014' time '18:51:21' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.112' message 'potpourri - abort in `ol view` ... need to parameterize this - fix GsNMethod reference in new remote breakpoint code - tracing for errors during breakpoint tests ... obviously something is not right in the remote breakpoint code, but the tests pass locally (as is usually the case)' id '3aaef432-02e5-4e6a-ac79-6f76533a497d' date '06/05/2014' time '17:43:53' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.111' message 'hook up remote breakpoints mechanism to tODE...still needs testing ...' id '70f21e10-4e48-4dff-9c9b-c8904b7305c7' date '06/05/2014' time '16:18:51' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.110' message 'fix `pf view` browser ... capture stack on bu error and do not fail test ... problems running backups automatically when sessions are severely limited ' id '31cb0a9c-be9b-446c-8028-dcf38c86f956' date '06/04/2014' time '15:34:37' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.109' message 'allow for filtering new interaction priority - interaction invented to record headless interactions in object log - Issue #63 and glassdb/glass#21' id 'ce77ac75-f931-4d4c-95f4-21fcb5808a0f' date '06/03/2014' time '16:12:58' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.108' message 'Issue #39: tweaks to debugger when attached to a continuation - `debug continuation` menu item in TDObjectLogEntryBrowser attaches debugger to the process .. can''t step and continue at the moment - `ol view` command brings up TDObjectLogEntryBrowser' id 'fcfc1f6b-8874-41f2-94fa-8b4171192339' date '06/03/2014' time '08:06:51' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.107' message 'remove TDObjectLog and TDObjectLogElementBuilder as they are no longer used' id '718b4a71-fd8f-4df9-b0ac-74a76d5d0a94' date '06/03/2014' time '07:43:01' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.106' message 'implement `attach` menu item in `ol view` for debugging continuations - actually debugging continuations via RemoteDebuggerLogEntry is problematic: - DebuggerLogEntry class>>createContinuationFor: breaks when used with RemoteDebuggerLogEntry (cannot find compiled method) - when the continuation is continued via `value: #debug`, the process gets a SIGSEGV (in 3.2) - defer til later - attach works fine' id 'e057afde-0e5a-43fd-b60f-bc70f50b7f6b' date '06/03/2014' time '07:35:27' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.105' message 'first cut at pass re-implement `ol` command - `ol clear` and `ol view` - --age option for specifying a time-based cutoff - for view only select object log entries newer than age - for clear only clear object olog entries older than age - still need to - remove TDObject and TDObjectLogElementBuilder - attach debugger to continuation ' id '8fbc6759-b5f5-4382-8dd0-b416a3c362c6' date '06/02/2014' time '21:43:23' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.104' message 'refactor diff/merge to use source/destination instead of local/remote - try to use (-) --> (+) in window labels for clear indication of source and destination (direction of diff) - rename instance variables and selectors to use source/destination terms ' id 'af00bb33-ab69-46ef-a207-5f76ad67b1db' date '05/30/2014' time '07:21:07' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.103' message 'skrewing around with skew - diff (cached) menu item - git diff tool now has options for --cached and (not) --cached - use loadProject (not revertProject) as final step in skew save - redecorated project list menu ' id 'bd91e9ed-7076-40a3-8acc-4f6c23cb302c' date '05/29/2014' time '13:51:36' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.102' message 'good progress on `save version skew` menu item - git->diff menu item shows outstanding changes in sandbox - skew diff and skew save menu items implemented - git reset command implemented - git merge tool tweaked a bit to break out ''nothing to merge'' test and to allow project tool to supply complete/abort block to merge tool ' id '137749c7-dbb7-4f43-8253-7aa7c389e018' date '05/28/2014' time '21:58:54' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.101' message 'more git menu items (and implementations) project list - git branches, checkout, fetch are the new menu items and implementations - pull, push, diff are new implementations ' id '1ac87752-5b18-48db-82f7-053c5f4525fb' date '05/28/2014' time '16:50:28' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.100' message 'blow the dust off of the mergetool and do a merge ... - dropped a stitch or two in recent work to push git diff code around' id '2a0805b9-1147-4900-96ae-9225d74108de' date '05/23/2014' time '13:49:36' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.99' message 'git-base method versions and class versions - git log displayed with commits that only affect the selected class or method - clicking on the commit comment brings up a diff (for methods) or a difference browser (for classes) that show the changes to the relevant methods/files within the class structure - TDGitRawHistoryBrowser has become the utility browser as it invokes a block on click allowing customization of action ... probably ought to replace other browsers with this style of operation - make unregister project available for all projects ... convenient when you want to completely change how a project is loaded ... unregister, modify @project file, load ... only the changed definitions are loaded (if any) but all project list structures are updated ' id '3d206d57-a8d6-48b8-8b68-d250ae237bea' date '05/22/2014' time '18:14:08' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.98' message 'filter same source, clone repo fix - option to filter out same source entries in diff - fix clone to properly register the correct repository' id '11d33bae-133a-450c-8e9c-f99151a41fd2' date '05/21/2014' time '11:03:04' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.97' message 'implement clone github project in project list - `git clone` implemented - TDMetacelloTool>>projectMap:toRepository: implemented' id '5a4d3666-0bc8-48ab-b6d9-ea61de5b2cdb' date '05/20/2014' time '16:40:34' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.96' message 'a bit of work so that line ending diffs can be recognized' id '1c66ac5f-c8c2-4da7-9e2a-910c1e1152cd' date '05/19/2014' time '12:13:04' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.95' message 'arrange for doing diff for git-only repo - history not available in diff browser when doing plain diff' id '827f6125-e5bf-4f95-91e8-99424be98e04' date '05/15/2014' time '20:32:44' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.94' message 'checkpoint ... testing /home/templates/commit script' id '07a23f7e-a9f7-40e8-a08d-8ce036cc28e2' date '05/15/2014' time '05:46:33' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.93' message 'preparation for hooking scripts defined in /home/tode up to the Project Browser - pushing implementation of selected project menu items (changes, save, load, revert) to TDProjectExtensionsDefinition where it will be possible to override these items with calls to the scripts in the project directory ... thus the user can customize the behavior of these scripts and ensure common behavior between tools and command line. - commands may specify a fifth argument in their blocks to obtain the actual commandNode that implements the command ... primarily useful for shell nodes to determine which directory they are defined in ...' id '4e2410ca-c956-4d38-9cc4-095595d10999' date '05/14/2014' time '16:44:42' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.92' message 'TDGitFullHistoryBrowser is not block-based (Cmd-l recalculates list)' id '4b6c3aa5-5e68-47e0-b96a-dd2192cdbed6' date '05/14/2014' time '11:48:52' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.91' message 'implement `bu remove` and adjust baseline to load Tode-GemStone-Server-Tests - plus tests and man pages' id 'f2859bbe-299c-414b-a862-54f35443e816' date '05/13/2014' time '16:45:16' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.90' message 'initializeTools in baseline ... pick up loads from registration ... stub out `bu remove`' id '9bf6a89d-7e22-4198-8243-a69401565f09' date '05/13/2014' time '16:24:00' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.89' message 'add #app3 and #app4 window locations positioned above #app1 and #app2 - created named window locations app3 and app4 for more options positioning "multi-pane functions" - use the new named window locations for monticello browser functionality - add date information to the "oneline" commit log displays - arrange to call `TDTopezGemStoneClient initializeBounds` when Tode-Client-Common is loaded to ensure that we pick up new bounds in TDTopezClient class>>createBoundsDictionary' id '3496e2be-88c8-4ac4-90e2-11c613bc4e87' date '05/13/2014' time '11:07:46' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.88' message 'add full current log entry menu item' id '22be2b49-3171-4802-845f-4d3e0be13895' date '05/12/2014' time '19:53:53' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.87' message 'file tree diff browser gets install remote/local ' id '7551febf-7213-4ccb-9eaa-8939cd7574e1' date '05/12/2014' time '19:38:10' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.86' message 'full commit log browser and project browser tweaked - full commit log entry displayed when log entry selected - finer control over commit log browser window label - project browser menu re-ordred' id '78d4a2dc-33ab-4023-b075-203ac0951591' date '05/12/2014' time '17:48:30' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.85' message 'Add commit, diff, log menu items to project browser: - `project log` command implemented and documented in support - refacted the `project` implementations to provide Smalltalk API - implement TDGitFullHistoryBrowser>>fullLogMenuAction:selectionIndex: leveraging TDGitTool>>gitlogtool:limit:gitRepoDirectory:' id '9c9f5aff-4152-401f-98ca-edacb6af0c88' date '05/12/2014' time '17:34:25' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.84' message '- add full history browser (on commit log entries) - selected class filter for the file tree diff browser - browse the changes for a single commit menu item added hither and yon - TDGitTool>>gitfiletreeChangestool:gitRepoDirectory: - I like the funtionality, but I think the browser can use a little restructuing ... fortunatley there''s just not a lot of code involved...' id 'f8cd1055-e0c7-4c8d-9e3c-7d5dc391c720' date '05/12/2014' time '15:55:10' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.83' message '- implement Git History Browser that displays git history of selected method in diff/mrege browsers - hooked up to file tree diff browser at the moment, but need to include with methode vresion history as option ... - enable/disable Method menu items in the filetreediffbrowser based on whether selected item is a method or not ... - getting close to starting work on reworking the TDGitDiff/MergeOperation hierarchy ' id 'c462c5c5-185f-4195-97c5-403216532059' date '05/12/2014' time '12:58:40' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.82' message '- added browse method menu item to file tree diff tool - add toggle view st only menu item to file tree diff tool' id 'e831d61e-068d-4317-8f84-f7903ce96e9d' date '05/10/2014' time '22:26:46' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.81' message '- fine tune `filetreetool` feature implementations - toggle view st only menu for `filetreetool`' id 'e8d8deea-7c23-44d5-9498-fb34303a715f' date '05/10/2014' time '21:03:50' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.80' message '- improve git diff support 1. better error handling for bad commitish 2. identify add/modify/delete - improve `filetreetool` 1. display method spec for smalltalk methods 2. `browse class` menu item for smalltalk methods' id 'c9f52ba2-7edf-44eb-8555-816482a29fda' date '05/10/2014' time '20:41:25' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.79' message '- implement `git filetreetool` for doing diffs against filetree git repos ... two advantages: 1. smalltalk source is formatted before comparison, so only semantic differences are shown 2. senders/implementors menu items available on Smalltalk methods ...' id '09e4814e-ddd7-4896-b1bb-28e260b13c93' date '05/10/2014' time '12:13:24' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.78' message '- fix issue when removing class from system in Hierarchy window - fiddle with categoery window - hook up merge diff browse for git merge and mc merge - remove TDMergerClientListElementBuilder and TDMergeTool' id '65332533-7b41-4f05-9227-5a045db50c51' date '05/10/2014' time '08:11:44' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.77' message '- remove TDGitDiffer class as it has been replaced by TDGitDiffBrowser - add undefined symbol handling to the code that does reflection on script path nodes. Scripts can have all kinds of undefined symbols, but that should stop us for searching for references or senders or literals ' id '9e9a7d62-2caa-41e0-8ca3-9b8f011c9a0b' date '05/09/2014' time '17:02:58' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.76' message '- TDFileTreeDiffBrowser created and looks good (formats the smalltalk methods in FileTree structure before compare) and allows for doing senders and implmentors ... - TDMergeDiffBrowser and TDGitDiffBrowser created, but not hooked in quite yet' id '1d3defb6-97d9-4262-a53a-7c2879c37c64' date '05/09/2014' time '15:42:47' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.75' message '- add `inspect` item to object menu - dip toe in water for revamping git diff tool' id '7a2f2840-8db8-4c88-9455-19158dce73f6' date '05/09/2014' time '12:32:41' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.74' message '- fix up `eval` command ... different implementation between 2.4 and 3.x' id '7f9f7b38-cd92-4199-b40b-7e9f67b9d8af' date '05/05/2014' time '22:15:10' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.73' message '- clean up implementation of `debug it` ... need to be able to access literals in doit context - start work on `method` command - implement `method browse` command - implement `method protocol` command - tests' id '25486490-7944-4d30-9d76-eab2e591df73' date '04/28/2014' time '17:56:47' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.72' message '- TDAbstractDevTool class>>performCommand:objIn:commandOptions:todeCommand: to provide for --help for regular commands - --help option added to abort, cat and cd commands ... tests - categorize some TDShellTool methods ... those that have been rewriiten - begin work on the `cls` command ... - `cls accessors` implemented plus tests - fix an option handling error in `bu` command' id '39d08bc6-1b80-4676-a8b4-85052e0dff32' date '04/26/2014' time '21:09:11' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.71' message '- convert implementors and senders menu itme in method lists to use blocks .... - slice halos out of system ... make the TDHaloDevTool obsolete - MethodReference>>printOn: make the class inspector friendly' id '044eb6a7-156a-41be-afe2-d6a2577b611b' date '04/26/2014' time '10:01:02' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.70' message '- obsolete a bushel of classes that are not used right now and/or will have to undergo major changes if they are to be brought back into tool set ... roassal was a proof of concept ...' id 'a4215438-3b6a-4b20-86f1-016e0fec6a16' date '04/26/2014' time '08:42:56' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.69' message '- move a bunch of classes to the obsolete repository ... these tools have marginal utility and need to be rewritten before re-incorporating in standard tode ...' id '471ad2f1-8ee0-412a-bb6d-a8a684a2bccb' date '04/26/2014' time '07:52:18' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.68' message '- add SEE ALSO section to man page - `bu` command man pages and new implementation based on getopts' id 'bddda5f3-dbce-4dd2-9aef-fca1f3f31180' date '04/20/2014' time '21:06:28' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.67' message '- working on getting tests to pass in GemStone 2.4.x' id '30be143a-0db5-4275-a705-c76df06d70f3' date '04/19/2014' time '20:44:34' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.66' message '- remove undeclared symbol references from Tode code base - implement block-based method browsing so that refresh of window recalculates search - need block-based class browsing .., - use GsDeployer for class changes - fix up item selected problems ... - add --staticList option bot `browse` command' id 'afd0e8e4-676a-41bb-aa50-6b964814ed1d' date '04/19/2014' time '12:14:39' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.65' message '- handle AlmostOutStack as a printing error - add subCommand --help and `man` support to tools - --select option added to all browse commands (need to implement) - `browse category` command added again, plush subCommand man page - `browse class` man page updated for subCommand support (still need to finish `browse class` implementation - `browse` man page updated for subCommand support - `browse symbolDict` command and man page added - tests ' id '5359786a-3bdd-41aa-b81d-c4d65a7ba8b3' date '04/18/2014' time '14:05:44' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.64' message '- ByteArray print shouldn''t be truncated and shouldn''t print the String interpretation...' id 'e7007f30-437f-40e4-99f1-b95ca033dbc3' date '03/31/2014' time '22:44:37' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.63' message '- CharacterCollection should include size... - ByteArray print shouldn''t be truncated and shouldn''t print the String interpretation...' id 'a6f450a3-1579-4611-ac09-8632bd341a88' date '03/31/2014' time '21:38:10' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.62' message 'Object menu functional in code window ... `tode it` and `profile it` menu items implemented ...' id 'cc72312b-4fcc-417d-8560-57e735d9a120' date '03/26/2014' time '18:59:08' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.61' message 'pass list and selection index for list in one pass (using an Association)' id '4c784bed-a985-4a90-9be9-be03b2a7f789' date '03/20/2014' time '20:47:40' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.60' message 'replace most uses of `System myUserProfile symbolList` with `GsSession currentSession symbolList`, since `GsSession currentSession symbolList` provides access to session-specific symbol list ... which when done should be used ...' id '8fd6f030-b231-4748-a002-101d1f608c32' date '02/07/2014' time '07:56:28' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.59' message 'tweak TDGemStoneTool>>gsfileout:externalMethodMap:classToFilenameMap:defaultHeader: for support of ernie dev' id '0a0fd969-c387-456f-a7ca-0ad65d567703' date '02/07/2014' time '07:36:26' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.58' message '`gs version` command ... edits `System gemversionReport`' id '04afd28d-a171-4135-9496-5ec67df6f161' date '01/31/2014' time '15:01:07' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.57' message 'Issue #53: add --scriptPath flag to the following `browse` and `find` commands: browse [--scriptPath=] psender [#] browse [--scriptPath=] references [@filter-block-path] browse [--scriptPath=] rsender [@filter-block-path] browse [--scriptPath=] sender [#] [@filter-block-path] browse [--scriptPath=] source [@filter-block-path] find [--scriptPath=] psender [#] find [--scriptPath=] references find [--scriptPath=] rsender find [--scriptPath=] sender [#] find [--scriptPath=] source For the `browse` command, the definition leafNode list will recalculate on refresh...' id '05b61ff1-69cd-45ef-b9c0-e54239ff1941' date '01/31/2014' time '08:54:05' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.56' message 'move ExecBlock method to Topez-Server-31x-Core' id 'ebe62410-6e70-4469-ac3f-5afe7dce9391' date '01/20/2014' time '17:05:09' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.55' message '`gs objectFor` command (get obj from oop) checkpoint TDRcIndexDictionaryNodeBuilder and TDRcIndexDictionaryKey work ... improving inspector support for RcIndexDictionary ...' id '40d4300b-ab48-450d-bbfd-ea5eb6bd6ece' date '01/15/2014' time '17:19:54' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.54' message 'allow fur updating both class-side and instance-side method categories for gs fileouts..' id 'ed9f226a-7f20-4c13-89ed-8336f07278c2' date '12/25/2013' time '15:50:31' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.53' message 'add support for updating method category only for gs fileouts..' id '9f7bc938-549f-479e-8f36-d518711436ef' date '12/24/2013' time '19:13:04' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.52' message 'bugfix TDFileSystemDirectoryNode>>addChildFileSystemLeafNode: ... add TDGemStoneTool>>gsfileoutClass:header:on: ' id '17afd984-9864-4c4e-a2ee-0a5058041d89' date '12/21/2013' time '11:53:04' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.51' message 'CMD-SHIFT-P: add window label to printout ... `gs halt` implements an AlmostOutOfMemory handler ...' id 'e2c49605-f98f-4331-986e-69befb63e6e1' date '12/18/2013' time '21:05:37' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.50' message 'TDSessionTempNode is a better way of stashing session temps in the object structure. Basically a "persistence barrier" can be insterted into an object structure. TDSessionObjectNode was an interesting idea, but did not work in practice as the "session tempness" was difficult to preserve ...' id 'fd407b59-4f51-41d4-a34d-85c920e6e1c5' date '12/16/2013' time '19:41:38' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.49' message 'Need to use FileDirectory readOnlyFileNamed: to correctly get file contents...' id '4055d986-3e1c-4cbf-bba0-e14b17e46709' date '12/13/2013' time '18:15:13' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.48' message 'Issue #37: enable edit of .ston objects and raw filesystem files after cd''ing into a gateway reference to a filesystem directory .... open the door to sharing scripts by "directly editting object nodes and leaf nodes hosted in a git repository" ... still need to work on rm/touch combo but this is very close to complete!' id '2cd747cc-c8d1-4b6c-8f4e-e330e23e6329' date '12/06/2013' time '11:49:39' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.47' message 'sort associations for dictionary builder (TDDictionaryNodeBuilder) ... add `gs sessionDescription` command to easily get the gem pid for attaching gdb ...' id 'c6908991-7a04-4c86-9823-0189f1ef512b' date '11/14/2013' time '17:04:20' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.46' message 'Rename some of the methods. getOpts* is a better pattern ... monkey with TDManPage to make it easier to create a man page for a script (in the script), also add EXAMPLES section to man page' id 'bc089a97-2114-429c-878b-f9ef3689cc35' date '11/11/2013' time '17:52:10' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.45' message 'Issue #16: fix a parsing error (plus tests) ... move helper method for doing mixed long and short getOpts from gs tool to TDCommandLine and TDCommandGetOpts ... beef up `gs fileout` command for class/package/category fileouts with options!... write methods as UTF8 ... consolidate fileout methods ..' id '5222b2f5-efa0-41a7-8c13-9e54ebf4c946' date '11/11/2013' time '14:49:59' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.44' message 'Issue #16: convert all command blocks to the form: [ :topez :objIn :tokens :command | ]...convert subCommands to use: TDAbstractDevTool class>>performSubCommand:objIn:todeCommand: ...add better subCommand support to TDCommandLine (teach it to respect subCommands) ... still need to remove windowId and tokens instance variables from TDAbstractDevTool ... TDTopezServer>>evaluateCommand:objIn: and TDTopezServer>>evaluateSTONCommand: are now the primary entry points for command processing ...' id '81202b7e-8eaf-4caa-a774-8060e72a58ac' date '11/10/2013' time '11:27:17' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.43' message 'tweak TDGemStoneTool>>gsfileout:filename:range:in: to compensate for some 3.2 fileout bugfixes ...' id 'fc43e827-d268-4f7c-a451-933970b3abec' date '11/06/2013' time '06:37:57' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.42' message 'start work on interactions (choices, prompts, etc.) ... down to `save` menu item before completing the Monticello Browser family of tools, which explains need to implement prompt ....' id '93825973-6f13-40ab-be08-4d71d1bbf5c6' date '10/20/2013' time '14:40:58' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.41' message 'fix `gs fileout` ...' id '25770e25-4d13-4b25-9f94-f3e82fe7d579' date '10/18/2013' time '22:00:09' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.40' message 'really fix funky hierarchy list bug ... tweak TDProfileTool>>pfview: return value' id '8ed5a5f1-49ee-48c9-a80c-b22cbc06cc61' date '10/18/2013' time '06:10:59' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.39' message 'Attempt to get around security violations in TDSymbolDictionaryDefinition>>classDefinitions ... TDSimpleDiff created to support generic in-image text diff views...' id 'e98d03cb-53ce-4981-8f23-d4c8218fb267' date '10/11/2013' time '19:34:37' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.38' message 'ensure that lf is used in exported source files in TDGemStoneTool>>gsfileout:filename:range:in:' id '4f7f931f-4be6-4fe9-8d36-2f7cbe336aed' date '10/09/2013' time '15:58:36' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.37' message 'implement TDMiniToolSpec and TDMiniToolClientListElementBuilder which allows for creation of list-based tools without having to create a TDClientListElementBuilder subclass...only need to specify blocks for: TDMiniToolSpec class>>topez:clientListBlock:menuActionSpecBlock:menuActionBlock:itemSelectedBlock: to create custom list behavior. fix `mc fileout` API so that .gs files with multiple classes can be updated correctly (i.e., the method is matched based on proper class)' id '3f23e6e4-cce6-441b-919d-466871e5aad4' date '10/07/2013' time '14:34:52' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.36' message 'all git commands that #edit the response will use the window named #gitStatus ... cut down on window proliferation' id '1d0235bb-d211-40de-8e9c-2851521ecf59' date '10/06/2013' time '12:46:35' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.35' message 'Issue #38: first cut at functional tool ... works, but need to fiddle with menus' id '350377ad-e7ec-4544-bbe0-0805890b7f81' date '10/06/2013' time '11:47:40' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.34' message 'Issue #38: just getting started with `git difftool`' id 'ad46cc9a-d755-4859-9178-4b3cff7f2969' date '10/05/2013' time '17:59:49' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.33' message '`mc fileout` will now file out source to files (classes and methods) or a single file.. make the `gs fileout` command compatible with the gemstone filein process (entails building our own versions of the class-based fileout methods)' id '15219fdf-b57e-4045-b695-f80796302ae8' date '10/02/2013' time '17:16:22' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.32' message 'add variant of `mc fileout`/`gs fileout` API that writes class defs to one file and class methods to another file ... this is the one I will use for deploying Indexing changes for GemStone 3.2.' id '146c81de-c730-48ed-8cd6-4f9b4e816b0d' date '10/01/2013' time '21:12:14' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.31' message 'pull filename map out as arg to `mc filout` API which filters over to changes in the `fs fileout` API. ' id 'e3c2180d-dbab-45f1-93f8-89471c32dc3b' date '10/01/2013' time '17:31:02' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.30' message 'create `mm fileout` command for doing a fileout of a full configuration .... `gs fileout` command finished up for this round: - one file per class (will change this to allow for alternate groupings) - extension methods overrideds changed in place in existing files new methods added to end - hard-wired class to filename map (will make this an option)' id 'fe764172-6cd8-427d-b885-7257a20bfca1' date '10/01/2013' time '14:47:38' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.29' message 'Issue #28: start defining `menu actions` ... starting in TDClientListElementBuilder ..' id 'b3b62cef-a31c-442e-b1e4-1faddff2adbb' date '09/30/2013' time '21:39:26' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.28' message 'add `mc fileout` and `gs fileout` commands ... aimed at providing fileout support that is compatible with saving source as .gs files ' id '211dc6ab-9faf-4d80-a522-daa5aa33d69d' date '09/30/2013' time '17:05:11' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.27' message 'flesh out profmonitor viewer tool: - `pf view` can be used to navigate the ProfMonitor results - TDProfileTool>>pfview: is the script API for ProfMonitor viewer tool - TDProfileTool>>pfmonitor: can be used from scripts to profile a block, then use TDProfileTool>>pfview: to look at results - added labels and other goodies to the ProfMonitor viewer tool' id '2645876b-7069-4cd0-b06f-51da896033c8' date '09/28/2013' time '13:49:16' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.26' message 'align #context location with #debugger location ... use debugger width too... use #context location for debugger context display...bump default `list limit` to 140 ... checkpoint the profmonitor analysis tool' id 'f7219afe-e567-4cf1-bdfd-6e00da4f5eda' date '09/27/2013' time '22:09:47' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.25' message 'tweak `git mergetool` command' id '1fe42234-7df4-40e8-8868-1c31964850e3' date '09/27/2013' time '08:57:00' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.24' message '`git mergetool` implemented ... this is a rough cut implementation as TDMerger and TDGitMerger deserve to be ... merged ... there is a fair amount of shared state and behavior ... TDGitMerger is not based on definitions but files whereas TDMerger is based on monticello definitions...' id '773ba959-fa54-4547-b128-4ae4d921fdf7' date '09/17/2013' time '12:23:56' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.23' message 'add `mc snapshot` command ... record restorve from backup in object log...' id '8683df84-2e5e-46a8-8c8b-3923c4f6b946' date '09/17/2013' time '04:45:42' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.22' message 'support for structured ston exports ... build directory structure on disk to match internal dir structure and only export as ston the leaf nodes (or leaf node like dirs) ... easier to control what you want included in your image...' id '0cae9abf-9e4a-4550-9296-ef2919301871' date '09/14/2013' time '23:41:34' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.21' message 'checkpoint: Implement `git mergetool` command Add control for loggin in TDAbstractDevTool>>performOnServer:logging: remove TDCypressTool>>cypmerge and TDCypressTool>>cymmerge ... cypress merges handled by `git mergetool`' id '89f94d08-f133-4dfb-811f-30211664bd57' date '09/04/2013' time '01:21:42' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.20' message 'checkpoint: begin work on the mergeTool for merging Monticello packages and Cypress repositories. create TDSessionObjectNode class that stores object reference in a TransientValue ... avoid persistent refs to things that cannot be persisted. Use TDSessionObjectNode for the debugger... Add TDGitTool>>performGitCommand:in:worktree:with: to allow independent control of location of work-tree ... Actually use the TDEditorSpec>>windowLabel field when building windows. More keyboard shortcut stubs ... Start building merge command "gui" support Implement mc save, so I can create branched mc versions to test merge command.' id '3b8b8b21-83a0-44f6-bf8c-f1091bdbd15a' date '09/03/2013' time '15:04:06' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.19' message 'create MCNewFileTreeTodeTool to use command arguments and eliminate structural dependencies. Extend functionality to include doing the `git push` (relying on passwordless ssh access to github). shell examples moved to /examples... better scripting api for git tool for example: TDGitTool>>gitcommitIn:with:. All git commands use a similar form....workaround for `git pull` bug.' id '85e7d3e8-39c4-4bc5-9224-aba918fc041c' date '08/14/2013' time '11:00:30' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-.18' message 'Use #withGemstoneLineEndings in TDGitTool>>createTmpFileWith: since lf is expected on disk Let''s see if this works:)' id '06ee3019-9667-4818-9075-352692213444' date '08/08/2013' time '16:27:58' author '' ancestors ((name 'Tode-GemStone-Server-Core-.17' message 'create TDGitTool>>resolveDefaultGitRepoDirectory. If a `gitRepo` is not present assume that you are in a git repo and use `.` as the git working directory...fix a problem with resolving `.` correctly' id '5bdb8736-fd5a-413b-b6a7-c07893a8e9b1' date '08/08/2013' time '06:41:21' author '' ancestors ((name 'Tode-GemStone-Server-Core-.16' message 'add TDFileSystemDirectoryNode that provides filesystem access for instances of ClientFileDirectory or ServerFileDirectory...especially useful if you create an instance in a gateway node....add TDFileSystemLeafNode that provides access to (text) files for editting and catting from within tODE' id '2c99a8fb-d52f-4449-843a-b1876c44e4e1' date '08/07/2013' time '17:18:02' author '' ancestors ((name 'Tode-GemStone-Server-Core-.15' message 'add `mm locked` command to list locked projects ... update gitManPage to explain that @gitRepo is used as default git repository path' id '42f5155f-7c96-4fa5-ac42-9c7e7b65c717' date '08/04/2013' time '14:21:43' author '' ancestors ((name 'Tode-GemStone-Server-Core-.14' message 'fix bug in TDGitTool>>createTmpFileWith:' id '0afc63d1-d085-415d-bb3c-0e4ab9e57dfb' date '08/04/2013' time '12:56:01' author '' ancestors ((name 'Tode-GemStone-Server-Core-dkh.13' message 'create git tool with support for all common git commands including api support ... create an api for mm commit command' id '347b17ff-feba-4879-9494-a2fdd1170a74' date '08/03/2013' time '15:09:38' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.12' message 'record backup and restore times and bu list shows them ' id 'bb0f1d31-8760-4ff2-9d0f-c341cac2b346' date '08/02/2013' time '12:15:49' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.11' message 'include timestamps in bu list command ' id 'e7cf3060-a3ef-458f-8a9e-bcbfc8e05db0' date '07/25/2013' time '15:03:40' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-.10' message 'use TDAbstractDevTool class>>performSubCommand:objIn:tokens:windowId: whereever appropriate ... lots of places ' id 'c14b4875-a744-469f-8c23-3d4f46cc1423' date '07/09/2013' time '16:00:33' author '' ancestors ((name 'Tode-GemStone-Server-Core-dkh.9' message 'rm removes multiple nodes....avoid IdentitySet when doing find command...use truncate: since we want ellipses...' id '30d78830-4873-46f8-ad7a-1e179a4dcc59' date '06/04/2013' time '20:44:43' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.8' message 'rename listIndex iv in TDClientListItemAttributes to list, since the slot is now expected to be an OrderedCollection...#navigate editor aspect should be reserved to use as the default aspect that brings up the standard navigator for all objects; rename attributes for those that didn''t follow this convention...add some support methods to TDGatewayNode...TDStackFrameContentsClientListElementBuilder should be a subclass of TDDirectoryNodeClientListElementBuilder so that we sharing some important behavior.' id '812d9b06-82ad-43ba-bf35-ca331e59d3c8' date '06/01/2013' time '11:23:35' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.7' message 'pharo port tweaks' id 'cf02e6fa-79c8-4d71-a883-eea57549913c' date '05/30/2013' time '07:06:31' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.6' message 'displayOn: is already taken in Pharo ... replace with displayOnPolicy:' id 'a7237721-1c06-4c65-b150-b1a5b5f17f9e' date '05/30/2013' time '06:41:26' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.5' message 'start work getting editors working in Pharo ' id '75e1a42a-fdae-42b1-a92b-0fe00b265516' date '05/28/2013' time '07:39:34' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.4' message 'handle block source in portable manner ' id '217531c1-feee-47ee-b4ed-885629a2787d' date '05/28/2013' time '06:33:27' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.3' message 'pushing more things around ' id 'b2eae1df-258f-4f1d-9487-28bb39a32237' date '05/27/2013' time '19:35:40' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.2' message 'move CharacterCollection>>printUsing: from Topez-Server-Core to Tode-GemStone-Server-Core ' id 'c3c2455c-f608-4eef-b450-2ff9b4e29cb3' date '05/27/2013' time '17:53:24' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.1' message 'Issue #25 ... re-packagin in preparation for Pharo port' id '87904ca4-7281-483c-8bf5-5f77dad83935' date '05/26/2013' time '10:31:19' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Tode-GemStone-Server-Core-dkh.179' message 'the gemtool restore method was actually doing a backup ... not cool:(' id 'b8294754-7069-4411-bc30-3edac60c5d5d' date '10/08/2015' time '12:02:42' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.178' message 'Issue #202: clean up some tests for snapshots also man page cleanup' id '2f2cb9d9-b241-414b-9618-7279fd311351' date '09/16/2015' time '16:26:35' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.177' message 'Issue #202: add --uncompressed option to `bu backup` command. Default for `bu backup` is to create a compressed backup. Also add a `bu validate` command for validating the readability of backup files ... update tests ,, improve (hopefully) performOnServer: functionality by getting back explicit command status' id 'c8c7c433-cd42-4e79-9030-d57b9e846f50' date '09/16/2015' time '15:45:18' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.176' message 'Issue #197: add notTranlogged synthetic field' id 'f3865e49-8ef8-4ca0-8afc-b741f8edf0f0' date '09/07/2015' time '17:27:40' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.175' message 'handle error in git merge tool a scoosh better (TDGitDiff>>source:)' id '10b03a5e-f706-491a-9625-ed27ad76f4c3' date '09/07/2015' time '12:50:48' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.174' message 'Issue #186: fix up some protocol pane errors ... clean up some failures for the `bu` command tests' id 'eee8c0b1-1d29-4fb2-a215-0348003bee39' date '09/01/2015' time '10:01:26' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.173' message 'Issue #184: move TodeClientElement>>printOn: to Tode-GemStone-Server-Core' id 'd47cff7b-42f2-4180-8114-5dc9f6f7b126' date '08/12/2015' time '13:21:01' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.172' message 'Issue #182: force a checkpoint before creating a snapshot ... add Pharo5.0 and GemStone 3.2.7 to lineup' id 'c721dde4-bd85-44a6-a2bb-7f94423ab301' date '08/07/2015' time '11:00:56' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.171' message 'fix a bug in `gs references` command' id 'ba5d0b15-96a6-4999-92cf-2ff70000b3be' date '07/05/2015' time '14:04:23' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.170' message 'add find references to navigator for all objects ... inMemory and inRepository' id 'ca1be07a-6185-4e32-b1a7-5c4745239c37' date '07/05/2015' time '13:42:35' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.169' message 'add --inMemory option to `gs references` command' id 'b8710db7-e4d0-4989-918f-7689aa0e064f' date '07/05/2015' time '13:01:15' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.168' message 'implement `gs references`' id 'e6ad9131-477a-4577-adee-0768988a2b34' date '07/05/2015' time '12:33:32' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.167' message '- add synthetic `committed` field to a few places where it was missed - take a list for `gs objectFor`' id '08894ac7-a49a-4fc7-8d0b-ea11ddf55c68' date '07/04/2015' time '16:00:49' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.166' message 'bring TDGemStoneTool>>gsobjectFor into the modern age' id 'ee0eb396-05a0-4449-819e-5e035ba92e72' date '07/04/2015' time '09:36:07' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.165' message 'object creation viewer for tODE is complete ... a nice bit of cross-referencing to view other classes that may be created in the stack containing a particular method ...' id '79a5e05d-307d-47f9-85c1-93249d4efde3' date '07/03/2015' time '17:53:11' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.164' message 'Pushing things around for the object creation view ... sort by tally and sort by tally class ... want to display total object count as well as object count by class in summary view and then when viewing callers/senders stack get a chance to switch to a different class ... the ProfMon provides separate call stacks segregated by class ..' id 'a947648b-d51e-47b1-bbe9-293f7429a90b' date '07/03/2015' time '16:09:42' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.163' message 'big chunk of work implementing object creation profile view ... basics are there, but I can imagine some additional tweaks' id 'c8b66a55-5045-4600-a2df-e031be0d0ce2' date '07/02/2015' time '17:38:01' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.162' message 'Issue #175: convert all users of STON in tODE to use #objectSerializer method ' id '6ac913a2-9004-40d6-a9b5-5c3378046873' date '06/25/2015' time '16:35:54' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.161' message 'Issue #175: major edit to start using the new protocol introduced in STON v0.9.? and pharo-0.9.1?. v0.9.1 and pharo-0.9.1 are on the gemstone_dev and pharo_dev branches so that travis tests can be run ... ' id '70da1dcc-f425-4e21-b381-98dc9adba696' date '06/24/2015' time '17:23:15' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.160' message 'starting to use gemstone_dev branch of STON which is the port of STON 0.9 to GemStone ... the tricky part is to change the encoding scheme' id 'c4ef7979-6635-4626-8fff-b8bdae75ba09' date '06/19/2015' time '15:05:14' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.159' message 'Change GemStone .gs fileout support to tuck new methods in after the last method for the class instead of randomly at end of file ... not tested yet....' id '723caa9d-0124-49b1-bf9a-b9a16dfe06fe' date '06/16/2015' time '20:38:17' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.158' message 'final round of format tweaks ... will wait for new traceObjetCreation api for further `pf` work' id '0d24bdb2-d271-4beb-8a11-2b594c5f4354' date '06/12/2015' time '11:34:16' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.157' message 'checkpoint ... fine tune tally limit filtering' id '8240416a-bb1d-4ae2-bd28-e45e343d8ca8' date '06/11/2015' time '17:08:25' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.156' message 'checkpoint ... fiddle formatting to accomodate edenUsage' id 'abacb119-ada5-491d-a184-debe319ccf83' date '06/11/2015' time '16:47:08' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.155' message 'checkpoint ... working on getting the latency source view usable ... ' id 'f2adb9b8-d7f1-47d0-84cc-5dee06879173' date '06/11/2015' time '16:09:37' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.154' message 'fix up entry formatting ...' id '5225d172-477c-47b4-b277-b1e58c036e36' date '06/11/2015' time '15:19:32' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.153' message 'clean up clientList management logic for the two profiler windows' id 'a9b3e483-1246-44d6-bd06-6c339fc2fa7e' date '06/11/2015' time '14:58:43' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.152' message 'fix layout for prof mon entries' id 'd4e3c2b7-06b8-4333-9ba3-1cd28cdfd872' date '06/11/2015' time '14:47:13' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.151' message 'checkpoint ... refactoring the main view for execTime' id '3b48f173-fd86-42f6-8156-ff47064f8c44' date '06/11/2015' time '14:12:38' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.150' message 'all profiling reports look good except for edunUsage ... I think I might to produce a better report for new object creation...' id '79e65a63-1aeb-4e32-a4f2-c6600be74a38' date '06/11/2015' time '12:03:23' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.149' message 'support the new profiling features in GemStone 3.3: - new package and tool class (TDProfileTool33 - implement smalltalk api in TDProfileTool - add options to selected TDProfileTool commands - intial implementation of new 3.3 features' id 'ca87fa26-7024-4913-994d-2470a87a01c2' date '06/11/2015' time '10:06:18' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.148' message 'if checkpoints aren''t still suspended after snapshots complete must remove snapshot files' id 'c73ad961-9312-4b6c-a419-462fcde48b74' date '03/22/2015' time '20:21:27' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.147' message 'break out body of `bu snapshot` so that it is callable from Smalltalk' id '12c21343-c10c-4a03-8c71-a6afff454997' date '03/22/2015' time '08:17:33' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.146' message 'add --safely option to `bu backup` command' id '70fa81a8-434d-488c-bb86-923c078243b3' date '03/22/2015' time '08:07:08' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.145' message 'Add --safely option to `bu snapshot` command so that original snapshots can be preserved ... often the use case in scripts for snapshot is involves preserving the original snapshot ... let user decide to create new snapshot' id '944481d8-deac-462f-918d-ab8722cbe330' date '03/21/2015' time '20:46:47' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.144' message 'Add new command `gemtool` that does GemTools-style prompting for attributes. the `gemtool` commands are being used to implement client-based worldMenu items for opening tools and executing GemTools-style operations ... will eventually migrate all `gs gemtools` functionality to gemtool command ... move TDGemToolsMenuBar to Tode-GemStone-Server-Core package' id '5dae8042-b3c5-4c6a-8a85-0e79e926f2cb' date '03/21/2015' time '16:20:41' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.143' message 'complete work on support snapshots in the `bu` family of commands ... tests added ....' id 'fd12810d-3ebd-4f8a-86ea-aa147193e587' date '03/19/2015' time '16:52:49' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.142' message 'CHECKPOINT: folding extent snapshots into the bu mix' id '3b1bc342-8448-4eae-a096-52712496d5c8' date '03/18/2015' time '21:04:37' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.141' message 'Issue #135: revise gemtools man page references after Issue #147 completed' id '2f90884e-41dc-4ce2-b605-fc269f21a6e5' date '02/08/2015' time '16:26:18' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.140' message 'Issue #147: finish up the pass for writing `gs` command man pages ' id '63b78c66-80bc-4a48-9501-773e75fa6b92' date '02/08/2015' time '16:13:35' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.139' message 'Issue #147: man pages for `gs configuration`, `gs fileout`, and `gs halt`' id '9a3f505d-ab8f-497e-99e6-980616b8f92d' date '02/07/2015' time '15:55:40' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.138' message 'Issue #135: finish up the menu implementation and finish the `gs gemtools` man page. Get started on Issue #147. A little bit of tODE batch execution love' id '33526ee8-3b2a-4767-90f0-951f05822ceb' date '02/07/2015' time '15:10:16' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.137' message 'Issue #135: finish up Admin, Help and Debug... sections ... add --continuation menu item to `ol view` and `ol clear` commands ' id '3d1d3e88-3b24-4a13-a02f-52cb5c358e15' date '02/07/2015' time '12:44:21' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.136' message 'Issue #135: finish up the `Admin>DoIt` submenu ... `project summary`, `gs configuration`, `gs sessionReport` commands added, `gs version` command expanded, `ol` commands refactored for use st api' id 'e15410c7-4d78-41ce-a115-503673b87dc1' date '02/07/2015' time '11:38:01' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.135' message 'Issue #135: finish up the `Admin>Repository` submenu items...restructure `bu list`, `bu restore` and `gs mfc` commands' id '94c6420f-96e0-4387-bb8a-ca43db6040ef' date '02/06/2015' time '16:44:55' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.134' message 'Issue #135: initial implementation of TDGemToolsMenuBar (not actually a menu bar) where gemtools menu items will be implemented ... selecting a menu item brings up the man page for the command that implements the gemtools functionality ... Implementation complete up to `Find>Class References...`' id '2721a1f9-d697-46b5-be42-2277bd15aea5' date '02/06/2015' time '11:05:28' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.133' message '`git mergetool` can be used on a git repo that has cached changes and no merge conflicts ... useful when doing manual git ops on code that is not part of a current image ... can still view in familar format and not have to resort to view `git diff` output in terminal' id '88fd6c0a-100b-4485-af3d-cf6e77f03458' date '01/31/2015' time '14:53:30' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.132' message 'need to encode source as utf8 before writing to disk on merge' id '4fd5ce93-4b6e-44dc-869f-6756d63893a0' date '01/30/2015' time '21:01:29' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.131' message 'Git merge tool update: - add move merge operation - add view image vs us/them/custom - unconditional delete (define custom as nil and select custom) - automatically resolve deletedByBoth - fix doMerge to work for deletes' id '20660fe9-05a9-490f-82c4-28abee4daace' date '01/30/2015' time '16:35:24' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.130' message '- operation tag and filtering available - always filter #''deletedByBoth'' when `us = them` (safeToIgnore) unless raw - TDGitDiff>>asMergeOperation should assign ownership to them and show usVsThem - two-way diff ' id '771cce2a-32d7-4bfd-bb1c-a630ef72f944' date '01/26/2015' time '17:22:27' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.129' message '- when copying cached diffs, leave operation resolved - add `show unresolved` and `show all` menu items - reorg menu - include cached diffs in operations list - prepare TDGitMergeOperation>>applyTo: ... not tested - add #struckOut emphasis when the file is ''deleted` ' id '6b70e793-c5f9-49c0-9eba-1c6201b581ed' date '01/25/2015' time '17:45:11' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.128' message '- format smalltalk methods before complare to eliminate formating differences - allow for copying of merge operations for cases where class rename is involved and it becomes necessary to copy definition from old to new - next step is to merge in `git diff --cached` operations since they represent the non-conflict operations ... will need to be able to copy (add new), delete, and edit non-conflicting operations ...' id '8b92684c-547c-4e21-9e68-8ce4fedf25b1' date '01/25/2015' time '10:52:00' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.127' message 'add TDGitMergeOperation to replace TDGitConflict. TDGitMergeOperation provides more control over conflict resolution with explicition resolution selection: ancestor, us, them, custom. More viewing options: all meaningful diff combinations plus explicit source view' id '6f95a331-664f-40ba-99b8-2dc1cfecc3e2' date '01/25/2015' time '09:18:34' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.126' message 'implement ClientForwarder>>printOn:recursionSet: as it can be called at times ...' id 'c9ef1d5a-35fd-492f-921f-8604e1ea697b' date '01/01/2015' time '18:15:26' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.125' message 'add `gs fileSizeReport`' id '793b5c5b-5200-488e-8d4a-634f6edd479e' date '12/31/2014' time '12:39:52' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.124' message 'Issue #5: get rid of extraneous method ...' id 'c8c0075a-df0d-47e8-8b74-83d403f694cf' date '12/18/2014' time '21:32:55' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.123' message 'Issue #5: fix an introduced problem in TDNode>>printOn:' id '5a446f86-9f0b-49ee-8d3d-2ca1bbcf3b41' date '12/18/2014' time '16:57:49' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.122' message 'a couple of tweaks ...' id '736dcc87-e494-4b38-9033-f6a6db830952' date '12/02/2014' time '19:38:12' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.121' message 'fiddle with `ol view`: do a commit instead of an abort for ojectLogBlock ... don''t lose information ... include error description with continuation label for error continuations' id 'c2970dfb-2571-4e60-9915-f769ff94d7e0' date '11/30/2014' time '10:36:00' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.120' message 'fixing `bu` command for gmestone 2.4.x' id '8eae148e-0bbd-4af3-ac56-64146aa12cf6' date '11/20/2014' time '11:24:36' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.119' message 'Issue #110: add support for mounting a filesystem .ston file (or any file-based leaf node) in addition to mounting a filesystem directory ' id 'f6c29ba5-7d5f-432f-8e25-071495739a4f' date '11/12/2014' time '11:08:58' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.118' message 'add "bread crumb" menu item to profile tools entry view ... jump up the stack of visited methods rather than have to navigate back using th `<<<` line ... the profile tools needs a modernization workover, but using the profiler today pointed out these particular issues' id 'd848139a-67a1-418f-888c-4901ec600065' date '08/10/2014' time '19:49:57' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.117' message 'for profile tool, add menu items to sort by total and sort by tally (currently only sorts by tally)' id '71dbb190-7ad2-4f7e-87ff-5398c2fcc34e' date '08/10/2014' time '18:26:35' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.116' message 'Issue #92: get started on fix Here''s the sequence of git commands used to implement this feature: - git clone --no-cache - git checkout branch - git symbolic-ref HEAD - if fatal: prompt for new branch name and checkout -b newBrancName' id 'c1d757bc-e2e2-4f23-ae45-377d55b6b707' date '07/02/2014' time '13:24:23' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.115' message 'Issue #85: take a shot at checking for voting ... need more testing' id '7c07fe0b-eef0-40ff-90c1-e29a316605de' date '06/18/2014' time '21:33:21' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.114' message 'add pid filter to `ol view` command ... add tracking to TDDebugTool class>>sendSetOrClearBreakPointSignal: to see how remote debugging is working' id '659a3fd3-3590-4b73-b9ae-f732a4ffb4c6' date '06/05/2014' time '19:18:47' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.113' message 'tweak `ol view` entry layout ... truncate the label so timestamp is still easily visible' id 'efba6a52-f117-4f0d-b953-0da42c30a306' date '06/05/2014' time '18:51:21' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.112' message 'potpourri - abort in `ol view` ... need to parameterize this - fix GsNMethod reference in new remote breakpoint code - tracing for errors during breakpoint tests ... obviously something is not right in the remote breakpoint code, but the tests pass locally (as is usually the case)' id '3aaef432-02e5-4e6a-ac79-6f76533a497d' date '06/05/2014' time '17:43:53' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.111' message 'hook up remote breakpoints mechanism to tODE...still needs testing ...' id '70f21e10-4e48-4dff-9c9b-c8904b7305c7' date '06/05/2014' time '16:18:51' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.110' message 'fix `pf view` browser ... capture stack on bu error and do not fail test ... problems running backups automatically when sessions are severely limited ' id '31cb0a9c-be9b-446c-8028-dcf38c86f956' date '06/04/2014' time '15:34:37' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.109' message 'allow for filtering new interaction priority - interaction invented to record headless interactions in object log - Issue #63 and glassdb/glass#21' id 'ce77ac75-f931-4d4c-95f4-21fcb5808a0f' date '06/03/2014' time '16:12:58' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.108' message 'Issue #39: tweaks to debugger when attached to a continuation - `debug continuation` menu item in TDObjectLogEntryBrowser attaches debugger to the process .. can''t step and continue at the moment - `ol view` command brings up TDObjectLogEntryBrowser' id 'fcfc1f6b-8874-41f2-94fa-8b4171192339' date '06/03/2014' time '08:06:51' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.107' message 'remove TDObjectLog and TDObjectLogElementBuilder as they are no longer used' id '718b4a71-fd8f-4df9-b0ac-74a76d5d0a94' date '06/03/2014' time '07:43:01' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.106' message 'implement `attach` menu item in `ol view` for debugging continuations - actually debugging continuations via RemoteDebuggerLogEntry is problematic: - DebuggerLogEntry class>>createContinuationFor: breaks when used with RemoteDebuggerLogEntry (cannot find compiled method) - when the continuation is continued via `value: #debug`, the process gets a SIGSEGV (in 3.2) - defer til later - attach works fine' id 'e057afde-0e5a-43fd-b60f-bc70f50b7f6b' date '06/03/2014' time '07:35:27' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.105' message 'first cut at pass re-implement `ol` command - `ol clear` and `ol view` - --age option for specifying a time-based cutoff - for view only select object log entries newer than age - for clear only clear object olog entries older than age - still need to - remove TDObject and TDObjectLogElementBuilder - attach debugger to continuation ' id '8fbc6759-b5f5-4382-8dd0-b416a3c362c6' date '06/02/2014' time '21:43:23' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.104' message 'refactor diff/merge to use source/destination instead of local/remote - try to use (-) --> (+) in window labels for clear indication of source and destination (direction of diff) - rename instance variables and selectors to use source/destination terms ' id 'af00bb33-ab69-46ef-a207-5f76ad67b1db' date '05/30/2014' time '07:21:07' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.103' message 'skrewing around with skew - diff (cached) menu item - git diff tool now has options for --cached and (not) --cached - use loadProject (not revertProject) as final step in skew save - redecorated project list menu ' id 'bd91e9ed-7076-40a3-8acc-4f6c23cb302c' date '05/29/2014' time '13:51:36' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.102' message 'good progress on `save version skew` menu item - git->diff menu item shows outstanding changes in sandbox - skew diff and skew save menu items implemented - git reset command implemented - git merge tool tweaked a bit to break out ''nothing to merge'' test and to allow project tool to supply complete/abort block to merge tool ' id '137749c7-dbb7-4f43-8253-7aa7c389e018' date '05/28/2014' time '21:58:54' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.101' message 'more git menu items (and implementations) project list - git branches, checkout, fetch are the new menu items and implementations - pull, push, diff are new implementations ' id '1ac87752-5b18-48db-82f7-053c5f4525fb' date '05/28/2014' time '16:50:28' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.100' message 'blow the dust off of the mergetool and do a merge ... - dropped a stitch or two in recent work to push git diff code around' id '2a0805b9-1147-4900-96ae-9225d74108de' date '05/23/2014' time '13:49:36' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.99' message 'git-base method versions and class versions - git log displayed with commits that only affect the selected class or method - clicking on the commit comment brings up a diff (for methods) or a difference browser (for classes) that show the changes to the relevant methods/files within the class structure - TDGitRawHistoryBrowser has become the utility browser as it invokes a block on click allowing customization of action ... probably ought to replace other browsers with this style of operation - make unregister project available for all projects ... convenient when you want to completely change how a project is loaded ... unregister, modify @project file, load ... only the changed definitions are loaded (if any) but all project list structures are updated ' id '3d206d57-a8d6-48b8-8b68-d250ae237bea' date '05/22/2014' time '18:14:08' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.98' message 'filter same source, clone repo fix - option to filter out same source entries in diff - fix clone to properly register the correct repository' id '11d33bae-133a-450c-8e9c-f99151a41fd2' date '05/21/2014' time '11:03:04' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.97' message 'implement clone github project in project list - `git clone` implemented - TDMetacelloTool>>projectMap:toRepository: implemented' id '5a4d3666-0bc8-48ab-b6d9-ea61de5b2cdb' date '05/20/2014' time '16:40:34' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.96' message 'a bit of work so that line ending diffs can be recognized' id '1c66ac5f-c8c2-4da7-9e2a-910c1e1152cd' date '05/19/2014' time '12:13:04' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.95' message 'arrange for doing diff for git-only repo - history not available in diff browser when doing plain diff' id '827f6125-e5bf-4f95-91e8-99424be98e04' date '05/15/2014' time '20:32:44' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.94' message 'checkpoint ... testing /home/templates/commit script' id '07a23f7e-a9f7-40e8-a08d-8ce036cc28e2' date '05/15/2014' time '05:46:33' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.93' message 'preparation for hooking scripts defined in /home/tode up to the Project Browser - pushing implementation of selected project menu items (changes, save, load, revert) to TDProjectExtensionsDefinition where it will be possible to override these items with calls to the scripts in the project directory ... thus the user can customize the behavior of these scripts and ensure common behavior between tools and command line. - commands may specify a fifth argument in their blocks to obtain the actual commandNode that implements the command ... primarily useful for shell nodes to determine which directory they are defined in ...' id '4e2410ca-c956-4d38-9cc4-095595d10999' date '05/14/2014' time '16:44:42' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.92' message 'TDGitFullHistoryBrowser is not block-based (Cmd-l recalculates list)' id '4b6c3aa5-5e68-47e0-b96a-dd2192cdbed6' date '05/14/2014' time '11:48:52' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.91' message 'implement `bu remove` and adjust baseline to load Tode-GemStone-Server-Tests - plus tests and man pages' id 'f2859bbe-299c-414b-a862-54f35443e816' date '05/13/2014' time '16:45:16' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.90' message 'initializeTools in baseline ... pick up loads from registration ... stub out `bu remove`' id '9bf6a89d-7e22-4198-8243-a69401565f09' date '05/13/2014' time '16:24:00' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.89' message 'add #app3 and #app4 window locations positioned above #app1 and #app2 - created named window locations app3 and app4 for more options positioning "multi-pane functions" - use the new named window locations for monticello browser functionality - add date information to the "oneline" commit log displays - arrange to call `TDTopezGemStoneClient initializeBounds` when Tode-Client-Common is loaded to ensure that we pick up new bounds in TDTopezClient class>>createBoundsDictionary' id '3496e2be-88c8-4ac4-90e2-11c613bc4e87' date '05/13/2014' time '11:07:46' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.88' message 'add full current log entry menu item' id '22be2b49-3171-4802-845f-4d3e0be13895' date '05/12/2014' time '19:53:53' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.87' message 'file tree diff browser gets install remote/local ' id '7551febf-7213-4ccb-9eaa-8939cd7574e1' date '05/12/2014' time '19:38:10' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.86' message 'full commit log browser and project browser tweaked - full commit log entry displayed when log entry selected - finer control over commit log browser window label - project browser menu re-ordred' id '78d4a2dc-33ab-4023-b075-203ac0951591' date '05/12/2014' time '17:48:30' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.85' message 'Add commit, diff, log menu items to project browser: - `project log` command implemented and documented in support - refacted the `project` implementations to provide Smalltalk API - implement TDGitFullHistoryBrowser>>fullLogMenuAction:selectionIndex: leveraging TDGitTool>>gitlogtool:limit:gitRepoDirectory:' id '9c9f5aff-4152-401f-98ca-edacb6af0c88' date '05/12/2014' time '17:34:25' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.84' message '- add full history browser (on commit log entries) - selected class filter for the file tree diff browser - browse the changes for a single commit menu item added hither and yon - TDGitTool>>gitfiletreeChangestool:gitRepoDirectory: - I like the funtionality, but I think the browser can use a little restructuing ... fortunatley there''s just not a lot of code involved...' id 'f8cd1055-e0c7-4c8d-9e3c-7d5dc391c720' date '05/12/2014' time '15:55:10' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.83' message '- implement Git History Browser that displays git history of selected method in diff/mrege browsers - hooked up to file tree diff browser at the moment, but need to include with methode vresion history as option ... - enable/disable Method menu items in the filetreediffbrowser based on whether selected item is a method or not ... - getting close to starting work on reworking the TDGitDiff/MergeOperation hierarchy ' id 'c462c5c5-185f-4195-97c5-403216532059' date '05/12/2014' time '12:58:40' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.82' message '- added browse method menu item to file tree diff tool - add toggle view st only menu item to file tree diff tool' id 'e831d61e-068d-4317-8f84-f7903ce96e9d' date '05/10/2014' time '22:26:46' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.81' message '- fine tune `filetreetool` feature implementations - toggle view st only menu for `filetreetool`' id 'e8d8deea-7c23-44d5-9498-fb34303a715f' date '05/10/2014' time '21:03:50' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.80' message '- improve git diff support 1. better error handling for bad commitish 2. identify add/modify/delete - improve `filetreetool` 1. display method spec for smalltalk methods 2. `browse class` menu item for smalltalk methods' id 'c9f52ba2-7edf-44eb-8555-816482a29fda' date '05/10/2014' time '20:41:25' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.79' message '- implement `git filetreetool` for doing diffs against filetree git repos ... two advantages: 1. smalltalk source is formatted before comparison, so only semantic differences are shown 2. senders/implementors menu items available on Smalltalk methods ...' id '09e4814e-ddd7-4896-b1bb-28e260b13c93' date '05/10/2014' time '12:13:24' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.78' message '- fix issue when removing class from system in Hierarchy window - fiddle with categoery window - hook up merge diff browse for git merge and mc merge - remove TDMergerClientListElementBuilder and TDMergeTool' id '65332533-7b41-4f05-9227-5a045db50c51' date '05/10/2014' time '08:11:44' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.77' message '- remove TDGitDiffer class as it has been replaced by TDGitDiffBrowser - add undefined symbol handling to the code that does reflection on script path nodes. Scripts can have all kinds of undefined symbols, but that should stop us for searching for references or senders or literals ' id '9e9a7d62-2caa-41e0-8ca3-9b8f011c9a0b' date '05/09/2014' time '17:02:58' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.76' message '- TDFileTreeDiffBrowser created and looks good (formats the smalltalk methods in FileTree structure before compare) and allows for doing senders and implmentors ... - TDMergeDiffBrowser and TDGitDiffBrowser created, but not hooked in quite yet' id '1d3defb6-97d9-4262-a53a-7c2879c37c64' date '05/09/2014' time '15:42:47' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.75' message '- add `inspect` item to object menu - dip toe in water for revamping git diff tool' id '7a2f2840-8db8-4c88-9455-19158dce73f6' date '05/09/2014' time '12:32:41' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.74' message '- fix up `eval` command ... different implementation between 2.4 and 3.x' id '7f9f7b38-cd92-4199-b40b-7e9f67b9d8af' date '05/05/2014' time '22:15:10' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.73' message '- clean up implementation of `debug it` ... need to be able to access literals in doit context - start work on `method` command - implement `method browse` command - implement `method protocol` command - tests' id '25486490-7944-4d30-9d76-eab2e591df73' date '04/28/2014' time '17:56:47' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.72' message '- TDAbstractDevTool class>>performCommand:objIn:commandOptions:todeCommand: to provide for --help for regular commands - --help option added to abort, cat and cd commands ... tests - categorize some TDShellTool methods ... those that have been rewriiten - begin work on the `cls` command ... - `cls accessors` implemented plus tests - fix an option handling error in `bu` command' id '39d08bc6-1b80-4676-a8b4-85052e0dff32' date '04/26/2014' time '21:09:11' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.71' message '- convert implementors and senders menu itme in method lists to use blocks .... - slice halos out of system ... make the TDHaloDevTool obsolete - MethodReference>>printOn: make the class inspector friendly' id '044eb6a7-156a-41be-afe2-d6a2577b611b' date '04/26/2014' time '10:01:02' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.70' message '- obsolete a bushel of classes that are not used right now and/or will have to undergo major changes if they are to be brought back into tool set ... roassal was a proof of concept ...' id 'a4215438-3b6a-4b20-86f1-016e0fec6a16' date '04/26/2014' time '08:42:56' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.69' message '- move a bunch of classes to the obsolete repository ... these tools have marginal utility and need to be rewritten before re-incorporating in standard tode ...' id '471ad2f1-8ee0-412a-bb6d-a8a684a2bccb' date '04/26/2014' time '07:52:18' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.68' message '- add SEE ALSO section to man page - `bu` command man pages and new implementation based on getopts' id 'bddda5f3-dbce-4dd2-9aef-fca1f3f31180' date '04/20/2014' time '21:06:28' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.67' message '- working on getting tests to pass in GemStone 2.4.x' id '30be143a-0db5-4275-a705-c76df06d70f3' date '04/19/2014' time '20:44:34' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.66' message '- remove undeclared symbol references from Tode code base - implement block-based method browsing so that refresh of window recalculates search - need block-based class browsing .., - use GsDeployer for class changes - fix up item selected problems ... - add --staticList option bot `browse` command' id 'afd0e8e4-676a-41bb-aa50-6b964814ed1d' date '04/19/2014' time '12:14:39' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.65' message '- handle AlmostOutStack as a printing error - add subCommand --help and `man` support to tools - --select option added to all browse commands (need to implement) - `browse category` command added again, plush subCommand man page - `browse class` man page updated for subCommand support (still need to finish `browse class` implementation - `browse` man page updated for subCommand support - `browse symbolDict` command and man page added - tests ' id '5359786a-3bdd-41aa-b81d-c4d65a7ba8b3' date '04/18/2014' time '14:05:44' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.64' message '- ByteArray print shouldn''t be truncated and shouldn''t print the String interpretation...' id 'e7007f30-437f-40e4-99f1-b95ca033dbc3' date '03/31/2014' time '22:44:37' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.63' message '- CharacterCollection should include size... - ByteArray print shouldn''t be truncated and shouldn''t print the String interpretation...' id 'a6f450a3-1579-4611-ac09-8632bd341a88' date '03/31/2014' time '21:38:10' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.62' message 'Object menu functional in code window ... `tode it` and `profile it` menu items implemented ...' id 'cc72312b-4fcc-417d-8560-57e735d9a120' date '03/26/2014' time '18:59:08' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.61' message 'pass list and selection index for list in one pass (using an Association)' id '4c784bed-a985-4a90-9be9-be03b2a7f789' date '03/20/2014' time '20:47:40' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.60' message 'replace most uses of `System myUserProfile symbolList` with `GsSession currentSession symbolList`, since `GsSession currentSession symbolList` provides access to session-specific symbol list ... which when done should be used ...' id '8fd6f030-b231-4748-a002-101d1f608c32' date '02/07/2014' time '07:56:28' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.59' message 'tweak TDGemStoneTool>>gsfileout:externalMethodMap:classToFilenameMap:defaultHeader: for support of ernie dev' id '0a0fd969-c387-456f-a7ca-0ad65d567703' date '02/07/2014' time '07:36:26' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.58' message '`gs version` command ... edits `System gemversionReport`' id '04afd28d-a171-4135-9496-5ec67df6f161' date '01/31/2014' time '15:01:07' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.57' message 'Issue #53: add --scriptPath flag to the following `browse` and `find` commands: browse [--scriptPath=] psender [#] browse [--scriptPath=] references [@filter-block-path] browse [--scriptPath=] rsender [@filter-block-path] browse [--scriptPath=] sender [#] [@filter-block-path] browse [--scriptPath=] source [@filter-block-path] find [--scriptPath=] psender [#] find [--scriptPath=] references find [--scriptPath=] rsender find [--scriptPath=] sender [#] find [--scriptPath=] source For the `browse` command, the definition leafNode list will recalculate on refresh...' id '05b61ff1-69cd-45ef-b9c0-e54239ff1941' date '01/31/2014' time '08:54:05' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.56' message 'move ExecBlock method to Topez-Server-31x-Core' id 'ebe62410-6e70-4469-ac3f-5afe7dce9391' date '01/20/2014' time '17:05:09' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.55' message '`gs objectFor` command (get obj from oop) checkpoint TDRcIndexDictionaryNodeBuilder and TDRcIndexDictionaryKey work ... improving inspector support for RcIndexDictionary ...' id '40d4300b-ab48-450d-bbfd-ea5eb6bd6ece' date '01/15/2014' time '17:19:54' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.54' message 'allow fur updating both class-side and instance-side method categories for gs fileouts..' id 'ed9f226a-7f20-4c13-89ed-8336f07278c2' date '12/25/2013' time '15:50:31' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.53' message 'add support for updating method category only for gs fileouts..' id '9f7bc938-549f-479e-8f36-d518711436ef' date '12/24/2013' time '19:13:04' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.52' message 'bugfix TDFileSystemDirectoryNode>>addChildFileSystemLeafNode: ... add TDGemStoneTool>>gsfileoutClass:header:on: ' id '17afd984-9864-4c4e-a2ee-0a5058041d89' date '12/21/2013' time '11:53:04' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.51' message 'CMD-SHIFT-P: add window label to printout ... `gs halt` implements an AlmostOutOfMemory handler ...' id 'e2c49605-f98f-4331-986e-69befb63e6e1' date '12/18/2013' time '21:05:37' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.50' message 'TDSessionTempNode is a better way of stashing session temps in the object structure. Basically a "persistence barrier" can be insterted into an object structure. TDSessionObjectNode was an interesting idea, but did not work in practice as the "session tempness" was difficult to preserve ...' id 'fd407b59-4f51-41d4-a34d-85c920e6e1c5' date '12/16/2013' time '19:41:38' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.49' message 'Need to use FileDirectory readOnlyFileNamed: to correctly get file contents...' id '4055d986-3e1c-4cbf-bba0-e14b17e46709' date '12/13/2013' time '18:15:13' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.48' message 'Issue #37: enable edit of .ston objects and raw filesystem files after cd''ing into a gateway reference to a filesystem directory .... open the door to sharing scripts by "directly editting object nodes and leaf nodes hosted in a git repository" ... still need to work on rm/touch combo but this is very close to complete!' id '2cd747cc-c8d1-4b6c-8f4e-e330e23e6329' date '12/06/2013' time '11:49:39' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.47' message 'sort associations for dictionary builder (TDDictionaryNodeBuilder) ... add `gs sessionDescription` command to easily get the gem pid for attaching gdb ...' id 'c6908991-7a04-4c86-9823-0189f1ef512b' date '11/14/2013' time '17:04:20' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.46' message 'Rename some of the methods. getOpts* is a better pattern ... monkey with TDManPage to make it easier to create a man page for a script (in the script), also add EXAMPLES section to man page' id 'bc089a97-2114-429c-878b-f9ef3689cc35' date '11/11/2013' time '17:52:10' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.45' message 'Issue #16: fix a parsing error (plus tests) ... move helper method for doing mixed long and short getOpts from gs tool to TDCommandLine and TDCommandGetOpts ... beef up `gs fileout` command for class/package/category fileouts with options!... write methods as UTF8 ... consolidate fileout methods ..' id '5222b2f5-efa0-41a7-8c13-9e54ebf4c946' date '11/11/2013' time '14:49:59' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.44' message 'Issue #16: convert all command blocks to the form: [ :topez :objIn :tokens :command | ]...convert subCommands to use: TDAbstractDevTool class>>performSubCommand:objIn:todeCommand: ...add better subCommand support to TDCommandLine (teach it to respect subCommands) ... still need to remove windowId and tokens instance variables from TDAbstractDevTool ... TDTopezServer>>evaluateCommand:objIn: and TDTopezServer>>evaluateSTONCommand: are now the primary entry points for command processing ...' id '81202b7e-8eaf-4caa-a774-8060e72a58ac' date '11/10/2013' time '11:27:17' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.43' message 'tweak TDGemStoneTool>>gsfileout:filename:range:in: to compensate for some 3.2 fileout bugfixes ...' id 'fc43e827-d268-4f7c-a451-933970b3abec' date '11/06/2013' time '06:37:57' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.42' message 'start work on interactions (choices, prompts, etc.) ... down to `save` menu item before completing the Monticello Browser family of tools, which explains need to implement prompt ....' id '93825973-6f13-40ab-be08-4d71d1bbf5c6' date '10/20/2013' time '14:40:58' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.41' message 'fix `gs fileout` ...' id '25770e25-4d13-4b25-9f94-f3e82fe7d579' date '10/18/2013' time '22:00:09' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.40' message 'really fix funky hierarchy list bug ... tweak TDProfileTool>>pfview: return value' id '8ed5a5f1-49ee-48c9-a80c-b22cbc06cc61' date '10/18/2013' time '06:10:59' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.39' message 'Attempt to get around security violations in TDSymbolDictionaryDefinition>>classDefinitions ... TDSimpleDiff created to support generic in-image text diff views...' id 'e98d03cb-53ce-4981-8f23-d4c8218fb267' date '10/11/2013' time '19:34:37' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.38' message 'ensure that lf is used in exported source files in TDGemStoneTool>>gsfileout:filename:range:in:' id '4f7f931f-4be6-4fe9-8d36-2f7cbe336aed' date '10/09/2013' time '15:58:36' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.37' message 'implement TDMiniToolSpec and TDMiniToolClientListElementBuilder which allows for creation of list-based tools without having to create a TDClientListElementBuilder subclass...only need to specify blocks for: TDMiniToolSpec class>>topez:clientListBlock:menuActionSpecBlock:menuActionBlock:itemSelectedBlock: to create custom list behavior. fix `mc fileout` API so that .gs files with multiple classes can be updated correctly (i.e., the method is matched based on proper class)' id '3f23e6e4-cce6-441b-919d-466871e5aad4' date '10/07/2013' time '14:34:52' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.36' message 'all git commands that #edit the response will use the window named #gitStatus ... cut down on window proliferation' id '1d0235bb-d211-40de-8e9c-2851521ecf59' date '10/06/2013' time '12:46:35' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.35' message 'Issue #38: first cut at functional tool ... works, but need to fiddle with menus' id '350377ad-e7ec-4544-bbe0-0805890b7f81' date '10/06/2013' time '11:47:40' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.34' message 'Issue #38: just getting started with `git difftool`' id 'ad46cc9a-d755-4859-9178-4b3cff7f2969' date '10/05/2013' time '17:59:49' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.33' message '`mc fileout` will now file out source to files (classes and methods) or a single file.. make the `gs fileout` command compatible with the gemstone filein process (entails building our own versions of the class-based fileout methods)' id '15219fdf-b57e-4045-b695-f80796302ae8' date '10/02/2013' time '17:16:22' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.32' message 'add variant of `mc fileout`/`gs fileout` API that writes class defs to one file and class methods to another file ... this is the one I will use for deploying Indexing changes for GemStone 3.2.' id '146c81de-c730-48ed-8cd6-4f9b4e816b0d' date '10/01/2013' time '21:12:14' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.31' message 'pull filename map out as arg to `mc filout` API which filters over to changes in the `fs fileout` API. ' id 'e3c2180d-dbab-45f1-93f8-89471c32dc3b' date '10/01/2013' time '17:31:02' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.30' message 'create `mm fileout` command for doing a fileout of a full configuration .... `gs fileout` command finished up for this round: - one file per class (will change this to allow for alternate groupings) - extension methods overrideds changed in place in existing files new methods added to end - hard-wired class to filename map (will make this an option)' id 'fe764172-6cd8-427d-b885-7257a20bfca1' date '10/01/2013' time '14:47:38' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.29' message 'Issue #28: start defining `menu actions` ... starting in TDClientListElementBuilder ..' id 'b3b62cef-a31c-442e-b1e4-1faddff2adbb' date '09/30/2013' time '21:39:26' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.28' message 'add `mc fileout` and `gs fileout` commands ... aimed at providing fileout support that is compatible with saving source as .gs files ' id '211dc6ab-9faf-4d80-a522-daa5aa33d69d' date '09/30/2013' time '17:05:11' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.27' message 'flesh out profmonitor viewer tool: - `pf view` can be used to navigate the ProfMonitor results - TDProfileTool>>pfview: is the script API for ProfMonitor viewer tool - TDProfileTool>>pfmonitor: can be used from scripts to profile a block, then use TDProfileTool>>pfview: to look at results - added labels and other goodies to the ProfMonitor viewer tool' id '2645876b-7069-4cd0-b06f-51da896033c8' date '09/28/2013' time '13:49:16' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.26' message 'align #context location with #debugger location ... use debugger width too... use #context location for debugger context display...bump default `list limit` to 140 ... checkpoint the profmonitor analysis tool' id 'f7219afe-e567-4cf1-bdfd-6e00da4f5eda' date '09/27/2013' time '22:09:47' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.25' message 'tweak `git mergetool` command' id '1fe42234-7df4-40e8-8868-1c31964850e3' date '09/27/2013' time '08:57:00' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.24' message '`git mergetool` implemented ... this is a rough cut implementation as TDMerger and TDGitMerger deserve to be ... merged ... there is a fair amount of shared state and behavior ... TDGitMerger is not based on definitions but files whereas TDMerger is based on monticello definitions...' id '773ba959-fa54-4547-b128-4ae4d921fdf7' date '09/17/2013' time '12:23:56' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.23' message 'add `mc snapshot` command ... record restorve from backup in object log...' id '8683df84-2e5e-46a8-8c8b-3923c4f6b946' date '09/17/2013' time '04:45:42' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.22' message 'support for structured ston exports ... build directory structure on disk to match internal dir structure and only export as ston the leaf nodes (or leaf node like dirs) ... easier to control what you want included in your image...' id '0cae9abf-9e4a-4550-9296-ef2919301871' date '09/14/2013' time '23:41:34' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.21' message 'checkpoint: Implement `git mergetool` command Add control for loggin in TDAbstractDevTool>>performOnServer:logging: remove TDCypressTool>>cypmerge and TDCypressTool>>cymmerge ... cypress merges handled by `git mergetool`' id '89f94d08-f133-4dfb-811f-30211664bd57' date '09/04/2013' time '01:21:42' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.20' message 'checkpoint: begin work on the mergeTool for merging Monticello packages and Cypress repositories. create TDSessionObjectNode class that stores object reference in a TransientValue ... avoid persistent refs to things that cannot be persisted. Use TDSessionObjectNode for the debugger... Add TDGitTool>>performGitCommand:in:worktree:with: to allow independent control of location of work-tree ... Actually use the TDEditorSpec>>windowLabel field when building windows. More keyboard shortcut stubs ... Start building merge command "gui" support Implement mc save, so I can create branched mc versions to test merge command.' id '3b8b8b21-83a0-44f6-bf8c-f1091bdbd15a' date '09/03/2013' time '15:04:06' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.19' message 'create MCNewFileTreeTodeTool to use command arguments and eliminate structural dependencies. Extend functionality to include doing the `git push` (relying on passwordless ssh access to github). shell examples moved to /examples... better scripting api for git tool for example: TDGitTool>>gitcommitIn:with:. All git commands use a similar form....workaround for `git pull` bug.' id '85e7d3e8-39c4-4bc5-9224-aba918fc041c' date '08/14/2013' time '11:00:30' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-.18' message 'Use #withGemstoneLineEndings in TDGitTool>>createTmpFileWith: since lf is expected on disk Let''s see if this works:)' id '06ee3019-9667-4818-9075-352692213444' date '08/08/2013' time '16:27:58' author '' ancestors ((name 'Tode-GemStone-Server-Core-.17' message 'create TDGitTool>>resolveDefaultGitRepoDirectory. If a `gitRepo` is not present assume that you are in a git repo and use `.` as the git working directory...fix a problem with resolving `.` correctly' id '5bdb8736-fd5a-413b-b6a7-c07893a8e9b1' date '08/08/2013' time '06:41:21' author '' ancestors ((name 'Tode-GemStone-Server-Core-.16' message 'add TDFileSystemDirectoryNode that provides filesystem access for instances of ClientFileDirectory or ServerFileDirectory...especially useful if you create an instance in a gateway node....add TDFileSystemLeafNode that provides access to (text) files for editting and catting from within tODE' id '2c99a8fb-d52f-4449-843a-b1876c44e4e1' date '08/07/2013' time '17:18:02' author '' ancestors ((name 'Tode-GemStone-Server-Core-.15' message 'add `mm locked` command to list locked projects ... update gitManPage to explain that @gitRepo is used as default git repository path' id '42f5155f-7c96-4fa5-ac42-9c7e7b65c717' date '08/04/2013' time '14:21:43' author '' ancestors ((name 'Tode-GemStone-Server-Core-.14' message 'fix bug in TDGitTool>>createTmpFileWith:' id '0afc63d1-d085-415d-bb3c-0e4ab9e57dfb' date '08/04/2013' time '12:56:01' author '' ancestors ((name 'Tode-GemStone-Server-Core-dkh.13' message 'create git tool with support for all common git commands including api support ... create an api for mm commit command' id '347b17ff-feba-4879-9494-a2fdd1170a74' date '08/03/2013' time '15:09:38' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.12' message 'record backup and restore times and bu list shows them ' id 'bb0f1d31-8760-4ff2-9d0f-c341cac2b346' date '08/02/2013' time '12:15:49' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.11' message 'include timestamps in bu list command ' id 'e7cf3060-a3ef-458f-8a9e-bcbfc8e05db0' date '07/25/2013' time '15:03:40' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-.10' message 'use TDAbstractDevTool class>>performSubCommand:objIn:tokens:windowId: whereever appropriate ... lots of places ' id 'c14b4875-a744-469f-8c23-3d4f46cc1423' date '07/09/2013' time '16:00:33' author '' ancestors ((name 'Tode-GemStone-Server-Core-dkh.9' message 'rm removes multiple nodes....avoid IdentitySet when doing find command...use truncate: since we want ellipses...' id '30d78830-4873-46f8-ad7a-1e179a4dcc59' date '06/04/2013' time '20:44:43' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.8' message 'rename listIndex iv in TDClientListItemAttributes to list, since the slot is now expected to be an OrderedCollection...#navigate editor aspect should be reserved to use as the default aspect that brings up the standard navigator for all objects; rename attributes for those that didn''t follow this convention...add some support methods to TDGatewayNode...TDStackFrameContentsClientListElementBuilder should be a subclass of TDDirectoryNodeClientListElementBuilder so that we sharing some important behavior.' id '812d9b06-82ad-43ba-bf35-ca331e59d3c8' date '06/01/2013' time '11:23:35' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.7' message 'pharo port tweaks' id 'cf02e6fa-79c8-4d71-a883-eea57549913c' date '05/30/2013' time '07:06:31' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.6' message 'displayOn: is already taken in Pharo ... replace with displayOnPolicy:' id 'a7237721-1c06-4c65-b150-b1a5b5f17f9e' date '05/30/2013' time '06:41:26' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.5' message 'start work getting editors working in Pharo ' id '75e1a42a-fdae-42b1-a92b-0fe00b265516' date '05/28/2013' time '07:39:34' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.4' message 'handle block source in portable manner ' id '217531c1-feee-47ee-b4ed-885629a2787d' date '05/28/2013' time '06:33:27' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.3' message 'pushing more things around ' id 'b2eae1df-258f-4f1d-9487-28bb39a32237' date '05/27/2013' time '19:35:40' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.2' message 'move CharacterCollection>>printUsing: from Topez-Server-Core to Tode-GemStone-Server-Core ' id 'c3c2455c-f608-4eef-b450-2ff9b4e29cb3' date '05/27/2013' time '17:53:24' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Core-dkh.1' message 'Issue #25 ... re-packagin in preparation for Pharo port' id '87904ca4-7281-483c-8bf5-5f77dad83935' date '05/26/2013' time '10:31:19' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuBackupCommand.st b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuBackupCommand.st index 91cbb8687..8cbd179b3 100644 --- a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuBackupCommand.st +++ b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuBackupCommand.st @@ -1,14 +1,21 @@ -as yet unclassified +tests testBuBackupCommand "run without errors ... to keep me honest" [ | backupDirectoryPath | - backupDirectoryPath := TDGemStoneTool defaulBackupDirectoryName. + backupDirectoryPath := TDGemStoneTool defaultBackupDirectoryName. self topez evaluateCommandString: 'bu --help backup'; + evaluateCommandString: + 'bu --dir=' , backupDirectoryPath , ' backup --uncompressed seaside.dbf'; evaluateCommandString: 'bu --dir=' , backupDirectoryPath , ' backup seaside.dbf'; + evaluateCommandString: + 'bu --dir=' , backupDirectoryPath , ' backup --safely seaside.dbf'; + evaluateCommandString: + 'bu --dir=' , backupDirectoryPath + , ' backup --safely --uncompressed seaside.dbf'; yourself ] on: Error do: [ :ex | diff --git a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuDirectoryCommand.st b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuDirectoryCommand.st index dfee389b3..80a3d064f 100644 --- a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuDirectoryCommand.st +++ b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuDirectoryCommand.st @@ -1,11 +1,14 @@ -as yet unclassified +tests testBuDirectoryCommand "run without errors ... to keep me honest" - | backupDirectoryPath | - backupDirectoryPath := TDGemStoneTool defaulBackupDirectoryName. + | backupDirectoryPath snapshotDirectoryPath | + backupDirectoryPath := TDGemStoneTool defaultBackupDirectoryName. + snapshotDirectoryPath := TDGemStoneTool defaultSnapshotDirectoryName. self topez evaluateCommandString: 'bu --help directory'; evaluateCommandString: 'bu directory'; evaluateCommandString: 'bu directory ' , backupDirectoryPath; + evaluateCommandString: 'bu directory --snapshot'; + evaluateCommandString: 'bu directory --snapshot ' , snapshotDirectoryPath; yourself \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuInfoCommand.st b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuInfoCommand.st index a23a975f1..893490048 100644 --- a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuInfoCommand.st +++ b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuInfoCommand.st @@ -1,15 +1,21 @@ -as yet unclassified +tests testBuInfoCommand "run without errors ... to keep me honest" [ | backupDirectoryPath | - backupDirectoryPath := TDGemStoneTool defaulBackupDirectoryName. + backupDirectoryPath := TDGemStoneTool defaultBackupDirectoryName. self topez evaluateCommandString: 'bu --help info'; evaluateCommandString: - 'bu --dir=' , backupDirectoryPath , ' backup seaside.dbf'; - evaluateCommandString: 'bu info seaside.dbf'; + 'bu --dir=' , backupDirectoryPath , ' backup test.dbf'; + evaluateCommandString: 'bu info test.dbf.gz'; + evaluateCommandString: + 'bu --dir=' , TDGemStoneTool defaultSnapshotDirectoryName , ' snapshot test.dbf'; + evaluateCommandString: 'bu info --snapshot extent0.test.dbf'; + evaluateCommandString: + 'bu --dir=' , TDGemStoneTool defaultSnapshotDirectoryName + , ' info extent0.test.dbf'; yourself ] on: Error do: [ :ex | diff --git a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuListCommand.st b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuListCommand.st index 3303cb001..840d70319 100644 --- a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuListCommand.st +++ b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuListCommand.st @@ -1,15 +1,21 @@ -as yet unclassified +tests testBuListCommand "run without errors ... to keep me honest" [ | backupDirectoryPath | - backupDirectoryPath := TDGemStoneTool defaulBackupDirectoryName. + backupDirectoryPath := TDGemStoneTool defaultBackupDirectoryName. self topez evaluateCommandString: 'bu --help list'; evaluateCommandString: - 'bu --dir=' , backupDirectoryPath , ' backup seaside.dbf'; + 'bu --dir=' , backupDirectoryPath , ' backup test.dbf'; + evaluateCommandString: + 'bu --dir=' , TDGemStoneTool defaultSnapshotDirectoryName , ' snapshot test.dbf'; evaluateCommandString: 'bu list'; + evaluateCommandString: + 'bu --dir=' , TDGemStoneTool defaultBackupDirectoryName , ' list'; + evaluateCommandString: + 'bu --dir=' , TDGemStoneTool defaultSnapshotDirectoryName , ' list'; yourself ] on: Error do: [ :ex | diff --git a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuRemoveCommand.st b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuRemoveCommand.st index 75e915c99..389d931d0 100644 --- a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuRemoveCommand.st +++ b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuRemoveCommand.st @@ -1,16 +1,24 @@ -as yet unclassified +tests testBuRemoveCommand "run without errors ... to keep me honest" [ | backupDirectoryPath | - backupDirectoryPath := TDGemStoneTool defaulBackupDirectoryName. + backupDirectoryPath := TDGemStoneTool defaultBackupDirectoryName. self topez evaluateCommandString: 'bu --help remove'; evaluateCommandString: - 'bu --dir=' , backupDirectoryPath , ' backup seaside.dbf'; + 'bu --dir=' , backupDirectoryPath , ' backup test.dbf'; evaluateCommandString: - 'bu --dir=' , backupDirectoryPath , ' remove seaside.dbf'; + 'bu --dir=' , backupDirectoryPath , ' remove test.dbf.gz'; + evaluateCommandString: + 'bu --dir=' , TDGemStoneTool defaultSnapshotDirectoryName , ' snapshot test.dbf'; + evaluateCommandString: + 'bu --dir=' , TDGemStoneTool defaultSnapshotDirectoryName + , ' remove extent0.test.dbf'; + evaluateCommandString: + 'bu --dir=' , TDGemStoneTool defaultSnapshotDirectoryName , ' snapshot test.dbf'; + evaluateCommandString: 'bu remove --snapshot extent0.test.dbf'; yourself ] on: Error do: [ :ex | diff --git a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuRestoreCommand.st b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuRestoreCommand.st index 35028cc9b..b8a9222fe 100644 --- a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuRestoreCommand.st +++ b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuRestoreCommand.st @@ -1,9 +1,9 @@ -as yet unclassified +tests testBuRestoreCommand "don't try to run the restore command...." | backupDirectoryPath | - backupDirectoryPath := TDGemStoneTool defaulBackupDirectoryName. + backupDirectoryPath := TDGemStoneTool defaultBackupDirectoryName. self topez evaluateCommandString: 'bu --help restore'; yourself \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuSnapshotCommand.st b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuSnapshotCommand.st new file mode 100644 index 000000000..b49a1b696 --- /dev/null +++ b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuSnapshotCommand.st @@ -0,0 +1,22 @@ +tests +testBuSnapshotCommand + "run without errors ... to keep me honest" + + [ + | backupDirectoryPath | + backupDirectoryPath := TDGemStoneTool defaultSnapshotDirectoryName. + self topez + evaluateCommandString: 'bu --help snapshot'; + evaluateCommandString: + 'bu --dir=' , backupDirectoryPath , ' snapshot test.dbf'; + evaluateCommandString: + 'bu --dir=' , backupDirectoryPath , ' snapshot --safely test.dbf'; + evaluateCommandString: + 'bu --dir=' , backupDirectoryPath , ' snapshot --suspend=30 test.dbf'; + yourself ] + on: Error + do: [ :ex | + Transcript + cr; + show: ex description; + show: (GsProcess stackReportToLevel: 100) ] \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuValidateCommand.st b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuValidateCommand.st new file mode 100644 index 000000000..df540af97 --- /dev/null +++ b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/instance/testBuValidateCommand.st @@ -0,0 +1,15 @@ +tests +testBuValidateCommand + | backupDirectoryPath | + backupDirectoryPath := TDGemStoneTool defaultBackupDirectoryName. + self topez + evaluateCommandString: 'bu --help validate'; + evaluateCommandString: + 'bu --dir=' , backupDirectoryPath , ' backup seaside.dbf'; + evaluateCommandString: + 'bu --dir=' , backupDirectoryPath , ' validate seaside.dbf.gz'; + evaluateCommandString: + 'bu --dir=' , backupDirectoryPath , ' snapshot test.dbf'; + evaluateCommandString: + 'bu --dir=' , backupDirectoryPath , ' validate --snapshot extent0.test.dbf'; + yourself \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/methodProperties.json b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/methodProperties.json index 8744c9313..fc621bfd8 100644 --- a/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/methodProperties.json +++ b/repository/Tode-GemStone-Server-Tests.package/TDGemStoneCommandTests.class/methodProperties.json @@ -2,9 +2,11 @@ "class" : { }, "instance" : { - "testBuBackupCommand" : "dkh 06/04/2014 15:32", - "testBuDirectoryCommand" : "dkh 04/20/2014 20:55", - "testBuInfoCommand" : "dkh 05/16/2014 06:05", - "testBuListCommand" : "dkh 05/16/2014 06:06", - "testBuRemoveCommand" : "dkh 05/16/2014 06:06", - "testBuRestoreCommand" : "dkh 04/20/2014 20:58" } } + "testBuBackupCommand" : "dkh 09/16/2015 15:27", + "testBuDirectoryCommand" : "dkh 03/19/2015 16:42", + "testBuInfoCommand" : "dkh 09/16/2015 16:22", + "testBuListCommand" : "dkh 09/01/2015 09:54", + "testBuRemoveCommand" : "dkh 09/16/2015 16:21", + "testBuRestoreCommand" : "dkh 03/18/2015 21:01", + "testBuSnapshotCommand" : "dkh 09/01/2015 09:51", + "testBuValidateCommand" : "dkh 09/16/2015 16:20" } } diff --git a/repository/Tode-GemStone-Server-Tests.package/monticello.meta/version b/repository/Tode-GemStone-Server-Tests.package/monticello.meta/version index f0ee40d8e..f8b130972 100644 --- a/repository/Tode-GemStone-Server-Tests.package/monticello.meta/version +++ b/repository/Tode-GemStone-Server-Tests.package/monticello.meta/version @@ -1 +1 @@ -(name 'Tode-GemStone-Server-Tests-dkh.5' message 'fix `pf view` browser ... capture stack on bu error and do not fail test ... problems running backups automatically when sessions are severely limited ' id 'd2a341d1-00db-416a-82f8-c23241113231' date '06/04/2014' time '15:34:36' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.4' message 'got stack ... need error description' id '55e9c278-2b5b-4a2f-a33b-0961ca788386' date '05/16/2014' time '06:07:04' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.3' message 'instrument up TDGemStoneCommandTests - tests pass locally and fail on travis ... wat''s up wit dat?' id '82f1b01a-c47f-407d-ab5c-d0772faaed7a' date '05/15/2014' time '22:51:50' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.2' message 'implement `bu remove` and adjust baseline to load Tode-GemStone-Server-Tests - plus tests and man pages' id '1a73cad9-ef90-4d52-838a-92b2eb3c49c3' date '05/13/2014' time '16:45:15' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.1' message '- gemstone server tests' id '8c4c068a-154b-496c-8001-5a1b4fed2c6a' date '04/20/2014' time '21:12:23' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Tode-GemStone-Server-Tests-dkh.12' message 'Issue #202: clean up some tests for snapshots also man page cleanup' id '5c27e845-bc44-4ea2-bf4d-f46046003091' date '09/16/2015' time '16:26:36' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.11' message 'Issue #202: add --uncompressed option to `bu backup` command. Default for `bu backup` is to create a compressed backup. Also add a `bu validate` command for validating the readability of backup files ... update tests ,, improve (hopefully) performOnServer: functionality by getting back explicit command status' id '3128683b-d465-4431-aa4c-47156756692d' date '09/16/2015' time '15:45:21' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.10' message 'Issue #186: fix up some protocol pane errors ... clean up some failures for the `bu` command tests' id 'a2878293-e003-4682-ac07-301c2be61a8e' date '09/01/2015' time '10:01:30' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.9' message 'add --safely option to `bu backup` command' id 'bb64b03d-45e3-4f4a-81b3-31d05efc0bc0' date '03/22/2015' time '08:07:12' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.8' message 'Add --safely option to `bu snapshot` command so that original snapshots can be preserved ... often the use case in scripts for snapshot is involves preserving the original snapshot ... let user decide to create new snapshot' id 'e2750fd5-5bfb-49eb-ad8b-3288aad0e183' date '03/21/2015' time '20:46:45' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.7' message 'complete work on support snapshots in the `bu` family of commands ... tests added ....' id '570bde0a-7e72-4515-8e14-6ea765b91631' date '03/19/2015' time '16:52:51' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.6' message 'CHECKPOINT: folding extent snapshots into the bu mix' id '31209020-cc8c-4cff-97a5-e3ea5b20f706' date '03/18/2015' time '21:04:35' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.5' message 'fix `pf view` browser ... capture stack on bu error and do not fail test ... problems running backups automatically when sessions are severely limited ' id 'd2a341d1-00db-416a-82f8-c23241113231' date '06/04/2014' time '15:34:36' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.4' message 'got stack ... need error description' id '55e9c278-2b5b-4a2f-a33b-0961ca788386' date '05/16/2014' time '06:07:04' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.3' message 'instrument up TDGemStoneCommandTests - tests pass locally and fail on travis ... wat''s up wit dat?' id '82f1b01a-c47f-407d-ab5c-d0772faaed7a' date '05/15/2014' time '22:51:50' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.2' message 'implement `bu remove` and adjust baseline to load Tode-GemStone-Server-Tests - plus tests and man pages' id '1a73cad9-ef90-4d52-838a-92b2eb3c49c3' date '05/13/2014' time '16:45:15' author 'dkh' ancestors ((name 'Tode-GemStone-Server-Tests-dkh.1' message '- gemstone server tests' id '8c4c068a-154b-496c-8001-5a1b4fed2c6a' date '04/20/2014' time '21:12:23' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/GciErrSType64.extension/instance/readArgumentsAndExceptionClassUsingStonIn..st b/repository/Topez-Client-GemStone.package/GciErrSType64.extension/instance/readArgumentsAndExceptionClassUsingStonIn..st index c1745fae3..73bbbae60 100644 --- a/repository/Topez-Client-GemStone.package/GciErrSType64.extension/instance/readArgumentsAndExceptionClassUsingStonIn..st +++ b/repository/Topez-Client-GemStone.package/GciErrSType64.extension/instance/readArgumentsAndExceptionClassUsingStonIn..st @@ -1,49 +1,46 @@ *topez-client-gemstone readArgumentsAndExceptionClassUsingStonIn: aTodeSession - | argsSize ofs expressionStream stonString answerArray objectArray classNameArray Name is exceptionObjInClassNameArray | - argsSize := self argsSize. - args := Array new: argsSize. - expressionStream := WriteStream on: String new. - expressionStream - nextPutAll: '(' , aTodeSession todeServerAccessString , ' for: '; - nextPutAll: aTodeSession shell shellId printString; - nextPutAll: ') reifyExceptionArgsForOopList: {'. - ofs := self argsOffset. - 1 to: argsSize do: [ :i | - expressionStream - nextPutAll: (self oopTypeAt: ofs) asOop printString; - nextPutAll: '. '. - ofs := ofs + 8 ]. - exceptionObjInClassNameArray := false. - self exceptionObj - ifNil: [ - exceptionObjInClassNameArray := true. - expressionStream - nextPutAll: '} exceptionObjAndClassNameFrom: '; - nextPutAll: self number asString ] - ifNotNil: [ - expressionStream - nextPutAll: '} classNamesForOopList: {'; - nextPutAll: self exceptionObj asOop printString; - nextPut: $} ]. - [ - stonString := aTodeSession - executeStringExpectingStringNB: expressionStream contents - envId: aTodeSession environmentId ] - on: Error - do: [ :ex | self halt ]. - answerArray := STON fromString: stonString. - objectArray := answerArray at: 1. - 1 to: argsSize do: [ :i | - args at: i put: (objectArray at: i). - ofs := ofs + 8 ]. - classNameArray := answerArray at: 2. - exceptionObjInClassNameArray - ifTrue: [ - | exceptionObjOop | - exceptionObjOop := classNameArray at: 1. - exceptionObj := library oopTypeFromInteger: exceptionObjOop. - exceptionObjClassName := classNameArray at: 2 ] - ifFalse: [ - classNameArray isEmpty not - ifTrue: [ exceptionObjClassName := classNameArray at: 1 ] ] \ No newline at end of file + | argsSize ofs expressionStream stonString answerArray objectArray classNameArray exceptionObjInClassNameArray | + argsSize := self argsSize. + args := Array new: argsSize. + expressionStream := WriteStream on: String new. + expressionStream + nextPutAll: '(' , aTodeSession todeServerAccessString , ' for: '; + nextPutAll: aTodeSession shell shellId printString; + nextPutAll: ') reifyExceptionArgsForOopList: {'. + ofs := self argsOffset. + 1 to: argsSize do: [ :i | + expressionStream + nextPutAll: (self oopTypeAt: ofs) asOop printString; + nextPutAll: '. '. + ofs := ofs + 8 ]. + exceptionObjInClassNameArray := false. + self exceptionObj + ifNil: [ + exceptionObjInClassNameArray := true. + expressionStream + nextPutAll: '} exceptionObjAndClassNameFrom: '; + nextPutAll: self number asString ] + ifNotNil: [ + expressionStream + nextPutAll: '} classNamesForOopList: {'; + nextPutAll: self exceptionObj asOop printString; + nextPut: $} ]. + [ stonString := aTodeSession executeStringExpectingStringNB: expressionStream contents envId: aTodeSession environmentId ] + on: Error + do: [ :ex | self halt ]. + answerArray := aTodeSession shell objectSerializer fromString: stonString. + objectArray := answerArray at: 1. + 1 to: argsSize do: [ :i | + args at: i put: (objectArray at: i). + ofs := ofs + 8 ]. + classNameArray := answerArray at: 2. + exceptionObjInClassNameArray + ifTrue: [ + | exceptionObjOop | + exceptionObjOop := classNameArray at: 1. + exceptionObj := library oopTypeFromInteger: exceptionObjOop. + exceptionObjClassName := classNameArray at: 2 ] + ifFalse: [ + classNameArray isEmpty not + ifTrue: [ exceptionObjClassName := classNameArray at: 1 ] ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/GciErrSType64.extension/methodProperties.json b/repository/Topez-Client-GemStone.package/GciErrSType64.extension/methodProperties.json index fac006704..cada28ab5 100644 --- a/repository/Topez-Client-GemStone.package/GciErrSType64.extension/methodProperties.json +++ b/repository/Topez-Client-GemStone.package/GciErrSType64.extension/methodProperties.json @@ -4,4 +4,4 @@ "instance" : { "asGsRuntimeException:" : "dkh 12/18/2013 07:46", "initializeUsingSton:session:" : "dkh 1/20/2014 05:20", - "readArgumentsAndExceptionClassUsingStonIn:" : "dkh 3/30/2013 15:28" } } + "readArgumentsAndExceptionClassUsingStonIn:" : "dkh 6/25/2015 17:03" } } diff --git a/repository/Topez-Client-GemStone.package/TDShell.extension/class/topezClientClass.st b/repository/Topez-Client-GemStone.package/TDShell.extension/class/topezClientClass.st new file mode 100644 index 000000000..78381f7f6 --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDShell.extension/class/topezClientClass.st @@ -0,0 +1,3 @@ +*Topez-Client-GemStone +topezClientClass + ^ TDTopezGemStoneClient \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDShell.extension/instance/topezClientClass.st b/repository/Topez-Client-GemStone.package/TDShell.extension/instance/topezClientClass.st index 029e78fb5..57e625369 100644 --- a/repository/Topez-Client-GemStone.package/TDShell.extension/instance/topezClientClass.st +++ b/repository/Topez-Client-GemStone.package/TDShell.extension/instance/topezClientClass.st @@ -1,3 +1,3 @@ *topez-client-gemstone topezClientClass - ^ TDTopezGemStoneClient \ No newline at end of file + ^ self class topezClientClass \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDShell.extension/methodProperties.json b/repository/Topez-Client-GemStone.package/TDShell.extension/methodProperties.json index a47a39dd6..6f62e2e6b 100644 --- a/repository/Topez-Client-GemStone.package/TDShell.extension/methodProperties.json +++ b/repository/Topez-Client-GemStone.package/TDShell.extension/methodProperties.json @@ -1,5 +1,5 @@ { "class" : { - }, + "topezClientClass" : "dkh 4/4/2015 16:43" }, "instance" : { - "topezClientClass" : "dkh 5/26/2013 14:09" } } + "topezClientClass" : "dkh 4/4/2015 16:43" } } diff --git a/repository/Topez-Client-GemStone.package/TDShouldFlushEventCacheNotification.class/README.md b/repository/Topez-Client-GemStone.package/TDShouldFlushEventCacheNotification.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Client-GemStone.package/TDShouldFlushEventCacheNotification.class/instance/defaultAction.st b/repository/Topez-Client-GemStone.package/TDShouldFlushEventCacheNotification.class/instance/defaultAction.st new file mode 100644 index 000000000..5d7b141b7 --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDShouldFlushEventCacheNotification.class/instance/defaultAction.st @@ -0,0 +1,5 @@ +exceptiondescription +defaultAction + "By default go ahead and flush the event cache .... handle and resume with false, to defer flush event til later event." + + ^ true \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDShouldFlushEventCacheNotification.class/methodProperties.json b/repository/Topez-Client-GemStone.package/TDShouldFlushEventCacheNotification.class/methodProperties.json new file mode 100644 index 000000000..8245a22ef --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDShouldFlushEventCacheNotification.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "defaultAction" : "dkh 8/31/2015 14:20" } } diff --git a/repository/Topez-Client-GemStone.package/TDShouldFlushEventCacheNotification.class/properties.json b/repository/Topez-Client-GemStone.package/TDShouldFlushEventCacheNotification.class/properties.json new file mode 100644 index 000000000..f1a5ba4ba --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDShouldFlushEventCacheNotification.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Client-GemStone", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShouldFlushEventCacheNotification", + "pools" : [ + ], + "super" : "Notification", + "type" : "normal" } diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/class/initialize.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/class/initialize.st new file mode 100644 index 000000000..9142c6678 --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/class/initialize.st @@ -0,0 +1,5 @@ +class initialization +initialize + "self initialize." + + super initialize \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/class/startUp..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/class/startUp..st new file mode 100644 index 000000000..8d736e072 --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/class/startUp..st @@ -0,0 +1,5 @@ +class initialization +startUp: resuming + super startUp: resuming. + resuming + ifTrue: [ windowProperties ifNotNil: [ self initializeWindowBounds: windowProperties caculateWindowBounds ] ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/clientApiVersion.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/clientApiVersion.st new file mode 100644 index 000000000..97bfcd9f3 --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/clientApiVersion.st @@ -0,0 +1,12 @@ +as yet unclassified +clientApiVersion + "Version changes whenever the api between client and server changes: + Major version changes when incompatible API changes have been made. + Minor version changes when API is extended/changed in a backwards compatible manner. + Patch version changes whenever bugfixes are made in the API" + + "1.0.0 - initial version" + + "1.1.0 - introduce TDEventsCache" + + ^ '1.1.0' asMetacelloVersionNumber \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/effectiveApiVersion..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/effectiveApiVersion..st new file mode 100644 index 000000000..4eedd2d70 --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/effectiveApiVersion..st @@ -0,0 +1,3 @@ +as yet unclassified +effectiveApiVersion: aApiVersion + effectiveApiVersion := aApiVersion \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/effectiveApiVersion.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/effectiveApiVersion.st new file mode 100644 index 000000000..cd5659db9 --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/effectiveApiVersion.st @@ -0,0 +1,4 @@ +as yet unclassified +effectiveApiVersion + effectiveApiVersion ifNil: [ ^ '1.0.0' asMetacelloVersionNumber ]. + ^ effectiveApiVersion \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateCommand.batchMode..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateCommand.batchMode..st index bc63df336..70c3aa594 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateCommand.batchMode..st +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateCommand.batchMode..st @@ -1,7 +1,7 @@ as yet unclassified evaluateCommand: command batchMode: batchBool | stonString transcriptOop | - stonString := STON toString: command. + stonString := self objectSerializer toString: command. batchBool ifFalse: [ transcriptOop := self session clientForwarderCache keyAtValue: Transcript ifAbsent: [ ] ]. [ diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateSTONSmalltalk.batchMode..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateSTONSmalltalk.batchMode..st new file mode 100644 index 000000000..604d244eb --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateSTONSmalltalk.batchMode..st @@ -0,0 +1,16 @@ +as yet unclassified +evaluateSTONSmalltalk: smalltalkSource batchMode: batchBool + | transcriptOop | + batchBool + ifFalse: [ transcriptOop := self session clientForwarderCache keyAtValue: Transcript ifAbsent: [ ] ]. + [ + (transcriptOop notNil and: [ batchBool not ]) + ifTrue: [ self session clientForwarderCache at: transcriptOop put: self shell console ]. + ^ self session + executeStringExpectingStringNB: + '(' , self todeServerAccessString , ' for: ' , self shell shellId asString , ') evaluateSTONSmalltalk:' + , smalltalkSource printString + envId: self environmentId ] + ensure: [ + (session notNil and: [ transcriptOop notNil and: [ batchBool not ] ]) + ifTrue: [ self session clientForwarderCache at: transcriptOop put: Transcript ] ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateSTONSmalltalk.variableBindings.batchMode..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateSTONSmalltalk.variableBindings.batchMode..st new file mode 100644 index 000000000..c3f7f973b --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateSTONSmalltalk.variableBindings.batchMode..st @@ -0,0 +1,16 @@ +as yet unclassified +evaluateSTONSmalltalk: smalltalkSource variableBindings: variableBindings batchMode: batchBool + | transcriptOop | + batchBool + ifFalse: [ transcriptOop := self session clientForwarderCache keyAtValue: Transcript ifAbsent: [ ] ]. + [ + (transcriptOop notNil and: [ batchBool not ]) + ifTrue: [ self session clientForwarderCache at: transcriptOop put: self shell console ]. + ^ self session + executeStringExpectingStringNB: + '(' , self todeServerAccessString , ' for: ' , self shell shellId asString , ') evaluateSTONSmalltalk:' + , smalltalkSource printString , ' variableBindings: ' , (self objectSerializer toString: variableBindings) printString + envId: self environmentId ] + ensure: [ + (session notNil and: [ transcriptOop notNil and: [ batchBool not ] ]) + ifTrue: [ self session clientForwarderCache at: transcriptOop put: Transcript ] ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateTokens.redirectTarget..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateTokens.redirectTarget..st index 5d96aaaeb..05df9c6a9 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateTokens.redirectTarget..st +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/evaluateTokens.redirectTarget..st @@ -1,7 +1,7 @@ as yet unclassified evaluateTokens: tokens redirectTarget: redirectTarget | stonString transcriptOop | - stonString := STON toString: tokens. + stonString := self objectSerializer toString: tokens. transcriptOop := self session clientForwarderCache keyAtValue: Transcript. [ self session clientForwarderCache at: transcriptOop put: self shell console. diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/filePath.fromScriptPathOptions..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/filePath.fromScriptPathOptions..st new file mode 100644 index 000000000..d563fe3ea --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/filePath.fromScriptPathOptions..st @@ -0,0 +1,6 @@ +tode installation +filePath: filename fromScriptPathOptions: options + ^ options + at: 'scriptPath' + ifPresent: [ :path | path , '/' , filename ] + ifAbsent: [ TDShell lookupServerScripts: filename ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/filetreeUtilityClass.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/filetreeUtilityClass.st deleted file mode 100644 index 3756865cc..000000000 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/filetreeUtilityClass.st +++ /dev/null @@ -1,3 +0,0 @@ -builtins -filetreeUtilityClass - ^MCFileTreeFileUtils current \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/flushEventCache.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/flushEventCache.st new file mode 100644 index 000000000..ee64c01c0 --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/flushEventCache.st @@ -0,0 +1,28 @@ +client element caching +flushEventCache + "serialize eventCache + reset the cache + ship the serialized eventCache across the wire + handle serverEventCache" + + | eventCacheString serverEventCacheString | + self eventCache isEmpty + ifTrue: [ ^ self ]. + self effectiveApiVersion < '1.1.0' asMetacelloVersionNumber + ifTrue: [ + "server does not support event cache" + ^ self ]. + TDShouldFlushEventCacheNotification signal + ifFalse: [ + "defer flush til later event" + ^ self ]. + eventCacheString := self objectSerializer toString: self eventCache. + self eventCache reset. + [ + serverEventCacheString := self session + receiverNB: topezServerProxy + perform: #clientEventCache: + withArgs: {eventCacheString}. + self serverEventCache: (self objectSerializer fromString: serverEventCacheString) ] + on: GciSessionNotLoggedInError + do: [ :ignored | ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/getEdgeDictionaryForClientListElement..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/getEdgeDictionaryForClientListElement..st index a8e7c3791..feff8506f 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/getEdgeDictionaryForClientListElement..st +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/getEdgeDictionaryForClientListElement..st @@ -6,4 +6,4 @@ getEdgeDictionaryForClientListElement: aClientListElement perform: #'value:' withArgs: {(aClientListElement clientElementOopType)}. stonString := self session library localFor: oopType. - ^ STON fromString: stonString \ No newline at end of file + ^ self objectSerializer fromString: stonString \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/getListForClientListElement..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/getListForClientListElement..st index 1fa790da2..1b58f8796 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/getListForClientListElement..st +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/getListForClientListElement..st @@ -6,4 +6,4 @@ getListForClientListElement: aClientListElement perform: #'value:' withArgs: {(aClientListElement clientElementOopType)}. stonString := self session library localFor: oopType. - ^ STON fromString: stonString \ No newline at end of file + ^ self objectSerializer fromString: stonString \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/getSessionDescription.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/getSessionDescription.st index 4adaf032d..4f920ac68 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/getSessionDescription.st +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/getSessionDescription.st @@ -1,3 +1,3 @@ as yet unclassified getSessionDescription - ^ STON toString: self sessionDescription \ No newline at end of file + ^ self objectSerializer toString: self sessionDescription \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installGLASS.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installGLASS.st deleted file mode 100644 index eef48d8d0..000000000 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installGLASS.st +++ /dev/null @@ -1,17 +0,0 @@ -tode installation -installGLASS - "GLASS install involves running a topaz script and at the moment there is no support - for running a topaz script from within a Smalltalk session" - - [ - [ - | installSession | - self error: 'installing GLASS from a GCI client is not currently supported'. - self installGLASSSystemUser. - installSession := self loginUsing: TodeInstallSession. - [ installSession executeStringNB: self installGLASSLegacyStreamsString ] - ensure: [ installSession logout ] ] - on: GsErrorNotification - do: [ :ex | self error: 'Unable to log into server:' , ex description ] ] - on: Error - do: [ :ex | self halt ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installGLASSLegacyStreamsString.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installGLASSLegacyStreamsString.st deleted file mode 100644 index 0aa5eb78a..000000000 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installGLASSLegacyStreamsString.st +++ /dev/null @@ -1,7 +0,0 @@ -tode installation -installGLASSLegacyStreamsString - ^'Stream installLegacyStreamImplementation. -(Globals at: #''PositionableStream_position'') == #''ANSI'' - ifTrue: [ - Globals at: #''PositionableStream_position'' put: #''Legacy''. - PositionableStream compilePositionMethods ].' \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installGLASSString.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installGLASSString.st deleted file mode 100644 index f1418521a..000000000 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installGLASSString.st +++ /dev/null @@ -1,4 +0,0 @@ -tode installation -installGLASSString - ^'UserGlobals at: #BootstrapSymbolDictionaryName put: #UserGlobals. - System commitTransaction.' \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installGLASSSystemUser.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installGLASSSystemUser.st deleted file mode 100644 index 49e1028c8..000000000 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installGLASSSystemUser.st +++ /dev/null @@ -1,20 +0,0 @@ -tode installation -installGLASSSystemUser - [ - [ - | systemUserSession oldSessionDescription systemUserSessionDescription | - oldSessionDescription := self sessionDescription. - systemUserSessionDescription := oldSessionDescription copy - userId: 'SystemUser'; - password: 'swordfish'; - yourself. - [ - self sessionDescription: systemUserSessionDescription. - systemUserSession := self loginUsing: TodeInstallSession. - [ systemUserSession executeStringNB: self installGLASSLegacyStreamsString ] - ensure: [ systemUserSession logout ] ] - ensure: [ self sessionDescription: oldSessionDescription ] ] - on: GsErrorNotification - do: [ :ex | self error: 'Unable to log into server:' , ex description ] ] - on: Error - do: [ :ex | self halt ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installImportScriptString.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installImportScriptString.st deleted file mode 100644 index 63933a6cc..000000000 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installImportScriptString.st +++ /dev/null @@ -1,8 +0,0 @@ -tode installation -installImportScriptString -^'| stonTool topez | -topez := TDTopezServer for: 0. -stonTool := topez toolInstanceFor: ''ston''. -stonTool stonImportFrom: ''/opt/git/tode/ston/home/bin/import'' to: (topez lookup: ''/home''). -System commit. -' \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installMetacelloString..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installMetacelloString..st index 193243106..83d7523f0 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installMetacelloString..st +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installMetacelloString..st @@ -1,3 +1,5 @@ tode installation -installMetacelloString: aDirectory - self filetreeUtilityClass readStreamFor: 'installMetacello.ws' in: aDirectory do: [ :fileStream | ^ fileStream contents ] \ No newline at end of file +installMetacelloString: options + | filePath | + filePath := self filePath: 'installMetacello.ws' fromScriptPathOptions: options. + filePath asFileReference readStreamDo: [ :fileStream | ^ fileStream contents ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTode..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTode..st new file mode 100644 index 000000000..fdf9f2c62 --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTode..st @@ -0,0 +1,16 @@ +tode installation +installTode: options + self + installTodeBlock: [ :installSession | + | transcriptOop transcriptOopType | + transcriptOop := installSession executeStringNB: self installTranscriptClientForwarder envId: self environmentId. + transcriptOopType := installSession asOopType: transcriptOop. + installSession clientForwarderCache at: transcriptOopType put: Transcript. + installSession + executeStringNB: (self installUpgradeGlassString: options) envId: self environmentId; + executeStringNB: (self installMetacelloString: options) envId: self environmentId; + executeStringNB: (self installTodeGLASS1String: options) envId: self environmentId; + executeStringNB: (self installTodeString: options) envId: self environmentId; + yourself. + ^ 'finished tODE install' ] + \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTode.forceGLASSInstall..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTode.forceGLASSInstall..st deleted file mode 100644 index 074ac2bf1..000000000 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTode.forceGLASSInstall..st +++ /dev/null @@ -1,33 +0,0 @@ -tode installation -installTode: installBlock forceGLASSInstall: forceGLASSInstall - [ - [ - | installSession glassNotInstalled | - installSession := self loginUsing: TodeInstallSession. - [ - glassNotInstalled := installSession - executeStringNB: '(System myUserProfile symbolList objectNamed: #ConfigurationOfGLASS) == nil' - envId: self environmentId ] - ensure: [ installSession logout ]. - glassNotInstalled - ifTrue: [ - true - ifTrue: [ - "for now we will not attempt to install GLASS over GCI" - self - error: - 'GLASS must be pre-installed. Shut down your stone and restart after copying $GEMSTONE/bin/extent0.seaside.dbf to $GEMSTONE/seaside/data/extent0.dbf.' ]. - forceGLASSInstall - ifFalse: [ ^ 'GLASS not installed. If you want to force GLASS to be installed, use the `--force` option.' ]. - self installGLASS ]. - installSession := self loginUsing: TodeInstallSession. - [installBlock value: installSession] - - ensure: [ installSession logout ] ] - on: GsErrorNotification - do: [ :ex | self error: 'Error while installing tODE' , ex description ] ] - on: Error - do: [ :ex | - self shell debugMode - ifTrue: [ ex pass ] - ifFalse: [ self halt ] ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTode.scriptDirectory..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTode.scriptDirectory..st deleted file mode 100644 index 041982356..000000000 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTode.scriptDirectory..st +++ /dev/null @@ -1,16 +0,0 @@ -tode installation -installTode: forceGLASSInstall scriptDirectory: scriptDirectory - self - installTode: [ :installSession | - | transcriptOop transcriptOopType | - transcriptOop := installSession executeStringNB: self installTranscriptClientForwarder envId: self environmentId. - transcriptOopType := installSession asOopType: transcriptOop. - installSession clientForwarderCache at: transcriptOopType put: Transcript. - installSession - executeStringNB: (self installUpgradeGlassString: scriptDirectory) envId: self environmentId; - executeStringNB: (self installMetacelloString: scriptDirectory) envId: self environmentId; - executeStringNB: (self installTodeGLASS1String: scriptDirectory) envId: self environmentId; - executeStringNB: (self installTodeString: scriptDirectory) envId: self environmentId; - yourself. - ^ 'finished tODE install' ] - forceGLASSInstall: forceGLASSInstall \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeBlock..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeBlock..st new file mode 100644 index 000000000..c862d739b --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeBlock..st @@ -0,0 +1,26 @@ +tode installation +installTodeBlock: installBlock + [ + | installSession glassNotInstalled | + installSession := self loginUsing: TodeInstallSession. + [ + glassNotInstalled := installSession + executeStringNB: '(System myUserProfile symbolList objectNamed: #ConfigurationOfGLASS) == nil' + envId: self environmentId ] + ensure: [ installSession logout ]. + glassNotInstalled + ifTrue: [ + "for now we will not attempt to install GLASS over GCI" + self + error: + 'GLASS must be pre-installed. Shut down your stone and restart after copying $GEMSTONE/bin/extent0.seaside.dbf to your extent directory. If using GsDevKitHome, run the `$GS_HOME/bin/stoneExtent ` command.' ]. + installSession := self loginUsing: TodeInstallSession. + [ installBlock value: installSession ] + ensure: [ installSession logout ] ] + on: GsRuntimeExceptionNotification + do: [ :ex | + ((ex isKindOf: GsRuntimeExceptionNotification) and: [ topezServerProxy isNil ]) + ifTrue: [ + "without topezServerProxy normal error processing will not proceed properly" + self error: 'while installing tODE on server: ' , ex description printString ]. + ex pass ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeFromGithubString.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeFromGithubString.st deleted file mode 100644 index a882518c2..000000000 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeFromGithubString.st +++ /dev/null @@ -1,13 +0,0 @@ -tode installation -installTodeFromGithubString -^'Transcript cr; show: ''-----Upgrading tODE to latest master version on github''. -Metacello new - baseline: ''Tode''; - repository: ''github://dalehenrich/tode:master/repository''; - get. -Metacello new - baseline: ''Tode''; - repository: ''github://dalehenrich/tode:master/repository''; - load: ''GemStone Dev''. -System commit. -' \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeGLASS1String..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeGLASS1String..st index f6476661b..a8e8866a3 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeGLASS1String..st +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeGLASS1String..st @@ -1,3 +1,5 @@ tode installation -installTodeGLASS1String: aDirectory - self filetreeUtilityClass readStreamFor: 'installGLASS1.ws' in: aDirectory do: [ :fileStream | ^ fileStream contents ] \ No newline at end of file +installTodeGLASS1String: options + | filePath | + filePath := self filePath: 'installGLASS1.ws' fromScriptPathOptions: options. + filePath asFileReference readStreamDo: [ :fileStream | ^ fileStream contents ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeString..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeString..st index e38a44433..3cfdf8ae4 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeString..st +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeString..st @@ -1,3 +1,5 @@ tode installation -installTodeString: aDirectory - self filetreeUtilityClass readStreamFor: 'installTode.ws' in: aDirectory do: [ :fileStream | ^ fileStream contents ] \ No newline at end of file +installTodeString: options + | filePath | + filePath := self filePath: 'installTode.ws' fromScriptPathOptions: options. + filePath asFileReference readStreamDo: [ :fileStream | ^ fileStream contents ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeTopazScript.scriptDirectory..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeTopazScript.scriptDirectory..st deleted file mode 100644 index 57cbb25a9..000000000 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installTodeTopazScript.scriptDirectory..st +++ /dev/null @@ -1,38 +0,0 @@ -tode installation -installTodeTopazScript: forceGLASSInstall scriptDirectory: scriptDirectory - | stream desc | - stream := WriteStream on: String new. - desc := self sessionDescription. - stream - nextPutAll: 'set user ' , desc userId , ' password ' , desc password; - cr; - nextPutAll: 'set gemstone ' , desc stoneNRS; - cr; - nextPutAll: 'set gemnetid ' , desc gemNRS; - cr; - nextPutAll: 'run'; - cr; - nextPutAll: (self installUpgradeGlassString: scriptDirectory); - cr; - nextPut: $%; - cr; - nextPutAll: 'run'; - cr; - nextPutAll: (self installMetacelloString: scriptDirectory); - cr; - nextPut: $%; - cr; - nextPutAll: 'run'; - cr; - nextPutAll: (self installTodeGLASS1String: scriptDirectory); - cr; - nextPut: $%; - cr; - nextPutAll: 'run'; - cr; - nextPutAll: (self installTodeString: scriptDirectory); - cr; - nextPut: $%; - cr; - yourself. - ^ stream contents \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installUpdateTode.scriptDirectory..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installUpdateTode.scriptDirectory..st deleted file mode 100644 index 599738616..000000000 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installUpdateTode.scriptDirectory..st +++ /dev/null @@ -1,13 +0,0 @@ -tode installation -installUpdateTode: forceGLASSInstall scriptDirectory: scriptDirectory - self - installTode: [ :installSession | - | transcriptOop transcriptOopType | - transcriptOop := installSession executeStringNB: self installTranscriptClientForwarder envId: self environmentId. - transcriptOopType := installSession asOopType: transcriptOop. - installSession clientForwarderCache at: transcriptOopType put: Transcript. - installSession - executeStringNB: (self installTodeString: scriptDirectory) envId: self environmentId; - yourself. - ^ 'finished tODE update' ] - forceGLASSInstall: forceGLASSInstall \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installUpgradeGlassString..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installUpgradeGlassString..st index 5fb79aceb..067a6a22d 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installUpgradeGlassString..st +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/installUpgradeGlassString..st @@ -1,3 +1,5 @@ tode installation -installUpgradeGlassString: aDirectory - self filetreeUtilityClass readStreamFor: 'upgradeGLASS.ws' in: aDirectory do: [ :fileStream | ^ fileStream contents ] \ No newline at end of file +installUpgradeGlassString: options + | filePath | + filePath := self filePath: 'upgradeGLASS.ws' fromScriptPathOptions: options. + filePath asFileReference readStreamDo: [ :fileStream | ^ fileStream contents ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/itemSelectedForClientListElement.index..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/itemSelectedForClientListElement.index..st deleted file mode 100644 index 9234ee087..000000000 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/itemSelectedForClientListElement.index..st +++ /dev/null @@ -1,11 +0,0 @@ -as yet unclassified -itemSelectedForClientListElement: aClientListElement index: index - | oopType | - oopType :=self session - rawReceiverNB: aClientListElement itemSelectedBlockOopType - perform: #'value:value:value:' - withArgs: - {(aClientListElement clientElementOopType). - index. - (Sensor shiftPressed)}. - ^ self session library localFor: oopType \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/itemSelectedForClientListElement.index.listSelections..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/itemSelectedForClientListElement.index.listSelections..st new file mode 100644 index 000000000..fb8dd8f1e --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/itemSelectedForClientListElement.index.listSelections..st @@ -0,0 +1,12 @@ +as yet unclassified +itemSelectedForClientListElement: aClientListElement index: index listSelections: listSelectionsDictionary + | oopType | + oopType := self session + rawReceiverNB: aClientListElement itemSelectedBlockOopType + perform: #cull:cull:cull:cull: + withArgs: + {(aClientListElement clientElementOopType). + index. + (Sensor shiftPressed). + listSelectionsDictionary}. + ^ self session library localFor: oopType \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/login.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/login.st index 603342487..c3f545ee9 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/login.st +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/login.st @@ -1,4 +1,3 @@ as yet unclassified login - self class addDependent: self. ^ self loginUsing: self todeSessionClass \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/loginUsing..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/loginUsing..st index 456941074..ac0463eb0 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/loginUsing..st +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/loginUsing..st @@ -11,6 +11,7 @@ loginUsing: todeSessionClass gciError := sess getAndClearLastError. messageText := gciError message. ^ Error signal: messageText , ' For further information about login failures, check the gem log file' ]. + self class addDependent: self. false ifTrue: [ sess enableGemTrace ]. ^ sess \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/remapTranscriptClientForwarderFrom.to..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/remapTranscriptClientForwarderFrom.to..st new file mode 100644 index 000000000..a4972ae0e --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/remapTranscriptClientForwarderFrom.to..st @@ -0,0 +1,13 @@ +as yet unclassified +remapTranscriptClientForwarderFrom: oldTranscript to: newTranscript + session + ifNotNil: [ + | transcriptOop | + transcriptOop := session clientForwarderCache + keyAtValue: oldTranscript + ifAbsent: [ + Transcript + cr; + show: 'Hmmm .. no client forwarder found for Transcript'. + ^ self ]. + session clientForwarderCache at: transcriptOop put: newTranscript ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/restoreFromBackupFromClient..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/restoreFromBackupFromClient..st index fdee7ccee..9e304d224 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/restoreFromBackupFromClient..st +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/restoreFromBackupFromClient..st @@ -13,7 +13,7 @@ restoreFromBackupFromClient: backupPath ^ restoreSession executeStringExpectingStringNB: 'SystemRepository restoreFromBackup: ' , backupPath printString envId: self environmentId ] - on: GsErrorNotification , Error + on: GsErrorNotification do: [ :ex | ex errorNumber ~~ 4046 ifTrue: [ ^ ex pass ]. diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/serverApiVersion..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/serverApiVersion..st new file mode 100644 index 000000000..14b1e8f85 --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/serverApiVersion..st @@ -0,0 +1,6 @@ +as yet unclassified +serverApiVersion: aServerApiVersion + serverApiVersion := aServerApiVersion. + self clientApiVersion >= serverApiVersion + ifTrue: [ self effectiveApiVersion: serverApiVersion ] + ifFalse: [ self effectiveApiVersion: self clientApiVersion ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/serverEventCache..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/serverEventCache..st new file mode 100644 index 000000000..c71a475cf --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/serverEventCache..st @@ -0,0 +1,4 @@ +client element caching +serverEventCache: serverEventCache + serverEventCache isEmpty + ifTrue: [ ^ self ] \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/switchActionForClientButtonBarElement.selector..st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/switchActionForClientButtonBarElement.selector..st new file mode 100644 index 000000000..e82419e25 --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/switchActionForClientButtonBarElement.selector..st @@ -0,0 +1,10 @@ +as yet unclassified +switchActionForClientButtonBarElement: aClientButtonBarElement selector: selector + | oopType | + oopType := self session + rawReceiverNB: aClientButtonBarElement switchActionBlockOopType + perform: #value:value: + withArgs: + {(aClientButtonBarElement clientElementOopType). + selector}. + ^ self session library localFor: oopType \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/topezServerProxy.st b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/topezServerProxy.st index b6a5cb2f4..ef5b001b8 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/topezServerProxy.st +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/instance/topezServerProxy.st @@ -2,18 +2,18 @@ as yet unclassified topezServerProxy topezServerProxy ifNil: [ - | stonString transcriptOopType resultArray topezServerOop topezClientOopType | - [ stonString := self session executeStringExpectingStringNB: self todeServerCreationString envId: self environmentId ] + | jsonString transcriptOopType resultArray topezServerOop topezClientOopType | + [ jsonString := self session executeStringExpectingStringNB: self todeServerCreationString envId: self environmentId ] on: GsErrorNotification do: [ :firstEx | "try again with no options, in case using old version of tode ... eventually get rid of this" [ - stonString := self session + jsonString := self session executeStringExpectingStringNB: (self todeServerCreationStringWithOptions: false) envId: self environmentId ] on: GsErrorNotification do: [ :ex | self error: 'Unable to log into server:' , ex description ] ]. - resultArray := STON fromString: stonString. + resultArray := self objectSerializer fromString: jsonString. topezServerOop := resultArray at: 1. topezClientOopType := self session asOopType: (resultArray at: 3). topezServerProxy := self session asOopType: topezServerOop. @@ -22,6 +22,20 @@ topezServerProxy transcriptOopType := self session asOopType: transcriptOop. self session clientForwarderCache at: transcriptOopType put: Transcript ]. self session clientForwarderCache at: topezClientOopType put: self. + resultArray size > 3 + ifTrue: [ + | protocolSignature objSerializer serverApiVersionString | + protocolSignature := resultArray at: 4. + objSerializer := TodeObjectSerializer serializeUsing: protocolSignature. + self session + rawReceiverNB: topezServerProxy + perform: #serializeObjectsUsing:version: + withArgs: objSerializer protocolSignatureArray. + self objectSerializer: objSerializer. + serverApiVersionString := resultArray size > 4 + ifTrue: [ resultArray at: 5 ] + ifFalse: [ '1.0.0' ]. + self serverApiVersion: serverApiVersionString asMetacelloVersionNumber ]. self session rawReceiverNB: topezServerProxy perform: #authorInitials: withArgs: {(Author fullName)}. self sessionDescription backupDirectory isEmpty not ifTrue: [ @@ -32,6 +46,15 @@ topezServerProxy withArgs: {(self sessionDescription backupDirectory)} ] on: Error do: [ :ignored | ] ]. + self sessionDescription snapshotDirectory isEmpty not + ifTrue: [ + [ + self session + rawReceiverNB: topezServerProxy + perform: #snapshotDirectory: + withArgs: {(self sessionDescription snapshotDirectory)} ] + on: Error + do: [ :ignored | ] ]. TZGemStoneProxyBehavior new topez: self; allGlobalNames; diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/methodProperties.json b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/methodProperties.json index 0769fff39..aa25d040e 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/methodProperties.json +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/methodProperties.json @@ -1,49 +1,53 @@ { "class" : { + "initialize" : "dkh 3/21/2015 20:20", "slowConnection" : "dkh 8/19/2014 18:07", - "slowConnection:" : "dkh 8/19/2014 11:23" }, + "slowConnection:" : "dkh 8/19/2014 11:23", + "startUp:" : "dkh 3/21/2015 20:22" }, "instance" : { + "clientApiVersion" : "dkh 8/12/2015 12:21", "cmdKeyPressedForClientSourceElement:keyChar:editorSource:selectionInterval:" : "dkh 5/28/2013 14:45", - "evaluateCommand:batchMode:" : "dkh 8/19/2014 16:04", + "effectiveApiVersion" : "dkh 8/12/2015 12:21", + "effectiveApiVersion:" : "dkh 8/12/2015 11:14", + "evaluateCommand:batchMode:" : "dkh 6/25/2015 16:42", + "evaluateSTONSmalltalk:batchMode:" : "dkh 4/11/2015 07:05", + "evaluateSTONSmalltalk:variableBindings:batchMode:" : "dkh 6/25/2015 16:42", "evaluateServerSmalltalk:batchMode:" : "dkh 7/26/2014 11:16", - "evaluateTokens:redirectTarget:" : "dkh 5/26/2013 20:51", + "evaluateTokens:redirectTarget:" : "dkh 6/25/2015 16:42", "executeMenuActionForClientListElement:action:selectionIndex:" : "dkh 2/19/2014 18:02", "executeMenuActionForClientSourceElement:action:selectedText:" : "dkh 3/25/2014 11:52", "executeMenuActionForClientSourceElement:action:selectionInterval:dirty:" : "dkh 3/25/2014 12:02", - "filetreeUtilityClass" : "dkh 12/8/2013 17:42", - "getEdgeDictionaryForClientListElement:" : "dkh 6/12/2013 06:48", - "getListForClientListElement:" : "dkh 5/28/2013 14:53", - "getSessionDescription" : "dkh 5/28/2014 07:07", + "filePath:fromScriptPathOptions:" : "dkh 3/11/2015 12:27", + "flushEventCache" : "dkh 8/31/2015 14:21", + "getEdgeDictionaryForClientListElement:" : "dkh 6/25/2015 16:42", + "getListForClientListElement:" : "dkh 6/25/2015 16:42", + "getSessionDescription" : "dkh 6/25/2015 16:42", "getSourceForClientSourceElement:" : "dkh 5/28/2013 14:53", - "installGLASS" : "dkh 12/8/2013 17:01", - "installGLASSLegacyStreamsString" : "dkh 12/8/2013 16:49", - "installGLASSString" : "dkh 12/8/2013 16:54", - "installGLASSSystemUser" : "dkh 12/8/2013 16:51", - "installImportScriptString" : "dkh 11/12/2013 08:58", - "installMetacelloString:" : "dkh 12/8/2013 17:50", - "installTode:forceGLASSInstall:" : "dkh 7/27/2014 17:36", - "installTode:scriptDirectory:" : "dkh 6/19/2014 11:41", - "installTodeFromGithubString" : "dkh 11/12/2013 10:36", - "installTodeGLASS1String:" : "dkh 12/8/2013 17:49", - "installTodeString:" : "dkh 12/8/2013 17:50", - "installTodeTopazScript:scriptDirectory:" : "dkh 12/14/2013 07:43", + "installMetacelloString:" : "dkh 3/11/2015 12:28", + "installTode:" : "dkh 3/11/2015 12:34", + "installTodeBlock:" : "dkh 3/17/2015 11:03", + "installTodeGLASS1String:" : "dkh 3/11/2015 12:29", + "installTodeString:" : "dkh 3/11/2015 12:29", "installTranscriptClientForwarder" : "dkh 11/12/2013 08:59", - "installUpdateTode:scriptDirectory:" : "dkh 6/19/2014 11:45", - "installUpgradeGlassString:" : "dkh 12/8/2013 17:50", - "itemSelectedForClientListElement:index:" : "dkh 1/6/2014 07:11", - "login" : "dkh 8/26/2014 05:56", - "loginUsing:" : "dkh 12/16/2013 14:16", + "installUpgradeGlassString:" : "dkh 3/11/2015 12:28", + "itemSelectedForClientListElement:index:listSelections:" : "dkh 1/28/2015 16:55", + "login" : "dkh 4/4/2015 16:36", + "loginUsing:" : "dkh 4/4/2015 16:56", "openWorkspaceFor:" : "dkh 4/27/2014 19:58", "proxyBehaviorClass" : "dkh 5/28/2013 13:28", - "resetAllGlobalNames" : "dkh 8/27/2014 16:47", + "remapTranscriptClientForwarderFrom:to:" : "dkh 4/4/2015 16:59", + "resetAllGlobalNames" : "dkh 5/28/2013 13:36", "restoreBackupFrom:" : "dkh 1/20/2014 15:12", - "restoreFromBackupFromClient:" : "dkh 1/5/2014 14:54", + "restoreFromBackupFromClient:" : "dkh 4/1/2015 07:24", "restoreStopOtherSessions:" : "dkh 1/5/2014 14:40", + "serverApiVersion:" : "dkh 8/12/2015 11:12", + "serverEventCache:" : "dkh 8/12/2015 12:34", "session" : "dkh 5/26/2013 20:59", "sessionDescription" : "dkh 3/22/2014 10:19", "sessionDescription:" : "dkh 5/26/2013 20:52", "setSourceForClientSourceElement:source:" : "dkh 6/2/2014 11:40", "spawnShellFor:" : "dkh 6/1/2013 10:03", + "switchActionForClientButtonBarElement:selector:" : "dkh 8/31/2015 08:18", "testLogin" : "dkh 6/16/2014 08:53", "testLogin:" : "dkh 12/8/2013 15:52", "testLoginExternalModuleNotFound" : "dkh 9/8/2014 12:13", @@ -56,5 +60,5 @@ "todeServerCreationStringWithOptions:" : "dkh 8/25/2014 14:24", "todeSessionClass" : "dkh 5/26/2013 21:00", "topezServerOop" : "dkh 5/26/2013 21:00", - "topezServerProxy" : "dkh 8/25/2014 14:26", + "topezServerProxy" : "dkh 8/12/2015 12:21", "windowIsClosingFor:" : "dkh 5/7/2014 07:28" } } diff --git a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/properties.json b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/properties.json index 08667c25f..696fd03f7 100644 --- a/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/properties.json +++ b/repository/Topez-Client-GemStone.package/TDTopezGemStoneClient.class/properties.json @@ -6,7 +6,8 @@ "SlowConnection" ], "commentStamp" : "", "instvars" : [ - ], + "serverApiVersion", + "effectiveApiVersion" ], "name" : "TDTopezGemStoneClient", "pools" : [ ], diff --git a/repository/Topez-Client-GemStone.package/TodeSession.class/instance/getExceptionStackFor..st b/repository/Topez-Client-GemStone.package/TodeSession.class/instance/getExceptionStackFor..st new file mode 100644 index 000000000..191e5e7d2 --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TodeSession.class/instance/getExceptionStackFor..st @@ -0,0 +1,8 @@ +as yet unclassified +getExceptionStackFor: error + "Execute in seesion, before enabling: + System gemConfigurationAt:#GemExceptionSignalCapturesStack put: true." + + | oopType stack | + oopType := self rawReceiverNB: error exceptionObj perform: #stackReport withArgs: #(). + stack := self library localFor: oopType \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TodeSession.class/instance/logStackRequested..st b/repository/Topez-Client-GemStone.package/TodeSession.class/instance/logStackRequested..st new file mode 100644 index 000000000..f45dac6de --- /dev/null +++ b/repository/Topez-Client-GemStone.package/TodeSession.class/instance/logStackRequested..st @@ -0,0 +1,15 @@ +private gci calls +logStackRequested: exceptionDescription + Transcript + cr; + show: '========>Server Stack: '; + cr. + [ self topez logStack ] + on: GsRuntimeExceptionNotification + do: [ :ex | Transcript show: 'Error during logStack: ' , ex description ]. + Transcript + cr; + show: '========>Client Stack: '; + cr. + Error signal: 'GemStone Server error: ' , exceptionDescription. + ^ nil \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TodeSession.class/instance/signalServerError..st b/repository/Topez-Client-GemStone.package/TodeSession.class/instance/signalServerError..st index 2f65e7adf..850e9bf4a 100644 --- a/repository/Topez-Client-GemStone.package/TodeSession.class/instance/signalServerError..st +++ b/repository/Topez-Client-GemStone.package/TodeSession.class/instance/signalServerError..st @@ -1,5 +1,7 @@ as yet unclassified signalServerError: error - "This means that errors will only show up in the topez associated with the window that initiated the session ... not quite what we want ... unless the exceptions are shared across topez instances" + "This means that errors will only show up in the topez associated with the window that initiated the session ... not quite what we want ... unless the exceptions are shared across topez instances" - ^ (error asGsRuntimeException: self) signal \ No newline at end of file + false + ifTrue: [ self getExceptionStackFor: error ]. + ^ (error asGsRuntimeException: self) signal \ No newline at end of file diff --git a/repository/Topez-Client-GemStone.package/TodeSession.class/methodProperties.json b/repository/Topez-Client-GemStone.package/TodeSession.class/methodProperties.json index 33d15a9de..09cfdf176 100644 --- a/repository/Topez-Client-GemStone.package/TodeSession.class/methodProperties.json +++ b/repository/Topez-Client-GemStone.package/TodeSession.class/methodProperties.json @@ -5,12 +5,14 @@ "debuggerRequested:" : "dkh 2/4/2013 14:36", "environmentId" : "dkh 2/24/2013 07:15", "getAndClearLastError" : "dkh 1/5/2013 10:14", + "getExceptionStackFor:" : "dkh 2/27/2015 13:52", "library" : "dkh 3/14/2013 11:08", + "logStackRequested:" : "dkh 3/24/2015 06:34", "loginWith:" : "dkh 3/14/2013 09:11", "sessionDescription" : "dkh 3/14/2013 09:06", "sessionDescription:" : "dkh 3/14/2013 09:08", "shell" : "dkh 1/4/2013 07:47", - "signalServerError:" : "dkh 3/29/2013 13:21", + "signalServerError:" : "dkh 2/27/2015 13:52", "terminateOnProcessAbort:" : "dkh 7/15/2013 02:25", "todeServerAccessString" : "dkh 2/23/2013 10:51", "topez" : "dkh 12/28/2012 19:03", diff --git a/repository/Topez-Client-GemStone.package/monticello.meta/version b/repository/Topez-Client-GemStone.package/monticello.meta/version index e46433f12..20283c28e 100644 --- a/repository/Topez-Client-GemStone.package/monticello.meta/version +++ b/repository/Topez-Client-GemStone.package/monticello.meta/version @@ -1 +1,171 @@ -(name 'Topez-Client-GemStone-dkh.9' message 'eliminate wired in path name (tODE_3.1.app) and use `SmalltalkImage current vm path` instead ... need to verify correctness on Mac and Windows ... ' id '9a62f307-43c8-4f1e-9e34-98d038c9dfd7' date '8 September 2014' time '12:15:38.766641 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.8' message 'Issue #107: arrange to resize all existing windows when window layout is changed' id '62ebf9c0-c75e-4b2b-a563-097a2d6de2e3' date '26 August 2014' time '6:25:18.732195 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.7' message 'Issue #105: some compat code for servers that have not been updated' id '05798cde-39ca-4ac4-b9a4-491b5dbdd931' date '26 August 2014' time '5:30:19.628097 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.6' message 'Issue #105: class var on TDTopezGemStoneClient determines whether or not Transcript proxies are set up from client-side ... still need to add builtin for control (client-side)' id 'a8da8637-c287-420a-a024-28be13e372ff' date '20 August 2014' time '6:40:49.549252 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.5' message 'debugMode == true means bring up a debugger (TDTopezGemStoneClient>>installTode:forceGLASSInstall: had it wrong) ' id 'addc7fb1-140f-4e77-ae83-97242a595bde' date '27 July 2014' time '5:42:36.129072 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.4' message 'make it possible to evaluate Smalltalk expressions on server ... side effects are more important that return value' id 'e0e4dcfa-f6e4-47fc-bb71-067fd72c8c0a' date '26 July 2014' time '11:20:26.630593 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.3' message 'add batchMode to TDShell ... tode client will NOT swap out the Transcript client forwarder in batch mode ... ultimately provide a means for choosing whether Transcript output should show up in client or not' id '3d285ebf-cf0c-40d9-84c5-7a0e737d59d6' date '25 July 2014' time '4:54:49.127949 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.2' message 'allow for turning on debugMode when running non-console evaluations' id '78188357-e3a0-4b58-89d5-489dfa3430f1' date '25 July 2014' time '7:54:15.696257 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.1' message 'merged by GitFileTree-MergeDriver' id '13aa3f83-1320-43e6-8030-409d72dce4cf' date '19 June 2014' time '1:16:44.611242 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.1' message 'merged by GitFileTree-MergeDriver' id '7d58a962-a1d7-4ec2-b495-5d6ca59a9c05' date '19 June 2014' time '1:06:08.710812 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.1' message 'merged by GitFileTree-MergeDriver' id 'b3d93526-cc44-497f-afd4-72843d58f866' date '19 June 2014' time '1:04:20.485206 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.252' message 'implement installServer client builtIn command. installServer installs GLASS1 and Metacello, etc. while updateServer simply loads a new version of tODE ...' id 'bcca73bd-34ed-417d-9f57-eaa5fe489a95' date '19 June 2014' time '12:15:20.258 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.251' message 'Issue #75: move some classes that are not longer used (but might be useful someday) to some obsolete classes' id '8dd495d2-97ba-498d-8d61-999d98e55000' date '18 June 2014' time '6:57:53.141 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.250' message 'Issue #75: remove last vestiges(?) of old keyboard handling from client(?) - next round of cleanup involves scaling back on the list editors (less likely) and Smalltalk code editors ... since some of them were using the old command mapping schemes' id 'd28556b0-7fb4-4933-b292-289108203f61' date '18 June 2014' time '5:14:29.942 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.249' message 'adjust misleading testLogin message' id 'a9396aed-6ba1-4437-8dc4-baf2cfd9fdb4' date '16 June 2014' time '8:53:29.007 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.248' message 'throw an error is GLASS is not pre-installed ... pass error if debugMode in client is not enabled ...' id '8217f91e-3f1f-43eb-b494-d7312f49d05e' date '10 June 2014' time '8:11:07.998 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.247' message 'client element source: now returns true/false allowing server-side element to approve/disapprove the save ...' id '6603d865-2556-4001-ac01-8a99d7ce2d89' date '2 June 2014' time '11:43:07.328 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.246' message 'strip out the code associated with the (now) ancient session map stuff and the (recently) ancient window layout code ... the topezclient class now holds onto the window property so that we can provide that to the user for making changes or use it to automatically re-scale the layout if the screen is re-sized' id '4a5c72f4-88a2-4f53-aa46-22375bbdbf6d' date '2 June 2014' time '7:53:08.817 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.245' message 'converting to use TDSessionDescription instead of OGCustomSessionDescription. - TDSessionDescription is passed to server so that the fields (backupDirectory, serverGitRoot serverTodeHome) can be specified in the session description and used on the server - for now server will request the session description to make upgrading easier (if client updated before server, server won''t know what to do with the session description)' id '16630b8f-6ba7-4a0a-a87b-b6b862870721' date '28 May 2014' time '7:24:23.878 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.244' message 'eliminate extra session being created during restore from backup - ensure block was doing an unexpected login after we had explicitly terminated the session ' id '33503551-bee9-4895-8470-4d90fb771540' date '26 May 2014' time '9:25:19.322 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.243' message 'missin initialization' id 'cda0d35a-ed8b-4b66-b3a2-e0d1e52f0e92' date '19 May 2014' time '10:07:11.386388 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.242' message 'add some client-side error handling for closing windows when the sesssion has disconnected' id 'd9b218ae-f2c9-45d0-83e3-c1ae7d1b98e1' date '7 May 2014' time '8:24:23.667 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.241' message '- support for opening workspaces' id '070a6793-937d-4e02-b57c-e67d5631f794' date '27 April 2014' time '8:25:19.366 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.240' message 'remove session descriptions as they are no longer needed ... replaced by disk-based session descriptions in todeHome' id '875a0a4b-9a55-41bc-a67b-0ebc54913a2c' date '13 April 2014' time '7:34:04.88 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.239' message 'adjust the source element menus to provide option for passing in an interval and dirty flag instead of the selection which means we can do things like `set breakpoint`' id '301576d6-282e-4df4-8aef-8f02eea6b464' date '25 March 2014' time '12:14:15.544 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.238' message 'porting to Pharo3.0' id '29b7aa54-a109-48b7-89e9-865bf7d4a290' date '23 March 2014' time '8:22:55.191 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.237' message 'checkpoint: - support creating and using serialized session descriptions - cleanup built-in support - add `builtIns` command - start work on improving the `getting started` experience - start work on `help` and `updateClient` commands' id 'c59f98c8-41d1-4bcb-b974-531aeea1c782' date '22 March 2014' time '12:58:07.43 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.236' message 'Issue #55: checkpoint implementing menus for code windows' id '694cf921-d9f5-4489-a7b5-834c087e5bcb' date '23 February 2014' time '6:51:31.095 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.235' message 'allow for specials in addition to symbols to be used in menu specs ...' id '383e09c5-151d-4403-a309-b1c95dab1a84' date '19 February 2014' time '6:27:30.464 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.234' message 'allow 2.4 to be used with tODE (after prompting)' id '761c7c1b-4a56-4471-9911-65778720f082' date '21 January 2014' time '12:54:36.393 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.233' message 'get rid of halt in recursion protection handler ... recursion protection works' id '10e0c69e-6bf7-48b6-bb07-851051bd3cba' date '20 January 2014' time '5:22:27.04 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.232' message '- add responseActions for item selection (so list can be refreshed upon selection) - allow for an array of responseActions to be returned so that more than one action can be performed (useful for cut where we add item to clipboard and refresh list) - add #handeleResponseActions: so that response code is common' id '561f24a0-412e-4478-a59b-d78907fdcbfe' date '6 January 2014' time '7:55:24.238 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.231' message 'implement restoreBackup builtin ... allows for restoreFromBackup without needing to install tODE first' id 'c39b8d28-60c7-4aeb-8515-017674966172' date '5 January 2014' time '3:01:00.216 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.230' message 'TZGemStoneProxyBehavior>>allGlobalNames is flushed prior to login, so lets fill cache after successful login ... we''re interested in having a fresh set of global names for SHOUT based on the system we''re logging into ...' id '466b44ae-d74a-44a1-95fd-6d73de9b373a' date '1 January 2014' time '11:50:50.434 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.229' message 'define GsHardBreakNotification so that we can get a proper description ' id 'b0312aaa-6ae0-45da-ac50-63199ce896a0' date '18 December 2013' time '7:48:45.359 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.228' message 'Issue #62: gearing up to address this problem . some GCI tracing and a little refactoring ...' id 'fd52a1c0-db1a-48ab-b520-0feb5e848dbc' date '16 December 2013' time '2:26:32.173 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.227' message 'monkeying with Guest shell' id '0d08387e-6a1e-48eb-9651-997089d5ddc9' date '14 December 2013' time '7:44:30.485 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.225' message 'update error message' id 'd0a865bc-cc85-4bc4-9311-a1f6135bb442' date '8 December 2013' time '7:24:30.574 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.224' message 'implement support for installTode --clientScriptPath option....--serverPath is still a bit up in the air' id '1b283a4f-fa80-48d7-b88b-08537adc13a8' date '8 December 2013' time '7:04:02.13 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.223' message 'adjust testLogin so that it will work in an image where GLASS has not bee installed ...' id '4b4e1d8f-6cce-48af-a21f-17a28dfb01ea' date '8 December 2013' time '4:02:26.908 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.222' message 'flesh out testLogin command to include suggestions for correcting the various errors' id '39d8878f-7046-4b63-a2f2-b66f880ea2e6' date '8 December 2013' time '3:05:11.259 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.221' message 'add testLogin command' id '1153381b-b4ad-4c69-9e95-a444c956b6f0' date '8 December 2013' time '10:42:22.855 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.220' message 'fix compile error that appears in 3.1.x' id '12ee940a-e73d-4a13-83f3-ff061868fcf9' date '13 November 2013' time '12:32:13.063 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.219' message 'add tODE built-in commmand installTode that performs install/upgrade against remote GemStone repository' id '60a2380e-eead-4853-87b2-32a92efdbef9' date '12 November 2013' time '10:39:00.484 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.218' message 'TDCommandLine object passed over wire instead of parsed tokens ... ball is in servers court' id '4639b9d9-393e-4b8f-9c34-b8a0f8fc8682' date '10 November 2013' time '8:05:52.07 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.217' message 'bugfix for Issue #46: use Author>>fullName when sending initials across wire as it prompts for the initials if not defined' id '3fbac543-efaf-4d30-89e0-2234ee8753cb' date '7 November 2013' time '5:28:41.576 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.216' message 'pass backup directory path to server ...' id '914e1aae-d10c-4db5-96ce-f5c372879e44' date '14 October 2013' time '4:08:12.711 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.215' message 'actionSymbol in menus really needs to be a symbol' id '1cf5c092-ee64-471e-8398-21780d3af6fb' date '7 October 2013' time '2:43:55.998 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.214' message 'Issue #28: getting started on menu implementation' id '019a3362-9c64-4c27-9a86-69739fd15ade' date '28 September 2013' time '3:38:28.406 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.213' message 'clean up some issues involving terminating processes correctly when debugger is closed ' id '1dd9732d-98c7-4af4-8d47-af34cb5f19dc' date '15 July 2013' time '2:27:03.902 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.212' message 'need to terminate the process when we abort error handler' id 'cfdfba2e-ff67-41f1-bccf-f12944947948' date '13 July 2013' time '1:03:20.29 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.211' message 'roassal support' id '1f7b7cd7-0501-423e-8f40-cc1553431607' date '12 June 2013' time '7:09:24.579 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.210' message 'add foos' id 'bdf70055-1c28-4dd9-ae93-1a85441eebb9' date '11 June 2013' time '4:26:22.871 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.209' message 'fix introduced problem with spawning shell...' id '7f633c27-0a01-42af-9bba-4acc8161640e' date '1 June 2013' time '10:36:11.871 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.208' message 'refactor gci calls for clientElements so that the call is moved into the gemstone client leaving pharo client free to perform clientElement code directly' id '787261f7-86d4-4eff-b23d-cc8c0dd7c0e5' date '28 May 2013' time '2:59:28.773 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.207' message 'slide some more gemstone-specific support over to Topez-Client-GemStone' id 'f3472a9d-70ea-4ef3-b603-18db79a57b53' date '28 May 2013' time '1:46:30.708 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.206' message 'working on getting SHOUT to work for Pharo and GemStone' id '17af7d0d-166e-447a-bbe4-ac10c55af4a3' date '28 May 2013' time '1:39:26.524 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.205' message 'continued repackaging' id 'aa598a49-a53a-4ac4-92c4-a14c30b1f756' date '26 May 2013' time '9:32:51.807 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.204' message 'gemstone-specific client class' id '0b382a91-00fc-4625-b661-61033b1a6b89' date '26 May 2013' time '2:14:40.493 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.203' message 'continue repackage effort' id '95d0fcb1-9fc6-4b9b-aca6-c78f637e5e00' date '26 May 2013' time '2:02:57.471 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.202' message 'move some gemstone-specific methods' id '264b603f-bbb1-437e-be47-9c4a9b61fc2d' date '26 May 2013' time '12:23:39.426 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.201' message 'TodeSession is for GemStone only...' id 'ef31ec62-a92c-47bf-a2ad-7e69d85ac37b' date '26 May 2013' time '12:20:36.865 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.200' message 'repackaging for pharo version of tode' id 'cf31b0d7-dfad-4f19-801c-b663bcfa8b64' date '26 May 2013' time '12:07:25.415 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.199' message 'redirect Transcript output to the tode console window while running commands' id '68c71c2c-8178-400b-b2eb-695ce77c854f' date '16 May 2013' time '8:43:31.26 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.198' message 'use TDCommandLine to parse shell command line ... add nit tests ' id 'ba580b95-d073-4f8d-869f-aeb31e53246b' date '16 May 2013' time '8:13:11.683 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.197' message 'redirect operator (>) is functional' id 'b825a96b-7d29-4f2b-8213-3e2f26950e2c' date '15 May 2013' time '4:22:08.574 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.196' message 'checkpoint...adding redirect operator' id '020c1beb-a89f-446c-83f7-73d2a95e3720' date '15 May 2013' time '3:55:07.806 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.195' message 'support for restoreFromBackup: which requires clinet-side logic since a single session cannot survive across the entire restore process' id '50e2c84d-a168-4666-8746-dba3f4e039a9' date '14 May 2013' time '6:21:47.065 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.194' message 'tweak mac session description' id '0aa9e7e1-c845-40fe-a5bc-de045f8ccfd9' date '29 April 2013' time '12:20:21.799 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.193' message 'use a pragma (sessionDescription) to denote the sessionDescription methods in TDTopezClient ... no longer necessary to edit initializeSessionMap ... can add extension methods now ...' id '541cdac4-df45-4d1c-9df3-d723ef4199cb' date '12 April 2013' time '6:16:55.159 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.192' message 'get db continue working for debugger with multiple halts involved' id 'dc0fb879-a1ce-4a7e-abfb-25b0d510b767' date '1 April 2013' time '8:22:26.851 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.191' message 'some more tweaks and bugfixes' id '5ac50a05-593a-4119-b951-a3d7152525ed' date '1 April 2013' time '7:31:17.748 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.190' message 'checkpoint: basic shell functionality (including bringing up dewbugger) with GemStone2.4' id '50747c96-5eac-4d76-88b1-4e0f3b4393b0' date '30 March 2013' time '4:30:52.847 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.189' message 'clear global cache on login...' id '29b51f3b-10fd-4d3f-bdc0-3c673ba21cd2' date '29 March 2013' time '7:15:04.928 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.188' message 'bugfix' id '58caae0e-cf0b-4489-b1d8-0eed65338825' date '29 March 2013' time '4:33:18.985 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.187' message 'final few adjustments?' id '9e127fac-b62b-4989-b1d7-0bb63d3b7d53' date '29 March 2013' time '4:07:14.639 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.186' message 'fine tuning...' id '25501808-a33e-4676-9ac7-43444195a260' date '29 March 2013' time '3:55:37.557 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.185' message 'largely eliminate references to TZHeaderGemStone...' id '1e524fc7-595e-4066-8897-54ab2d7f61b6' date '29 March 2013' time '3:19:50.652 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.184' message 'removed dependence upon the proxy errors/notifications' id 'd9a8832b-3ef4-41ab-b6e6-78dee26d874b' date '29 March 2013' time '2:16:09.25 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.183' message 'converting to a non-proxy-based error handling mechanism' id 'a633b69f-e9f2-46b6-8eef-1f04c704dfa8' date '29 March 2013' time '1:28:42.203 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.182' message 'found more methods to move out' id 'e5cb9c3c-12c0-4f99-86e5-cf237bac4e58' date '29 March 2013' time '12:34:45.327 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.181' message 'low hanging fruit is gone ... time to nominate candidates for next round of cuts/rewrites' id '80c58666-86c1-47b9-a490-7296d6b96389' date '29 March 2013' time '11:12:38.947 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.180' message 'Issue #18: partition out the obviously old, obsolete classes' id 'f544a867-ddcf-4098-a498-eb4262fbd8cb' date '29 March 2013' time '7:45:02.444 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.179' message 'implement history command' id '6ebbdc44-978e-41a8-af8e-b022307b0c9d' date '28 March 2013' time '8:08:15.849 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.178' message 'add support for tab completion ... command completion functional, path completion not tested' id '992f6814-fcbb-4487-bc58-f07e1936f28f' date '28 March 2013' time '8:56:00.339 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.177' message 'fix history navigation a bit' id '41dc2af4-0812-4984-89e0-1aa727dc1ff3' date '27 March 2013' time '5:15:22.404 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.176' message 'console history' id '745989e1-a2a9-4e8d-a4d3-036529170cb4' date '27 March 2013' time '4:19:35.324 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.175' message 'convert to using TodeConsole and TodeDebugConsole full time ... ' id 'dbfdcadd-a53e-4dbd-b6ac-cea3ae7f15f4' date '27 March 2013' time '3:37:06.154 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.174' message 'checkpoint: large chunks of new console is functional ... run...% is not functional ...' id '2ea39629-d566-474c-b29b-c061ad393370' date '27 March 2013' time '11:47:18.46 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.173' message 'add codeWindowHeight so one can control the overall height of tode...Here''s the settings I use for my mac (1440x900): TDTopezClient windowOrigin: 5@0.5; listWindowWidth: 24; codeWindowHeight: 21; codeWindowWidth: 80; initialize.' id 'a26a305a-fa2e-4de0-a488-915b825abecd' date '27 March 2013' time '5:48:51.463 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.172' message 'add accessor for SessionMap ' id 'f54a15fe-37fd-4217-89e8-a3ce1ea32c0c' date '14 March 2013' time '3:42:34.692 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.171' message 'define sessions for use on my mac to connect to office stones (3.1.0.1, r_ 3.1.0.3 and k_ 3.2.0) ' id '5b3c2d42-c8cb-4f2f-b785-75fe092a3496' date '14 March 2013' time '3:17:28.44 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.170' message 'set adornmentColor for selected sessions ' id '5f240fa8-4fcd-4498-877b-724909cad092' date '14 March 2013' time '12:18:56.984 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.169' message 'add gemstoneVersion gciLibraryName adornmentColor to OGCustomSessionDescription ... the implication is that we can now connect to multiple gemstone versions from same image (not at same time .... need to exit one shell and launch another for it to work) ... still pretty nice capability ... see sessionDescription* messages in TDTopezClient for examples ... simply need to copy the gci libraries into the image directory (on linux) ... not tested on mac ... yet ' id '49bdeee4-63b0-4d54-a046-07c581a41eb6' date '14 March 2013' time '12:12:51.41 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.168' message 'arrange for client-side global name cache to be reset at appropriate times ' id '545c19c2-1ed1-4385-9e2e-78f584212f1f' date '28 February 2013' time '12:03:00.786 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.167' message 'seal off debugging halt ... automagical handling of author initials on during login ' id '6e33f5e1-fb6a-4472-a0be-5089af95322e' date '27 February 2013' time '7:30:27.491 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.166' message 'tweak ' id '7efdd5c7-503a-45b1-a8f6-c4b14e402300' date '24 February 2013' time '4:38:32.844 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.165' message 'add environmentId to a bunch of calls ... although environmentId probably won''t help indirect development ' id 'c2cb7353-497c-4e40-93fa-a6711a0e023e' date '24 February 2013' time '9:52:38.839 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.164' message 'checkpoint ... first commit with indirect access on the client-side ... still a bit shakey ' id 'b4952de8-7385-440d-8a0c-7d9949d886c6' date '23 February 2013' time '1:48:22.042 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.163' message 'if autoCommit is disabled, turn the promptString red ' id '9d60c28e-f8e5-48e8-982d-f834b46960d2' date '21 February 2013' time '6:30:22.284 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.162' message 'keyboard shortcuts for debugger: $i, $o, $t for db into, db over and db thru ' id '2249b014-2df5-42b3-a97a-329b4671dd62' date '18 February 2013' time '9:26:49.181 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.161' message 'more monkey business trying to get .. item to know what his parent list index was ... ' id 'd05c78b3-f985-407e-9b34-1a4081338072' date '17 February 2013' time '1:14:58.912 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.160' message 'add notion of highlighted list item ' id '9f16a903-a162-4580-86f9-c20cc6f02d45' date '17 February 2013' time '12:18:19.423 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.159' message 'seal the deal on messagePattern highlighting ' id 'bf21f6ba-c554-41a5-976c-53996edc04db' date '7 February 2013' time '12:26:39.972 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.158' message 'checkpoint ... working on messagePattern implementation so that selectors are highlighted for senders/implementors, etc. ' id '3443a31e-f9dd-4ccb-bb06-5edc2adbe82e' date '7 February 2013' time '11:57:32.176 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.157' message 'less garish adornment color ' id '75a3c022-7b42-40b5-bb12-ee901e8ac859' date '7 February 2013' time '8:12:26.712 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.156' message 'make TZTopez safe to load into gemstone for time being ' id '2bb97557-1cf1-4c0c-8b73-d3f2a9a9823d' date '6 February 2013' time '4:42:42.975 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.155' message 'trigger lazy initialization define layout for mac ' id 'd64d7d3b-428b-4d1b-b2dc-cd4e8ce367a2' date '6 February 2013' time '4:34:10.647 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.154' message 'add more control over window bounds tweak for allowing more margin ' id '24418812-40b7-4f30-bd1d-db6fd3fe8d4c' date '6 February 2013' time '4:22:11.064 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.153' message 'scale bounds based upon font size ' id 'bd6f2f0f-8a9f-40ec-90cd-afcad1127479' date '5 February 2013' time '7:52:21.941 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.152' message 'tweak ' id '19fb719b-7926-444d-b93c-a8991bed65d1' date '5 February 2013' time '10:30:41.678 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.151' message 'make room for configurations and packages windows ... ' id '4c80d50b-9ecb-4c14-8cec-aff231ba64cf' date '5 February 2013' time '8:03:42.019 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.150' message 'open debugger when DEBUG button pressed ' id '49cd7481-6460-4e90-9a36-b02addf8b99c' date '4 February 2013' time '3:03:24.476 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.149' message 'tidy up CMD-C spawn window implementation for navigation ' id '6891b339-0b81-4724-934c-90b58ae3d2d6' date '27 January 2013' time '1:06:07.264 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.148' message 'getting started on handler for keyboard events ... convert all gci messages sends to symbols for easy access by tools ' id '282f6c7d-d0a0-4f6b-9175-dae62a81d8f5' date '27 January 2013' time '9:14:24.334 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.147' message 'checkpoint run|run is now working as script and interactive ... still need to look into process termination situation ' id '6419c81b-ca1f-41e4-ba68-446b04b05be6' date '26 January 2013' time '9:29:01.687 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.146' message 'run | run works as topez script but not as input in REPL (wrong return value) ... also halts/breakpoints while executing run scripts may not quite work right ... ' id 'ee244126-b3a2-45f7-b4a1-5f24b6c497fc' date '26 January 2013' time '9:03:50.708 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.145' message 'fix bug in window management .. reusing windows incorrectly ' id 'c0fb6b90-f71e-49da-b5f1-1295c3a51d62' date '26 January 2013' time '10:36:50.901 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.144' message 'clean up some minor window interactivity issues ' id 'd5129407-d821-4805-834d-7551595c5665' date '26 January 2013' time '10:01:45.965 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.143' message 'eliminate all of the extraneous transcript logging ' id 'b9ad9c51-c8c7-4c4f-a511-20a8ef13f113' date '26 January 2013' time '9:38:50.978 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.142' message 'checkpoint ... db continue is sorta working ... need to work on continue when it runs to end ... more testing needed ... ' id '35967a12-89cd-4a8d-a72c-16a691a68d38' date '25 January 2013' time '9:12:25.364 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.141' message 'checkpoint ... handling halt in debugger ... ' id '46e30a45-080d-4119-ad76-3ccda4efd8c1' date '25 January 2013' time '8:30:58.172 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.140' message 'checkpoint ... starting work on getting breakpoints/halt working for db over / db continue / db thru by reusing the debugger ... db over currently stops for breakpoint ... ' id 'c4636d32-4e0f-468f-af8f-2b026a60d46d' date '25 January 2013' time '7:44:24.079 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.139' message 'clear selection if selectionIndex is nil... ' id '4d67ed35-c1cf-42d7-a3f5-2a4ba677bb26' date '24 January 2013' time '1:18:12.392 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.138' message 'remove halt ' id 'dff390de-beab-4aae-a026-23c1ee9e903f' date '23 January 2013' time '11:40:02.45 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.137' message 'fix continue command ... use #inspect aspect for .self and .node ... have to reset topez instances when system reset ... still have issues with running tests after reset ... when I debug I get proper behavior ... ' id 'eb177549-5874-4a3e-af6c-801becc359f1' date '23 January 2013' time '9:06:54.063 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.136' message 'when debug shell window is closed, all of the windows associated with that shell are closed as well ... ' id 'dfaf45e6-ee46-411c-a690-39c0898456b5' date '15 January 2013' time '12:04:35.161 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.135' message 'add show GsCursor logic ' id 'a5347d49-0bcf-4757-9709-e47aa9d7a925' date '10 January 2013' time '8:32:00.318 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.134' message 'port gci to support gemstone 3.2 ' id 'e2356829-afb8-453f-be3d-a37f27aab6a5' date '8 January 2013' time '4:18:31.418 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.133' message 'add session description for 3.2 stone ' id '41a44067-0ed1-408e-bb8c-847e244862b0' date '8 January 2013' time '2:54:23.306 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.132' message 'address the deadlock issue, by avoiding the creating of too many proxy behaviors ... remove some debugging halts ... ' id '34170e82-8e98-4556-a317-dec725d73956' date '6 January 2013' time '9:53:47.28 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.131' message 'checkpoint .... working through login issues, client forwarder handling (on server), tracking down/eliminating source of pharo deadlock/infinite loop ' id 'e959b759-fa4f-4871-a95e-ee7bb6cb9722' date '6 January 2013' time '9:19:03.099 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.130' message 'fix selector matching regex plus roundtrip tweak ' id '96062247-7970-405a-983d-1fdef40c8810' date '6 January 2013' time '7:30:00.792 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.129' message 'checkpoint ... reducing round trips during login ' id '37e069f2-342d-422c-bf72-aa9183aa1859' date '5 January 2013' time '8:33:22.725 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.128' message 'first order optimization for client forwarders appears to be functional (still scads of logging/debugging stuff) ' id '052baf5a-d9c2-4757-8709-cbe02f7f12ff' date '5 January 2013' time '4:22:29.004 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.127' message 'add a mutex to GciLibrary and protect all api calls with the mutex to avoid concurrent api calls because of SHOUT ... looks like the concurrent calls are finally cleaned up ... still suspicious about the ifCurtailed: handling in getNbResult itself ' id '200d725d-bdb9-41d4-9dfb-d3c5f9e9a535' date '5 January 2013' time '1:37:19.817 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.126' message 'checkpoint ... need to focus on avoiding concurrent gci calls ' id '689c0c56-37b7-4aac-a8ea-4e44084bfaf5' date '5 January 2013' time '11:20:37.465 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.125' message 'checkpoint ... progress reducing round trips getting err/forwarder args ... with side trip handling interupted gci calls (SHOUT) ... ' id '6ef7188c-4508-422a-a6dd-8940c544e505' date '5 January 2013' time '10:00:52.655 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.124' message 'checkpoint ... support for optimizing error/forwarder round trips ' id '1b0771b1-979e-4634-a057-09597cd1b78c' date '4 January 2013' time '8:04:57.842 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.123' message 'checkpoint add GciSession>>executeStringExpectingStringNB: to eliminate overhead of GciLibrary>>localFor: ' id '16abd9a1-9636-4627-908d-11d1e3b256aa' date '3 January 2013' time '7:53:40.862 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.122' message 'checkpoint ... a bunch of gci call logging and a handful of round trip optimizations ... more on the way ' id '5693bc1c-a22b-49c9-91df-91939ad23420' date '3 January 2013' time '12:40:34.845 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.121' message 'checkpoint ... taking a cut at reducing round trips: one arg for client forwarder ' id 'd329a2ec-638d-4395-8fef-f1fe06807463' date '2 January 2013' time '8:48:21.124 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.120' message 'working on getting the correct frame selected in debugger ' id '55e5e7f4-f436-4e4c-9798-8338382d7290' date '30 December 2012' time '12:40:13.901 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.119' message 'debugger tweaks ' id '6b040611-4399-41b5-ae6b-e1808a76a77a' date '30 December 2012' time '12:28:11.996 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.118' message 'checkpoint ... have to hang onto client element blocks ' id '5d66de9a-3142-4005-bf43-08510af9bf0f' date '30 December 2012' time '11:15:44.353 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.117' message 'checkpoint ... a bit of refactoring to accomodate the source and list elements ' id '796225cd-b5f0-4547-ae3d-2ea3616b7c7f' date '30 December 2012' time '9:00:37.19 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.116' message 'instead of terminating process, just return Aborted as string as result ' id 'c8d2fc69-4587-4b14-bccf-d5a978adfa06' date '30 December 2012' time '7:19:02.383 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.115' message 'note that error handling through signalServerError funnels errors to a single topez instance ' id 'eba78cd4-a935-458f-a49d-114347fdb909' date '30 December 2012' time '7:08:04.422 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.114' message 'checkpoint ... debug command is not quite spawning a new shell ' id '48b94acb-0902-42f1-91c2-e36c89bd9bf8' date '29 December 2012' time '12:06:02.772 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.113' message 'start work on spawning shell as part of debug command ... implement sourceContainingIt ... ' id '6e40c424-3a1e-4c61-9cb8-aa31fa7c7d95' date '29 December 2012' time '11:25:46.117 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.112' message 'handle warnings ... ' id '6c0c4df4-91a1-4644-aad3-9c92c3d79b23' date '29 December 2012' time '9:16:56.665 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.111' message 'topez errors separated from application errors ' id 'a7ddbb62-c9b8-4e39-85b1-4ca47c93fbff' date '29 December 2012' time '8:35:02.729 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.110' message 'checkpoint ... attempting to differentiate between command errors and application errors ' id '83dc4ce9-e2a0-4276-8b6b-8ab13374c644' date '29 December 2012' time '7:50:17.733 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.109' message 'checkpoint ... beginnings of error handling rework: 1. Proceed, Abort, Debug dialog upon error (all errors) basically functional 2. Proceed continues from halt/breakpoint(not confirmed?) 3. Abort terminates the process ... but doesn''t give new prompt 4. Debug returns the error, but doesn''t bring up debugger 5. Debug comes up when we get "error" command error, which should be their own TopezNotification type ' id 'c6d9b17f-9773-48a4-9ede-43fb4de9196d' date '28 December 2012' time '8:58:35.255 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.108' message 'checkpoint ... getting text editor working ' id '1536a5a8-ab3a-4db9-acac-b045042a0f7c' date '27 December 2012' time '10:30:57.481 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.107' message 'taking the editors seriously now ... time to add windows ' id 'f104ae12-3ab6-4764-95fb-77092e986ffe' date '27 December 2012' time '10:06:03.997 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.106' message 'reimplement continue to be straight continue method ... not continueWith ' id 'c2e788fd-dbea-4dd1-9752-9cb7e96634bd' date '23 December 2012' time '8:00:48.417 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.105' message 'get cmd-shift-l working ... compat hack ' id 'e09cce48-3548-471b-94be-282386a474bb' date '21 December 2012' time '12:45:21.677 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.104' message 'spawn shell window complete ... window close logic sealed ' id 'd7a91596-2ec5-4fab-9f7e-beaaad989ded' date '21 December 2012' time '10:18:52.958 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.103' message 'implement shell window spawn ... needs a bit more work ' id 'f3c6870f-768a-4b9a-83d6-0443a129826f' date '21 December 2012' time '10:04:05.191 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.102' message 'add handler for 6005 ... method breakpoint ... need hanldler for error and halt while runing debugger? ' id 'aa27d681-3fdd-48f9-9bbe-dc3c7303c8e1' date '19 December 2012' time '9:25:58.593 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.101' message 'implement db continue command ' id 'cd413a0c-e9d4-4225-8bba-de74900b53ef' date '19 December 2012' time '4:59:43.183 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.100' message 'implement over and into commands (for step over and step into) plus correct return value when stepping off end of stack ' id '4422a672-5689-4752-a43b-53d0198d3cbd' date '19 December 2012' time '4:45:51.468 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.99' message 'checkpoint ... started implementation of debug control commands ... db step over is basically working ... trouble when running off end ' id 'fc214814-651b-4e78-81c6-90236fd98983' date '19 December 2012' time '2:51:39.606 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.98' message 'new netldi ports ' id '037af9f8-6599-4afc-adc4-811cfbcfa7bf' date '19 December 2012' time '9:48:51.275 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.97' message 'update netldi ports after restarting server ... topez hack ' id 'c7119591-90b7-4ea8-9d75-01cb6700f051' date '18 December 2012' time '7:03:38.403 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.96' message 'little compatibilty hack for TDWindowStatus ... ' id '43449bec-5446-46b8-b4ac-a2071ffd8d35' date '16 December 2012' time '3:31:57.148 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.95' message 'fix builtin bug ' id '79959add-2c51-4a6d-a274-61cbd8f126fb' date '15 December 2012' time '9:02:55.118 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.94' message 'objIn reset after pipe chain complete ' id 'fe46b70d-ffda-424e-b65e-9dcd0d4bb58c' date '15 December 2012' time '8:50:56.513 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.93' message 'checkpoint ... need to reset objIn after pipe chain is complete ' id 'e46207f4-497f-4b06-bfd2-364061276a8e' date '15 December 2012' time '8:44:47.271 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.92' message 'get the pipe command to work correctly ' id '3c9d0579-4e56-489c-9877-6e1b967bc21b' date '9 December 2012' time '5:46:01.322 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.91' message 'initial implementation of objIn, introducing | and ; to command line ' id '2a911e0c-6fbc-4a35-910a-eebeef0e3e77' date '9 December 2012' time '2:12:34.796 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.90' message 'implement .ex halo (description, exception, process) ' id 'd51774d5-8163-4762-99b5-f299642b6d6a' date '1 December 2012' time '6:12:32.224 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.89' message 'basic run command is functional ' id '82c1ff48-78b7-4925-8159-b52166a4777a' date '30 November 2012' time '7:49:18.475 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.88' message 'proper edit command behavior for editting various leaf nodes ' id '08000000-1508-4c0a-1508-4c0a14000000' date '30 November 2012' time '4:13:23.624 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.87' message 'execution of .st, .sh, and .tpz files is functional ... ' id '08000000-1508-3a01-1508-3a0114000000' date '30 November 2012' time '3:29:29.388 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.86' message 'adjust error handling in TZGsExecutable>>performTransformOn: ' id '08000000-1508-5415-1508-541514000000' date '29 November 2012' time '4:20:12.942 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.85' message 'fine tune ston depth and critical block handling for TZGemStoneProxyBehavior ' id '08000000-1508-0816-1508-081614000000' date '29 November 2012' time '3:53:48.24 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.84' message 'supply missing TZSystemWindow>>activate method ' id 'b1c4c30d-c127-46cd-9c92-b4e49db29a78' date '28 November 2012' time '7:35:28.381 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.83' message 'create /home/.window object whose contents represents the server element associated with the active window ' id '08000000-1508-6e01-1508-6e0114000000' date '27 November 2012' time '4:15:32.11 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.82' message 'start tracking the active window ... needed to provide access to the server object that is underlying the model ' id '08000000-1508-f80f-1508-f80f14000000' date '27 November 2012' time '3:01:20.642 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.81' message 'bugfix for TZGsMessageSend>>value ' id '08000000-1508-f409-1508-f40914000000' date '27 November 2012' time '12:13:46.37 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.80' message 'tweak #value: semantics for TZGsMessageSend (creation of args _array_ is responsibility of TZGsMessageSend) ' id '08000000-1508-5e00-1508-5e0014000000' date '27 November 2012' time '12:07:06.92 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.79' message 'reduce level for GS save command ' id '08000000-1508-600b-1508-600b14000000' date '27 November 2012' time '11:13:56.758 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.78' message 'clean up TZGsMessageSend calls ... TDClientSourceElement is functional ... editor opens correclty ... need to work on save ... ' id '2af15c0e-87cf-4920-8c1d-cf21b0537870' date '26 November 2012' time '8:58:11.247 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.77' message 'checkpoint for TDClientElement/TDClientSourceElement ... ' id 'e75541de-4a7a-4804-9947-2022c928cecb' date '26 November 2012' time '8:33:41.487 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.76' message 'edit script is working now ... with correct syntax highlighting ' id '08000000-1508-8c03-1508-8c0314000000' date '26 November 2012' time '4:00:33.026 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.75' message 'adding edit command ... in progress ' id '08000000-1508-9216-1508-921614000000' date '26 November 2012' time '3:29:21.128 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.74' message 'upon detecting an exception (on the client), the server-side is notified of the exception, so the debugger can be opened et cetera at the developers liesure ' id '08000000-1508-061f-1508-061f14000000' date '21 November 2012' time '4:26:16.188 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.73' message 'create clientForwarder for TDTopezClient, so TDTopezServer can send messages to client when necessary ' id '08000000-1508-a013-1508-a01314000000' date '21 November 2012' time '3:45:20.402 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.72' message 'render text for evaluation results on server-side ' id '0ab30845-e8b9-43c5-b388-da06e1df8c99' date '20 November 2012' time '5:07:31.2 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.71' message 'hook up Transcript and pass tokens from client to server as STON string ' id '59bc5260-f90f-4693-893d-bbad9855c407' date '20 November 2012' time '10:44:57.1 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.70' message 'moved TDShell, TDTopezClient, and TDWindowStatus from Topez-Client-Core to Topez-Client-GemStone ' id '08000000-1508-fa01-1508-fa0114000000' date '19 November 2012' time '4:29:31.628 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.69' message 'progress towards new fangled server-side code ' id '08000000-1508-0e0f-1508-0e0f14000000' date '19 November 2012' time '3:47:28.396 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.68' message 'pushing out towards the tODE evaluator ... line by line to server ' id 'fec8a278-9d98-45d6-b9fa-d2a044539fbb' date '19 November 2012' time '8:10:02.982 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.67' message 'clientForwarder for opening code window from server ' id '52d0f777-b58b-403a-868a-83ef724b5d1b' date '19 November 2012' time '7:59:53.656 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.66' message 'use clientForwarder to open window on client from server ' id 'e62fbdb1-127c-49ca-aea2-155d1592202c' date '18 November 2012' time '5:30:34.572 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.65' message 'reinstate support for client forwarders ' id 'a0e1ddf6-aac7-463e-8ef9-0f7ed9c1649c' date '18 November 2012' time '9:45:51.499 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.64' message 'improve SHOUT highlighting for GemStone ' id '679f0065-ae84-4239-b961-870f155796c7' date '14 November 2012' time '9:50:56.999 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.63' message 'support for TZGsBlockSend and TZGsMessageSend which I think will be useful going forward ' id '028aeb9b-4048-47e3-97d6-41dff58551af' date '14 November 2012' time '5:56:20.106 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.62' message 'isolate the Smalltalks demo commands support for Roassal command (elementSuperClassName) ' id '4e4b836a-8c5f-4edc-bde1-cebf272c6705' date '11 November 2012' time '12:15:25.533 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.61' message 'get diff running in GemStone ' id '25586b08-be94-43b2-b3ac-385fdbe71f9f' date '3 November 2012' time '5:48:10.522 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.60' message 'fix bug in accumulateText (newlines missing sysinit split from init: sysinit does class initialization (and calls init) init just adds scripts to /topez/bin TZEvaluator class>>systemReinitialize added fix ininite print loop related to TZFrameMethodElement implement reload and save commands ' id '08000000-1508-700f-1508-700f14000000' date '1 November 2012' time '4:32:14.39 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.59' message 'avoid using references until https://github.com/svenvc/ston/issues/3 is resolved. I''ve got a patch that should work for STONREader if there is a loop in the traversal, but that patch may not be usable until the vm bug is resolved.' id '886de6b6-81f5-4ef3-b5a7-cb8371ef343d' date '30 October 2012' time '9:09:42.985 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.58' message 'add TZGsStonWriter class with added support for storing proxy references ... plus other performance adjustments' id 'f4446a16-8302-4467-949a-837557451432' date '30 October 2012' time '4:09:15.06 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.57' message 'get /projects working for Gemstone' id '49751f6a-53b9-4201-b350-62cb42d81655' date '30 October 2012' time '10:52:03.523 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.56' message 'checkpoint ... porting the project structure to GemStone' id '08000000-1508-9c11-1508-9c1114000000' date '29 October 2012' time '3:37:05.682 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.55' message 'move lint command to native-only and create setClassProxy to avoid roundtrip when using name (to resolve to a class anyway)' id '08000000-1508-0403-1508-040314000000' date '29 October 2012' time '2:45:44.568 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.54' message 'tweaks for GemStone' id '08000000-1508-4206-1508-420614000000' date '29 October 2012' time '11:55:03.926 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.53' message 'rename instance to inspect, reorganize script nodes, add cat (cd, ls, pwd and cat), rendering for nodes' id '08000000-1508-1a03-1508-1a0314000000' date '26 October 2012' time '5:41:59.542 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.52' message 'basic stash implementation: ls cd pwd. The run, topez and instance commands work with node paths ' id '08000000-1508-ee03-1508-ee0314000000' date '26 October 2012' time '4:13:34.66 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.51' message 'a bit of cleanup' id '08000000-1508-8e1c-1508-8e1c14000000' date '26 October 2012' time '10:56:42.988 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.50' message 'avoid asNative on class proxies during set class' id 'a8ff52ba-64fb-446c-9011-109a994aa9a7' date '26 October 2012' time '9:04:24.838 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.49' message 'CMD-u (step into) and CMD-j (continue) key bindings implemented' id 'ce472faa-3edd-4076-8f29-850d579e2b66' date '25 October 2012' time '12:21:19.943 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.48' message 'define the debugger key strokes and start implementation with CMD-t step over ... functional, but need to work on window updating logic' id '76bcf210-e2e5-47b0-a689-cdcb06bee340' date '24 October 2012' time '6:59:07.998 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.47' message 'monkey with offsets and get back to correctly display gemstone stack' id '08000000-1508-220a-1508-220a14000000' date '24 October 2012' time '12:05:26.936 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.46' message 'another session description' id '0735bffa-b22c-4331-af1d-412157f9f36f' date '24 October 2012' time '8:59:47.636 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.45' message 'stack displayed in debugger list' id '43705547-f7b4-477e-bbe7-29ee318a0a1d' date '23 October 2012' time '11:50:34.505 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.44' message 'TZStackFrameElement used in stack ... finally:) ... still more work to do' id 'f9d8d608-2f70-4c2d-a4c4-ffde002cf7c1' date '23 October 2012' time '9:51:29.214 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.43' message 'Cmd-p used for inspecting strings ... handling the Executed Code method for GemStone' id '01df2c50-cf8a-4cac-93d2-a8bf9a455841' date '23 October 2012' time '8:36:16.482 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.42' message 'directly edit the instance when using instance command (like inpsect)' id '08000000-1508-e018-1508-e01814000000' date '23 October 2012' time '4:36:17.882 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.41' message 'tweaks' id '08000000-1508-fc17-1508-fc1714000000' date '23 October 2012' time '3:41:57.876 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.40' message 'preparing to cache TZElement instances for GemStone to avoid GC issues ... resolving this issue is why I converted to a instance-side TZEngine implementation' id 'eaac7d10-1b55-4dbd-b7d6-e7949ad41316' date '23 October 2012' time '7:29:26.982 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.39' message 'fix method template handling' id '829bf6de-cd26-4f23-8c98-c2ee845722d4' date '22 October 2012' time '11:58:38.011 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.38' message 'complete conversion to use TZEngine singleton' id 'e5b159d3-a537-4e9f-b843-25da77eaa894' date '22 October 2012' time '9:18:21.33 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.37' message 'switch to a singleton for TZEngine' id '08000000-1508-900d-1508-900d14000000' date '22 October 2012' time '3:38:28.546 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.36' message 'correct copy/paste from class to instance and vice versa logic' id '08000000-1508-5c08-1508-5c0814000000' date '22 October 2012' time '3:27:57.368 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.35' message 'improve CMD-o implementation, allow pasting (CMD-v) of methods into instance/class selectors panes thus forcing isMeta to match (can move class-side methods to instance and vice versa)' id '08000000-1508-b610-1508-b61014000000' date '22 October 2012' time '2:07:58.46 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.34' message 'performance tweak and fix initialization problems for gemstone' id '08000000-1508-9606-1508-960614000000' date '22 October 2012' time '12:17:12.064 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.33' message 'adjust indent for instance elements ... offset for topez windows...' id '08000000-1508-dc14-1508-dc1414000000' date '22 October 2012' time '10:38:00.59 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.32' message 'usability tweaks while working on debugger' id '11d2cfc2-0763-4d56-aafa-751b7ddd5dcc' date '22 October 2012' time '8:17:21.021 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.31' message 'checkpoint ... working on instanceElement logic for GemStone' id '8ed11f31-ba14-4d33-869c-8cb79134b548' date '20 October 2012' time '4:18:39.213 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.30' message 'checkpoint' id '76461938-7e8f-4a33-970b-c4b5f6f5e34b' date '20 October 2012' time '9:23:15.781 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.29' message 'checkpoint ... green tests' id '2a216d0e-abc0-4691-9ba2-a98d1c7b8e7a' date '20 October 2012' time '8:15:49.065 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.28' message 'delete the TZTopezCmd hierarchy ... not really used' id '64462139-c312-4864-89e8-c88458866d4d' date '19 October 2012' time '5:41:29.119 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.27' message 'checkpoint ... some work on GemStone side, preparing to remove all of the command objects (more complication than needed) ... ' id '3a78de09-31d4-4eaf-a09f-a922b043497c' date '19 October 2012' time '5:29:25.781 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.26' message 'use standard SHOUT for Pharo' id 'cacf24e6-5257-45f3-bb3d-94cb63aee996' date '18 October 2012' time '9:02:04.331 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.25' message 'set evaluator for gs topez' id '08000000-1508-f400-1508-f40014000000' date '18 October 2012' time '5:08:32.91 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.24' message 'have to have out own variants of Shout parser to be able to do remote shout highlighting ...' id '08000000-1508-d008-1508-d00814000000' date '18 October 2012' time '4:56:34.066 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.23' message 'add dash of color to all windows to associate with Native or GemStone' id '08000000-1508-b611-1508-b61114000000' date '18 October 2012' time '3:35:29.67 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.22' message 'checkpoint ... gemstone tests ...' id '08000000-1508-1a1e-1508-1a1e14000000' date '18 October 2012' time '12:03:44.855 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.21' message 'checkpoint ... working on getting GemStone tests to pass' id '08000000-1508-5e0e-1508-5e0e14000000' date '18 October 2012' time '11:41:42.281 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.20' message 'checkpoint ... working on getting tests to pass for GemStone' id '692134dd-3f06-4ae6-9ae9-c9ee2dddbb86' date '18 October 2012' time '7:58:24.27 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.19' message 'checkpoint ... implementing hierarchyOf, sendersOf, implementorsOf, and referencesTo for GemStone ' id 'cb9a118f-cc5a-444a-aea9-95799fc6649e' date '17 October 2012' time '9:41:10.654 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.18' message 'finish up `edit class`' id 'e692f198-1183-4fe4-ad58-3c4aef8e2661' date '14 October 2012' time '4:36:32.246 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.17' message 'use elementClassName for TZClassElement' id 'f513df1f-88cf-413b-8539-1962b009fef2' date '14 October 2012' time '12:58:21.241 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.16' message 'working on `edit class` and `find class` commands' id '67a0a3f2-552d-41f0-8076-7aa9e092f437' date '14 October 2012' time '12:38:09.355 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.15' message 'allow for native/gs-specific scripts and centralize window extents' id 'fa53f463-71d6-4f75-b459-a4cf1cdce511' date '14 October 2012' time '11:10:12.872 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.14' message 'green tests' id 'ef88b8e5-6ba3-4ca1-82f5-0b9bf14a5e0a' date '14 October 2012' time '10:24:13.212 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.13' message '`logout` and `close` commands added. address class name gc issue for gemstone.' id '9d3ec906-11d8-43b3-99f5-a9706f8824f5' date '14 October 2012' time '9:25:24.043 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.12' message 'checkpoint ... accept method work for GemStone' id 'bd98fbe5-445e-4e31-8d1f-c142781322cb' date '14 October 2012' time '8:34:30.654 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.11' message 'full set of `edit` tests ... green tests' id '5f337b33-d035-4d8e-acfa-d62ce835b5d8' date '13 October 2012' time '5:09:20.824 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.10' message 'checkpoint ... completed test for `list` commands' id '1f5c04c6-71b3-47a7-985e-befc6b760eac' date '13 October 2012' time '12:10:31.855 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.9' message 'add window closing logic so that closed windows are cleaned up along with sessions' id '08000000-1508-e418-1508-e41814000000' date '12 October 2012' time '11:50:48.296 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.8' message 'checkpoint ... working on getting recent additions working in GemStone (hierarchy, sublcasses, history, etc.)' id '08000000-1508-fe0f-1508-fe0f14000000' date '11 October 2012' time '3:14:56.834 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.7' message 'implement history and rename classHierarchy to superclass' id '08000000-1508-2a17-1508-2a1714000000' date '11 October 2012' time '12:07:38.862 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.6' message 'add hierarcy and subclasses commands (edit and list varieties)' id 'acd8b672-8e6a-475c-bcd2-6950fa1ee410' date '11 October 2012' time '8:18:22.468 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.5' message 'refactoring so I can add a filter to the listEditor and add `topez` command so that I can define the listEditor filter from within topez' id '0d274092-90cd-49df-bc13-445b481d4e60' date '10 October 2012' time '12:55:41.508 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.4' message 'green tests' id '9184dc3e-ef48-464d-bf80-ebbad4ea0b3d' date '10 October 2012' time '8:59:43.792 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.3' message '`edit prclasses` is working for GemStone' id 'e02d3872-5544-4b88-901d-882d1a576e31' date '10 October 2012' time '8:56:17.812 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.2' message 'class selectors support and green tests' id 'fe84d00d-ab77-4a8f-8a0b-a8f0cb134763' date '8 October 2012' time '6:47:01.099 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.1' message 'begin job of making the pharo client and gemstone clients independently loadable ... at the point where I need to split up tests ... methinks' id '08000000-1508-7c16-1508-7c1614000000' date '8 October 2012' time '4:56:37.18 pm' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(id 'bcca73bd-34ed-417d-9f57-eaa5fe489a95')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Topez-Client-GemStone-dkh.35' message 'Issue #184: when performing `close` command (or `logout`), accumulate all of the flushEventCache calls till all windows have been closed ... much snappier over the wire ' id '41d6e73c-9ddb-4cb3-addd-5d2a747b854f' date '31 August 2015' time '2:33:37.746872 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.34' message 'Issue #186: final work on button bar (fingers crossed) ... set default button/state in spec, update the button selection color ...' id '5041a82b-acf7-4ab8-9309-4df8a21871ff' date '31 August 2015' time '1:16:59.928786 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.33' message 'Issue #186: finish up TodeClientButtonBarElement implementation for cilent/server' id 'a71e0332-3977-4d79-a83a-0ffa18211688' date '19 August 2015' time '5:01:14.335783 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.32' message 'Issue #184: bullet proof TDTopezGemStoneClient>>flushCache:' id 'ff5bc1e0-bcd5-404e-bbe1-eba0b317f23a' date '14 August 2015' time '10:50:58.259664 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.31' message 'Issue #184: implement (client-side) TDTopezGemStoneClient>>flushCache: logic. Necessitates introduction of tODE API Version for client and server, so that I can use new clients with old servers and old clients with new servers' id 'eb6f6f35-6a0b-495d-86c4-f894cb49f392' date '12 August 2015' time '12:44:14.699631 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.30' message 'Issue #175: enable client-side objectSerialization' id '77afae8b-1143-49f9-8060-19b4255c5fb3' date '25 June 2015' time '5:46:35.88849 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.29' message 'Issue #175: fix a bug' id 'f7f57c1d-74c5-4d7a-946a-0d591a648b3a' date '25 June 2015' time '5:17:26.488104 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.28' message 'Issue #175: convert client-side code to use #objectSerializer' id '749b1f28-875c-4c18-b7b3-7cbd622d2fc8' date '25 June 2015' time '5:11:37.23798 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.27' message 'Issue #175: checkpoint client-side changes for TodeObjectSerializer' id '95a96ffb-8645-4550-9297-304d21538238' date '25 June 2015' time '3:26:56.938461 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.26' message 'serverBlocks is working now ...' id 'c6e7c078-4257-45bd-a4d8-717905e1af58' date '11 April 2015' time '1:14:05.160513 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.25' message 'client-side support for evaluating smalltalk code on server and passing result back as STON ... hook up to roassal workspace' id '3edbbbbf-9cfc-4af7-bc0f-09bb882b09b8' date '11 April 2015' time '7:17:38.193549 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.24' message 'new package Tode-Client-Roassal2 for obvious reasons' id 'aeed4133-7c78-452f-a45d-82fa7ba7c1ca' date '9 April 2015' time '6:27:18.909898 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.23' message 'start adding support for Roassal workspace' id '34d51e5a-2114-41bc-ae7c-8b981c74473a' date '9 April 2015' time '5:33:37.849161 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.22' message 'Need to remap the client forwarder for transcript when it is changed while shell is open' id 'c6678e21-0796-4525-8c19-54e2608c88f1' date '4 April 2015' time '5:06:15.353645 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.21' message 'in restoreFromBackup, Errors should just be passed' id '4c14a9ed-5ae2-4830-9a11-0f93227257ea' date '1 April 2015' time '7:25:50.764716 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.20' message 'a bit of house cleaning in TDTopezGemStoneClient' id '5abcea8a-1ccb-46e3-be22-3d1a8dfdb881' date '24 March 2015' time '3:49:51.366506 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.19' message 'Issue #158: let''s see if we can characterize this puppy ' id 'a1d4e54f-97ad-4238-89dd-67cd4766586b' date '24 March 2015' time '6:36:04.31958 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.18' message 'snapshotDirectory needs to be managed by the sessionDescription ' id '635391e8-899b-4441-9191-d68b2a65d332' date '22 March 2015' time '8:57:10.025813 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.17' message 'arrange for window properties to be recalculated on startup (for real)' id '56c09251-0483-4d15-b2d1-3d0d49afe10d' date '21 March 2015' time '8:23:57.809815 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.16' message 'fix error handling logic TDTopesGemStoneClient>>installTodeBlock:' id '0ab21094-f5bc-4313-9f2d-15083299a513' date '17 March 2015' time '12:13:52.714073 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.15' message 'fix formating of stacks in logStack:' id 'e7a71547-8ec6-4b8a-897e-d485cb308ffc' date '16 March 2015' time '5:29:19.448126 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.14' message 'fix mistack in logStackRequested:' id '98d53774-e8b2-4f8f-b61c-c7dcaa500f02' date '16 March 2015' time '5:24:22.849736 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.13' message 'Add #logStack as error handling option ... triggered when running in a headless client .... ' id 'c06d64c1-448a-429f-a175-05e0cb1b5069' date '16 March 2015' time '4:49:31.10313 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.12' message 'Changes corresponding to recent restructuring of gsDevKitHome disk layout: + 1. /sys/stones/stones move to /sys/stones + 2. proper lookup of sys/defult/client/scripts|windowLayout, + sys/default/server/scripts, sys/local/client/scripts|windowLayout, + and sys/local/server/scripts + 3. change updateClient touse pharo/installTode by default and --scriptPath + to override + 4. change installServer and updateServer builtins to do the proper lookup + in */server/scripts for the files by default and --scriptPath to specify + alternate location + 5. script builtin uses proper lookup in sys/local/client/scripts then sys/default/client/scripts + 6. add edit window layout menu item +' id '68ee6606-2f81-4e92-b71d-18680d331d63' date '11 March 2015' time '3:08:00.525246 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.11' message 'add hooks for TodeSession>>getExceptionStackFor: ... useful to get stack from an exception when tODE debugger isn''t working' id 'b10021db-a7eb-4877-8318-08b50d8e4b45' date '27 February 2015' time '1:54:12.692231 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.10' message 'add client-side support for multiple selection lists' id '74ae5594-f203-466c-a917-4f5fcfd152e0' date '28 January 2015' time '5:00:26.555855 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.9' message 'eliminate wired in path name (tODE_3.1.app) and use `SmalltalkImage current vm path` instead ... need to verify correctness on Mac and Windows ... ' id '9a62f307-43c8-4f1e-9e34-98d038c9dfd7' date '8 September 2014' time '12:15:38.766641 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.8' message 'Issue #107: arrange to resize all existing windows when window layout is changed' id '62ebf9c0-c75e-4b2b-a563-097a2d6de2e3' date '26 August 2014' time '6:25:18.732195 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.7' message 'Issue #105: some compat code for servers that have not been updated' id '05798cde-39ca-4ac4-b9a4-491b5dbdd931' date '26 August 2014' time '5:30:19.628097 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.6' message 'Issue #105: class var on TDTopezGemStoneClient determines whether or not Transcript proxies are set up from client-side ... still need to add builtin for control (client-side)' id 'a8da8637-c287-420a-a024-28be13e372ff' date '20 August 2014' time '6:40:49.549252 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.5' message 'debugMode == true means bring up a debugger (TDTopezGemStoneClient>>installTode:forceGLASSInstall: had it wrong) +' id 'addc7fb1-140f-4e77-ae83-97242a595bde' date '27 July 2014' time '5:42:36.129072 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.4' message 'make it possible to evaluate Smalltalk expressions on server ... side effects are more important that return value' id 'e0e4dcfa-f6e4-47fc-bb71-067fd72c8c0a' date '26 July 2014' time '11:20:26.630593 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.3' message 'add batchMode to TDShell ... tode client will NOT swap out the Transcript client forwarder in batch mode ... ultimately provide a means for choosing whether Transcript output should show up in client or not' id '3d285ebf-cf0c-40d9-84c5-7a0e737d59d6' date '25 July 2014' time '4:54:49.127949 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.2' message 'allow for turning on debugMode when running non-console evaluations' id '78188357-e3a0-4b58-89d5-489dfa3430f1' date '25 July 2014' time '7:54:15.696257 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.1' message 'merged by GitFileTree-MergeDriver' id '13aa3f83-1320-43e6-8030-409d72dce4cf' date '19 June 2014' time '1:16:44.611242 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.1' message 'merged by GitFileTree-MergeDriver' id '7d58a962-a1d7-4ec2-b495-5d6ca59a9c05' date '19 June 2014' time '1:06:08.710812 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.1' message 'merged by GitFileTree-MergeDriver' id 'b3d93526-cc44-497f-afd4-72843d58f866' date '19 June 2014' time '1:04:20.485206 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.252' message 'implement installServer client builtIn command. installServer installs GLASS1 and Metacello, etc. while updateServer simply loads a new version of tODE ...' id 'bcca73bd-34ed-417d-9f57-eaa5fe489a95' date '19 June 2014' time '12:15:20.258 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.251' message 'Issue #75: move some classes that are not longer used (but might be useful someday) to some obsolete classes' id '8dd495d2-97ba-498d-8d61-999d98e55000' date '18 June 2014' time '6:57:53.141 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.250' message 'Issue #75: remove last vestiges(?) of old keyboard handling from client(?) + +- next round of cleanup involves scaling back on the + list editors (less likely) and Smalltalk code + editors ... since some of them were using the + old command mapping schemes' id 'd28556b0-7fb4-4933-b292-289108203f61' date '18 June 2014' time '5:14:29.942 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.249' message 'adjust misleading testLogin message' id 'a9396aed-6ba1-4437-8dc4-baf2cfd9fdb4' date '16 June 2014' time '8:53:29.007 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.248' message 'throw an error is GLASS is not pre-installed ... pass error if debugMode in client is not enabled ...' id '8217f91e-3f1f-43eb-b494-d7312f49d05e' date '10 June 2014' time '8:11:07.998 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.247' message 'client element source: now returns true/false allowing server-side element to approve/disapprove the save ...' id '6603d865-2556-4001-ac01-8a99d7ce2d89' date '2 June 2014' time '11:43:07.328 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.246' message 'strip out the code associated with the (now) ancient session map stuff and the (recently) ancient window layout code ... the topezclient class now holds onto the window property so that we can provide that to the user for making changes or use it to automatically re-scale the layout if the screen is re-sized' id '4a5c72f4-88a2-4f53-aa46-22375bbdbf6d' date '2 June 2014' time '7:53:08.817 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.245' message 'converting to use TDSessionDescription instead of OGCustomSessionDescription. + +- TDSessionDescription is passed to server so that + the fields (backupDirectory, serverGitRoot + serverTodeHome) can be specified in the session + description and used on the server +- for now server will request the session description + to make upgrading easier (if client updated before + server, server won''t know what to do with the + session description)' id '16630b8f-6ba7-4a0a-a87b-b6b862870721' date '28 May 2014' time '7:24:23.878 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.244' message 'eliminate extra session being created during restore from backup + +- ensure block was doing an unexpected login after + we had explicitly terminated the session ' id '33503551-bee9-4895-8470-4d90fb771540' date '26 May 2014' time '9:25:19.322 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.243' message 'missin initialization' id 'cda0d35a-ed8b-4b66-b3a2-e0d1e52f0e92' date '19 May 2014' time '10:07:11.386388 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.242' message 'add some client-side error handling for closing windows when the sesssion has disconnected' id 'd9b218ae-f2c9-45d0-83e3-c1ae7d1b98e1' date '7 May 2014' time '8:24:23.667 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.241' message '- support for opening workspaces' id '070a6793-937d-4e02-b57c-e67d5631f794' date '27 April 2014' time '8:25:19.366 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.240' message 'remove session descriptions as they are no longer needed ... replaced by disk-based session descriptions in todeHome' id '875a0a4b-9a55-41bc-a67b-0ebc54913a2c' date '13 April 2014' time '7:34:04.88 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.239' message 'adjust the source element menus to provide option for passing in an interval and dirty flag instead of the selection which means we can do things like `set breakpoint`' id '301576d6-282e-4df4-8aef-8f02eea6b464' date '25 March 2014' time '12:14:15.544 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.238' message 'porting to Pharo3.0' id '29b7aa54-a109-48b7-89e9-865bf7d4a290' date '23 March 2014' time '8:22:55.191 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.237' message 'checkpoint: +- support creating and using serialized session descriptions +- cleanup built-in support +- add `builtIns` command +- start work on improving the `getting started` experience +- start work on `help` and `updateClient` commands' id 'c59f98c8-41d1-4bcb-b974-531aeea1c782' date '22 March 2014' time '12:58:07.43 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.236' message 'Issue #55: checkpoint implementing menus for code windows' id '694cf921-d9f5-4489-a7b5-834c087e5bcb' date '23 February 2014' time '6:51:31.095 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.235' message 'allow for specials in addition to symbols to be used in menu specs ...' id '383e09c5-151d-4403-a309-b1c95dab1a84' date '19 February 2014' time '6:27:30.464 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.234' message 'allow 2.4 to be used with tODE (after prompting)' id '761c7c1b-4a56-4471-9911-65778720f082' date '21 January 2014' time '12:54:36.393 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.233' message 'get rid of halt in recursion protection handler ... recursion protection works' id '10e0c69e-6bf7-48b6-bb07-851051bd3cba' date '20 January 2014' time '5:22:27.04 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.232' message '- add responseActions for item selection (so list can be refreshed upon selection) +- allow for an array of responseActions to be returned so that more than one action can be performed (useful for cut where we add item to clipboard and refresh list) +- add #handeleResponseActions: so that response code is common' id '561f24a0-412e-4478-a59b-d78907fdcbfe' date '6 January 2014' time '7:55:24.238 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.231' message 'implement restoreBackup builtin ... allows for restoreFromBackup without needing to install tODE first' id 'c39b8d28-60c7-4aeb-8515-017674966172' date '5 January 2014' time '3:01:00.216 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.230' message 'TZGemStoneProxyBehavior>>allGlobalNames is flushed prior to login, so lets fill cache after successful login ... we''re interested in having a fresh set of global names for SHOUT based on the system we''re logging into ...' id '466b44ae-d74a-44a1-95fd-6d73de9b373a' date '1 January 2014' time '11:50:50.434 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.229' message 'define GsHardBreakNotification so that we can get a proper description ' id 'b0312aaa-6ae0-45da-ac50-63199ce896a0' date '18 December 2013' time '7:48:45.359 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.228' message 'Issue #62: gearing up to address this problem . some GCI tracing and a little refactoring ...' id 'fd52a1c0-db1a-48ab-b520-0feb5e848dbc' date '16 December 2013' time '2:26:32.173 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.227' message 'monkeying with Guest shell' id '0d08387e-6a1e-48eb-9651-997089d5ddc9' date '14 December 2013' time '7:44:30.485 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.225' message 'update error message' id 'd0a865bc-cc85-4bc4-9311-a1f6135bb442' date '8 December 2013' time '7:24:30.574 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.224' message 'implement support for installTode --clientScriptPath option....--serverPath is still a bit up in the air' id '1b283a4f-fa80-48d7-b88b-08537adc13a8' date '8 December 2013' time '7:04:02.13 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.223' message 'adjust testLogin so that it will work in an image where GLASS has not bee installed ...' id '4b4e1d8f-6cce-48af-a21f-17a28dfb01ea' date '8 December 2013' time '4:02:26.908 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.222' message 'flesh out testLogin command to include suggestions for correcting the various errors' id '39d8878f-7046-4b63-a2f2-b66f880ea2e6' date '8 December 2013' time '3:05:11.259 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.221' message 'add testLogin command' id '1153381b-b4ad-4c69-9e95-a444c956b6f0' date '8 December 2013' time '10:42:22.855 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.220' message 'fix compile error that appears in 3.1.x' id '12ee940a-e73d-4a13-83f3-ff061868fcf9' date '13 November 2013' time '12:32:13.063 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.219' message 'add tODE built-in commmand installTode that performs install/upgrade against remote GemStone repository' id '60a2380e-eead-4853-87b2-32a92efdbef9' date '12 November 2013' time '10:39:00.484 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.218' message 'TDCommandLine object passed over wire instead of parsed tokens ... ball is in servers court' id '4639b9d9-393e-4b8f-9c34-b8a0f8fc8682' date '10 November 2013' time '8:05:52.07 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.217' message 'bugfix for Issue #46: use Author>>fullName when sending initials across wire as it prompts for the initials if not defined' id '3fbac543-efaf-4d30-89e0-2234ee8753cb' date '7 November 2013' time '5:28:41.576 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.216' message 'pass backup directory path to server ...' id '914e1aae-d10c-4db5-96ce-f5c372879e44' date '14 October 2013' time '4:08:12.711 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.215' message 'actionSymbol in menus really needs to be a symbol' id '1cf5c092-ee64-471e-8398-21780d3af6fb' date '7 October 2013' time '2:43:55.998 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.214' message 'Issue #28: getting started on menu implementation' id '019a3362-9c64-4c27-9a86-69739fd15ade' date '28 September 2013' time '3:38:28.406 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.213' message 'clean up some issues involving terminating processes correctly when debugger is closed ' id '1dd9732d-98c7-4af4-8d47-af34cb5f19dc' date '15 July 2013' time '2:27:03.902 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.212' message 'need to terminate the process when we abort error handler' id 'cfdfba2e-ff67-41f1-bccf-f12944947948' date '13 July 2013' time '1:03:20.29 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.211' message 'roassal support' id '1f7b7cd7-0501-423e-8f40-cc1553431607' date '12 June 2013' time '7:09:24.579 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.210' message 'add foos' id 'bdf70055-1c28-4dd9-ae93-1a85441eebb9' date '11 June 2013' time '4:26:22.871 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.209' message 'fix introduced problem with spawning shell...' id '7f633c27-0a01-42af-9bba-4acc8161640e' date '1 June 2013' time '10:36:11.871 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.208' message 'refactor gci calls for clientElements so that the call is moved into the gemstone client leaving pharo client free to perform clientElement code directly' id '787261f7-86d4-4eff-b23d-cc8c0dd7c0e5' date '28 May 2013' time '2:59:28.773 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.207' message 'slide some more gemstone-specific support over to Topez-Client-GemStone' id 'f3472a9d-70ea-4ef3-b603-18db79a57b53' date '28 May 2013' time '1:46:30.708 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.206' message 'working on getting SHOUT to work for Pharo and GemStone' id '17af7d0d-166e-447a-bbe4-ac10c55af4a3' date '28 May 2013' time '1:39:26.524 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.205' message 'continued repackaging' id 'aa598a49-a53a-4ac4-92c4-a14c30b1f756' date '26 May 2013' time '9:32:51.807 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.204' message 'gemstone-specific client class' id '0b382a91-00fc-4625-b661-61033b1a6b89' date '26 May 2013' time '2:14:40.493 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.203' message 'continue repackage effort' id '95d0fcb1-9fc6-4b9b-aca6-c78f637e5e00' date '26 May 2013' time '2:02:57.471 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.202' message 'move some gemstone-specific methods' id '264b603f-bbb1-437e-be47-9c4a9b61fc2d' date '26 May 2013' time '12:23:39.426 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.201' message 'TodeSession is for GemStone only...' id 'ef31ec62-a92c-47bf-a2ad-7e69d85ac37b' date '26 May 2013' time '12:20:36.865 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.200' message 'repackaging for pharo version of tode' id 'cf31b0d7-dfad-4f19-801c-b663bcfa8b64' date '26 May 2013' time '12:07:25.415 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.199' message 'redirect Transcript output to the tode console window while running commands' id '68c71c2c-8178-400b-b2eb-695ce77c854f' date '16 May 2013' time '8:43:31.26 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.198' message 'use TDCommandLine to parse shell command line ... add nit tests ' id 'ba580b95-d073-4f8d-869f-aeb31e53246b' date '16 May 2013' time '8:13:11.683 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.197' message 'redirect operator (>) is functional' id 'b825a96b-7d29-4f2b-8213-3e2f26950e2c' date '15 May 2013' time '4:22:08.574 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.196' message 'checkpoint...adding redirect operator' id '020c1beb-a89f-446c-83f7-73d2a95e3720' date '15 May 2013' time '3:55:07.806 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.195' message 'support for restoreFromBackup: which requires clinet-side logic since a single session cannot survive across the entire restore process' id '50e2c84d-a168-4666-8746-dba3f4e039a9' date '14 May 2013' time '6:21:47.065 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.194' message 'tweak mac session description' id '0aa9e7e1-c845-40fe-a5bc-de045f8ccfd9' date '29 April 2013' time '12:20:21.799 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.193' message 'use a pragma (sessionDescription) to denote the sessionDescription methods in TDTopezClient ... no longer necessary to edit initializeSessionMap ... can add extension methods now ...' id '541cdac4-df45-4d1c-9df3-d723ef4199cb' date '12 April 2013' time '6:16:55.159 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.192' message 'get db continue working for debugger with multiple halts involved' id 'dc0fb879-a1ce-4a7e-abfb-25b0d510b767' date '1 April 2013' time '8:22:26.851 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.191' message 'some more tweaks and bugfixes' id '5ac50a05-593a-4119-b951-a3d7152525ed' date '1 April 2013' time '7:31:17.748 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.190' message 'checkpoint: basic shell functionality (including bringing up dewbugger) with GemStone2.4' id '50747c96-5eac-4d76-88b1-4e0f3b4393b0' date '30 March 2013' time '4:30:52.847 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.189' message 'clear global cache on login...' id '29b51f3b-10fd-4d3f-bdc0-3c673ba21cd2' date '29 March 2013' time '7:15:04.928 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.188' message 'bugfix' id '58caae0e-cf0b-4489-b1d8-0eed65338825' date '29 March 2013' time '4:33:18.985 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.187' message 'final few adjustments?' id '9e127fac-b62b-4989-b1d7-0bb63d3b7d53' date '29 March 2013' time '4:07:14.639 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.186' message 'fine tuning...' id '25501808-a33e-4676-9ac7-43444195a260' date '29 March 2013' time '3:55:37.557 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.185' message 'largely eliminate references to TZHeaderGemStone...' id '1e524fc7-595e-4066-8897-54ab2d7f61b6' date '29 March 2013' time '3:19:50.652 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.184' message 'removed dependence upon the proxy errors/notifications' id 'd9a8832b-3ef4-41ab-b6e6-78dee26d874b' date '29 March 2013' time '2:16:09.25 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.183' message 'converting to a non-proxy-based error handling mechanism' id 'a633b69f-e9f2-46b6-8eef-1f04c704dfa8' date '29 March 2013' time '1:28:42.203 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.182' message 'found more methods to move out' id 'e5cb9c3c-12c0-4f99-86e5-cf237bac4e58' date '29 March 2013' time '12:34:45.327 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.181' message 'low hanging fruit is gone ... time to nominate candidates for next round of cuts/rewrites' id '80c58666-86c1-47b9-a490-7296d6b96389' date '29 March 2013' time '11:12:38.947 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.180' message 'Issue #18: partition out the obviously old, obsolete classes' id 'f544a867-ddcf-4098-a498-eb4262fbd8cb' date '29 March 2013' time '7:45:02.444 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.179' message 'implement history command' id '6ebbdc44-978e-41a8-af8e-b022307b0c9d' date '28 March 2013' time '8:08:15.849 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.178' message 'add support for tab completion ... command completion functional, path completion not tested' id '992f6814-fcbb-4487-bc58-f07e1936f28f' date '28 March 2013' time '8:56:00.339 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.177' message 'fix history navigation a bit' id '41dc2af4-0812-4984-89e0-1aa727dc1ff3' date '27 March 2013' time '5:15:22.404 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.176' message 'console history' id '745989e1-a2a9-4e8d-a4d3-036529170cb4' date '27 March 2013' time '4:19:35.324 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.175' message 'convert to using TodeConsole and TodeDebugConsole full time ... ' id 'dbfdcadd-a53e-4dbd-b6ac-cea3ae7f15f4' date '27 March 2013' time '3:37:06.154 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.174' message 'checkpoint: large chunks of new console is functional ... run...% is not functional ...' id '2ea39629-d566-474c-b29b-c061ad393370' date '27 March 2013' time '11:47:18.46 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.173' message 'add codeWindowHeight so one can control the overall height of tode...Here''s the settings I use for my mac (1440x900): + TDTopezClient + windowOrigin: 5@0.5; + listWindowWidth: 24; + codeWindowHeight: 21; + codeWindowWidth: 80; + initialize.' id 'a26a305a-fa2e-4de0-a488-915b825abecd' date '27 March 2013' time '5:48:51.463 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.172' message 'add accessor for SessionMap +' id 'f54a15fe-37fd-4217-89e8-a3ce1ea32c0c' date '14 March 2013' time '3:42:34.692 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.171' message 'define sessions for use on my mac to connect to office stones (3.1.0.1, r_ 3.1.0.3 and k_ 3.2.0) +' id '5b3c2d42-c8cb-4f2f-b785-75fe092a3496' date '14 March 2013' time '3:17:28.44 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.170' message 'set adornmentColor for selected sessions +' id '5f240fa8-4fcd-4498-877b-724909cad092' date '14 March 2013' time '12:18:56.984 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.169' message 'add gemstoneVersion gciLibraryName adornmentColor to OGCustomSessionDescription ... the implication is that we can now connect to multiple gemstone versions from same image (not at same time .... need to exit one shell and launch another for it to work) ... still pretty nice capability ... see sessionDescription* messages in TDTopezClient for examples ... simply need to copy the gci libraries into the image directory (on linux) ... not tested on mac ... yet +' id '49bdeee4-63b0-4d54-a046-07c581a41eb6' date '14 March 2013' time '12:12:51.41 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.168' message 'arrange for client-side global name cache to be reset at appropriate times +' id '545c19c2-1ed1-4385-9e2e-78f584212f1f' date '28 February 2013' time '12:03:00.786 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.167' message 'seal off debugging halt ... automagical handling of author initials on during login +' id '6e33f5e1-fb6a-4472-a0be-5089af95322e' date '27 February 2013' time '7:30:27.491 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.166' message 'tweak +' id '7efdd5c7-503a-45b1-a8f6-c4b14e402300' date '24 February 2013' time '4:38:32.844 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.165' message 'add environmentId to a bunch of calls ... although environmentId probably won''t help indirect development +' id 'c2cb7353-497c-4e40-93fa-a6711a0e023e' date '24 February 2013' time '9:52:38.839 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.164' message 'checkpoint ... first commit with indirect access on the client-side ... still a bit shakey +' id 'b4952de8-7385-440d-8a0c-7d9949d886c6' date '23 February 2013' time '1:48:22.042 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.163' message 'if autoCommit is disabled, turn the promptString red +' id '9d60c28e-f8e5-48e8-982d-f834b46960d2' date '21 February 2013' time '6:30:22.284 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.162' message 'keyboard shortcuts for debugger: $i, $o, $t for db into, db over and db thru +' id '2249b014-2df5-42b3-a97a-329b4671dd62' date '18 February 2013' time '9:26:49.181 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.161' message 'more monkey business trying to get .. item to know what his parent list index was ... +' id 'd05c78b3-f985-407e-9b34-1a4081338072' date '17 February 2013' time '1:14:58.912 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.160' message 'add notion of highlighted list item +' id '9f16a903-a162-4580-86f9-c20cc6f02d45' date '17 February 2013' time '12:18:19.423 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.159' message 'seal the deal on messagePattern highlighting +' id 'bf21f6ba-c554-41a5-976c-53996edc04db' date '7 February 2013' time '12:26:39.972 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.158' message 'checkpoint ... working on messagePattern implementation so that selectors are highlighted for senders/implementors, etc. +' id '3443a31e-f9dd-4ccb-bb06-5edc2adbe82e' date '7 February 2013' time '11:57:32.176 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.157' message 'less garish adornment color +' id '75a3c022-7b42-40b5-bb12-ee901e8ac859' date '7 February 2013' time '8:12:26.712 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.156' message 'make TZTopez safe to load into gemstone for time being +' id '2bb97557-1cf1-4c0c-8b73-d3f2a9a9823d' date '6 February 2013' time '4:42:42.975 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.155' message 'trigger lazy initialization define layout for mac +' id 'd64d7d3b-428b-4d1b-b2dc-cd4e8ce367a2' date '6 February 2013' time '4:34:10.647 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.154' message 'add more control over window bounds tweak for allowing more margin +' id '24418812-40b7-4f30-bd1d-db6fd3fe8d4c' date '6 February 2013' time '4:22:11.064 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.153' message 'scale bounds based upon font size +' id 'bd6f2f0f-8a9f-40ec-90cd-afcad1127479' date '5 February 2013' time '7:52:21.941 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.152' message 'tweak +' id '19fb719b-7926-444d-b93c-a8991bed65d1' date '5 February 2013' time '10:30:41.678 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.151' message 'make room for configurations and packages windows ... +' id '4c80d50b-9ecb-4c14-8cec-aff231ba64cf' date '5 February 2013' time '8:03:42.019 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.150' message 'open debugger when DEBUG button pressed +' id '49cd7481-6460-4e90-9a36-b02addf8b99c' date '4 February 2013' time '3:03:24.476 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.149' message 'tidy up CMD-C spawn window implementation for navigation +' id '6891b339-0b81-4724-934c-90b58ae3d2d6' date '27 January 2013' time '1:06:07.264 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.148' message 'getting started on handler for keyboard events ... convert all gci messages sends to symbols for easy access by tools +' id '282f6c7d-d0a0-4f6b-9175-dae62a81d8f5' date '27 January 2013' time '9:14:24.334 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.147' message 'checkpoint run|run is now working as script and interactive ... still need to look into process termination situation +' id '6419c81b-ca1f-41e4-ba68-446b04b05be6' date '26 January 2013' time '9:29:01.687 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.146' message 'run | run works as topez script but not as input in REPL (wrong return value) ... also halts/breakpoints while executing run scripts may not quite work right ... +' id 'ee244126-b3a2-45f7-b4a1-5f24b6c497fc' date '26 January 2013' time '9:03:50.708 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.145' message 'fix bug in window management .. reusing windows incorrectly +' id 'c0fb6b90-f71e-49da-b5f1-1295c3a51d62' date '26 January 2013' time '10:36:50.901 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.144' message 'clean up some minor window interactivity issues +' id 'd5129407-d821-4805-834d-7551595c5665' date '26 January 2013' time '10:01:45.965 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.143' message 'eliminate all of the extraneous transcript logging +' id 'b9ad9c51-c8c7-4c4f-a511-20a8ef13f113' date '26 January 2013' time '9:38:50.978 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.142' message 'checkpoint ... db continue is sorta working ... need to work on continue when it runs to end ... more testing needed ... +' id '35967a12-89cd-4a8d-a72c-16a691a68d38' date '25 January 2013' time '9:12:25.364 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.141' message 'checkpoint ... handling halt in debugger ... +' id '46e30a45-080d-4119-ad76-3ccda4efd8c1' date '25 January 2013' time '8:30:58.172 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.140' message 'checkpoint ... starting work on getting breakpoints/halt working for db over / db continue / db thru by reusing the debugger ... db over currently stops for breakpoint ... +' id 'c4636d32-4e0f-468f-af8f-2b026a60d46d' date '25 January 2013' time '7:44:24.079 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.139' message 'clear selection if selectionIndex is nil... +' id '4d67ed35-c1cf-42d7-a3f5-2a4ba677bb26' date '24 January 2013' time '1:18:12.392 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.138' message 'remove halt +' id 'dff390de-beab-4aae-a026-23c1ee9e903f' date '23 January 2013' time '11:40:02.45 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.137' message 'fix continue command ... use #inspect aspect for .self and .node ... have to reset topez instances when system reset ... still have issues with running tests after reset ... when I debug I get proper behavior ... +' id 'eb177549-5874-4a3e-af6c-801becc359f1' date '23 January 2013' time '9:06:54.063 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.136' message 'when debug shell window is closed, all of the windows associated with that shell are closed as well ... +' id 'dfaf45e6-ee46-411c-a690-39c0898456b5' date '15 January 2013' time '12:04:35.161 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.135' message 'add show GsCursor logic +' id 'a5347d49-0bcf-4757-9709-e47aa9d7a925' date '10 January 2013' time '8:32:00.318 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.134' message 'port gci to support gemstone 3.2 +' id 'e2356829-afb8-453f-be3d-a37f27aab6a5' date '8 January 2013' time '4:18:31.418 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.133' message 'add session description for 3.2 stone +' id '41a44067-0ed1-408e-bb8c-847e244862b0' date '8 January 2013' time '2:54:23.306 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.132' message 'address the deadlock issue, by avoiding the creating of too many proxy behaviors ... remove some debugging halts ... +' id '34170e82-8e98-4556-a317-dec725d73956' date '6 January 2013' time '9:53:47.28 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.131' message 'checkpoint .... working through login issues, client forwarder handling (on server), tracking down/eliminating source of pharo deadlock/infinite loop +' id 'e959b759-fa4f-4871-a95e-ee7bb6cb9722' date '6 January 2013' time '9:19:03.099 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.130' message 'fix selector matching regex plus roundtrip tweak +' id '96062247-7970-405a-983d-1fdef40c8810' date '6 January 2013' time '7:30:00.792 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.129' message 'checkpoint ... reducing round trips during login +' id '37e069f2-342d-422c-bf72-aa9183aa1859' date '5 January 2013' time '8:33:22.725 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.128' message 'first order optimization for client forwarders appears to be functional (still scads of logging/debugging stuff) +' id '052baf5a-d9c2-4757-8709-cbe02f7f12ff' date '5 January 2013' time '4:22:29.004 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.127' message 'add a mutex to GciLibrary and protect all api calls with the mutex to avoid concurrent api calls because of SHOUT ... looks like the concurrent calls are finally cleaned up ... still suspicious about the ifCurtailed: handling in getNbResult itself +' id '200d725d-bdb9-41d4-9dfb-d3c5f9e9a535' date '5 January 2013' time '1:37:19.817 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.126' message 'checkpoint ... need to focus on avoiding concurrent gci calls +' id '689c0c56-37b7-4aac-a8ea-4e44084bfaf5' date '5 January 2013' time '11:20:37.465 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.125' message 'checkpoint ... progress reducing round trips getting err/forwarder args ... with side trip handling interupted gci calls (SHOUT) ... +' id '6ef7188c-4508-422a-a6dd-8940c544e505' date '5 January 2013' time '10:00:52.655 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.124' message 'checkpoint ... support for optimizing error/forwarder round trips +' id '1b0771b1-979e-4634-a057-09597cd1b78c' date '4 January 2013' time '8:04:57.842 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.123' message 'checkpoint add GciSession>>executeStringExpectingStringNB: to eliminate overhead of GciLibrary>>localFor: +' id '16abd9a1-9636-4627-908d-11d1e3b256aa' date '3 January 2013' time '7:53:40.862 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.122' message 'checkpoint ... a bunch of gci call logging and a handful of round trip optimizations ... more on the way +' id '5693bc1c-a22b-49c9-91df-91939ad23420' date '3 January 2013' time '12:40:34.845 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.121' message 'checkpoint ... taking a cut at reducing round trips: one arg for client forwarder +' id 'd329a2ec-638d-4395-8fef-f1fe06807463' date '2 January 2013' time '8:48:21.124 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.120' message 'working on getting the correct frame selected in debugger +' id '55e5e7f4-f436-4e4c-9798-8338382d7290' date '30 December 2012' time '12:40:13.901 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.119' message 'debugger tweaks +' id '6b040611-4399-41b5-ae6b-e1808a76a77a' date '30 December 2012' time '12:28:11.996 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.118' message 'checkpoint ... have to hang onto client element blocks +' id '5d66de9a-3142-4005-bf43-08510af9bf0f' date '30 December 2012' time '11:15:44.353 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.117' message 'checkpoint ... a bit of refactoring to accomodate the source and list elements +' id '796225cd-b5f0-4547-ae3d-2ea3616b7c7f' date '30 December 2012' time '9:00:37.19 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.116' message 'instead of terminating process, just return Aborted as string as result +' id 'c8d2fc69-4587-4b14-bccf-d5a978adfa06' date '30 December 2012' time '7:19:02.383 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.115' message 'note that error handling through signalServerError funnels errors to a single topez instance +' id 'eba78cd4-a935-458f-a49d-114347fdb909' date '30 December 2012' time '7:08:04.422 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.114' message 'checkpoint ... debug command is not quite spawning a new shell +' id '48b94acb-0902-42f1-91c2-e36c89bd9bf8' date '29 December 2012' time '12:06:02.772 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.113' message 'start work on spawning shell as part of debug command ... implement sourceContainingIt ... +' id '6e40c424-3a1e-4c61-9cb8-aa31fa7c7d95' date '29 December 2012' time '11:25:46.117 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.112' message 'handle warnings ... +' id '6c0c4df4-91a1-4644-aad3-9c92c3d79b23' date '29 December 2012' time '9:16:56.665 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.111' message 'topez errors separated from application errors +' id 'a7ddbb62-c9b8-4e39-85b1-4ca47c93fbff' date '29 December 2012' time '8:35:02.729 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.110' message 'checkpoint ... attempting to differentiate between command errors and application errors +' id '83dc4ce9-e2a0-4276-8b6b-8ab13374c644' date '29 December 2012' time '7:50:17.733 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.109' message 'checkpoint ... beginnings of error handling rework: + +1. Proceed, Abort, Debug dialog upon error (all errors) basically functional +2. Proceed continues from halt/breakpoint(not confirmed?) +3. Abort terminates the process ... but doesn''t give new prompt +4. Debug returns the error, but doesn''t bring up debugger +5. Debug comes up when we get "error" command error, which should be their + own TopezNotification type +' id 'c6d9b17f-9773-48a4-9ede-43fb4de9196d' date '28 December 2012' time '8:58:35.255 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.108' message 'checkpoint ... getting text editor working +' id '1536a5a8-ab3a-4db9-acac-b045042a0f7c' date '27 December 2012' time '10:30:57.481 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.107' message 'taking the editors seriously now ... time to add windows +' id 'f104ae12-3ab6-4764-95fb-77092e986ffe' date '27 December 2012' time '10:06:03.997 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.106' message 'reimplement continue to be straight continue method ... not continueWith +' id 'c2e788fd-dbea-4dd1-9752-9cb7e96634bd' date '23 December 2012' time '8:00:48.417 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.105' message 'get cmd-shift-l working ... compat hack +' id 'e09cce48-3548-471b-94be-282386a474bb' date '21 December 2012' time '12:45:21.677 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.104' message 'spawn shell window complete ... window close logic sealed +' id 'd7a91596-2ec5-4fab-9f7e-beaaad989ded' date '21 December 2012' time '10:18:52.958 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.103' message 'implement shell window spawn ... needs a bit more work +' id 'f3c6870f-768a-4b9a-83d6-0443a129826f' date '21 December 2012' time '10:04:05.191 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.102' message 'add handler for 6005 ... method breakpoint ... need hanldler for error and halt while runing debugger? +' id 'aa27d681-3fdd-48f9-9bbe-dc3c7303c8e1' date '19 December 2012' time '9:25:58.593 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.101' message 'implement db continue command +' id 'cd413a0c-e9d4-4225-8bba-de74900b53ef' date '19 December 2012' time '4:59:43.183 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.100' message 'implement over and into commands (for step over and step into) plus correct return value when stepping off end of stack +' id '4422a672-5689-4752-a43b-53d0198d3cbd' date '19 December 2012' time '4:45:51.468 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.99' message 'checkpoint ... started implementation of debug control commands ... db step over is basically working ... trouble when running off end +' id 'fc214814-651b-4e78-81c6-90236fd98983' date '19 December 2012' time '2:51:39.606 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.98' message 'new netldi ports +' id '037af9f8-6599-4afc-adc4-811cfbcfa7bf' date '19 December 2012' time '9:48:51.275 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.97' message 'update netldi ports after restarting server ... topez hack +' id 'c7119591-90b7-4ea8-9d75-01cb6700f051' date '18 December 2012' time '7:03:38.403 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.96' message 'little compatibilty hack for TDWindowStatus ... +' id '43449bec-5446-46b8-b4ac-a2071ffd8d35' date '16 December 2012' time '3:31:57.148 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.95' message 'fix builtin bug +' id '79959add-2c51-4a6d-a274-61cbd8f126fb' date '15 December 2012' time '9:02:55.118 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.94' message 'objIn reset after pipe chain complete +' id 'fe46b70d-ffda-424e-b65e-9dcd0d4bb58c' date '15 December 2012' time '8:50:56.513 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.93' message 'checkpoint ... need to reset objIn after pipe chain is complete +' id 'e46207f4-497f-4b06-bfd2-364061276a8e' date '15 December 2012' time '8:44:47.271 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.92' message 'get the pipe command to work correctly +' id '3c9d0579-4e56-489c-9877-6e1b967bc21b' date '9 December 2012' time '5:46:01.322 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.91' message 'initial implementation of objIn, introducing | and ; to command line +' id '2a911e0c-6fbc-4a35-910a-eebeef0e3e77' date '9 December 2012' time '2:12:34.796 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.90' message 'implement .ex halo (description, exception, process) +' id 'd51774d5-8163-4762-99b5-f299642b6d6a' date '1 December 2012' time '6:12:32.224 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.89' message 'basic run command is functional +' id '82c1ff48-78b7-4925-8159-b52166a4777a' date '30 November 2012' time '7:49:18.475 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.88' message 'proper edit command behavior for editting various leaf nodes +' id '08000000-1508-4c0a-1508-4c0a14000000' date '30 November 2012' time '4:13:23.624 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.87' message 'execution of .st, .sh, and .tpz files is functional ... +' id '08000000-1508-3a01-1508-3a0114000000' date '30 November 2012' time '3:29:29.388 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.86' message 'adjust error handling in TZGsExecutable>>performTransformOn: +' id '08000000-1508-5415-1508-541514000000' date '29 November 2012' time '4:20:12.942 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.85' message 'fine tune ston depth and critical block handling for TZGemStoneProxyBehavior +' id '08000000-1508-0816-1508-081614000000' date '29 November 2012' time '3:53:48.24 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.84' message 'supply missing TZSystemWindow>>activate method +' id 'b1c4c30d-c127-46cd-9c92-b4e49db29a78' date '28 November 2012' time '7:35:28.381 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.83' message 'create /home/.window object whose contents represents the server element associated with the active window +' id '08000000-1508-6e01-1508-6e0114000000' date '27 November 2012' time '4:15:32.11 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.82' message 'start tracking the active window ... needed to provide access to the server object that is underlying the model +' id '08000000-1508-f80f-1508-f80f14000000' date '27 November 2012' time '3:01:20.642 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.81' message 'bugfix for TZGsMessageSend>>value +' id '08000000-1508-f409-1508-f40914000000' date '27 November 2012' time '12:13:46.37 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.80' message 'tweak #value: semantics for TZGsMessageSend (creation of args _array_ is responsibility of TZGsMessageSend) +' id '08000000-1508-5e00-1508-5e0014000000' date '27 November 2012' time '12:07:06.92 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.79' message 'reduce level for GS save command +' id '08000000-1508-600b-1508-600b14000000' date '27 November 2012' time '11:13:56.758 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.78' message 'clean up TZGsMessageSend calls ... TDClientSourceElement is functional ... editor opens correclty ... need to work on save ... +' id '2af15c0e-87cf-4920-8c1d-cf21b0537870' date '26 November 2012' time '8:58:11.247 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.77' message 'checkpoint for TDClientElement/TDClientSourceElement ... +' id 'e75541de-4a7a-4804-9947-2022c928cecb' date '26 November 2012' time '8:33:41.487 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.76' message 'edit script is working now ... with correct syntax highlighting +' id '08000000-1508-8c03-1508-8c0314000000' date '26 November 2012' time '4:00:33.026 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.75' message 'adding edit command ... in progress +' id '08000000-1508-9216-1508-921614000000' date '26 November 2012' time '3:29:21.128 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.74' message 'upon detecting an exception (on the client), the server-side is notified of the exception, so the debugger can be opened et cetera at the developers liesure +' id '08000000-1508-061f-1508-061f14000000' date '21 November 2012' time '4:26:16.188 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.73' message 'create clientForwarder for TDTopezClient, so TDTopezServer can send messages to client when necessary +' id '08000000-1508-a013-1508-a01314000000' date '21 November 2012' time '3:45:20.402 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.72' message 'render text for evaluation results on server-side +' id '0ab30845-e8b9-43c5-b388-da06e1df8c99' date '20 November 2012' time '5:07:31.2 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.71' message 'hook up Transcript and pass tokens from client to server as STON string +' id '59bc5260-f90f-4693-893d-bbad9855c407' date '20 November 2012' time '10:44:57.1 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.70' message 'moved TDShell, TDTopezClient, and TDWindowStatus from Topez-Client-Core to Topez-Client-GemStone +' id '08000000-1508-fa01-1508-fa0114000000' date '19 November 2012' time '4:29:31.628 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.69' message 'progress towards new fangled server-side code +' id '08000000-1508-0e0f-1508-0e0f14000000' date '19 November 2012' time '3:47:28.396 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.68' message 'pushing out towards the tODE evaluator ... line by line to server +' id 'fec8a278-9d98-45d6-b9fa-d2a044539fbb' date '19 November 2012' time '8:10:02.982 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.67' message 'clientForwarder for opening code window from server +' id '52d0f777-b58b-403a-868a-83ef724b5d1b' date '19 November 2012' time '7:59:53.656 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.66' message 'use clientForwarder to open window on client from server +' id 'e62fbdb1-127c-49ca-aea2-155d1592202c' date '18 November 2012' time '5:30:34.572 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.65' message 'reinstate support for client forwarders +' id 'a0e1ddf6-aac7-463e-8ef9-0f7ed9c1649c' date '18 November 2012' time '9:45:51.499 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.64' message 'improve SHOUT highlighting for GemStone +' id '679f0065-ae84-4239-b961-870f155796c7' date '14 November 2012' time '9:50:56.999 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.63' message 'support for TZGsBlockSend and TZGsMessageSend which I think will be useful going forward +' id '028aeb9b-4048-47e3-97d6-41dff58551af' date '14 November 2012' time '5:56:20.106 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.62' message 'isolate the Smalltalks demo commands +support for Roassal command (elementSuperClassName) +' id '4e4b836a-8c5f-4edc-bde1-cebf272c6705' date '11 November 2012' time '12:15:25.533 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.61' message 'get diff running in GemStone +' id '25586b08-be94-43b2-b3ac-385fdbe71f9f' date '3 November 2012' time '5:48:10.522 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.60' message 'fix bug in accumulateText (newlines missing +sysinit split from init: + sysinit does class initialization (and calls init) + init just adds scripts to /topez/bin +TZEvaluator class>>systemReinitialize added +fix ininite print loop related to TZFrameMethodElement +implement reload and save commands +' id '08000000-1508-700f-1508-700f14000000' date '1 November 2012' time '4:32:14.39 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.59' message 'avoid using references until https://github.com/svenvc/ston/issues/3 is resolved. I''ve got a patch that should work for STONREader if there is a loop in the traversal, but that patch may not be usable until the vm bug is resolved.' id '886de6b6-81f5-4ef3-b5a7-cb8371ef343d' date '30 October 2012' time '9:09:42.985 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.58' message 'add TZGsStonWriter class with added support for storing proxy references ... plus other performance adjustments' id 'f4446a16-8302-4467-949a-837557451432' date '30 October 2012' time '4:09:15.06 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.57' message 'get /projects working for Gemstone' id '49751f6a-53b9-4201-b350-62cb42d81655' date '30 October 2012' time '10:52:03.523 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.56' message 'checkpoint ... porting the project structure to GemStone' id '08000000-1508-9c11-1508-9c1114000000' date '29 October 2012' time '3:37:05.682 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.55' message 'move lint command to native-only and create setClassProxy to avoid roundtrip when using name (to resolve to a class anyway)' id '08000000-1508-0403-1508-040314000000' date '29 October 2012' time '2:45:44.568 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.54' message 'tweaks for GemStone' id '08000000-1508-4206-1508-420614000000' date '29 October 2012' time '11:55:03.926 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.53' message 'rename instance to inspect, reorganize script nodes, add cat (cd, ls, pwd and cat), rendering for nodes' id '08000000-1508-1a03-1508-1a0314000000' date '26 October 2012' time '5:41:59.542 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.52' message 'basic stash implementation: ls cd pwd. The run, topez and instance commands work with node paths ' id '08000000-1508-ee03-1508-ee0314000000' date '26 October 2012' time '4:13:34.66 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.51' message 'a bit of cleanup' id '08000000-1508-8e1c-1508-8e1c14000000' date '26 October 2012' time '10:56:42.988 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.50' message 'avoid asNative on class proxies during set class' id 'a8ff52ba-64fb-446c-9011-109a994aa9a7' date '26 October 2012' time '9:04:24.838 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.49' message 'CMD-u (step into) and CMD-j (continue) key bindings implemented' id 'ce472faa-3edd-4076-8f29-850d579e2b66' date '25 October 2012' time '12:21:19.943 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.48' message 'define the debugger key strokes and start implementation with CMD-t step over ... functional, but need to work on window updating logic' id '76bcf210-e2e5-47b0-a689-cdcb06bee340' date '24 October 2012' time '6:59:07.998 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.47' message 'monkey with offsets and get back to correctly display gemstone stack' id '08000000-1508-220a-1508-220a14000000' date '24 October 2012' time '12:05:26.936 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.46' message 'another session description' id '0735bffa-b22c-4331-af1d-412157f9f36f' date '24 October 2012' time '8:59:47.636 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.45' message 'stack displayed in debugger list' id '43705547-f7b4-477e-bbe7-29ee318a0a1d' date '23 October 2012' time '11:50:34.505 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.44' message 'TZStackFrameElement used in stack ... finally:) ... still more work to do' id 'f9d8d608-2f70-4c2d-a4c4-ffde002cf7c1' date '23 October 2012' time '9:51:29.214 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.43' message 'Cmd-p used for inspecting strings ... handling the Executed Code method for GemStone' id '01df2c50-cf8a-4cac-93d2-a8bf9a455841' date '23 October 2012' time '8:36:16.482 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.42' message 'directly edit the instance when using instance command (like inpsect)' id '08000000-1508-e018-1508-e01814000000' date '23 October 2012' time '4:36:17.882 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.41' message 'tweaks' id '08000000-1508-fc17-1508-fc1714000000' date '23 October 2012' time '3:41:57.876 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.40' message 'preparing to cache TZElement instances for GemStone to avoid GC issues ... resolving this issue is why I converted to a instance-side TZEngine implementation' id 'eaac7d10-1b55-4dbd-b7d6-e7949ad41316' date '23 October 2012' time '7:29:26.982 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.39' message 'fix method template handling' id '829bf6de-cd26-4f23-8c98-c2ee845722d4' date '22 October 2012' time '11:58:38.011 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.38' message 'complete conversion to use TZEngine singleton' id 'e5b159d3-a537-4e9f-b843-25da77eaa894' date '22 October 2012' time '9:18:21.33 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.37' message 'switch to a singleton for TZEngine' id '08000000-1508-900d-1508-900d14000000' date '22 October 2012' time '3:38:28.546 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.36' message 'correct copy/paste from class to instance and vice versa logic' id '08000000-1508-5c08-1508-5c0814000000' date '22 October 2012' time '3:27:57.368 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.35' message 'improve CMD-o implementation, allow pasting (CMD-v) of methods into instance/class selectors panes thus forcing isMeta to match (can move class-side methods to instance and vice versa)' id '08000000-1508-b610-1508-b61014000000' date '22 October 2012' time '2:07:58.46 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.34' message 'performance tweak and fix initialization problems for gemstone' id '08000000-1508-9606-1508-960614000000' date '22 October 2012' time '12:17:12.064 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.33' message 'adjust indent for instance elements ... offset for topez windows...' id '08000000-1508-dc14-1508-dc1414000000' date '22 October 2012' time '10:38:00.59 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.32' message 'usability tweaks while working on debugger' id '11d2cfc2-0763-4d56-aafa-751b7ddd5dcc' date '22 October 2012' time '8:17:21.021 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.31' message 'checkpoint ... working on instanceElement logic for GemStone' id '8ed11f31-ba14-4d33-869c-8cb79134b548' date '20 October 2012' time '4:18:39.213 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.30' message 'checkpoint' id '76461938-7e8f-4a33-970b-c4b5f6f5e34b' date '20 October 2012' time '9:23:15.781 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.29' message 'checkpoint ... green tests' id '2a216d0e-abc0-4691-9ba2-a98d1c7b8e7a' date '20 October 2012' time '8:15:49.065 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.28' message 'delete the TZTopezCmd hierarchy ... not really used' id '64462139-c312-4864-89e8-c88458866d4d' date '19 October 2012' time '5:41:29.119 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.27' message 'checkpoint ... some work on GemStone side, preparing to remove all of the command objects (more complication than needed) ... ' id '3a78de09-31d4-4eaf-a09f-a922b043497c' date '19 October 2012' time '5:29:25.781 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.26' message 'use standard SHOUT for Pharo' id 'cacf24e6-5257-45f3-bb3d-94cb63aee996' date '18 October 2012' time '9:02:04.331 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.25' message 'set evaluator for gs topez' id '08000000-1508-f400-1508-f40014000000' date '18 October 2012' time '5:08:32.91 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.24' message 'have to have out own variants of Shout parser to be able to do remote shout highlighting ...' id '08000000-1508-d008-1508-d00814000000' date '18 October 2012' time '4:56:34.066 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.23' message 'add dash of color to all windows to associate with Native or GemStone' id '08000000-1508-b611-1508-b61114000000' date '18 October 2012' time '3:35:29.67 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.22' message 'checkpoint ... gemstone tests ...' id '08000000-1508-1a1e-1508-1a1e14000000' date '18 October 2012' time '12:03:44.855 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.21' message 'checkpoint ... working on getting GemStone tests to pass' id '08000000-1508-5e0e-1508-5e0e14000000' date '18 October 2012' time '11:41:42.281 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.20' message 'checkpoint ... working on getting tests to pass for GemStone' id '692134dd-3f06-4ae6-9ae9-c9ee2dddbb86' date '18 October 2012' time '7:58:24.27 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.19' message 'checkpoint ... implementing hierarchyOf, sendersOf, implementorsOf, and referencesTo for GemStone ' id 'cb9a118f-cc5a-444a-aea9-95799fc6649e' date '17 October 2012' time '9:41:10.654 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.18' message 'finish up `edit class`' id 'e692f198-1183-4fe4-ad58-3c4aef8e2661' date '14 October 2012' time '4:36:32.246 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.17' message 'use elementClassName for TZClassElement' id 'f513df1f-88cf-413b-8539-1962b009fef2' date '14 October 2012' time '12:58:21.241 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.16' message 'working on `edit class` and `find class` commands' id '67a0a3f2-552d-41f0-8076-7aa9e092f437' date '14 October 2012' time '12:38:09.355 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.15' message 'allow for native/gs-specific scripts and centralize window extents' id 'fa53f463-71d6-4f75-b459-a4cf1cdce511' date '14 October 2012' time '11:10:12.872 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.14' message 'green tests' id 'ef88b8e5-6ba3-4ca1-82f5-0b9bf14a5e0a' date '14 October 2012' time '10:24:13.212 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.13' message '`logout` and `close` commands added. address class name gc issue for gemstone.' id '9d3ec906-11d8-43b3-99f5-a9706f8824f5' date '14 October 2012' time '9:25:24.043 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.12' message 'checkpoint ... accept method work for GemStone' id 'bd98fbe5-445e-4e31-8d1f-c142781322cb' date '14 October 2012' time '8:34:30.654 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.11' message 'full set of `edit` tests ... green tests' id '5f337b33-d035-4d8e-acfa-d62ce835b5d8' date '13 October 2012' time '5:09:20.824 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.10' message 'checkpoint ... completed test for `list` commands' id '1f5c04c6-71b3-47a7-985e-befc6b760eac' date '13 October 2012' time '12:10:31.855 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.9' message 'add window closing logic so that closed windows are cleaned up along with sessions' id '08000000-1508-e418-1508-e41814000000' date '12 October 2012' time '11:50:48.296 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.8' message 'checkpoint ... working on getting recent additions working in GemStone (hierarchy, sublcasses, history, etc.)' id '08000000-1508-fe0f-1508-fe0f14000000' date '11 October 2012' time '3:14:56.834 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.7' message 'implement history and rename classHierarchy to superclass' id '08000000-1508-2a17-1508-2a1714000000' date '11 October 2012' time '12:07:38.862 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.6' message 'add hierarcy and subclasses commands (edit and list varieties)' id 'acd8b672-8e6a-475c-bcd2-6950fa1ee410' date '11 October 2012' time '8:18:22.468 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.5' message 'refactoring so I can add a filter to the listEditor and add `topez` command so that I can define the listEditor filter from within topez' id '0d274092-90cd-49df-bc13-445b481d4e60' date '10 October 2012' time '12:55:41.508 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.4' message 'green tests' id '9184dc3e-ef48-464d-bf80-ebbad4ea0b3d' date '10 October 2012' time '8:59:43.792 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.3' message '`edit prclasses` is working for GemStone' id 'e02d3872-5544-4b88-901d-882d1a576e31' date '10 October 2012' time '8:56:17.812 am' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.2' message 'class selectors support and green tests' id 'fe84d00d-ab77-4a8f-8a0b-a8f0cb134763' date '8 October 2012' time '6:47:01.099 pm' author 'dkh' ancestors ((name 'Topez-Client-GemStone-dkh.1' message 'begin job of making the pharo client and gemstone clients independently loadable ... at the point where I need to split up tests ... methinks' id '08000000-1508-7c16-1508-7c1614000000' date '8 October 2012' time '4:56:37.18 pm' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(id 'bcca73bd-34ed-417d-9f57-eaa5fe489a95')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/MCDiffyTextWriter.class/instance/writePatch..st b/repository/Topez-Common-Core.package/MCDiffyTextWriter.class/instance/writePatch..st index 0891e7b6e..d7dac03e4 100644 --- a/repository/Topez-Common-Core.package/MCDiffyTextWriter.class/instance/writePatch..st +++ b/repository/Topez-Common-Core.package/MCDiffyTextWriter.class/instance/writePatch..st @@ -1,11 +1,11 @@ as yet unclassified writePatch: aPatch - aPatch operations asSortedCollection - do: [ :ea | - ea isRemoval - ifTrue: [ self writeRemoval: ea ]. - ea isAddition - ifTrue: [ self writeAddition: ea ]. - ea isModification - ifTrue: [ self writeModification: ea ]. - stream cr ] \ No newline at end of file + aPatch operations asSortedCollection + do: [ :ea | + ea isRemoval + ifTrue: [ self writeRemoval: ea ]. + ea isAddition + ifTrue: [ self writeAddition: ea ]. + ea isModification + ifTrue: [ self writeModification: ea ]. + stream cr ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/MCDiffyTextWriter.class/methodProperties.json b/repository/Topez-Common-Core.package/MCDiffyTextWriter.class/methodProperties.json index 50f0fa86e..e3940671b 100644 --- a/repository/Topez-Common-Core.package/MCDiffyTextWriter.class/methodProperties.json +++ b/repository/Topez-Common-Core.package/MCDiffyTextWriter.class/methodProperties.json @@ -4,7 +4,7 @@ "instance" : { "writeAddition:" : "dkh 02/10/2013 12:44", "writeModification:" : "dkh 02/10/2013 12:43", - "writePatch:" : "dkh 11/1/2012 16:53", + "writePatch:" : "abc 09/16/2015 11:35", "writePatchFrom:to:" : "dkh 05/14/2014 07:13", "writePatchHeader:" : "dkh 11/1/2012 16:53", "writeRemoval:" : "dkh 02/10/2013 12:31", diff --git a/repository/Topez-Common-Core.package/RunArray.extension/class/fromSton..st b/repository/Topez-Common-Core.package/RunArray.extension/class/fromSton..st deleted file mode 100644 index 027c713e3..000000000 --- a/repository/Topez-Common-Core.package/RunArray.extension/class/fromSton..st +++ /dev/null @@ -1,7 +0,0 @@ -*topez-common-core -fromSton: stonReader - "workaround for https://github.com/svenvc/ston/issues/4" - - ^ self new - fromSton: stonReader; - yourself \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/RunArray.extension/instance/fromSton..st b/repository/Topez-Common-Core.package/RunArray.extension/instance/fromSton..st deleted file mode 100644 index 23e43e626..000000000 --- a/repository/Topez-Common-Core.package/RunArray.extension/instance/fromSton..st +++ /dev/null @@ -1,3 +0,0 @@ -*topez-common-core -fromSton: stonReader - stonReader parseMapDo: [ :instVarName :value | self instVarNamed: instVarName put: value ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/RunArray.extension/instance/stonOn..st b/repository/Topez-Common-Core.package/RunArray.extension/instance/stonOn..st deleted file mode 100644 index 02f93ff2e..000000000 --- a/repository/Topez-Common-Core.package/RunArray.extension/instance/stonOn..st +++ /dev/null @@ -1,7 +0,0 @@ -*topez-common-core -stonOn: stonWriter - "workaround for https://github.com/svenvc/ston/issues/4" - - stonWriter - writeObject: self - streamMap: [ :dictionary | self class allInstVarNames do: [ :each | dictionary at: each asSymbol put: (self instVarNamed: each) ] ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/RunArray.extension/methodProperties.json b/repository/Topez-Common-Core.package/RunArray.extension/methodProperties.json deleted file mode 100644 index 478343812..000000000 --- a/repository/Topez-Common-Core.package/RunArray.extension/methodProperties.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "class" : { - "fromSton:" : "dkh 12/19/2012 09:23" }, - "instance" : { - "fromSton:" : "DataCurator 12/19/2012 09:35", - "stonOn:" : "dkh 12/19/2012 09:23" } } diff --git a/repository/Topez-Common-Core.package/RunArray.extension/properties.json b/repository/Topez-Common-Core.package/RunArray.extension/properties.json deleted file mode 100644 index 53772257e..000000000 --- a/repository/Topez-Common-Core.package/RunArray.extension/properties.json +++ /dev/null @@ -1,2 +0,0 @@ -{ - "name" : "RunArray" } diff --git a/repository/Topez-Common-Core.package/String.extension/instance/convertTDEvaluateTokenResponseToText.st b/repository/Topez-Common-Core.package/String.extension/instance/convertTDEvaluateTokenResponseToText.st deleted file mode 100644 index 787ea59ce..000000000 --- a/repository/Topez-Common-Core.package/String.extension/instance/convertTDEvaluateTokenResponseToText.st +++ /dev/null @@ -1,5 +0,0 @@ -*topez-common-core -convertTDEvaluateTokenResponseToText - "expected response is a String, but could be a TZProxyNotification" - - ^ STON fromString: self \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/String.extension/methodProperties.json b/repository/Topez-Common-Core.package/String.extension/methodProperties.json deleted file mode 100644 index fc583eefb..000000000 --- a/repository/Topez-Common-Core.package/String.extension/methodProperties.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "class" : { - }, - "instance" : { - "convertTDEvaluateTokenResponseToText" : "dkh 11/20/2012 18:15" } } diff --git a/repository/Topez-Common-Core.package/TDCommandLine.class/class/fromStream.forEachCommand..st b/repository/Topez-Common-Core.package/TDCommandLine.class/class/fromStream.forEachCommand..st new file mode 100644 index 000000000..88a80b57c --- /dev/null +++ b/repository/Topez-Common-Core.package/TDCommandLine.class/class/fromStream.forEachCommand..st @@ -0,0 +1,5 @@ +parsing +fromStream: aStream forEachCommand: aBlock + "multi-line input" + + self fromStream: aStream selectLine: [:cmdLine | true] forEachCommand: aBlock \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDCommandLine.class/class/fromStream.selectLine.forEachCommand..st b/repository/Topez-Common-Core.package/TDCommandLine.class/class/fromStream.selectLine.forEachCommand..st new file mode 100644 index 000000000..9ca0da5cf --- /dev/null +++ b/repository/Topez-Common-Core.package/TDCommandLine.class/class/fromStream.selectLine.forEachCommand..st @@ -0,0 +1,27 @@ +parsing +fromStream: aStream selectLine: selectLineBlock forEachCommand: aBlock + "multi-line input" + + | cmdLines line escaped lastLine | + cmdLines := OrderedCollection new. + escaped := false. + lastLine := ''. + [ + line := aStream nextLine. + (line isNil or: [line isEmpty ]) ] + whileFalse: [ + (line isEmpty not and: [ line last == $\ ]) + ifTrue: [ + escaped := true. + lastLine := lastLine , (line copyFrom: 1 to: line size - 1) ] + ifFalse: [ + escaped + ifTrue: [ + cmdLines add: lastLine , line. + escaped := false ] + ifFalse: [ cmdLines add: line ] ] ]. + escaped + ifTrue: [ cmdLines add: lastLine ]. + cmdLines do: [ :cmdLine | + (selectLineBlock value: cmdLine) ifTrue: [ + self line: cmdLine forEachCommand: aBlock] ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDCommandLine.class/class/isolate..st b/repository/Topez-Common-Core.package/TDCommandLine.class/class/isolate..st index cd51f48b8..2957a1cf8 100644 --- a/repository/Topez-Common-Core.package/TDCommandLine.class/class/isolate..st +++ b/repository/Topez-Common-Core.package/TDCommandLine.class/class/isolate..st @@ -1,24 +1,29 @@ private isolate: aString - | isolated command final escaped | + | isolated command final escaped skipComment | isolated := OrderedCollection new. command := WriteStream on: String new. - escaped := false. + skipComment := escaped := false. aString do: [ :char | - escaped - ifTrue: [ - command nextPut: char. - char = $` - ifTrue: [ escaped := false ] ] + skipComment ifFalse: [ - char == $; + escaped ifTrue: [ - isolated add: command contents. - command := WriteStream on: String new ] - ifFalse: [ command nextPut: char ]. - char = $` - ifTrue: [ escaped := true ] ] ]. + command nextPut: char. + char = $` + ifTrue: [ escaped := false ] ] + ifFalse: [ + char == $; + ifTrue: [ + isolated add: command contents. + command := WriteStream on: String new ] + ifFalse: [ + char == $# + ifTrue: [ skipComment := true ] + ifFalse: [ command nextPut: char ] ]. + char = $` + ifTrue: [ escaped := true ] ] ] ]. final := command contents. final isEmpty ifFalse: [ isolated add: final ]. diff --git a/repository/Topez-Common-Core.package/TDCommandLine.class/class/line.forEachCommand..st b/repository/Topez-Common-Core.package/TDCommandLine.class/class/line.forEachCommand..st index de75cce28..5e38b7436 100644 --- a/repository/Topez-Common-Core.package/TDCommandLine.class/class/line.forEachCommand..st +++ b/repository/Topez-Common-Core.package/TDCommandLine.class/class/line.forEachCommand..st @@ -1,6 +1,8 @@ parsing -line: aString forEachCommand: aBlock - (self isolate: aString) +line: cmdLineString forEachCommand: aBlock + "single command line" + + (self isolate: cmdLineString) do: [ :isolated | | redirected commandLine redirectTarget command | redirected := self scan: isolated delim: $>. diff --git a/repository/Topez-Common-Core.package/TDCommandLine.class/methodProperties.json b/repository/Topez-Common-Core.package/TDCommandLine.class/methodProperties.json index b023526d6..b5481f227 100644 --- a/repository/Topez-Common-Core.package/TDCommandLine.class/methodProperties.json +++ b/repository/Topez-Common-Core.package/TDCommandLine.class/methodProperties.json @@ -1,8 +1,10 @@ { "class" : { "commandLine:redirectTarget:" : "dkh 5/16/2013 18:15", - "isolate:" : "dkh 05/20/2013 22:17", - "line:forEachCommand:" : "dkh 5/16/2013 19:43", + "fromStream:forEachCommand:" : "dkh 12/17/2014 16:33", + "fromStream:selectLine:forEachCommand:" : "dkh 12/17/2014 16:32", + "isolate:" : "dkh 12/17/2014 15:27", + "line:forEachCommand:" : "dkh 12/17/2014 15:32", "scan:delim:" : "dkh 05/20/2013 22:22" }, "instance" : { "argPtrs" : "dkh 11/10/2013 06:57", diff --git a/repository/Topez-Common-Core.package/TDConfirm.class/instance/abort..st b/repository/Topez-Common-Core.package/TDConfirm.class/instance/abort..st new file mode 100644 index 000000000..1b6cc9bc2 --- /dev/null +++ b/repository/Topez-Common-Core.package/TDConfirm.class/instance/abort..st @@ -0,0 +1,3 @@ +accessing +abort: anObject + abort := anObject \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDConfirm.class/instance/abort.st b/repository/Topez-Common-Core.package/TDConfirm.class/instance/abort.st new file mode 100644 index 000000000..3aa2a43b1 --- /dev/null +++ b/repository/Topez-Common-Core.package/TDConfirm.class/instance/abort.st @@ -0,0 +1,3 @@ +accessing +abort + ^ abort \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDConfirm.class/methodProperties.json b/repository/Topez-Common-Core.package/TDConfirm.class/methodProperties.json index 89ea9924a..204563ead 100644 --- a/repository/Topez-Common-Core.package/TDConfirm.class/methodProperties.json +++ b/repository/Topez-Common-Core.package/TDConfirm.class/methodProperties.json @@ -2,6 +2,8 @@ "class" : { }, "instance" : { + "abort" : "dkh 01/16/2015 11:03", + "abort:" : "dkh 01/16/2015 11:03", "cancel" : "dkh 10/20/2013 15:03", "cancel:" : "dkh 10/20/2013 15:03", "confirm" : "dkh 10/20/2013 15:03", diff --git a/repository/Topez-Common-Core.package/TDConfirm.class/properties.json b/repository/Topez-Common-Core.package/TDConfirm.class/properties.json index 1281a910f..12993459e 100644 --- a/repository/Topez-Common-Core.package/TDConfirm.class/properties.json +++ b/repository/Topez-Common-Core.package/TDConfirm.class/properties.json @@ -8,7 +8,8 @@ "instvars" : [ "prompt", "confirm", - "cancel" ], + "cancel", + "abort" ], "name" : "TDConfirm", "pools" : [ ], diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/README.md b/repository/Topez-Common-Core.package/TDEventsCache.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/instance/isEmpty.st b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/isEmpty.st new file mode 100644 index 000000000..e7ed22f34 --- /dev/null +++ b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/isEmpty.st @@ -0,0 +1,11 @@ +testing +isEmpty + self list + valuesDo: [ :list | + list isEmpty + ifFalse: [ ^ false ] ]. + self map + valuesDo: [ :dict | + dict isEmpty + ifFalse: [ ^ false ] ]. + ^ true \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/instance/list.st b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/list.st new file mode 100644 index 000000000..1062de6d5 --- /dev/null +++ b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/list.st @@ -0,0 +1,4 @@ +event list +list + list ifNil: [ list := Dictionary new ]. + ^ list \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/instance/listAt..st b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/listAt..st new file mode 100644 index 000000000..e7a833744 --- /dev/null +++ b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/listAt..st @@ -0,0 +1,3 @@ +event list +listAt: event + ^self list at: event ifAbsent: [ self list at: event put: IdentitySet new ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/instance/listAt.add..st b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/listAt.add..st new file mode 100644 index 000000000..43f623ccc --- /dev/null +++ b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/listAt.add..st @@ -0,0 +1,3 @@ +event list +listAt: event add: anObject + (self listAt: event) add: anObject \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/instance/listAt.remove..st b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/listAt.remove..st new file mode 100644 index 000000000..950fdb25f --- /dev/null +++ b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/listAt.remove..st @@ -0,0 +1,3 @@ +event list +listAt: event remove: anObject + (self listAt: event) remove: anObject ifAbsent: [ ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/instance/map.st b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/map.st new file mode 100644 index 000000000..cd595ba3b --- /dev/null +++ b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/map.st @@ -0,0 +1,4 @@ +event map +map + map ifNil: [ map := Dictionary new ]. + ^ map \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/instance/mapAt..st b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/mapAt..st new file mode 100644 index 000000000..6ad389675 --- /dev/null +++ b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/mapAt..st @@ -0,0 +1,3 @@ +event map +mapAt: event + ^ self map at: event ifAbsent: [ self map at: event put: Dictionary new ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/instance/mapAt.at.put..st b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/mapAt.at.put..st new file mode 100644 index 000000000..c3774fc17 --- /dev/null +++ b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/mapAt.at.put..st @@ -0,0 +1,3 @@ +event map +mapAt: event at: aKey put: anObject + (self mapAt: event) at: aKey put: anObject \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/instance/mapAt.removeKey..st b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/mapAt.removeKey..st new file mode 100644 index 000000000..3e48b6eeb --- /dev/null +++ b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/mapAt.removeKey..st @@ -0,0 +1,3 @@ +event map +mapAt: event removeKey: anObject + (self mapAt: event) removeKey: anObject ifAbsent: [] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/instance/mapAt.removeValue..st b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/mapAt.removeValue..st new file mode 100644 index 000000000..ac6563b76 --- /dev/null +++ b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/mapAt.removeValue..st @@ -0,0 +1,6 @@ +event map +mapAt: event removeValue: anObject + | dict key | + dict := self mapAt: event. + key := dict keyAtValue: anObject ifAbsent: [ ^ self ]. + dict removeKey: key \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/instance/reset.st b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/reset.st new file mode 100644 index 000000000..c31758055 --- /dev/null +++ b/repository/Topez-Common-Core.package/TDEventsCache.class/instance/reset.st @@ -0,0 +1,4 @@ +initialization +reset + +map := list := nil \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/methodProperties.json b/repository/Topez-Common-Core.package/TDEventsCache.class/methodProperties.json new file mode 100644 index 000000000..fd0137c58 --- /dev/null +++ b/repository/Topez-Common-Core.package/TDEventsCache.class/methodProperties.json @@ -0,0 +1,15 @@ +{ + "class" : { + }, + "instance" : { + "isEmpty" : "dkh 8/11/2015 17:20", + "list" : "dkh 8/11/2015 17:21", + "listAt:" : "dkh 8/11/2015 17:20", + "listAt:add:" : "dkh 8/11/2015 17:16", + "listAt:remove:" : "dkh 8/11/2015 17:17", + "map" : "dkh 8/11/2015 17:21", + "mapAt:" : "dkh 8/11/2015 17:20", + "mapAt:at:put:" : "dkh 8/11/2015 17:18", + "mapAt:removeKey:" : "dkh 8/11/2015 17:18", + "mapAt:removeValue:" : "dkh 8/11/2015 17:18", + "reset" : "dkh 8/12/2015 11:58" } } diff --git a/repository/Topez-Common-Core.package/TDEventsCache.class/properties.json b/repository/Topez-Common-Core.package/TDEventsCache.class/properties.json new file mode 100644 index 000000000..ac5a79041 --- /dev/null +++ b/repository/Topez-Common-Core.package/TDEventsCache.class/properties.json @@ -0,0 +1,15 @@ +{ + "category" : "Topez-Common-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "map", + "list" ], + "name" : "TDEventsCache", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Topez-Common-Core.package/TDSessionDescription.class/class/importFrom..st b/repository/Topez-Common-Core.package/TDSessionDescription.class/class/importFrom..st index 762f96ea2..8430ef6c5 100644 --- a/repository/Topez-Common-Core.package/TDSessionDescription.class/class/importFrom..st +++ b/repository/Topez-Common-Core.package/TDSessionDescription.class/class/importFrom..st @@ -1,3 +1,7 @@ instance creation importFrom: filepath - FileStream readOnlyFileNamed: filepath do: [ :fileStream | ^(STON fromStream: fileStream) asTDSessionDescription ]. \ No newline at end of file + FileStream + readOnlyFileNamed: filepath + do: [ :fileStream | + ^ (TodeObjectSerializer preferredSerializer fromString: fileStream contents) + asTDSessionDescription ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/editTemplate.st b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/editTemplate.st index 4b0e85709..16a9fe7ff 100644 --- a/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/editTemplate.st +++ b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/editTemplate.st @@ -7,5 +7,5 @@ editTemplate cr; nextPutAll: '('. self editTemplateOn: stream. - stream nextPutAll: ') exportTo: TDShell sessionDescriptionHome.'. + stream nextPutAll: ') exportTo: TDShell todeSysLocalSessionDescriptionPath.'. ^ stream contents \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/editTemplateOn..st b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/editTemplateOn..st index 5aec46e7a..b3ae0cf1e 100644 --- a/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/editTemplateOn..st +++ b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/editTemplateOn..st @@ -73,6 +73,10 @@ editTemplateOn: stream cr; tab; nextPutAll: 'backupDirectory: ' , self backupDirectory printString; + nextPut: $;; + cr; + tab; + nextPutAll: 'snapshotDirectory: ' , self snapshotDirectory printString; nextPut: $;. (dataDirectory notNil and: [ dataDirectory isEmpty not ]) ifTrue: [ diff --git a/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/exportTo.extension..st b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/exportTo.extension..st index d4d0a2d1a..116d62ae6 100644 --- a/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/exportTo.extension..st +++ b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/exportTo.extension..st @@ -1,7 +1,7 @@ accessing exportTo: filepath extension: extension - | stream | - stream := FileStream forceNewFileNamed: filepath , self name , extension. - stream lineEndConvention: #'lf'. - STON put: self onStreamPretty: stream. - stream close \ No newline at end of file + | stream | + stream := FileStream forceNewFileNamed: filepath , self name , extension. + stream lineEndConvention: #'lf'. + stream nextPutAll: (TodeObjectSerializer preferredSerializer toStringPretty: self). + stream close \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/serverGitRoot.st b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/serverGitRoot.st index f83e1c49e..7c195cc7e 100644 --- a/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/serverGitRoot.st +++ b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/serverGitRoot.st @@ -1,4 +1,4 @@ accessing serverGitRoot - serverGitRoot ifNil: [ serverGitRoot := '/opt/git' ]. + serverGitRoot ifNil: [ serverGitRoot := '$GS_HOME/tode/sys/local/git' ]. ^ serverGitRoot \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/serverTodeRoot.st b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/serverTodeRoot.st index 8c552f2bc..50b1f54d7 100644 --- a/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/serverTodeRoot.st +++ b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/serverTodeRoot.st @@ -1,4 +1,4 @@ accessing serverTodeRoot - serverTodeRoot ifNil: [ serverTodeRoot := '/opt/git/webEditionHome/dev/tode' ]. - ^ serverTodeRoot \ No newline at end of file + serverTodeRoot ifNil: [ serverTodeRoot := '$GS_HOME/tode' ]. + ^ serverTodeRoot \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/snapshotDirectory..st b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/snapshotDirectory..st new file mode 100644 index 000000000..0db52d62c --- /dev/null +++ b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/snapshotDirectory..st @@ -0,0 +1,6 @@ +accessing +snapshotDirectory: aString + + (aString isEmpty or: [ aString last = $/ ]) + ifTrue: [ snapshotDirectory := aString ] + ifFalse: [ snapshotDirectory := aString, '/' ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/snapshotDirectory.st b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/snapshotDirectory.st new file mode 100644 index 000000000..e0cc5589c --- /dev/null +++ b/repository/Topez-Common-Core.package/TDSessionDescription.class/instance/snapshotDirectory.st @@ -0,0 +1,5 @@ +accessing +snapshotDirectory + + snapshotDirectory == nil ifTrue: [ snapshotDirectory := '' ]. + ^snapshotDirectory \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TDSessionDescription.class/methodProperties.json b/repository/Topez-Common-Core.package/TDSessionDescription.class/methodProperties.json index 9c7bf2be7..ea1727e5a 100644 --- a/repository/Topez-Common-Core.package/TDSessionDescription.class/methodProperties.json +++ b/repository/Topez-Common-Core.package/TDSessionDescription.class/methodProperties.json @@ -1,6 +1,6 @@ { "class" : { - "importFrom:" : "dkh 5/28/2014 06:39", + "importFrom:" : "dkh 06/25/2015 16:02", "seaside" : "dkh 5/28/2014 06:37" }, "instance" : { "adornmentColor" : "dkh 5/28/2014 06:35", @@ -18,10 +18,10 @@ "defaultStoneHost" : "dkh 5/28/2014 06:35", "defaultStoneName" : "dkh 5/28/2014 06:35", "defaultUserId" : "dkh 5/28/2014 06:35", - "editTemplate" : "dkh 7/20/2014 10:43", - "editTemplateOn:" : "dkh 7/8/2014 22:24", + "editTemplate" : "dkh 3/16/2015 12:32", + "editTemplateOn:" : "dkh 3/22/2015 20:52", "exportTo:" : "dkh 5/28/2014 06:35", - "exportTo:extension:" : "dkh 5/28/2014 06:35", + "exportTo:extension:" : "dkh 9/16/2015 11:55", "gciLibrary" : "dkh 10/07/2014 14:51", "gciLibraryExtension" : "dkh 5/28/2014 06:35", "gciLibraryName" : "dkh 5/28/2014 06:35", @@ -45,10 +45,12 @@ "password" : "dkh 5/28/2014 06:35", "password:" : "dkh 5/28/2014 06:35", "postCopy" : "dkh 5/28/2014 06:35", - "serverGitRoot" : "dkh 5/28/2014 06:35", + "serverGitRoot" : "dkh 3/16/2015 12:32", "serverGitRoot:" : "dkh 5/28/2014 06:35", - "serverTodeRoot" : "dkh 05/28/2014 11:40", + "serverTodeRoot" : "dkh 3/16/2015 12:32", "serverTodeRoot:" : "dkh 05/28/2014 11:39", + "snapshotDirectory" : "dkh 3/22/2015 20:52", + "snapshotDirectory:" : "dkh 3/22/2015 20:53", "stoneHost" : "dkh 5/28/2014 06:35", "stoneHost:" : "dkh 5/28/2014 06:35", "stoneNRS" : "dkh 5/28/2014 06:35", diff --git a/repository/Topez-Common-Core.package/TDSessionDescription.class/properties.json b/repository/Topez-Common-Core.package/TDSessionDescription.class/properties.json index 97aa3f131..09d2a927d 100644 --- a/repository/Topez-Common-Core.package/TDSessionDescription.class/properties.json +++ b/repository/Topez-Common-Core.package/TDSessionDescription.class/properties.json @@ -18,6 +18,7 @@ "osPassword", "dataDirectory", "backupDirectory", + "snapshotDirectory", "gemstoneVersion", "gciLibraryName", "adornmentColor", diff --git a/repository/Topez-Common-Core.package/Text.extension/class/fromSton..st b/repository/Topez-Common-Core.package/Text.extension/class/fromSton..st deleted file mode 100644 index 027c713e3..000000000 --- a/repository/Topez-Common-Core.package/Text.extension/class/fromSton..st +++ /dev/null @@ -1,7 +0,0 @@ -*topez-common-core -fromSton: stonReader - "workaround for https://github.com/svenvc/ston/issues/4" - - ^ self new - fromSton: stonReader; - yourself \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/Text.extension/instance/fromSton..st b/repository/Topez-Common-Core.package/Text.extension/instance/fromSton..st deleted file mode 100644 index 21ee88347..000000000 --- a/repository/Topez-Common-Core.package/Text.extension/instance/fromSton..st +++ /dev/null @@ -1,5 +0,0 @@ -*topez-common-core -fromSton: stonReader - "workaround for https://github.com/svenvc/ston/issues/4" - - stonReader parseMapDo: [ :instVarName :value | self instVarNamed: instVarName put: value ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/Text.extension/instance/stonOn..st b/repository/Topez-Common-Core.package/Text.extension/instance/stonOn..st deleted file mode 100644 index 02f93ff2e..000000000 --- a/repository/Topez-Common-Core.package/Text.extension/instance/stonOn..st +++ /dev/null @@ -1,7 +0,0 @@ -*topez-common-core -stonOn: stonWriter - "workaround for https://github.com/svenvc/ston/issues/4" - - stonWriter - writeObject: self - streamMap: [ :dictionary | self class allInstVarNames do: [ :each | dictionary at: each asSymbol put: (self instVarNamed: each) ] ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/Text.extension/methodProperties.json b/repository/Topez-Common-Core.package/Text.extension/methodProperties.json index 58e63ff4a..9ec15fd00 100644 --- a/repository/Topez-Common-Core.package/Text.extension/methodProperties.json +++ b/repository/Topez-Common-Core.package/Text.extension/methodProperties.json @@ -1,8 +1,6 @@ { "class" : { - "fromSton:" : "dkh 11/20/2012 18:24" }, + }, "instance" : { - "fromSton:" : "dkh 11/20/2012 18:24", "renderText" : "dkh 10/4/2012 16:14", - "renderText:" : "DataCurator 12/01/2012 19:44", - "stonOn:" : "DataCurator 11/20/2012 17:54" } } + "renderText:" : "DataCurator 12/01/2012 19:44" } } diff --git a/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/README.md b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/excludedInstVarNames.st b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/excludedInstVarNames.st new file mode 100644 index 000000000..c7a43658f --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/excludedInstVarNames.st @@ -0,0 +1,3 @@ +ston +excludedInstVarNames + ^ super excludedInstVarNames , #(#'switchActionBlock') \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/setBlockOops.st b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/setBlockOops.st new file mode 100644 index 000000000..8728c4e5c --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/setBlockOops.st @@ -0,0 +1,5 @@ +accessing +setBlockOops + super setBlockOops. + self switchActionBlock + ifNotNil: [ :block | switchActionBlockOop := block asOop ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchActionBlock..st b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchActionBlock..st new file mode 100644 index 000000000..a6e8d02c6 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchActionBlock..st @@ -0,0 +1,4 @@ +accessing +switchActionBlock: anObject + + switchActionBlock := anObject diff --git a/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchActionBlock.st b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchActionBlock.st new file mode 100644 index 000000000..65c407e75 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchActionBlock.st @@ -0,0 +1,4 @@ +accessing +switchActionBlock + + ^switchActionBlock diff --git a/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchActionBlockOop.st b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchActionBlockOop.st new file mode 100644 index 000000000..fbd42ed0f --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchActionBlockOop.st @@ -0,0 +1,4 @@ +accessing +switchActionBlockOop + + ^switchActionBlockOop diff --git a/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchActionBlockOopType.st b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchActionBlockOopType.st new file mode 100644 index 000000000..540ee4432 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchActionBlockOopType.st @@ -0,0 +1,3 @@ +accessing +switchActionBlockOopType + ^ self session asOopType: self switchActionBlockOop \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchSpecs..st b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchSpecs..st new file mode 100644 index 000000000..0168b839e --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchSpecs..st @@ -0,0 +1,11 @@ +accessing +switchSpecs: anArrayOfSwitchSpecs + + " + switchSpec (Array): + switch state boolean + switch action selector + switch label + switch balloon text +" + switchSpecs := anArrayOfSwitchSpecs \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchSpecs.st b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchSpecs.st new file mode 100644 index 000000000..8a9f579e4 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/instance/switchSpecs.st @@ -0,0 +1,14 @@ +accessing +switchSpecs + "return an array of switchSpecs." + + " + switchSpec (Array): + switch state anObject (typically a symbol) + switch action selector + switch label + switch balloon text + swtich default state (true - default state) +" + + ^ switchSpecs \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/methodProperties.json b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/methodProperties.json new file mode 100644 index 000000000..53ef7d3d6 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/methodProperties.json @@ -0,0 +1,12 @@ +{ + "class" : { + }, + "instance" : { + "excludedInstVarNames" : "dkh 08/19/2015 15:05", + "setBlockOops" : "dkh 08/19/2015 13:37", + "switchActionBlock" : "dkh 08/19/2015 13:36", + "switchActionBlock:" : "dkh 08/19/2015 13:36", + "switchActionBlockOop" : "dkh 08/19/2015 13:36", + "switchActionBlockOopType" : "dkh 8/19/2015 16:41", + "switchSpecs" : "dkh 8/31/2015 13:08", + "switchSpecs:" : "dkh 8/19/2015 12:55" } } diff --git a/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/properties.json b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/properties.json new file mode 100644 index 000000000..89366694a --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientButtonBarElement.class/properties.json @@ -0,0 +1,16 @@ +{ + "category" : "Topez-Common-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "switchSpecs", + "switchActionBlock", + "switchActionBlockOop" ], + "name" : "TodeClientButtonBarElement", + "pools" : [ + ], + "super" : "TodeClientElement", + "type" : "normal" } diff --git a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/apply.forKeyMappingsTo.editor..st b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/apply.forKeyMappingsTo.editor..st index 4ea232f8a..43428eb4a 100644 --- a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/apply.forKeyMappingsTo.editor..st +++ b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/apply.forKeyMappingsTo.editor..st @@ -3,18 +3,18 @@ apply: menuSpec forKeyMappingsTo: aTextEditor editor: aTodeCodeEditor menuSpec do: [ :spec | | label | - label := spec at: 1. + label := spec at: 1. "label" label isString ifTrue: [ label = '-' ifTrue: [ ] ifFalse: [ - (spec at: 2) + (spec at: 2) "shortcut character" ifNotNil: [ :char | char isCharacter ifTrue: [ | selector | - selector := spec at: 3. + selector := spec at: 3. "menu selector" (spec size == 3 or: [(spec at: 4) isNil]) ifTrue: [ aTextEditor diff --git a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/beMultipleSelection.st b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/beMultipleSelection.st new file mode 100644 index 000000000..fa4c20c93 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/beMultipleSelection.st @@ -0,0 +1,3 @@ +accessing +beMultipleSelection + ^ false \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/copyForSpawn.st b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/copyForSpawn.st index 75d309497..062434b4a 100644 --- a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/copyForSpawn.st +++ b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/copyForSpawn.st @@ -2,5 +2,5 @@ as yet unclassified copyForSpawn | copy | copy := self copy. - self topez serverStatus elementCache add: copy. + self topez serverStatus cacheClientElement: copy. ^ copy postCopyForSpawn \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/excludedInstVarNames.st b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/excludedInstVarNames.st index c6d09e104..afa4a9e3b 100644 --- a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/excludedInstVarNames.st +++ b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/excludedInstVarNames.st @@ -1,3 +1,3 @@ -as yet unclassified +ston excludedInstVarNames - ^ #(#'blockCache' #'theObject' #'topez' #'windowBuilder' #'menuActionBlock' #'windowIsClosingBlock') \ No newline at end of file + ^ #(#'blockCache' #'theObject' #'topez' #'windowBuilder' #'menuActionBlock' #'windowIsClosingBlock' #'usePersistentClientElementCache' #'timestamp') \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/objectSerializer.st b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/objectSerializer.st new file mode 100644 index 000000000..913c3c624 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/objectSerializer.st @@ -0,0 +1,3 @@ +accessing +objectSerializer + ^ self topez objectSerializer \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/stonProcessSubObjects..st b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/stonProcessSubObjects..st index 732852c37..7c4861b71 100644 --- a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/stonProcessSubObjects..st +++ b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/stonProcessSubObjects..st @@ -3,7 +3,4 @@ stonProcessSubObjects: block "#stonInstVarNames are the only instance variables that need to be processed..." self stonInstVarNames - do: [ :ivName | - | offset | - offset := self class _ivOffsetOf: ivName. - self instVarAt: offset put: (block value: (self instVarAt: offset)) ] \ No newline at end of file + do: [ :ivName | self instVarNamed: ivName put: (block value: (self instVarNamed: ivName)) ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/usePersistentClientElementCache..st b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/usePersistentClientElementCache..st new file mode 100644 index 000000000..7c286b6fd --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/usePersistentClientElementCache..st @@ -0,0 +1,3 @@ +accessing +usePersistentClientElementCache: aBool + usePersistentClientElementCache := aBool \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/usePersistentClientElementCache.st b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/usePersistentClientElementCache.st new file mode 100644 index 000000000..bdcba36cc --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/usePersistentClientElementCache.st @@ -0,0 +1,4 @@ +accessing +usePersistentClientElementCache + usePersistentClientElementCache ifNil: [ ^ false ]. + ^ usePersistentClientElementCache \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/windowIsClosing.st b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/windowIsClosing.st index e4a3bdb50..a1f82b82b 100644 --- a/repository/Topez-Common-Core.package/TodeClientElement.class/instance/windowIsClosing.st +++ b/repository/Topez-Common-Core.package/TodeClientElement.class/instance/windowIsClosing.st @@ -1,4 +1,7 @@ as yet unclassified windowIsClosing - windowIsClosingBlockOop ifNil: [ ^ self ]. - self topez windowIsClosingFor: self \ No newline at end of file + windowIsClosingBlockOop + ifNil: [ + self topez retireClientElement: self. + ^ self topez flushEventCache ]. + self topez windowIsClosingFor: self \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientElement.class/methodProperties.json b/repository/Topez-Common-Core.package/TodeClientElement.class/methodProperties.json index f498353fe..6e9b7a504 100644 --- a/repository/Topez-Common-Core.package/TodeClientElement.class/methodProperties.json +++ b/repository/Topez-Common-Core.package/TodeClientElement.class/methodProperties.json @@ -3,14 +3,15 @@ }, "instance" : { "activateElement" : "dkh 2/7/2013 12:03", - "apply:forKeyMappingsTo:editor:" : "dkh 5/12/2014 12:04", + "apply:forKeyMappingsTo:editor:" : "dkh 8/19/2015 11:40", "apply:to:for:" : "dkh 5/12/2014 12:48", "aspect" : "DataCurator 01/01/2013 07:57", "aspect:" : "DataCurator 01/01/2013 07:58", + "beMultipleSelection" : "dkh 1/28/2015 16:38", "blockCache" : "dkh 12/30/2012 10:53", "clientElementOop" : "dkh 12/30/2012 11:00", "clientElementOopType" : "dkh 3/29/2013 15:10", - "copyForSpawn" : "DataCurator 02/06/2013 00:43", + "copyForSpawn" : "dkh 08/11/2015 11:54", "displayPolicy" : "DataCurator 02/04/2013 10:14", "editorAspectSelector" : "dkh 1/2/2013 20:38", "editorAspectSelector:" : "dkh 1/2/2013 20:38", @@ -22,7 +23,7 @@ "editorWindowLocation:" : "dkh 1/2/2013 20:39", "editorWindowName" : "dkh 1/2/2013 20:42", "editorWindowName:" : "dkh 1/2/2013 20:42", - "excludedInstVarNames" : "dkh 06/18/2014 16:13", + "excludedInstVarNames" : "dkh 08/18/2015 14:46", "first" : "DataCurator 01/22/2013 10:15", "fromSton:" : "dkh 6/19/2014 06:58", "getMenu:for:" : "dkh 9/29/2013 12:03", @@ -33,6 +34,7 @@ "menuActionBlockOopType" : "dkh 9/28/2013 15:04", "menuActionSpec" : "dkh 9/29/2013 09:43", "menuActionSpec:" : "dkh 9/29/2013 08:55", + "objectSerializer" : "dkh 06/25/2015 16:15", "parent" : "dkh 03/26/2014 18:51", "postCopy" : "dkh 1/27/2013 12:19", "postCopyForSpawn" : "dkh 07/07/2014 15:22", @@ -41,13 +43,15 @@ "setBlockOops" : "dkh 06/18/2014 16:13", "stonInstVarNames" : "dkh 4/29/2013 12:15", "stonOn:" : "dkh 05/28/2013 08:18", - "stonProcessSubObjects:" : "dkh 12/05/2013 21:54", + "stonProcessSubObjects:" : "dkh 06/24/2015 13:25", "theObject" : "DataCurator 01/27/2013 20:24", "theObject:" : "DataCurator 01/27/2013 20:23", "topez" : "dkh 12/27/2012 09:08", "topez:" : "dkh 12/27/2012 09:08", + "usePersistentClientElementCache" : "dkh 08/18/2015 15:48", + "usePersistentClientElementCache:" : "dkh 08/18/2015 10:29", "windowBuilder:" : "dkh 04/04/2013 13:36", - "windowIsClosing" : "dkh 10/20/2013 09:39", + "windowIsClosing" : "dkh 8/11/2015 17:25", "windowIsClosingBlock" : "dkh 10/20/2013 09:39", "windowIsClosingBlock:" : "dkh 10/20/2013 09:39", "windowIsClosingBlockOop" : "dkh 10/20/2013 09:39", diff --git a/repository/Topez-Common-Core.package/TodeClientElement.class/properties.json b/repository/Topez-Common-Core.package/TodeClientElement.class/properties.json index 1cd17a996..1710d67c3 100644 --- a/repository/Topez-Common-Core.package/TodeClientElement.class/properties.json +++ b/repository/Topez-Common-Core.package/TodeClientElement.class/properties.json @@ -21,7 +21,9 @@ "menuActionSpec", "windowIsClosingBlock", "windowIsClosingBlockOop", - "windowBuilder" ], + "windowBuilder", + "usePersistentClientElementCache", + "timestamp" ], "name" : "TodeClientElement", "pools" : [ ], diff --git a/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/beMultipleSelection..st b/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/beMultipleSelection..st new file mode 100644 index 000000000..9e0caa689 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/beMultipleSelection..st @@ -0,0 +1,3 @@ +accessing +beMultipleSelection: aBool + beMultipleSelection := aBool \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/beMultipleSelection.st b/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/beMultipleSelection.st new file mode 100644 index 000000000..8e3b41de9 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/beMultipleSelection.st @@ -0,0 +1,4 @@ +accessing +beMultipleSelection + beMultipleSelection ifNil: [ beMultipleSelection := false ]. + ^ beMultipleSelection \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/excludedInstVarNames.st b/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/excludedInstVarNames.st index d2b33e6ff..7195ed396 100644 --- a/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/excludedInstVarNames.st +++ b/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/excludedInstVarNames.st @@ -1,4 +1,4 @@ -as yet unclassified +ston excludedInstVarNames ^ super excludedInstVarNames , #(#'itemCache' #'parent' #'listBlock' #'itemSelectedBlock') \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/executeMenuAction.listIndex..st b/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/executeMenuAction.listIndex..st index d3da02a54..3f5541a47 100644 --- a/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/executeMenuAction.listIndex..st +++ b/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/executeMenuAction.listIndex..st @@ -1,4 +1,4 @@ -as yet unclassified +menu support executeMenuAction: aSymbol listIndex: selectionIndex ^ self topez diff --git a/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/first.st b/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/first.st index 5e04caba8..cbdf5cc55 100644 --- a/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/first.st +++ b/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/first.st @@ -1,4 +1,4 @@ -as yet unclassified +accessing first "this just might be a hack, but I need to be able to get wither the firstList or firstSource from the receiver for testing purposes and this seems to be the `best` answer" diff --git a/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/itemSelected..st b/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/itemSelected..st deleted file mode 100644 index 4ab15e1e1..000000000 --- a/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/itemSelected..st +++ /dev/null @@ -1,5 +0,0 @@ -accessing -itemSelected: index - index = 0 - ifTrue: [ ^ self ]. - ^self topez itemSelectedForClientListElement: self index: index \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/itemSelected.listSelections..st b/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/itemSelected.listSelections..st new file mode 100644 index 000000000..299100bb5 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeClientListElement.class/instance/itemSelected.listSelections..st @@ -0,0 +1,11 @@ +accessing +itemSelected: index listSelections: listSelectionsDictionary + | stonStringOrNil | + index = 0 + ifTrue: [ ^ self ]. + stonStringOrNil := listSelectionsDictionary + ifNotNil: [ stonStringOrNil := self objectSerializer toString: listSelectionsDictionary ]. + ^ self topez + itemSelectedForClientListElement: self + index: index + listSelections: stonStringOrNil \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientListElement.class/methodProperties.json b/repository/Topez-Common-Core.package/TodeClientListElement.class/methodProperties.json index 94849560b..ed9bbedfe 100644 --- a/repository/Topez-Common-Core.package/TodeClientListElement.class/methodProperties.json +++ b/repository/Topez-Common-Core.package/TodeClientListElement.class/methodProperties.json @@ -2,6 +2,8 @@ "class" : { }, "instance" : { + "beMultipleSelection" : "dkh 1/28/2015 16:40", + "beMultipleSelection:" : "dkh 1/28/2015 16:48", "excludedInstVarNames" : "dkh 10/20/2013 09:56", "executeMenuAction:listIndex:" : "dkh 2/23/2014 09:49", "first" : "DataCurator 01/22/2013 10:15", @@ -11,7 +13,7 @@ "highlightedIndex:" : "dkh 2/17/2013 12:17", "itemCache" : "DataCurator 12/31/2012 08:10", "itemCache:" : "DataCurator 12/31/2012 08:10", - "itemSelected:" : "dkh 1/6/2014 07:10", + "itemSelected:listSelections:" : "dkh 06/25/2015 16:20", "itemSelectedBlock" : "dkh 05/28/2013 09:29", "itemSelectedBlock:" : "dkh 05/28/2013 11:47", "itemSelectedBlockOop" : "dkh 12/30/2012 09:17", diff --git a/repository/Topez-Common-Core.package/TodeClientListElement.class/properties.json b/repository/Topez-Common-Core.package/TodeClientListElement.class/properties.json index b9d59be4b..e0899c9b0 100644 --- a/repository/Topez-Common-Core.package/TodeClientListElement.class/properties.json +++ b/repository/Topez-Common-Core.package/TodeClientListElement.class/properties.json @@ -15,7 +15,8 @@ "selectedIndex", "parent", "highlightedIndex", - "parentList" ], + "parentList", + "beMultipleSelection" ], "name" : "TodeClientListElement", "pools" : [ ], diff --git a/repository/Topez-Common-Core.package/TodeClientMethodElement.class/instance/excludedInstVarNames.st b/repository/Topez-Common-Core.package/TodeClientMethodElement.class/instance/excludedInstVarNames.st index 702a5bc18..bd4a3cfbf 100644 --- a/repository/Topez-Common-Core.package/TodeClientMethodElement.class/instance/excludedInstVarNames.st +++ b/repository/Topez-Common-Core.package/TodeClientMethodElement.class/instance/excludedInstVarNames.st @@ -1,3 +1,3 @@ -as yet unclassified +ston excludedInstVarNames ^ super excludedInstVarNames , #(#'inClass' #'spawnCopyBlock') \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientSourceElement.class/instance/excludedInstVarNames.st b/repository/Topez-Common-Core.package/TodeClientSourceElement.class/instance/excludedInstVarNames.st index 83bd43925..f6d993c4e 100644 --- a/repository/Topez-Common-Core.package/TodeClientSourceElement.class/instance/excludedInstVarNames.st +++ b/repository/Topez-Common-Core.package/TodeClientSourceElement.class/instance/excludedInstVarNames.st @@ -1,3 +1,3 @@ -(as yet unclassified) +ston excludedInstVarNames ^ super excludedInstVarNames , #(#'getBlock' #'setBlock' ) \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientTextElement.class/instance/source..st b/repository/Topez-Common-Core.package/TodeClientTextElement.class/instance/source..st index f7b6e0a23..daa3e815c 100644 --- a/repository/Topez-Common-Core.package/TodeClientTextElement.class/instance/source..st +++ b/repository/Topez-Common-Core.package/TodeClientTextElement.class/instance/source..st @@ -1,18 +1,20 @@ -as yet unclassified +accessing source: aStringOrText - "TextFontChange defaultFontChange TextAction" + "TextFontChange defaultFontChange TextAction" - | txt stonString | - txt := aStringOrText asText. - txt - removeAttributesThat: [ :attrib | - (attrib isKindOf: (Smalltalk at: #TextFontChange)) - or: [ - (attrib isKindOf: (Smalltalk at: #TextAction)) - or: [ - (attrib isKindOf: (Smalltalk at: #TextAlignment)) - or: [ (attrib isKindOf: (Smalltalk at: #TextIndent)) or: [ attrib isKindOf: (Smalltalk at: #TextKern) ] ] ] ] ] - replaceAttributesThat: [ :attrib | false ] - by: [ :ignored | ]. - stonString := STON toString: txt. - ^ super source: stonString \ No newline at end of file + | txt stonString | + txt := aStringOrText asText. + txt + removeAttributesThat: [ :attrib | + (attrib isKindOf: (Smalltalk at: #'TextFontChange')) + or: [ + (attrib isKindOf: (Smalltalk at: #'TextAction')) + or: [ + (attrib isKindOf: (Smalltalk at: #'TextAlignment')) + or: [ + (attrib isKindOf: (Smalltalk at: #'TextIndent')) + or: [ attrib isKindOf: (Smalltalk at: #'TextKern') ] ] ] ] ] + replaceAttributesThat: [ :attrib | false ] + by: [ :ignored | ]. + stonString := self objectSerializer toString: txt. + ^ super source: stonString \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientTextElement.class/instance/source.st b/repository/Topez-Common-Core.package/TodeClientTextElement.class/instance/source.st index a238e26f8..6e31e4b31 100644 --- a/repository/Topez-Common-Core.package/TodeClientTextElement.class/instance/source.st +++ b/repository/Topez-Common-Core.package/TodeClientTextElement.class/instance/source.st @@ -1,5 +1,5 @@ -as yet unclassified +accessing source | stonString | stonString := super source. - ^ STON fromString: stonString \ No newline at end of file + ^ self objectSerializer fromString: stonString \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeClientTextElement.class/methodProperties.json b/repository/Topez-Common-Core.package/TodeClientTextElement.class/methodProperties.json index e05b722c3..f3c6141d5 100644 --- a/repository/Topez-Common-Core.package/TodeClientTextElement.class/methodProperties.json +++ b/repository/Topez-Common-Core.package/TodeClientTextElement.class/methodProperties.json @@ -2,5 +2,5 @@ "class" : { }, "instance" : { - "source" : "dkh 12/27/2012 10:38", - "source:" : "dkh 6/2/2014 11:37" } } + "source" : "dkh 06/25/2015 16:21", + "source:" : "dkh 06/25/2015 16:21" } } diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/README.md b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/checkCompatibilityWith..st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/checkCompatibilityWith..st new file mode 100644 index 000000000..5b16b9dcc --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/checkCompatibilityWith..st @@ -0,0 +1,18 @@ +testing +checkCompatibilityWith: protocolSignatureArray + | protocol protocolVersion | + protocol := protocolSignatureArray at: 1. + protocolVersion := (protocolSignatureArray at: 2) asMetacelloVersionNumber. + protocol = self protocol + ifFalse: [ + self + error: + 'Unexpected transport protocol: ' , protocol printString , ' expected ' + , self protocol printString ]. + (protocolVersion ~> self protocolVersion + or: [ protocolVersion = self defaultProtocolVersion ]) + ifFalse: [ + self + error: + 'Unexpected STON version: ' , protocolVersion printString , ' expected ' + , self protocolVersion printString ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/defaultProtocolSignatureArray.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/defaultProtocolSignatureArray.st new file mode 100644 index 000000000..1fbcf38ac --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/defaultProtocolSignatureArray.st @@ -0,0 +1,4 @@ +signatures +defaultProtocolSignatureArray + ^ {(self protocol). + (self defaultProtocolVersionString)} \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/defaultProtocolVersion.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/defaultProtocolVersion.st new file mode 100644 index 000000000..e339e3b5a --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/defaultProtocolVersion.st @@ -0,0 +1,3 @@ +signatures +defaultProtocolVersion + ^ self defaultProtocolVersionString asMetacelloVersionNumber \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/defaultProtocolVersionString.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/defaultProtocolVersionString.st new file mode 100644 index 000000000..c6612dc35 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/defaultProtocolVersionString.st @@ -0,0 +1,7 @@ +signatures +defaultProtocolVersionString + "utf8 encoding done in encodeString:, decoding in parseInternalString" + + "Characters with codePoints > 125 are encoded in hex" + + ^ '0.5.1' \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/defaultSerializer.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/defaultSerializer.st new file mode 100644 index 000000000..e0942e57b --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/defaultSerializer.st @@ -0,0 +1,3 @@ +instance creation +defaultSerializer + ^ self serializeUsing: self defaultProtocolSignatureArray \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/preferredSerializer.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/preferredSerializer.st new file mode 100644 index 000000000..75e5ef8f6 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/preferredSerializer.st @@ -0,0 +1,3 @@ +instance creation +preferredSerializer + ^ self serializeUsing: self protocolSignatureArray \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/protocol.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/protocol.st new file mode 100644 index 000000000..3ecd6d768 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/protocol.st @@ -0,0 +1,3 @@ +signatures +protocol + ^ 'STON' \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/protocolSignatureArray.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/protocolSignatureArray.st new file mode 100644 index 000000000..fc85d3b7a --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/protocolSignatureArray.st @@ -0,0 +1,4 @@ +signatures +protocolSignatureArray + ^ {(self protocol). + (self protocolVersionString)} \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/protocolVersion.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/protocolVersion.st new file mode 100644 index 000000000..bde79fa57 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/protocolVersion.st @@ -0,0 +1,3 @@ +signatures +protocolVersion + ^ self protocolVersionString asMetacelloVersionNumber \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/protocolVersionString.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/protocolVersionString.st new file mode 100644 index 000000000..be1642d83 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/protocolVersionString.st @@ -0,0 +1,9 @@ +signatures +protocolVersionString + "utf8 encoding done in toString: fromString:" + + "No character encoding done" + + "If hex encoded characters encountered, assume that the string itself is utf8 encoded (i,e., support reading of 0.5.1 strings" + + ^ '0.9.1' \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/serializeUsing..st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/serializeUsing..st new file mode 100644 index 000000000..f5b9530c9 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/class/serializeUsing..st @@ -0,0 +1,8 @@ +instance creation +serializeUsing: protocolSignatureArray + | new | + self checkCompatibilityWith: protocolSignatureArray. + new := (protocolSignatureArray at: 2) = '0.5.1' + ifTrue: [ TodeSTON051ObjectSerializer new ] + ifFalse: [ TodeSTON091Serializer new ]. + ^ new \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/fromString..st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/fromString..st new file mode 100644 index 000000000..76ab47f21 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/fromString..st @@ -0,0 +1,5 @@ +serialization +fromString: aString + ^ self reader + on: aString readStream; + next \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/jsonWriter.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/jsonWriter.st new file mode 100644 index 000000000..dd3c05234 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/jsonWriter.st @@ -0,0 +1,5 @@ +private +jsonWriter + ^ self writer + jsonMode: true; + yourself \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/prettyWriter.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/prettyWriter.st new file mode 100644 index 000000000..c93a743ae --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/prettyWriter.st @@ -0,0 +1,5 @@ +private +prettyWriter + ^ self writer + prettyPrint: true; + yourself \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/protocol.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/protocol.st new file mode 100644 index 000000000..9ae0900ef --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/protocol.st @@ -0,0 +1,3 @@ +accessing +protocol + ^ 'STON' \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/protocolSignatureArray.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/protocolSignatureArray.st new file mode 100644 index 000000000..fc85d3b7a --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/protocolSignatureArray.st @@ -0,0 +1,4 @@ +signatures +protocolSignatureArray + ^ {(self protocol). + (self protocolVersionString)} \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/protocolVersionString.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/protocolVersionString.st new file mode 100644 index 000000000..8bdbaddea --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/protocolVersionString.st @@ -0,0 +1,3 @@ +accessing +protocolVersionString + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/reader.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/reader.st new file mode 100644 index 000000000..458b8c455 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/reader.st @@ -0,0 +1,3 @@ +private +reader + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/toJsonString..st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/toJsonString..st new file mode 100644 index 000000000..923863d4d --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/toJsonString..st @@ -0,0 +1,7 @@ +serialization +toJsonString: anObject + ^ String + streamContents: [ :stream | + self jsonWriter + on: stream; + nextPut: anObject ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/toString..st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/toString..st new file mode 100644 index 000000000..6a7d4e804 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/toString..st @@ -0,0 +1,7 @@ +serialization +toString: anObject + ^ String + streamContents: [ :stream | + self writer + on: stream; + nextPut: anObject ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/toStringPretty..st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/toStringPretty..st new file mode 100644 index 000000000..12aa6d280 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/toStringPretty..st @@ -0,0 +1,7 @@ +serialization +toStringPretty: anObject + ^ String + streamContents: [ :stream | + self prettyWriter + on: stream; + nextPut: anObject ] \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/writer.st b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/writer.st new file mode 100644 index 000000000..b13c701fc --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/instance/writer.st @@ -0,0 +1,3 @@ +private +writer + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/methodProperties.json b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/methodProperties.json new file mode 100644 index 000000000..99f35041f --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/methodProperties.json @@ -0,0 +1,25 @@ +{ + "class" : { + "checkCompatibilityWith:" : "dkh 06/25/2015 15:03", + "defaultProtocolSignatureArray" : "dkh 06/25/2015 15:03", + "defaultProtocolVersion" : "dkh 06/25/2015 15:03", + "defaultProtocolVersionString" : "dkh 06/25/2015 15:03", + "defaultSerializer" : "dkh 06/25/2015 15:58", + "preferredSerializer" : "dkh 06/25/2015 15:57", + "protocol" : "dkh 06/25/2015 15:03", + "protocolSignatureArray" : "dkh 06/25/2015 15:03", + "protocolVersion" : "dkh 06/25/2015 15:03", + "protocolVersionString" : "dkh 06/29/2015 14:41", + "serializeUsing:" : "dkh 06/25/2015 15:04" }, + "instance" : { + "fromString:" : "dkh 06/29/2015 10:50", + "jsonWriter" : "dkh 06/29/2015 10:51", + "prettyWriter" : "dkh 06/29/2015 10:48", + "protocol" : "dkh 06/25/2015 15:03", + "protocolSignatureArray" : "dkh 06/25/2015 15:03", + "protocolVersionString" : "dkh 06/25/2015 15:03", + "reader" : "dkh 06/29/2015 10:45", + "toJsonString:" : "dkh 06/29/2015 10:54", + "toString:" : "dkh 06/29/2015 10:54", + "toStringPretty:" : "dkh 06/29/2015 10:57", + "writer" : "dkh 06/29/2015 10:45" } } diff --git a/repository/Topez-Common-Core.package/TodeObjectSerializer.class/properties.json b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/properties.json new file mode 100644 index 000000000..6887e80cd --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeObjectSerializer.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Common-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TodeObjectSerializer", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/README.md b/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/instance/protocolVersionString.st b/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/instance/protocolVersionString.st new file mode 100644 index 000000000..c9bf84205 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/instance/protocolVersionString.st @@ -0,0 +1,3 @@ +accessing +protocolVersionString + ^ '0.5.1' \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/instance/reader.st b/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/instance/reader.st new file mode 100644 index 000000000..385dba15c --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/instance/reader.st @@ -0,0 +1,3 @@ +private +reader + ^ STON051Reader new \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/instance/writer.st b/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/instance/writer.st new file mode 100644 index 000000000..a0127f9b1 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/instance/writer.st @@ -0,0 +1,3 @@ +private +writer + ^ STON051Writer new \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/methodProperties.json b/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/methodProperties.json new file mode 100644 index 000000000..a0993d830 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "protocolVersionString" : "dkh 06/25/2015 15:04", + "reader" : "dkh 06/29/2015 10:49", + "writer" : "dkh 06/29/2015 10:49" } } diff --git a/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/properties.json b/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/properties.json new file mode 100644 index 000000000..4013603cc --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON051ObjectSerializer.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Common-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TodeSTON051ObjectSerializer", + "pools" : [ + ], + "super" : "TodeObjectSerializer", + "type" : "normal" } diff --git a/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/README.md b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/fromString..st b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/fromString..st new file mode 100644 index 000000000..696f2fd20 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/fromString..st @@ -0,0 +1,3 @@ +serialization +fromString: aString + ^ super fromString: aString decodeFromUTF8 \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/protocolVersionString.st b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/protocolVersionString.st new file mode 100644 index 000000000..e9d59b1d6 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/protocolVersionString.st @@ -0,0 +1,3 @@ +accessing +protocolVersionString + ^ '0.9.1' \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/reader.st b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/reader.st new file mode 100644 index 000000000..9a555d7c6 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/reader.st @@ -0,0 +1,3 @@ +private +reader + ^ STON091Reader new \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/toJsonString..st b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/toJsonString..st new file mode 100644 index 000000000..53c12c535 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/toJsonString..st @@ -0,0 +1,3 @@ +serialization +toJsonString: anObject + ^ (super toJsonString: anObject) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/toString..st b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/toString..st new file mode 100644 index 000000000..a050e5256 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/toString..st @@ -0,0 +1,3 @@ +serialization +toString: anObject + ^ (super toString: anObject) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/toStringPretty..st b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/toStringPretty..st new file mode 100644 index 000000000..9af71c47c --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/toStringPretty..st @@ -0,0 +1,3 @@ +serialization +toStringPretty: anObject + ^ (super toStringPretty: anObject) encodeAsUTF8intoString \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/writer.st b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/writer.st new file mode 100644 index 000000000..cb781a636 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/instance/writer.st @@ -0,0 +1,3 @@ +private +writer + ^ STON091Writer new \ No newline at end of file diff --git a/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/methodProperties.json b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/methodProperties.json new file mode 100644 index 000000000..5ea8712b2 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/methodProperties.json @@ -0,0 +1,11 @@ +{ + "class" : { + }, + "instance" : { + "fromString:" : "dkh 06/29/2015 10:50", + "protocolVersionString" : "dkh 06/25/2015 15:04", + "reader" : "dkh 06/29/2015 10:46", + "toJsonString:" : "dkh 06/29/2015 10:55", + "toString:" : "dkh 06/29/2015 10:52", + "toStringPretty:" : "dkh 06/29/2015 10:55", + "writer" : "dkh 06/29/2015 10:46" } } diff --git a/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/properties.json b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/properties.json new file mode 100644 index 000000000..6266c9289 --- /dev/null +++ b/repository/Topez-Common-Core.package/TodeSTON091Serializer.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Common-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TodeSTON091Serializer", + "pools" : [ + ], + "super" : "TodeObjectSerializer", + "type" : "normal" } diff --git a/repository/Topez-Common-Core.package/monticello.meta/version b/repository/Topez-Common-Core.package/monticello.meta/version index caf265248..a6b384e2f 100644 --- a/repository/Topez-Common-Core.package/monticello.meta/version +++ b/repository/Topez-Common-Core.package/monticello.meta/version @@ -1 +1 @@ -(name 'Topez-Common-Core-dkh.414' message 'clean up some undefined symbols' id '3b74a2d5-1c89-431e-a4a3-d0faa3851b2c' date '10/07/2014' time '15:42:52' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.413' message '- fix TodeClientMethodElement>>copyForSpawn - fix spawing method from prof monitor tool' id '3e3389d4-c30d-4166-b382-1657ccbbed88' date '07/29/2014' time '14:03:35' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.412' message 'change TDSessionDescription>>editTemplate ... add comment to remind user to exectue session to save to disk .. remove testLogin at end ' id 'e136da1c-74a3-4e3d-990d-af47c701ceb5' date '07/20/2014' time '10:45:38' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.411' message 'improve TDSessionDescription template code' id 'c33ceaa2-f37d-468e-98ce-e20c9059cfa3' date '07/08/2014' time '10:25:39' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.410' message 'Issue #86: implemented `tODE Edit >> session description name` menu item ...' id 'aa2e4b60-ad77-414c-9b91-a7e1175f6210' date '07/07/2014' time '09:24:43' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.408' message 'remove formatOnAccept and formatOnDisplay' id '84737048-93aa-4331-93df-005eaeda701b' date '07/07/2014' time '04:39:32' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.407' message 'removing formatOnAccept and formatOnDisplay logic from TodeClientSourceElement ... that has been handled on the server side fo rsome time now ...starting on Issue #94' id 'af7affee-0a4d-4c80-a9b1-ffff3206d177' date '07/07/2014' time '16:35:20' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.406' message 'Issue #95: proposed bugfix' id '101271d5-e2c6-4118-9ee4-4983de8917c0' date '07/07/2014' time '16:01:20' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.405' message '- working on fixing disappearing comments for workspaces (comment no statements) - adding RBWorkspaceNode as extenstion to RB AST... - clean up workspace code so that it''s possible for workspace to correctly access temps and args for debugger context - debugger context browse class and browse full cleaned up' id 'a23533d5-2f61-4607-bc1c-a0488789b8e9' date '06/28/2014' time '15:57:59' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.404' message 'Issue #75: infant mortality and upgrade patch' id '60127d02-7d96-4e26-827c-844e653ff7c8' date '06/19/2014' time '07:26:50' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.403' message 'Issue #75: rip up all of the old keyboard block support' id 'cb7f03d3-79ad-40cd-99b4-b3af2f5e1182' date '06/18/2014' time '17:08:34' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.402' message 'Issue #75: remove last vestiges of cmdKeyBlock ...' id '817dbe8e-a231-400f-b1ab-21076266859d' date '06/18/2014' time '02:49:43' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.401' message 'Issue #75: patch to survive server-side upgrade' id 'd24bd590-e25a-46d8-aace-e2c9ea02eaf6' date '06/18/2014' time '02:41:55' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.400' message 'Issue #75: remove cmdKeyBlock and cmdKeyBlockOop from TodeClientSourceElement - not needed anymore ... keyboard mappings now come from menuSpec ' id '81afaca0-0de5-4cc6-a78b-977af3e7ac55' date '06/18/2014' time '02:37:49' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.399' message 'client element source: now returns true/false allowing server-side element to approve/disapprove the save ...' id '67a462d4-3929-4704-983a-d5ec80c9002e' date '06/02/2014' time '11:43:24' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.398' message 'rename serverTodeHome iv in TDSessionDescription to serverTodeRoot - revamp `mount` command - add --todeRoot arg so client scripts don''t have to be customized as customization is done at the TDSessionDescription level - add --asLeafNode arg so that file system directories can be treated as directory nodes (default) or leaf nodes (useful for mounting raw directory structure' id '0a78727b-ffd7-4803-91e0-f2dffad1c0e1' date '05/28/2014' time '12:14:25' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.397' message 'converting to use TDSessionDescription instead of OGCustomSessionDescription. - TDSessionDescription is passed to server so that the fields (backupDirectory, serverGitRoot serverTodeHome) can be specified in the session description and used on the server - for now server will request the session description to make upgrading easier (if client updated before server, server won''t know what to do with the session description)' id 'bbaa8cb5-c31d-443c-b482-3abe967c203d' date '05/28/2014' time '07:24:51' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.396' message 'fix unnecessary limit in diff command and adjust `project list` menus - MCDiffyTextWriter>>writePatchFrom:to: imposed 10k char limit on size of method BaselineOfMetacello>>baseline: exceeds that limit ... get rid of limit - `project list` - rename menu items - combing last commit log entry and status into one command' id '2bd6e0d8-a599-4972-81e7-4103906be586' date '05/14/2014' time '07:39:25' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.395' message 'menu enablement looking good' id '45cf1232-4525-4455-b657-d57f977a612c' date '05/12/2014' time '12:50:31' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.394' message 'checkpoint' id '75ab668c-ab5b-4aac-8379-2dbd80104149' date '05/12/2014' time '12:07:41' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.393' message 'first cut of menu item enablement complete' id '78b289b3-8cbb-43b6-a4d8-1b444fbfa60e' date '05/12/2014' time '11:51:59' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.392' message 'tweak manu item enablement' id '0329d6d0-6c13-45ce-be71-257141820bd9' date '05/12/2014' time '11:24:03' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.391' message 'add facility for changing enabled status of menu items dynamically' id '12ab3bbc-26d8-40d1-a437-e821735376f6' date '05/12/2014' time '10:08:08' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.390' message '- remove undeclared symbol references from Tode code base - implement block-based method browsing so that refresh of window recalculates search - need block-based class browsing .., - use GsDeployer for class changes - fix up item selected problems ... - add --staticList option bot `browse` command' id 'bc187e87-62c9-4ca5-a701-07e509d62c07' date '04/19/2014' time '12:14:29' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.389' message '- handle AlmostOutStack as a printing error - add subCommand --help and `man` support to tools - --select option added to all browse commands (need to implement) - `browse category` command added again, plush subCommand man page - `browse class` man page updated for subCommand support (still need to finish `browse class` implementation - `browse` man page updated for subCommand support - `browse symbolDict` command and man page added - tests ' id 'e52bffc6-959a-4c79-88f8-18698efad565' date '04/18/2014' time '14:05:36' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.388' message '- TDCommandLine>>getOpts:subOpts:optionsAndArguments: makes it possible for a shell block to use sub commands - rename ''Search'' submenu to ''Browse'' to match the command name' id 'cb1fff81-e5cc-43ab-9ca6-c325d7f7b06c' date '04/18/2014' time '08:17:42' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.387' message '- fix problem with incorrect `` escape handling - checkpoint working on add --filter to more `browse` commands including embedding code for filter block - revisit `browse references` --literal option ... just compile literal from the string - `browse category` folded into `browse class` command - currently debugging TDShellBrowseCommandTests>>testBrowseMethod ... will need to review man pages and update commands/tests to match the man pages ... ' id '418caf0d-b838-4c3c-b9c3-7fccb2dd7225' date '04/16/2014' time '16:35:51' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.386' message '- use TodeCommandError in strategic areas ... avoid debugger popping up for command related errors ...' id '1e5c28c4-ff32-41a7-ab9a-b7da18d3605d' date '04/02/2014' time '10:26:15' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.385' message 'arrange infrastructure to support primary commands with options and subcommands with options and arguments ...' id '66e001e8-005e-45a8-a721-78c126344e6e' date '03/30/2014' time '10:55:21' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.384' message 'Object menu functional in code window ... `tode it` and `profile it` menu items implemented ...' id '25675231-70f7-45c9-8c01-58b9c2ee4b28' date '03/26/2014' time '18:58:59' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.383' message 'client support for basic menu actions working for menu and keyboard shortcut fof text panes ...' id '5b0aab67-b57f-49bf-88d5-9eef26ab1b70' date '03/26/2014' time '02:28:54' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.382' message 'implement framework for extracting key bindings from menu for code editor ... should probably do something similar for the list editor key bindings ... there shouldn''t be a key binding without a menu item ...' id 'b85b1dc2-a8ce-4578-bbf4-42e9278f7a9b' date '03/25/2014' time '10:05:45' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.381' message 'adjust the source element menus to provide option for passing in an interval and dirty flag instead of the selection which means we can do things like `set breakpoint`' id '1e2b5867-e363-4ce0-a4e8-1bb1b7219dfa' date '03/25/2014' time '12:14:24' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.380' message 'tweak list handling' id '559f9825-a017-4907-83f3-a33349a37bf3' date '03/22/2014' time '08:06:38' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.379' message 'get menu messages in right class' id '5229d4a9-ac4d-4a35-8d9d-104da6290b51' date '03/21/2014' time '02:32:48' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.378' message 'pass list and selection index for list in one pass (using an Association)' id 'af3002fa-87c0-46e2-abf2-c638fc64dab3' date '03/20/2014' time '08:22:11' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.377' message 'Issue #55: checkpoint implementing menus for code windows' id 'eddf77fc-a501-48fd-9268-dd1456e4fcf1' date '02/23/2014' time '06:51:51' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.376' message 'Issue #55: checkpoint adding menus to TodeCodeEditor ...' id '10499983-89d0-4891-8fff-f95fa8599f61' date '02/23/2014' time '12:52:13' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.375' message 'TDCommandLine printString...' id '30df1871-d68d-433e-aff6-4378457c02da' date '01/11/2014' time '11:27:56' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.374' message '- add responseActions for item selection (so list can be refreshed upon selection) - allow for an array of responseActions to be returned so that more than one action can be performed (useful for cut where we add item to clipboard and refresh list) - add #handeleResponseActions: so that response code is common' id '0d0c2c3a-056f-4913-8f42-7ab8885d3fb6' date '01/06/2014' time '07:55:38' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.373' message 'Issue #37: fix a bug in the ston implementation for TDDirectoryNode and friends ... splicing in parent can lead to infinite loops' id '5153ea13-92b4-4f09-80d4-f35d9170f1b9' date '12/05/2013' time '22:03:52' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.372' message 'should trimBoth on a permanent basis ... keep argPtrs in sync' id '0b3f9655-59a0-4e78-a91e-b26963ae0c83' date '11/22/2013' time '04:30:10' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.371' message 'tweak getOpts to handle multiple single char options (-abves) correctly when doing mixed option handling' id '2a4680c8-532f-4d38-8f3c-91228fa1dea7' date '11/16/2013' time '13:08:54' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.370' message 'defined a new script template: TDScriptLeafNode>>minimalScriptTemplate ... define Dictionary>>at:ifAbsent:ifPresent: for better script layout' id '0b57078a-d559-46b0-acce-6249401e657a' date '11/12/2013' time '12:59:05' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.369' message 'TDCommandLine: make the calculation of argPtrs stream implementation independent, plus fix a bug when naked command is parsed ... a couple more tests covering this corner case ... proposed fix for Pharo1.4/Pharo2.0 compat issue in tests' id '0ea42955-9e2e-43a4-98ba-bf88a92d12c9' date '11/11/2013' time '21:11:33' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.368' message 'Rename some of the methods. getOpts* is a better pattern ... monkey with TDManPage to make it easier to create a man page for a script (in the script), also add EXAMPLES section to man page' id 'a4db35c2-eef8-4336-92d7-b47543343315' date '11/11/2013' time '17:51:58' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.367' message 'Issue #16: fix a parsing error (plus tests) ... move helper method for doing mixed long and short getOpts from gs tool to TDCommandLine and TDCommandGetOpts ... beef up `gs fileout` command for class/package/category fileouts with options!... write methods as UTF8 ... consolidate fileout methods ..' id '33c1931f-dc90-4b8e-914e-e0fa043beb86' date '11/11/2013' time '14:49:51' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.366' message 'Issue #16: add in escape character ($`) for arguments ... consolidate argument parsing' id '1f5a4096-5e36-46bb-84e5-bc6b18467b24' date '11/11/2013' time '08:43:40' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.365' message 'Issue #16: splice the short/long/mixed option handling into TDAbstractDevTool ... TDAbstractDevTool>>processCommandOptions: helper method for creating mixed option specs and getting command options ... implement option/arg handling for `ston rsync` command' id '6f0c3b0a-6d86-492c-8b08-07f77d6d239f' date '11/10/2013' time '16:57:02' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.364' message 'Issue #16: now handling short/long/mixed getopts ... ' id '09efb541-cb9f-4a52-a1f9-c641bc272244' date '11/10/2013' time '15:31:29' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.363' message 'Issue #16: okay, okay, add long getOpts support ... next up is mixed long/short support...might as well just bite the bullet' id '874a312b-f8a3-4c1c-b27a-1bb81b493566' date '11/10/2013' time '13:59:54' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.362' message 'Issue #16: convert all command blocks to the form: [ :topez :objIn :tokens :command | ]...convert subCommands to use: TDAbstractDevTool class>>performSubCommand:objIn:todeCommand: ...add better subCommand support to TDCommandLine (teach it to respect subCommands) ... still need to remove windowId and tokens instance variables from TDAbstractDevTool ... TDTopezServer>>evaluateCommand:objIn: and TDTopezServer>>evaluateSTONCommand: are now the primary entry points for command processing ...' id 'c0f50012-c8a1-4f86-b747-6912b3228102' date '11/10/2013' time '11:27:10' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.361' message 'Issue #16: merge TDCommandGetOpts into TDCommandLine ... ready for trial by fire' id '7911eedb-ce2d-4792-aa0b-b7aa265d87fa' date '11/10/2013' time '07:47:18' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.360' message 'checkpoint: Issue #16: writing getOpts for tODE in preparation for Issue #37: `ston rsync`' id 'e7ca7181-d250-41eb-a69c-395cb48ad7c8' date '11/10/2013' time '06:33:03' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.359' message 'Issue #41: add support for request password dialog' id '56d3654d-1da5-47d9-977b-689cbcb6a73e' date '11/09/2013' time '09:29:25' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.358' message 'add accessors ' id '747951b0-099d-4130-9cc3-7f82a00eb498' date '10/20/2013' time '18:08:15' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.357' message 'adding support for various interactions: choice, confirm, inform, text, multiline-text' id '186bcf5c-2456-423e-9624-47b135a519b5' date '10/20/2013' time '05:57:25' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.356' message 'start work on interactions (choices, prompts, etc.) ... down to `save` menu item before completing the Monticello Browser family of tools, which explains need to implement prompt ....' id '0c5dcdba-51f3-4d63-aa7e-ce2dd08ddaad' date '10/20/2013' time '14:40:51' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.355' message 'add windowIsClosing ligic to the TodeCodeEditors (client and server-side logic) ... `create accessors` menu item for class hierarchy window ... add `inspect client element` menu item to standard window menu (replace .window/model stuff) ... TdToolBuilders leverage windowIsClosing logic to close all child windows when parent is closed ... TDToolBuilders use a clientListBlock for generating client list which makes for automatic `refresh` when window contents is refreshed (CML-l) ...' id '8a432873-2575-45d9-a4fd-d8ce5992465e' date '10/20/2013' time '11:14:41' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.354' message 'push windowIsClosing logic up from TodeClientList to TodeClientElement' id '43bf5144-c6ff-4e0e-89b7-826e74fb70ec' date '10/20/2013' time '09:43:39' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.353' message 'really fix funky hierarchy list bug ... tweak TDProfileTool>>pfview: return value' id '8261f374-790f-4bab-bde2-521c1fde21fd' date '10/18/2013' time '06:10:53' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.352' message 'Issue #28: handle submenus' id '2d1b6fc4-a243-4375-88ea-ed074ecbd40e' date '09/29/2013' time '12:25:43' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.351' message 'Issue #28: rename actionSpec to menuActionSpec' id '12b61313-67f7-4e93-8073-408533e0ee5c' date '09/29/2013' time '09:00:25' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.350' message 'Issue #28: checkpoint ... ' id 'c792095d-e599-4dbb-a556-ef7785f17078' date '09/29/2013' time '08:52:55' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.349' message 'Issue #28: getting started on menu implementation' id '303555ec-6a4b-4912-9779-bebe74b48bf3' date '09/28/2013' time '03:38:43' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.348' message 'edge support for roassal' id '5ba5e134-8860-42c0-a223-aede51b868b5' date '06/12/2013' time '07:12:03' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.347' message 'add edgesBlock ivs' id '8cd4a4d1-a7df-486a-944c-609f3d91e6d9' date '06/12/2013' time '06:24:48' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.346' message 'add TodeClientRoassalElement' id '4d201fc6-c1dd-43ff-82d4-f389fde51036' date '06/11/2013' time '04:27:04' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.345' message 'parentList must be an OrderedCollection' id 'd357676e-6d7e-4590-81f9-e71f960fb3ee' date '05/30/2013' time '07:28:19' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.344' message 'convert from using parentListIndex to using parentList for TodeClientListElement and TDEditorSpec instances' id '2edd0186-0565-4085-9484-d618355a9644' date '05/30/2013' time '07:22:50' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.343' message 'rename i.v. parentListIndex to parentList for TodeClientListElement and TDEditorSpec' id 'edbd3981-39a0-4f82-a7ce-ee324eba7fd2' date '05/30/2013' time '07:14:12' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.342' message 'refactor gci calls for clientElements so that the call is moved into the gemstone client leaving pharo client free to perform clientElement code directly' id 'd4787f03-19d6-4782-8698-e12ac7bf31dc' date '05/28/2013' time '02:59:41' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.341' message 'working on getting SHOUT to work for Pharo and GemStone' id '4ddb2911-3982-4745-af91-7a4f723498f1' date '05/28/2013' time '01:48:59' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.340' message 'working on getting SHOUT to work for Pharo and GemStone' id 'dff44127-7105-4997-ac25-090f14cc4aaa' date '05/28/2013' time '01:39:40' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.339' message 'pull back #clientElementOop senders ' id 'dec6253a-47db-44ec-8e1b-5448b69a91db' date '05/28/2013' time '11:58:27' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.338' message 'revamp TodeClientElement hierarchy to support native Pharo client elements ... involves saving blocks directly and conditionally recording oops only if client element sent over wire ' id 'a0dfb3d4-5585-450b-93c9-c190bbba51aa' date '05/28/2013' time '11:51:05' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.337' message '#className is overloaded ... use theClassName ' id 'b60b16d7-02f5-4be9-8540-32b805e4b0c9' date '05/28/2013' time '07:50:59' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.336' message 'get server tests passing again, with recent changes ... use $` to delimit tokens in command line, can be used to pass strings into commands (like commit messages) or escape tokens containing $; or $> ... ' id '2dd54b4c-d3b7-43e3-aee8-a9354e71c4d1' date '05/20/2013' time '22:36:42' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.335' message 'use TDCommandLine to parse shell command line ... add nit tests ' id '4c3f7e9c-5fd0-411b-b1f5-30848829fe14' date '05/16/2013' time '08:13:27' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.334' message 'make TodeClientElement>>stonInstVarNames more portable' id '8f1eb5e9-5568-4033-b7c1-40bff7d2da35' date '04/29/2013' time '12:23:17' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.333' message 'add windowBuilder instance variable to TodeClientElement as developer aid ' id 'f2a5a758-db8b-4128-b86b-1ead0b0951f5' date '04/04/2013' time '14:00:39' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.332' message 'add windowBuilder to client elements to aid in development (reference to source of blocks and oops)' id '02e089f5-a106-417f-b2f5-89e266bb39b2' date '04/04/2013' time '01:31:20' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.331' message 'largely eliminate references to TZHeaderGemStone...' id 'd9345d0b-2094-40ad-82ee-81fce26cc312' date '03/29/2013' time '03:20:03' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.330' message 'removed dependence upon the proxy errors/notifications' id 'e6b6373f-85f4-4037-8120-3c367ed8d769' date '03/29/2013' time '02:16:29' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.329' message 'converting to a non-proxy-based error handling mechanism' id '348b3016-527c-4a4f-bbcf-02bf4d98d217' date '03/29/2013' time '01:28:55' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.328' message 'found more methods to move out' id '2adb2944-bdb6-422e-99b2-66d44a250c41' date '03/29/2013' time '12:35:00' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.327' message 'low hanging fruit is gone ... time to nominate candidates for next round of cuts/rewrites' id '0b07bdc7-801c-4c13-9d58-ef639fc8f7b8' date '03/29/2013' time '11:13:09' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.326' message 'rescue TZBlockStackDictionary' id '90935636-6cf6-4d4d-825d-5f9c8c123f9c' date '03/29/2013' time '08:13:53' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.325' message 'Issue #18: mispackaged methods' id '2b29489a-af40-445d-8e83-f41ea3180662' date '03/29/2013' time '07:49:50' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.324' message 'Issue #18: partition out the obviously old, obsolete classes' id 'd3f0669e-5570-4110-aeb8-14b493339360' date '03/29/2013' time '07:45:21' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.323' message 'insert TDCommandResult so commands have more control over how result is presented without compromising ability to pipe objects around ' id 'c37ab73b-dc5c-4af4-be19-bb18ad07eef5' date '03/13/2013' time '08:28:13' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.322' message 'add TDCommandLine ' id '52db9468-9491-4ad3-bcd1-97491dc9968e' date '03/13/2013' time '07:49:02' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.321' message 'a bunch of mods aimed at making it easier to work with class/method definitions ... filtering a method or class list and then rebrowsing ... ' id 'c601440e-e3f0-486f-933b-4b4131075823' date '02/24/2013' time '16:41:38' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.320' message 'add environmentId to a bunch of calls ... although environmentId probably won''t help indirect development ' id 'c10290f5-7a3b-44ad-8962-80ef84641a22' date '02/24/2013' time '09:52:54' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.319' message 'tweaks ' id '447ea524-e6d2-4245-929b-d43455fc441d' date '02/23/2013' time '02:10:04' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.318' message 'parentList has to be a stack ... ' id 'c9cecfb8-86a9-4806-b2da-7eb34098e27c' date '02/17/2013' time '15:10:04' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.317' message 'more monkey business trying to get .. item to know what his parent list index was ... ' id 'e4e9ba10-6a1b-4a1c-a9d2-39d5b75639dd' date '02/17/2013' time '01:14:53' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.316' message 'add notion of highlighted list item ' id '30d0d993-2cf7-459f-a43f-7d7fd65cb1d2' date '02/17/2013' time '12:18:13' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.315' message 'text highlighting for diffs ... mm dirty, mm get, mm diff, mm list commands implemented ... ' id '8b09b546-6110-496d-b4af-42916f84c404' date '02/10/2013' time '13:23:51' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.314' message 'use color to highight differences' id '59a71d13-b434-4967-a137-d9e81d987191' date '02/10/2013' time '12:40:27' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.312' message 'need to pass the live edit source on code editor keyboard events ... CMD-b, CMD-N, CMD-m, and CMD-n honored in all text based editors ' id '76781fee-4019-4bca-8299-d771ab5b10b0' date '02/07/2013' time '04:24:26' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.311' message 'seal the deal on messagePattern highlighting ' id 'd5d6b723-055d-4a7f-85e2-162c2d3fde80' date '02/07/2013' time '12:26:38' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.310' message 'checkpoint ... working on messagePattern implementation so that selectors are highlighted for senders/implementors, etc. ' id 'd5e9acf8-2ee7-45de-a508-1515078e983d' date '02/07/2013' time '11:57:13' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.309' message 'make another pass over CMD-B - browse class hierarchy ... cache clientElement on spawn ' id '66642433-3c5b-4151-acab-292c98c1b9bf' date '02/06/2013' time '01:15:28' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.308' message 'CMD-b in editor implemented ' id '64c15324-17b1-4703-a733-71edfa8bed10' date '02/05/2013' time '09:53:39' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.307' message 'tweak ' id '59a1cb67-818d-403f-b866-03d61f0b0a7a' date '02/05/2013' time '01:32:51' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.306' message 'clean up tests after changing navigation logic: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ' id '5cb3657e-9a50-4d90-8666-18b1f3081de3' date '02/04/2013' time '10:48:39' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.305' message 'reduce visual noise in navigators by using minimal displayOn:, ESC and shell view provides detailed view classes and oops... ' id '1f90879a-942c-4fc3-bb84-97f05943dead' date '02/03/2013' time '09:59:43' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.304' message 'a little bit of cleanup and tests are green: 23 run, 23 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes ' id 'e9c2ed77-b1a7-43f5-b206-5f7755c621e7' date '02/03/2013' time '09:33:10' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.303' message 'display policy initial implementation appears to be complete ... testing and clean up needed ... ' id 'fb697d6c-8de7-4927-994c-db46e6082192' date '02/02/2013' time '09:18:55' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.302' message 'move displayOn: and friends to server core package ' id '17087c98-65d7-44a1-9804-220d03381149' date '02/01/2013' time '17:10:29' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.301' message 'checkpoint ... getting started on display policy ' id '7e2e649e-2f4f-4a49-b1c6-93c2d9ce43a3' date '02/01/2013' time '17:07:06' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.300' message 'start work on CMD-b mapping ... leads to detour to expand the args for #edit:... message ' id 'e4ef58bc-292a-4f3b-bf52-ff90a4e2f18e' date '01/27/2013' time '20:47:04' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.299' message 'checkpoint ... working on spawnWindow logic ' id 'cd03373a-09bb-4c20-a8cd-7ede7b48c012' date '01/27/2013' time '12:28:53' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.298' message 'checkpoint ... special case events (CMD-C, CMD-L and CMD-l) are working, although the spawnWindow needs work on client level (not activated?) and on the tool level (switch from window name on click to a window id for all interaction) ' id '4ca73fb7-b6be-44b8-b2ab-c0bf4b7570d6' date '01/27/2013' time '11:54:29' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.297' message 'checkpoint ... initial cut at first few (special case) events ... ' id 'af5a1237-39ec-4dce-9785-afe37b9f4d36' date '01/27/2013' time '11:39:51' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.296' message 'fix client-side keyboard event handler ' id 'e391f905-f4a1-4c57-9ced-e755c278773c' date '01/27/2013' time '10:52:51' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.295' message 'checkpoint ... continued handle event work ' id '386aa4f7-8399-4410-b26a-3d4e685bc1d4' date '01/27/2013' time '10:41:13' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.294' message 'flesh out TodeClientElement methods ' id '64298a64-8933-46cc-83a0-d1ce7c927a27' date '01/27/2013' time '09:24:22' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.293' message 'getting started on handler for keyboard events ... convert all gci messages sends to symbols for easy access by tools ' id 'da72dfd9-e8b1-4088-94f0-19a24c8a8a7a' date '01/27/2013' time '09:14:15' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.292' message 'fixes to open spawned window ' id '118c7ee5-f539-4528-9661-1b112ca51ccc' date '01/26/2013' time '11:31:27' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.291' message 'checkpoint ... ESC is ready to test ' id '3e755cd7-c989-4ba6-bf16-b007ed8d3648' date '01/26/2013' time '23:27:43' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.290' message 'checkpoint ... beginnings of spawnShell (ESC) ' id '19f26cca-e12a-463d-81f0-4117b41be710' date '01/26/2013' time '11:05:26' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.289' message 'run | run works as topez script but not as input in REPL (wrong return value) ... also halts/breakpoints while executing run scripts may not quite work right ... ' id '82f736f7-3ec3-4033-97da-9f76f40921c2' date '01/26/2013' time '21:03:00' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.288' message 'checkpoint ... windowIsClosing is coming together ' id '03d9f5dc-5c75-4519-9b9d-f4fb86f6b9b5' date '01/26/2013' time '18:04:10' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.287' message 'start working on windowIsClosing message (to terminate the debugger process os ensure blocks get run) ' id '60e4b654-e540-496c-8ddc-7f2e1fa0db6f' date '01/26/2013' time '05:37:27' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.286' message 'eliminate all of the extraneous transcript logging ' id 'f138b6a8-4be6-4cd9-936a-00546b7ba01b' date '01/26/2013' time '09:39:00' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.285' message 'add autoCommit logic to TodeClientSourceElement>>source: (and friends) ' id '7d566e05-b589-4685-896a-14bdcceee90f' date '01/26/2013' time '07:17:09' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.284' message 'checkpoint ... db continue is sorta working ... need to work on continue when it runs to end ... more testing needed ... ' id 'ec84b653-0a70-4b9d-b843-f05fe4d0922a' date '01/25/2013' time '09:12:20' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.283' message 'checkpoint ... handling halt in debugger ... ' id 'd9ebbd2f-f352-4688-85d4-0ffd6d29181f' date '01/25/2013' time '08:30:49' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.282' message 'add shift clicked logic for browsing ' id 'b8f2a35e-84d4-4de9-b134-5dcc6b651657' date '01/25/2013' time '15:16:36' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.281' message 'when editting the parent can be any old object ' id '429acf5d-0b0b-4a65-844a-7b61fe798cba' date '01/24/2013' time '11:12:19' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.280' message 'convert Object>>edit:topez:aspect:windowId: to use the windowBuilder code ... eidt/save different text nodes ... debugger is basically working except for the failing test case: 19 run, 18 passes, 0 expected defects, 1 failures, 0 errors, 0 unexpected passes ' id '49805ad3-a7d4-48c0-bc9a-8289c7281031' date '01/22/2013' time '23:26:15' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.279' message '9 run, 3 passes, 0 expected defects, 6 failures, 0 errors, 0 unexpected passes ' id '1c9c62fb-021e-4063-8841-f6094f432a1a' date '01/22/2013' time '10:23:56' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.278' message 'reenable shout ... ' id '9ee0167d-fdf2-4ea6-bec2-6d9a8496f7e6' date '01/18/2013' time '07:44:34' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.277' message 'add displayOops and characterLimit to shell tool ... current set of shell tools are passing ... ' id '49236290-0137-4228-ba07-89ccc4e853c3' date '01/16/2013' time '15:46:38' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.276' message 'add displayOops arg to tzNodeDisplay... use it in TDTopezServerTests ... both new tests pass ' id 'd843a8ee-f771-486b-8284-ae9636c30031' date '01/14/2013' time '08:20:57' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.275' message 'final couple of tweaks to correct problems with the first* caching ... back to original functionality but with many fewer round trips ' id 'bbc51581-00c6-4ea9-8ccf-4a4262bd92d4' date '01/08/2013' time '04:56:05' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.274' message 'caching firstList and firstSource in ClientElements to reduce round trips for opening a window ' id '6c006ed4-80b7-47c1-bcc7-c5ea100b3adc' date '01/07/2013' time '07:55:27' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.273' message 'address the deadlock issue, by avoiding the creating of too many proxy behaviors ... remove some debugging halts ... ' id 'f274dd19-1e77-4c21-b357-2071edfab09e' date '01/06/2013' time '09:53:42' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.272' message 'checkpoint .... working through login issues, client forwarder handling (on server), tracking down/eliminating source of pharo deadlock/infinite loop ' id '732f9d34-287f-449b-a415-267e0468f916' date '01/06/2013' time '09:18:58' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.271' message 'first order optimization for client forwarders appears to be functional (still scads of logging/debugging stuff) ' id 'd49ac72c-dbe9-4369-a12e-50a900dbcfb7' date '01/05/2013' time '04:22:38' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.270' message 'add a mutex to GciLibrary and protect all api calls with the mutex to avoid concurrent api calls because of SHOUT ... looks like the concurrent calls are finally cleaned up ... still suspicious about the ifCurtailed: handling in getNbResult itself ' id '93ef7938-14b2-43da-96d0-fbfbe4f2643f' date '01/05/2013' time '01:37:05' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.269' message 'checkpoint ... need to focus on avoiding concurrent gci calls ' id 'cfff2582-2265-4fe3-be90-45cc352fb579' date '01/05/2013' time '11:20:23' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.268' message 'checkpoint ... progress reducing round trips getting err/forwarder args ... with side trip handling interupted gci calls (SHOUT) ... ' id 'b56a294b-9390-4128-b95b-1fc3aa7dce40' date '01/05/2013' time '10:00:42' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.267' message 'checkpoint ... a bunch of gci call logging and a handful of round trip optimizations ... more on the way ' id 'bb383e7a-d26c-457b-ba56-6a67828f19d8' date '01/03/2013' time '12:40:49' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.266' message 'checkpoint ... taking a cut at reducing round trips: one arg for client forwarder ' id '5044ebf2-d028-4338-ab3a-a48971fe9444' date '01/02/2013' time '08:48:13' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.265' message 'straightened out the parent node representation in the client list element ' id '830d3448-3261-4930-9c7f-c6e784f7f7e9' date '01/02/2013' time '07:10:09' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.264' message 'initial cut at adding #aspect to edit.. message ' id 'a028d0b1-cbb6-459d-a93b-131294ff63b4' date '01/01/2013' time '08:19:34' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.263' message 'checkpoint ... inspector is working with directory node ... ' id '7f7da909-e88e-4a3d-a328-8e96cf7f2eba' date '12/31/2012' time '09:03:35' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.262' message 'inspector tweaks ' id '0f57fb4e-15e2-4397-95fe-9377b2e40a5e' date '12/31/2012' time '08:40:45' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.261' message 'inspector tweaks ' id '54fbf284-848f-448d-94bc-eb594fe5e47c' date '12/31/2012' time '08:37:46' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.260' message 'checkpoint ... starting work on inspector ' id '1140f0f1-c19f-4fa5-8dee-89df811f95cf' date '12/31/2012' time '08:28:15' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.259' message 'working on getting the correct frame selected in debugger ' id '0493dc9a-9e8a-4a40-a7da-867fca4c8e56' date '12/30/2012' time '12:40:06' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.258' message 'apparently block cache is working as expected ' id '3488b1ac-e193-410a-a036-25229449c211' date '12/30/2012' time '11:53:40' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.257' message 'checkpoint ... more client element cache work ' id '07ebce6e-3295-4f8b-818b-939ca7cabdb6' date '12/30/2012' time '11:34:57' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.256' message 'checkpoint ... have to hang onto client element blocks ' id 'e3b53626-32d2-4965-8219-73d41d8f6b1e' date '12/30/2012' time '11:15:36' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.255' message 'checkpoint ... changing list item selection logic ' id 'f683b6c5-f9f0-4d62-8564-a7c30a364d1d' date '12/30/2012' time '09:21:23' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.254' message 'checkpoint ... a bit of refactoring to accomodate the source and list elements ' id 'f90c0a56-ad36-4f21-b1d0-8b1c2aabba14' date '12/30/2012' time '09:00:29' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.253' message 'beginning work to display lists ... ' id '2fc7b831-432a-4a0e-8e94-21925fda5fcd' date '12/30/2012' time '08:01:09' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.252' message 'instead of terminating process, just return Aborted as string as result ' id '028302af-246f-47ba-baa3-a5ceb61f465f' date '12/30/2012' time '07:18:52' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.251' message 'tweak error handling dialog a bit ' id 'b91644bc-6fb3-4a47-93f1-3ad24c50b127' date '12/29/2012' time '08:43:12' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.250' message 'topez errors separated from application errors ' id 'cada4c74-07ae-403d-bd4a-122d976c3213' date '12/29/2012' time '08:34:55' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.249' message 'checkpoint ... attempting to differentiate between command errors and application errors ' id '38dbae6c-a27e-42e4-929d-fbf178bf74b5' date '12/29/2012' time '07:50:10' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.248' message 'checkpoint ... preparing to split out topez errors from application errors ' id '51d984c8-e966-482f-b3ba-d253c3b53484' date '12/28/2012' time '09:31:07' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.247' message 'checkpoint ... beginnings of error handling rework: 1. Proceed, Abort, Debug dialog upon error (all errors) basically functional 2. Proceed continues from halt/breakpoint(not confirmed?) 3. Abort terminates the process ... but doesn''t give new prompt 4. Debug returns the error, but doesn''t bring up debugger 5. Debug comes up when we get "error" command error, which should be their own TopezNotification type ' id 'c43504e5-38ad-4258-93d5-ce5c1d86304e' date '12/28/2012' time '08:58:47' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.246' message 'inserting error information into method ... need to fine tune now ' id 'a7aab438-6cf2-4f99-a5ea-b5806341f485' date '12/28/2012' time '09:59:40' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.245' message 'checkpoint ... working on handling compiler errors ' id '898adc6d-1585-47f6-a2a9-228ed772e0a3' date '12/28/2012' time '09:51:02' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.244' message 'checkpoint ... stack frame display ' id '03c6dbef-9ca8-400a-bc04-f5da47b6d0bd' date '12/27/2012' time '05:38:56' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.243' message 'working on bringing up editor for TDStackFrame ' id '4410e426-5acb-4625-925a-7674560d7886' date '12/27/2012' time '17:19:58' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.242' message 'add error handling ... fix formatter logic ' id '917d0afb-5048-4035-b9f7-ecf90a122206' date '12/27/2012' time '04:52:18' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.241' message 'finish move ... loose methods' id '48c16929-c219-4715-be11-daf2bea31979' date '12/27/2012' time '16:45:12' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.240' message 'moved TDNode hierarchy to Topez-Server-Core' id '62c17508-7751-4e85-9854-0cf13b054197' date '12/27/2012' time '11:49:22' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.239' message 'edit code, no check... ' id 'b4553f10-62ad-40f4-97df-ddbdceaa326c' date '12/27/2012' time '11:42:29' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.238' message 'always format source code ... eventually to format or not will be controllable ' id '3b9125ff-48e0-414e-a9f0-1d592ad068bf' date '12/27/2012' time '11:09:47' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.237' message 'edit Text, check. save Text, check. ' id '464c7f4b-9be0-4f70-8fc0-862811824b17' date '12/27/2012' time '11:02:40' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.236' message 'checkpoint ... open editor on text, check. save text, no check ... more work needed ' id '69cd7c3a-e3ee-4146-9ad1-5f711720b667' date '12/27/2012' time '10:47:10' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.235' message 'checkpoint ... getting text editor working ' id '6ff256ec-407e-440f-b646-ecf4aa98f2f3' date '12/27/2012' time '10:29:11' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.234' message 'taking the editors seriously now ... time to add windows ' id 'd15ac382-1ecf-449b-854d-669ea0edd1ce' date '12/27/2012' time '10:05:55' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.233' message 'mc diff produces diff for changed packages ... mc compare (not yet implemented) is used to compare two different packages ' id '306522a2-3ef3-4a0b-af92-75a36c7647ff' date '12/26/2012' time '08:29:43' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.232' message 'straighten out discrepency between ls and ds ' id '2a5f48cf-1148-47b4-badd-3d4397462d14' date '12/23/2012' time '08:32:33' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.231' message 'tweak printing again .. ' id '271ad017-77ec-4015-8736-4260bebbbaf6' date '12/22/2012' time '17:15:06' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.230' message 'monkey with ps and ds and tz display code as I work through zinc test failure scenarios ' id '8014c922-a8f7-4766-9259-fc62340de061' date '12/22/2012' time '09:22:07' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.229' message 'cycling in on satisfactory test command combo ' id '94b67740-ff67-464c-83c8-903fe87a6249' date '12/21/2012' time '18:14:48' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.228' message 'clear up some element rendering bugs and add color to the test nodes ' id 'd0640259-feaa-4720-8bda-6858b3b25282' date '12/21/2012' time '16:59:54' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.227' message 'change bounds and indent sizes, now that I''m using fixed width font ' id '53d12eb6-d04c-41e4-80d2-160fe8e8604c' date '12/20/2012' time '01:35:51' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.226' message 'checkpoint ... started implementation of debug control commands ... db step over is basically working ... trouble when running off end ' id 'a3a590f3-0918-4fc4-9250-5663e23f7ed4' date '12/19/2012' time '14:51:59' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.225' message 'clean up debugging code ... remove unnecessary code ... TXT rulez! ' id '74799812-b365-487e-8758-abff8024d16e' date '12/19/2012' time '10:22:38' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.224' message 'successful text edit/save ' id '5c22d2fa-21ca-4066-904e-98a987519b85' date '12/19/2012' time '10:17:58' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.223' message '... fix RunArray STON implementation ' id '4cf0c5ed-457e-46d4-8ba7-f0985fbff8d7' date '12/19/2012' time '09:36:09' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.222' message 'RunArray needs special handling for STON like Text ' id 'eed8aa18-9854-436d-b2fc-3bc132558a94' date '12/19/2012' time '09:29:23' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.221' message 'checkpoint ... i''ve been working on the text road ... ' id '05287ae7-6785-4595-aba8-f70c2716fc30' date '12/19/2012' time '08:32:03' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.220' message 'checkpoint ... add example txt and more work on getting txt functional ' id '23873156-e0cd-4088-95c6-5b3dcff72c80' date '12/19/2012' time '08:23:10' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.219' message 'checkpoint ... working on adding true Text to txt files ' id 'a846c893-1d91-43d0-9573-c5e041e49b5c' date '12/19/2012' time '08:07:48' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.218' message 'store sourceRange as Array instead of Interval, because of bug: https://github.com/svenvc/ston/issues/5 ' id '09aeac73-0a7f-4016-87ce-7d8d3dd11bf8' date '12/17/2012' time '08:46:24' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.217' message 'implement selection interval for stack frame ' id 'f6e091be-dd1b-42c4-b18d-45b4db6c9042' date '12/17/2012' time '08:30:34' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.216' message 'checkpoint ... automatically open editor on frame method source and update source as you navigate amongst frames ' id '642b3c6c-6439-4261-88de-19484156ea4f' date '12/16/2012' time '15:57:13' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.215' message 'checkpoint ... edit frame progress, keep accumulateBlock alive for duration of run command ... ' id '73841d85-cc60-4277-a85a-e21a4493091e' date '12/16/2012' time '15:06:06' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.214' message 'checkpoint ... implement up/down commands ' id 'af7ceced-ab04-4e57-bb4c-c4f4471df24c' date '12/16/2012' time '13:33:50' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.213' message 'missed a listContents implementation ' id '33d26b56-45c6-4764-b76d-2d0dca239f6a' date '12/15/2012' time '11:33:58' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.212' message 'add limits for ls and ds commands to minimize issues when navigating large objects ... bigls and bigds commands could be created to allow viewing of ranges of large objects ... ' id 'c78a3094-04aa-411d-af38-b3f62d5437fc' date '12/15/2012' time '11:19:19' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.211' message 'tweaks from using tool to understand a particular set of indexes on a single nsc ' id '15c13b74-7faa-415f-b6d4-f71ca21c708e' date '12/13/2012' time '17:03:33' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.210' message 'improve ds command, add better handling for btrees, eliminate premature caching, and various bugfixes ' id 'f9e5fa61-9015-4063-8c28-50d8e17034e7' date '12/13/2012' time '13:08:26' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.209' message 'first cut at trying to control per element extension and text attributes ... somethings not right ... ' id '789886cc-32a6-493e-89dd-304ac4055c39' date '12/13/2012' time '08:47:49' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.208' message 'straighten out the naming of the nodes in the analyzeNsc node structure ' id 'fc396390-2407-4911-8b10-af62d9dd56ba' date '12/13/2012' time '08:14:53' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.207' message 'renamed display command to ds ... ds is the same as ls, except that the object represented by each directory entry is displayed (oop size class and printString) ... ds is more meaningful for inspecting during traversal ' id 'a02d7839-4851-4f62-8273-20a2e0f9f744' date '12/12/2012' time '16:46:40' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.206' message 'add elementExtensionBlock elementRenderAttributeBlock to TDPluggableNode .. greatly simplifies the definition of listBlock ... only need to generate collection of names ... rendering names into text done elsewhere ' id '829d20bb-e493-4a0d-b5b2-6225038bca91' date '12/12/2012' time '16:10:19' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.205' message 'checkpoint ... working on dsiplay command aimed at producing structured display of node contents ... find that I need to be able to traverse children which means cannot use listBlock (because of extension and text) ... listBlock must be reduced to names and extensions and text added separately ... ' id '7c5d8734-4cda-425b-98a6-23d431577b19' date '12/12/2012' time '15:20:45' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.204' message 'fix absentBlock logic for TDDirectoryNode ' id 'bea5b1dc-fbd1-47a9-a37b-92634f8f1dfc' date '12/12/2012' time '14:46:17' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.203' message 'index analysis node structure is basically funcational ... need to fine tune ' id '18e093d2-3023-4de5-8a37-aa368774022a' date '12/12/2012' time '14:27:41' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.202' message 'start work on the index analysis tool ' id '896524cb-d611-4fb8-8c0f-fd79c2bb547a' date '12/11/2012' time '21:25:40' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.201' message 'rework edit command with objIn in mind ' id '8b000ade-5a90-46ef-8005-7cb469c094e3' date '12/09/2012' time '16:36:49' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.200' message 'initial implementation of objIn, introducing | and ; to command line ' id '4e91e65f-d20a-4b40-92fd-dc0cf8b3a812' date '12/09/2012' time '14:13:07' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.199' message 'supply missing method ' id '08382f05-1cf6-401e-9251-5a25f9e4f5bf' date '12/07/2012' time '17:44:02' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.198' message 'clean up issues with PluggableNode and extensionBlock and renderTextAttributeBlock ... start work on building interface to tests: /st/tests ' id '750b975e-6136-4b8a-9f81-1fda643b67dc' date '12/07/2012' time '16:50:49' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.197' message 'add extensionBlock and renderAttributeBlock TDPluggableNode ' id '05628e6c-630d-4bf0-813b-e6408f7b08dd' date '12/02/2012' time '08:51:00' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.196' message 'all all nodes to be copied and moved ... fix cp logic to correctly distinguish between leaf/dir destinations ' id '972fdc85-4a3c-4fd5-8f7d-c319bf250976' date '12/02/2012' time '08:24:16' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.195' message 'better results display... ' id '547ddc32-f860-42f6-af6d-660ac49ea376' date '12/01/2012' time '19:46:25' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.194' message 'allow for editting (read/write) of .run/st nodes ... makes for usable doit scenarios ' id '13cd53a1-ca66-46d3-bec8-26646f760cf9' date '12/01/2012' time '17:32:05' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.193' message 'finish first cut at halos implementation ... see halos command manPage ' id '0dd28775-246f-43f7-893f-e63e78c351b4' date '12/01/2012' time '16:48:43' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.192' message 'finish implementation of run command ' id '56026a69-7648-444e-9050-5633a6279697' date '12/01/2012' time '10:56:55' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.191' message 'implement /home/.run.st node ' id 'b8bb87ff-0531-4f32-9df0-ad767a5e9f0f' date '12/01/2012' time '08:57:16' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.190' message 'basic run command is functional ' id '0e12b316-442e-49cf-9eec-20c814224ef8' date '11/30/2012' time '19:48:46' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.189' message 'proper edit command behavior for editting various leaf nodes ' id 'a829a672-d9b0-4def-873e-3d0c537b7d6e' date '11/30/2012' time '16:12:59' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.188' message 'a bit of cleanup post execution work ' id '12a31f2d-8da4-45cf-91bb-88ac01df623e' date '11/30/2012' time '15:48:43' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.187' message 'execution of .st, .sh, and .tpz files is functional ... ' id 'f7af04c4-c80c-4328-a898-5153c906db02' date '11/30/2012' time '15:28:32' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.186' message 'add structure for /st, /st/classes, /st/globals, /st/symbolList ... checkpoint ' id '8ee707a6-eb2e-44f2-8dba-4ce918bc8da0' date '11/30/2012' time '12:25:12' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.185' message 'proper label for generic Object edit... ' id '90f0ffcc-503c-44c8-8df3-06266ac0f6a4' date '11/30/2012' time '10:31:50' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.184' message 'reimplement touch command to produce different types of leaf nodes: st, sh, tpz, and txt ' id 'b44bfe8b-e725-43f1-b850-28adedf9bc23' date '11/30/2012' time '08:43:00' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.183' message 'add Script, Topez, and Smalltalk leaf nodes ... pick some colors ' id '4bb55b54-d30f-475e-8858-407e8b530a82' date '11/29/2012' time '20:42:03' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.182' message 'restructure TDNode hierarchy a bit ... aiming for consistent rendering with emphasis and color providing clues to the node type, plus consistent use of extensions ' id '3edda364-6d62-4344-9957-34cc29ece9aa' date '11/29/2012' time '19:53:04' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.181' message 'parse path and allow path as command name to evaluate to a node and get the block from the node (executable) ' id 'f355529d-2665-4716-b92f-a14a82d5d7f0' date '11/29/2012' time '17:04:37' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.180' message 'a little more debugging ' id '08000000-1508-3c03-1508-3c0314000000' date '11/29/2012' time '04:47:25' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.179' message 'define standard .readme and finish up first cut at .readme ' id 'cde98442-4ec9-4f59-9367-e2369f9f3cdc' date '11/29/2012' time '16:22:25' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.178' message 'fine tune ston depth and critical block handling for TZGemStoneProxyBehavior ' id '08000000-1508-c212-1508-c21214000000' date '11/29/2012' time '03:53:46' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.177' message 'checkpoint ... writing man pages ' id 'c9b5d811-579e-4e16-8c88-b781f5d61445' date '11/29/2012' time '13:20:08' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.176' message 'finish off .readme implementation and fix the node printStrings ' id '22455f42-5689-4a77-81da-8d2fc1a636d8' date '11/29/2012' time '11:39:48' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.175' message 'implement man command ... make extension responsibility of node (not container) ... node stored in commands instead of block ... add .readme to nodes ' id '166dcde8-6833-45ad-b737-57d51a08196e' date '11/29/2012' time '10:33:18' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.174' message 'add .self and .node special nodes as trap doors for inspector/editor to get access to underlying object and tool object ' id 'b456ea15-8dec-46d6-ac88-f42a42e2df6a' date '11/28/2012' time '17:40:31' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.173' message 'can now cd into objects in shell ... cat node to get printString ' id '5de6e718-414c-4a44-8148-d5e176e536e0' date '11/28/2012' time '14:51:24' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.172' message 'fine tuning TDBlockNode implementation ' id 'a6afd85f-08b1-4acc-8153-92647f855415' date '11/28/2012' time '14:08:25' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.171' message 'normalize the edit window location and reuse window ' id '2d4caa2f-45c0-4e46-aa97-fafa8efba626' date '11/28/2012' time '10:27:42' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.170' message 'basic edit object ... need to add asTDObjectNode for navigation and pseudo inspector (or real inspector?) for true editting.... ' id '204d06a0-ae5c-4c59-a1c8-d10f4fd23d59' date '11/28/2012' time '08:25:04' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.169' message 'working towards generic object editting ' id 'fc3b182a-18f5-4daf-acf3-078b8999eda9' date '11/28/2012' time '08:03:57' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.168' message 'rename TDObjectNode to TDBlockNode then create TDObjectNode which can hold arbitrary objects in contents iv ... push around notion of edit:tokens:windowId: ' id '19d63982-5786-4078-a795-2a724187caed' date '11/28/2012' time '07:38:22' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.167' message 'sqap references to TDNode classes ... ' id '33904399-2ae2-4aa7-b64f-3e38c82096ea' date '11/28/2012' time '05:44:24' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.166' message 'copy TZNode hierarchy to TDNode hierarchy in preparation for .node and asTDNode work ' id '68ff017d-3884-4247-b9ef-e542460c24fb' date '11/28/2012' time '05:37:22' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.165' message 'touch, edit, save sequence is working for commands ... execution and two window view not tested/working ... CMD-l should refresh with newly saved contents ' id '17b0c536-1c3f-448b-92cd-234dabd7a769' date '11/27/2012' time '12:37:19' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.164' message 'push block creation to topez ... avoid platform-specific code in common-core ' id '08000000-1508-0c00-1508-0c0014000000' date '11/27/2012' time '11:53:22' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.163' message 'start work on seriously editting commands: adding new and saving source ' id '1cd142bf-30bb-4965-bcd2-508cf9783e73' date '11/27/2012' time '11:11:16' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.162' message 'tweak TDClientElement ... ' id '0caf175a-8307-4fcf-9fa0-b5f186746f79' date '11/27/2012' time '09:51:23' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.161' message 'TDClientList is passed into list editor and provides hook for the list allowing developer to filter/inspect/operate on elements of list to produce something new ... available from .window ' id '3cde0eb5-6620-4568-a60c-69c3b8190a42' date '11/27/2012' time '03:36:59' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.160' message 'Streamline the edit stack... ' id '69e36ccd-a6da-4648-91b8-3a98250f9712' date '11/27/2012' time '03:15:18' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.159' message 'clean up TZGsMessageSend calls ... TDClientSourceElement is functional ... editor opens correclty ... need to work on save ... ' id '3854d9d1-a1d7-4c5b-8a71-4a247ee9ff56' date '11/26/2012' time '08:58:05' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.158' message 'checkpoint for TDClientElement/TDClientSourceElement ... ' id 'ff5dcade-8272-46f1-95d3-ded246bdfe32' date '11/26/2012' time '08:33:33' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.157' message 'filling out behavior in TDClientElement and TDClientSourceElement ' id '9ad0672e-06aa-4dec-a782-efe6e4a353c3' date '11/26/2012' time '19:57:44' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.156' message 'starting work on TDClient/TDServer elements... ' id 'a22f2539-3a77-4495-b757-b122c9af4c38' date '11/26/2012' time '18:30:51' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.155' message 'eliminate redundant method ' id '08000000-1508-6c11-1508-6c1114000000' date '11/21/2012' time '10:56:19' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.154' message 'final tweak for workaround for https://github.com/svenvc/ston/issues/4 ' id '50b86073-b790-48bf-b3fa-e22fe32193e1' date '11/20/2012' time '06:26:27' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.153' message 'workaround for https://github.com/svenvc/ston/issues/4' id 'b4eb1dd6-3583-48db-8ee5-1a9f69f8f639' date '11/20/2012' time '18:16:49' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.151' message 'more fine tuning of the SHOUT code base ' id 'fbb739ac-2559-4d89-b9f4-f2d45b2f5cb7' date '11/14/2012' time '03:16:10' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.150' message 'additional bugfixes for instance variable highlighting in GemStone ' id '4ec46afd-bd65-43df-b64e-bdffe6a2e5f2' date '11/14/2012' time '02:28:50' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.149' message 'fix some infant mortality issues with the SHOUT improvements ' id '171f061c-4d83-4b0b-b1a4-d48432ff77c9' date '11/14/2012' time '11:08:45' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.148' message 'improve SHOUT highlighting for GemStone ' id 'edae616b-8868-45d6-ba3d-8f573b1474c1' date '11/14/2012' time '09:50:52' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.147' message 'support for TZGsBlockSend and TZGsMessageSend which I think will be useful going forward ' id '6231f2fd-51a1-4e31-b585-909cdb99603a' date '11/14/2012' time '05:56:12' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.146' message 'additional elementSuperClassName support' id 'c05b79e1-39c5-4a2a-b078-cee24e22e336' date '11/11/2012' time '07:40:55' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.144' message 'support for diff command (MCDiffyTextWriter and friends) ' id '08000000-1508-ca02-1508-ca0214000000' date '11/01/2012' time '05:52:14' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.143' message 'fix bug in accumulateText (newlines missing sysinit split from init: sysinit does class initialization (and calls init) init just adds scripts to /topez/bin TZEvaluator class>>systemReinitialize added fix ininite print loop related to TZFrameMethodElement implement reload and save commands ' id '08000000-1508-be11-1508-be1114000000' date '11/01/2012' time '04:32:17' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.142' message 'address infinite loop potential in setting topez for proxies' id '08000000-1508-c205-1508-c20514000000' date '11/01/2012' time '10:24:37' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.141' message 'cmd-shift-b for instance element sets the instance in topaz along with the rest of the editors, so that the inspect command can be used on the selected instance ... ' id '3fee7c0e-c0b8-4e4d-91d5-3fa6c0251de0' date '10/31/2012' time '01:14:28' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.140' message 'more shell image structure ... clieck and keyboard events are now visible and edittable' id '1f944649-f530-4f38-b124-88468ff1bafa' date '10/31/2012' time '12:37:46' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.139' message 'restructure shell image structure (again) and fix bug in script saving ...' id '5759d489-8c80-413a-b9ca-89875bf46a7b' date '10/30/2012' time '09:48:44' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.138' message 'clean up shell image structure and get debugger working again ... shell-based and gui-based' id '5b4050d3-8367-4ffb-b7fe-ffd9c405ef16' date '10/30/2012' time '09:32:21' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.137' message 'avoid using references until https://github.com/svenvc/ston/issues/3 is resolved. I''ve got a patch that should work for STONREader if there is a loop in the traversal, but that patch may not be usable until the vm bug is resolved.' id '5f78ccf2-a025-49fa-840e-0ade6eacb5e0' date '10/30/2012' time '09:09:53' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.136' message 'checkpoint ... working on GenStone performance issues ...' id 'b027754d-44c2-4e28-87ec-6a64e91c6561' date '10/30/2012' time '19:35:13' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.135' message 'checkpoint ... working on GenStone performance issues ...' id '1eebf43d-640a-474b-8aa3-be699fbe5fb5' date '10/30/2012' time '07:32:20' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.134' message 'add TZGsStonWriter class with added support for storing proxy references ... plus other performance adjustments' id '95f18018-f040-4097-a751-e87d6da8be35' date '10/30/2012' time '04:10:52' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.133' message 'add TZGsStonWriter class with added support for storing proxy references ... plus other performance adjustments' id '5456c166-068e-4e76-8d96-a6abd3d94e0b' date '10/30/2012' time '16:08:51' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.132' message 'implement edit /projects/Gofer/classes/SystemOrganizer' id '8e47ad0c-4a55-4804-a339-c199e9ca3599' date '10/30/2012' time '11:27:14' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.131' message 'ls /projects/Topez/classes now working on GemStone' id '58a303b0-5948-4269-8250-f9ec14541d17' date '10/29/2012' time '07:38:54' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.130' message 'move lint command to native-only and create setClassProxy to avoid roundtrip when using name (to resolve to a class anyway)' id '08000000-1508-c211-1508-c21114000000' date '10/29/2012' time '02:46:00' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.129' message 'make lint happy' id '08000000-1508-5c07-1508-5c0714000000' date '10/29/2012' time '11:09:54' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.128' message 'edit /projects/Topez/classes is functional ... no need for prtests or prclasses...' id '24757c82-dc3a-41f1-8a75-dd9964db3b30' date '10/28/2012' time '12:54:09' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.127' message 'implement the beginnings of arbitrary object navigation via the shell ... /bin uses the same mechanism ... slapped together navigation for /projects/*/classes where /projects lists all Metacello projects' id 'eed70290-b4ef-4663-a085-797fc6f0f7e2' date '10/28/2012' time '11:46:24' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.126' message 'CTL-j for repeat last command....' id '95f9908f-b6dd-4822-aa6d-ee7f05aadee3' date '10/27/2012' time '10:05:52' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.125' message 'implement the creation/editting of shell commands through the shell itself ... using touch and edit ... BTW, the old edit and list commands should fade away...' id '49af8830-775a-4b23-8583-35d20eb1a836' date '10/27/2012' time '09:20:20' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.124' message 'add TZBinNode class that rlists the commands available in the system ... edit the commands too ... don''t try saving the commands yet ...Bin node is generated dynamically from the block list ... should have one for the clickBlocks and the printBlocks ...' id '02a041e0-b7b4-4b0b-83e7-6c368520f880' date '10/27/2012' time '12:29:07' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.123' message 'editting scripts' id '2324c0aa-f52d-4246-a17d-5676d2e6ec4b' date '10/26/2012' time '10:50:47' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.122' message 'add cp, mv, mkdr, rm touch commands' id '7f385931-6724-471d-9d9c-4e78b3019bf8' date '10/26/2012' time '09:31:20' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.121' message 'setting stage for editting the scripts....and objects from stash interface' id 'da51daae-03c1-4f63-9b08-1c812f4c9cb6' date '10/26/2012' time '08:29:19' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.120' message 'rename instance to inspect, reorganize script nodes, add cat (cd, ls, pwd and cat), rendering for nodes' id '08000000-1508-9806-1508-980614000000' date '10/26/2012' time '05:42:22' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.119' message 'basic stash implementation: ls cd pwd. The run, topez and instance commands work with node paths ' id '08000000-1508-f20d-1508-f20d14000000' date '10/26/2012' time '04:13:52' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.118' message 'a bit of cleanup' id '08000000-1508-9606-1508-960614000000' date '10/26/2012' time '10:56:52' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.117' message 'reduce GCI round trips by including literals (String, Symbol, Boolean, SmallInteger and Undefined) in the gemstone header. Also turn off STON pretty printing so the size of the payloads is reduced ...' id '0138a597-ec5c-496c-9866-5d5ae4490c3c' date '10/26/2012' time '00:25:43' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.116' message 'improve inspector display' id 'c622853b-38a6-4f45-a107-7d80efd5cd9a' date '10/25/2012' time '11:18:50' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.115' message 'checkpoint ... context inspector finally functional' id '3eb09848-8436-4261-a6ef-9f08fdd1a396' date '10/25/2012' time '10:50:40' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.114' message 'checkpoint' id '22f76575-5b7c-4fcb-bdb9-e54daba3e71b' date '10/25/2012' time '10:12:09' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.113' message 'add TZFrameContextElement for context inspector' id '53a57dd8-1370-4841-96d2-85bf0ae4106c' date '10/25/2012' time '21:34:45' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.112' message 'checkpoint adding context inspector' id '5bcf0a87-5d3f-4a38-acfa-97dcbf74ce04' date '10/25/2012' time '09:31:12' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.111' message 'hook up debugger and receiver inspector ' id '08000000-1508-1613-1508-161314000000' date '10/25/2012' time '04:58:30' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.110' message 'fix up inspector interaction ... probably need to close all windows and reopen fresh after updating (event mapping changed)' id '08000000-1508-cc09-1508-cc0914000000' date '10/25/2012' time '04:33:30' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.109' message 'fix up the inspector' id '08000000-1508-c417-1508-c41714000000' date '10/25/2012' time '04:07:11' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.108' message 'CMD-u (step into) and CMD-j (continue) key bindings implemented' id '4600d54e-1a9c-4e39-ba21-6d3ff2158bba' date '10/25/2012' time '12:21:31' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.107' message 'CMD-Shift-b added to trigger "class browser" hierarcy, definition and method display ... otherwise implementors/sender/references/debugger only change the code pan on selection ... inspector will do the same thing .... make sure that the setClass: is honored correctly sooner or later' id '842ad663-0f63-461b-a04a-927cf8666da7' date '10/24/2012' time '11:52:08' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.106' message 'update selection index on Cmd-t (step over) in debugger .... just code will be updated for speed ...' id '7a5e9387-b64e-44ee-a038-db48de8c2f49' date '10/24/2012' time '10:34:07' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.105' message 'straighten out selection hiccup' id 'e1686319-3d81-46aa-a360-6dd329f6a349' date '10/24/2012' time '09:38:03' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.104' message 'major method refactoring for the edit* methods ... need to have direct access to force selection of an item for debugger' id 'e9e91f84-325c-48bb-bff1-0ad363b74fac' date '10/24/2012' time '09:07:35' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.103' message 'define the debugger key strokes and start implementation with CMD-t step over ... functional, but need to work on window updating logic' id 'fe8156f8-3ffb-48b4-b401-e9fd7114341a' date '10/24/2012' time '06:59:19' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.102' message 'CMD-b keystroke mapping in lists' id '08000000-1508-c213-1508-c21314000000' date '10/24/2012' time '12:21:41' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.101' message 'start calculation selection range for frameMethods' id 'dc348cea-cae1-476c-89ec-1ed074ed212e' date '10/24/2012' time '08:56:29' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.98' message 'have need for FrameMethod' id 'c063c576-a7ef-4712-8aba-974e66db83e2' date '10/23/2012' time '11:55:56' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.97' message 'stack printing correctly via where' id 'b1278223-9c6e-4aed-81c7-b5a5a3563ac5' date '10/23/2012' time '11:34:36' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.96' message 'TZStackFrameElement used in stack ... finally:) ... still more work to do' id '2076f78f-775d-41cd-b3f2-7311edadb6b3' date '10/23/2012' time '09:51:40' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.95' message 'Cmd-p used for inspecting strings ... handling the Executed Code method for GemStone' id '74946c49-3ccc-4707-8e62-0c9a1c67d1cd' date '10/23/2012' time '08:36:29' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.94' message 'add some error handling (ignoring) for the StonWriter ... should surf over access errors' id '6328e996-864d-4f44-92d1-c43b0b33882e' date '10/23/2012' time '15:39:23' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.93' message 'stack frame element accessors' id '544d9140-6861-48d4-8434-72a28233a4ff' date '10/23/2012' time '14:41:46' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.92' message 'conversion of ClassElement to use factory (for recording instances) is complete' id '08000000-1508-f606-1508-f60614000000' date '10/23/2012' time '09:37:52' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.91' message 'preparing to cache TZElement instances for GemStone to avoid GC issues ... resolving this issue is why I converted to a instance-side TZEngine implementation' id '084f75ea-5331-4ef3-818f-fbb270c45335' date '10/23/2012' time '07:29:38' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.90' message 'push isMeta up the hierarchy' id '637ff77a-ee05-458d-a98d-966377a0f40e' date '10/23/2012' time '12:11:27' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.89' message 'checkpoint ... getting the native proxy class handling straightened out...' id '8104e348-68f3-4c1f-8161-92d19e8602ee' date '10/22/2012' time '11:33:51' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.88' message 'use #name instead of #className' id '4070e249-dd7b-45c8-8c3a-ab2111e966e5' date '10/22/2012' time '10:25:57' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.87' message 'fix inspector printing' id '826b704a-c5e9-4c6b-9796-d908d4b32616' date '10/22/2012' time '08:49:50' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.86' message 'revert a change from earlier' id '950cc18f-e9a0-48d3-9aa0-7b5e054c2e1b' date '10/22/2012' time '08:35:35' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.85' message 'checkpoint ... bring up debugger on error ... clean up behavior for GemStone' id 'b2919236-75ab-4cc3-a55d-073d5d5762b5' date '10/22/2012' time '08:07:52' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.84' message 'improve CMD-o implementation, allow pasting (CMD-v) of methods into instance/class selectors panes thus forcing isMeta to match (can move class-side methods to instance and vice versa)' id '08000000-1508-e614-1508-e61414000000' date '10/22/2012' time '02:08:22' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.83' message 'checkpoint' id '08000000-1508-ea1d-1508-ea1d14000000' date '10/22/2012' time '01:39:23' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.82' message 'performance tweak and fix initialization problems for gemstone' id '08000000-1508-a81d-1508-a81d14000000' date '10/22/2012' time '12:17:20' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.81' message 'assorted tweaks' id '08000000-1508-fa00-1508-fa0014000000' date '10/22/2012' time '11:34:14' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.80' message 'usability tweaks while working on debugger' id '8a274e33-2fbf-43c8-a379-da918665b7ca' date '10/22/2012' time '08:17:45' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.79' message 'debugger checkpoint ... make room for reciever window ... open receiver window on click in debugger' id 'f685f5d2-6e20-4fbf-82c0-5fe178331cc9' date '10/21/2012' time '08:59:08' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.78' message 'getting started on initial implementation of debugger' id '8eda723f-3b5a-4571-984b-9cf087e02b63' date '10/21/2012' time '04:36:11' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.77' message 'tweaks and tests for the inspector' id '884bcc30-d5d1-4faa-87a2-05b1105eca05' date '10/21/2012' time '12:52:11' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.76' message 'checkpoint ... green tests' id '283b15e8-7130-4a15-b177-35ba8d36c15a' date '10/20/2012' time '08:16:38' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.75' message 'delete the TZTopezCmd hierarchy ... not really used' id '8b2dedeb-bf6d-4da7-b3e9-eb03ff510c26' date '10/19/2012' time '05:41:40' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.74' message 'clickBlock for inspector' id 'a15f5543-25fe-4d54-8e1c-87e3daae3578' date '10/19/2012' time '04:29:38' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.73' message 'tweaks plus add navigation to inspector' id '70810893-e7bf-4197-8de8-6c30566ebee8' date '10/19/2012' time '04:14:44' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.72' message 'inspector clickBlock' id '463d264d-7f9f-44e9-89de-a626a8be373d' date '10/19/2012' time '01:51:59' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.71' message 'checkpoint .. looks like I''m producing the instance elements correctly...' id '3fa31622-ec5b-446d-ae4f-99e57cf61969' date '10/19/2012' time '01:31:31' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.70' message 'checkpoint ... instance concept shaping up' id 'a4c45b1c-1488-4e82-a380-95bcbdfb1a51' date '10/19/2012' time '08:26:41' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.69' message 'fix shadowed instance variable' id 'c24355b2-352d-4cef-9a07-0b4b74e68b4e' date '10/18/2012' time '09:06:36' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.68' message 'create instance element the centerpiece of the "inspector"' id 'f827ba5a-1150-41c9-90e5-5a98554e7a56' date '10/18/2012' time '08:51:54' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.67' message 'have to have out own variants of Shout parser to be able to do remote shout highlighting ...' id '08000000-1508-4e1e-1508-4e1e14000000' date '10/18/2012' time '04:56:53' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.66' message 'get TZMessageElement sort order straightened out' id '08000000-1508-8002-1508-800214000000' date '10/18/2012' time '10:14:17' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.65' message 'native tests green' id 'f0a79105-94da-4c49-814f-25063de48278' date '10/17/2012' time '07:42:30' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.64' message 'Ctrl-c now copies the object to the object clipboard and the label text is copied to the text clipboard' id '9db06dea-d868-44bb-bdc5-700626e8e5fc' date '10/17/2012' time '07:44:30' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.63' message 'rename instance variables in the TZElement hierarchy to get rid of proxy in name ... too confusing ... native tests are now passing (except the new ones)' id 'b8df9f6d-05be-41f3-a50d-198caedf5333' date '10/16/2012' time '08:45:42' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.62' message 'checkpoint ... adding Ctrl-o action ... need to switch out parentElement and use codeTemplateElement ...' id '08000000-1508-c218-1508-c21814000000' date '10/16/2012' time '05:22:55' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.61' message 'Ctrl- x, c, v, n, m, N commands implemented. Ctrl x - delete element (class or method) Ctrl c - copy method into buffer Ctrl v - paste method onto class (add method to class) Ctrl N - referencesTo: class Ctrl m - implementors Ctrl n - senders ' id '08000000-1508-8808-1508-880814000000' date '10/16/2012' time '04:18:24' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.60' message '`list references` and `edit references` implemented ... keyboard mapping honored as well' id 'fafa8d4d-7a06-4c2b-aaf0-053cd30d2185' date '10/15/2012' time '09:27:49' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.59' message 'fix label for messages...' id 'ce4b1761-8842-4cad-9bb1-da950d1495b4' date '10/15/2012' time '08:23:30' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.58' message 'fine tune implementors and senders ' id '03cb3308-ed4d-4e5d-a96c-0d2cd00ed226' date '10/15/2012' time '06:59:13' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.57' message '`list hierarchy` and `edit hierarchy` commands adjust window layout replace superclass and subclass windows with a single hierarchy window in clickblock logic' id '08000000-1508-8a11-1508-8a1114000000' date '10/15/2012' time '05:26:27' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.56' message 'implementation of `edit implementors` and `edit senders` plus keymapping' id '08000000-1508-b404-1508-b40414000000' date '10/15/2012' time '03:20:15' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.55' message 'initial implementation of `list implementors` and `list senders`' id '08000000-1508-ee19-1508-ee1914000000' date '10/15/2012' time '02:37:01' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.54' message 'add TZMessageElement ... used to represent a message in lists ... sort by class hierarchy ...' id '96bdcf3b-7456-4c58-9d2b-7df5d7d7ce13' date '10/15/2012' time '08:45:02' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.53' message 'green tests' id '1edeee95-917e-4cf4-bb3c-fe68d99c502a' date '10/14/2012' time '05:14:47' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.52' message 'use elementClassName for TZClassElement' id 'fa4c266c-c926-416b-95a4-5486e64b48a8' date '10/14/2012' time '12:58:41' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.51' message 'working on `edit class` and `find class` commands' id 'ef5c93f9-62ed-4255-a5bd-1800c3bc14ce' date '10/14/2012' time '12:38:50' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.50' message 'class names and selectors left as Symbols, since String variants my not be persisted and are subject to gc ... avoid having to manage gci references as long as possible:)' id '4d9d5dff-9e9a-4cf3-84a1-471683893bd8' date '10/14/2012' time '10:32:42' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.49' message '`logout` and `close` commands added. address class name gc issue for gemstone.' id '14094b79-7ce0-4c8d-8716-b6b7d0152a0b' date '10/14/2012' time '09:25:45' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.48' message 'checkpoint ... accept method work for GemStone' id '5bed6f4b-c704-4eaf-9dee-04c312d90687' date '10/14/2012' time '08:34:40' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.47' message 'fix another tiny buglet' id 'ce031358-d2b4-42b4-ace8-6fbaff042335' date '10/13/2012' time '06:45:40' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.46' message '`edit class` command and accpet method' id '08000000-1508-a614-1508-a61414000000' date '10/12/2012' time '03:58:39' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.45' message 'add window closing logic so that closed windows are cleaned up along with sessions' id '08000000-1508-2801-1508-280114000000' date '10/12/2012' time '11:50:57' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.44' message 'create fixed/named locations for windows' id '08000000-1508-ea1a-1508-ea1a14000000' date '10/12/2012' time '11:12:59' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.43' message 'class>>selector label for code windows ...' id '4fa002d1-35ce-4ce4-84c0-bbc3e5ab971c' date '10/11/2012' time '08:12:37' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.42' message 'a bit of cleanup and add CTRL-s ... spawn window' id '08000000-1508-0410-1508-041014000000' date '10/11/2012' time '05:15:46' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.41' message 'gemstone working again' id '08000000-1508-bc10-1508-bc1014000000' date '10/11/2012' time '04:22:06' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.40' message 'checkpoint ... share with server' id '08000000-1508-f004-1508-f00414000000' date '10/11/2012' time '03:54:39' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.39' message 'fix initialization' id '08000000-1508-301f-1508-301f14000000' date '10/11/2012' time '03:18:01' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.38' message 'checkpoint ... working on getting recent additions working in GemStone (hierarchy, sublcasses, history, etc.)' id '08000000-1508-980f-1508-980f14000000' date '10/11/2012' time '03:15:14' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.37' message 'implement history and rename classHierarchy to superclass' id '08000000-1508-aa03-1508-aa0314000000' date '10/11/2012' time '12:07:56' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.36' message 'add hierarcy and subclasses commands (edit and list varieties)' id '22847d2b-c61a-4922-8200-157ac6f405d7' date '10/11/2012' time '08:18:44' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.35' message 'multi-line evalute (making copy/paste in evaluator window feasible) add input command for executing topez scripts run command can execute named run scripts topez command can execute named topez scripts edit run/input/topez scripts list scripts' id 'a829b8c8-d7d7-44be-a381-bf6877994c65' date '10/10/2012' time '06:06:48' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.34' message 'refactoring so I can add a filter to the listEditor and add `topez` command so that I can define the listEditor filter from within topez' id 'b352ba2b-bd50-4e33-be1d-42c5282048d0' date '10/10/2012' time '12:56:04' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.33' message '`edit prclasses` is working for GemStone' id 'db98090b-1b36-4429-97a6-5117ad452341' date '10/10/2012' time '08:56:30' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.32' message 'debugging pharo-side after giving more responsibility to the TZElement classes' id '08000000-1508-781d-1508-781d14000000' date '10/09/2012' time '04:51:41' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.31' message 'putting more responsibility into the TZElement classes' id '08000000-1508-e40e-1508-e40e14000000' date '10/09/2012' time '04:19:30' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.30' message 'named windows, id 0 gives new windowid and single click action' id '7d0e6f55-5de9-4859-b8ca-c2cd05a130ca' date '10/09/2012' time '07:58:23' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.29' message 'single click in selector pane changes code pane' id 'efbd9fdb-5959-4ba9-a381-4b88b63599fb' date '10/08/2012' time '07:57:05' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.28' message 'class selectors support and green tests' id '9fd4833e-0e6d-42f1-a962-d0f086093603' date '10/08/2012' time '06:47:27' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.27' message 'reconstruct ClassBrowser from deconstructed elements' id '08000000-1508-0a1b-1508-0a1b14000000' date '10/08/2012' time '02:42:01' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.26' message 'hook up pieces of the deconstructed browser' id 'fef73994-b93a-43bf-be11-52c761e65e9d' date '10/08/2012' time '07:55:35' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.25' message 'prclasses is a list of TZClassHierarchyElements ... make it feasible to do intersting things when the items are clicked...' id '9b7b782f-0efd-4c28-8501-5ee09e57296c' date '10/07/2012' time '09:22:47' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.24' message 'arrange for building indented and emphasized class list for project classes ...' id 'b1eb97f4-e6ed-4f7d-b3ea-24200cc82dcb' date '10/07/2012' time '07:31:41' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.23' message 'prclasses support' id '18b03741-021f-4c83-b98a-8826b60ce89a' date '10/07/2012' time '06:31:24' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.22' message 'implement `set project`' id 'a3e02d9f-c3b8-445a-b209-85bfeebc14a6' date '10/07/2012' time '04:17:29' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.21' message 'switching context with `edit` command sets current class ...' id 'ad9d5d8b-670e-4985-aff7-f4310f1161d9' date '10/07/2012' time '02:30:33' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.20' message 'sort selectors enable up/down arrow keys' id '9b5ae408-517a-46dd-af44-c209133e1e95' date '10/06/2012' time '02:11:28' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.19' message 'implement `list selectors` and `list cselectors`' id '3aca3108-08f2-4fc7-b1f6-0a255364b486' date '10/06/2012' time '12:17:40' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.18' message 'eliminate trailing cr on all proxy printStrings' id '3f69ad28-30c7-4f4d-b218-af6e8aae5dd9' date '10/06/2012' time '10:45:18' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.17' message 'implement window/buffer switching for `edit` command' id 'bae8152b-63ea-4523-bdb8-cb03948f4118' date '10/06/2012' time '05:26:47' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.16' message 'checkpoint ... list method source, class definition, etc. added in preparation for step' id '08000000-1508-3a0e-1508-3a0e14000000' date '10/05/2012' time '05:23:43' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.15' message 'checkpoint ... more prep work for step ...' id '08000000-1508-6202-1508-620214000000' date '10/05/2012' time '03:50:46' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.14' message 'checkpoint ... preparing for step implementation' id '08000000-1508-e013-1508-e01314000000' date '10/05/2012' time '02:31:36' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.13' message 'checkpoint ... progress with native topez ... run and where are working ...' id '08000000-1508-121c-1508-121c14000000' date '10/05/2012' time '02:02:07' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.12' message 'move tzProxyClass to server core to support native operations' id '5bc77e74-dc97-468e-bc7d-13ca3469bd07' date '10/05/2012' time '10:25:57' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.11' message 'tests green after refactoring' id 'f000daf9-9b03-43ca-882e-acbcbc8c69a7' date '10/05/2012' time '08:17:10' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.10' message 'native header work' id '43c399c7-66d8-45a3-b908-bb2dabd31807' date '10/05/2012' time '08:02:27' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.9' message 'more reorganization' id '9273cbf9-3e13-450f-9651-5872a9a2f88a' date '10/05/2012' time '07:53:11' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.8' message 'introducing native topz evaluator' id '5ccc6262-2c2d-464b-b032-17990d146cdf' date '10/05/2012' time '07:44:41' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.7' message '`set class`, `edit class`, `edit selectors` commands implemented ... list editor and string editor' id '78b7ea09-c403-4dd7-8333-c926c7324c46' date '10/04/2012' time '08:18:19' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.6' message 'tweak String proxyPrintString handling' id '08000000-1508-7a12-1508-7a1214000000' date '10/04/2012' time '04:27:28' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.5' message 'render list method using SHout' id '08000000-1508-bc1a-1508-bc1a14000000' date '10/04/2012' time '04:17:36' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.4' message 'convert to using #renderText:on:indent: instead of print... add Text emphasis to all command output...' id '08000000-1508-ee04-1508-ee0414000000' date '10/04/2012' time '03:29:59' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.3' message 'renaming package reparations' id '8c77413f-3f6f-4b1c-bcfc-601450141309' date '10/04/2012' time '08:30:56' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.2' message 'start rendering text' id '7b024fe5-17b4-4929-a439-e100859e21f2' date '10/04/2012' time '08:27:13' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.1' message 'rename Topez-STON to Topez-Common-Core, Topez-STONTests to Topez-CommonTests, and Topez-Pharo-STON to Topez-Pharo-Common' id '08000000-1508-c60d-1508-c60d14000000' date '10/03/2012' time '04:11:59' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Topez-Common-Core-dkh.449' message 'export session descriptions using a pretty STON string' id '5321cadf-2830-45f3-82a1-8c41c6978b45' date '16 September 2015' time '11:57:33.895879 am' author 'dkh' ancestors ((name 'Topez-Common-Core-abc.448' message 'undo MCDiffyTextWriter>>writePatch: tweak ... not needed with improved bugfix for https://github.com/GsDevKit/GsDevKit/issues/77' id '960e0463-d6a1-4744-a71a-710a54c62202' date '16 September 2015' time '11:41:33 am' author 'abc' ancestors ((name 'Topez-Common-Core-dkh.447' message 'tweak MCDiffyTextWriter>>writePatch: for conditional existence of MCEquality patches in an MCPatch' id '0b8f3d6d-6716-49fb-8936-c96b8c5ea14e' date '16 September 2015' time '11:13:01 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.446' message 'Issue #186: final work on button bar (fingers crossed) ... set default button/state in spec, update the button selection color ...' id '0b6f51fd-55e2-4293-a931-cf2f9ec2d683' date '31 August 2015' time '1:17:19 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.445' message 'Issue #186: allow button/boolean for switch state ... nil means use existing state' id '7e6bcdad-e173-4580-b169-f38f96df980a' date '26 August 2015' time '5:17:47 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.444' message 'Issue #186: finish up TodeClientButtonBarElement implementation for cilent/server' id '6f89fa6d-8d53-42e4-835d-9533b7f45b9f' date '19 August 2015' time '4:59:15 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.443' message 'Issue #186: implement server-side support for TodeClientButtonBarElement' id '9e349e8e-3580-4a2f-8359-db44f44391f4' date '19 August 2015' time '3:11:36 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.442' message 'Issue #186: implement client-side support for TodeClientButtonBarElement' id 'fda75d76-3031-4298-8a9f-4fe4fd509e7a' date '19 August 2015' time '12:59:27 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.441' message 'Issue #186: create TodeClientButtonBarElement' id '2578afdf-e1ae-4052-ba0b-5bb94414ce3f' date '19 August 2015' time '10:05:09 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.440' message 'Issue #184: `windows restore` is basically functional ... still some fine tuning to do, but basically in business ... added timestamp to client element ' id '8cc0d793-16d2-42ab-bc51-6f5d95829701' date '18 August 2015' time '4:11:27 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.439' message 'Issue #184: saving client elements in a persistent element cache or transient element cache (currently just the debuggers) based on usePersistentClientElementCache field in the client element ... also abort BEFORE each shell command is processed - to avoid one of the most common commit conflicts that occur when running two concurrent tODE sessions against the same stone ... ' id '9f57b045-98b2-4ab8-8c46-be372b5ac239' date '18 August 2015' time '1:36:59 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.438' message 'Issue #184: move TodeClientElement>>printOn: to Tode-GemStone-Server-Core' id '3d41ab40-2e79-4675-8098-bb006e4ce834' date '12 August 2015' time '1:21 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.437' message 'Issue #184: implement TDTopezServer>>clientEventCache: ... that completes the `drop clientElements` task' id '15b2f9c9-d10f-4af9-8083-238d19f81f95' date '12 August 2015' time '1:15:01 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.436' message 'Issue #184: implement (client-side) TDTopezGemStoneClient>>flushCache: logic. Necessitates introduction of tODE API Version for client and server, so that I can use new clients with old servers and old clients with new servers' id '9d9047b6-a6e1-4384-bb0c-c7e45a1252f1' date '12 August 2015' time '12:44:24 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.435' message 'Issue #184: introduce TDEventsCache for passing cached event information back and forth between client and server while minimizing round trips... first application is to record the clientElements that are no longer referenced by a window (retired) on the client ... retired clientElements can be safely removed from the server-side elementCache ... ' id '1a01472a-d6a3-414d-8ecf-44219466144d' date '12 August 2015' time '10:29:25 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.434' message 'Issue #184: start work on better management of clientElements in topez elementCache' id 'e62912f4-4491-4e3c-8a96-bf208892c2c7' date '11 August 2015' time '2:51:52 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.433' message 'Issue #175: put TodeObjectSerializer with new (0.9.3) implementation of STON...' id 'b755e101-f206-4d69-850f-ca0c466894df' date '29 June 2015' time '2:43:57 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.432' message 'Issue #175: convert to using 091 serializer ... add some tests ... 051 serializer not converted to new scheme yet' id '3f25202a-2670-44fa-a7e6-c1987a143ffe' date '29 June 2015' time '11:13:48 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.431' message 'With recent Ston work (https://github.com/GsDevKit/ston/issues/6) switch up baseline to same branch/tag for Ston ...' id 'e7154035-49f6-42b1-8f06-10b560b7e95d' date '26 June 2015' time '3:52:42 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.430' message 'Issue #175: enable client-side objectSerialization and disable use of 0.9.1, so we can - strip out 0.9.1 hacks - implement 0.5.1 compat (pluggalble old-style encoding) - implement the REAL 0.9.1 - hex chars trigger old-style encoding - no hex char encoding at all - tests, tests and tests' id 'aa64dfbe-1104-4915-8a66-c94e361bc2d2' date '25 June 2015' time '5:50:40 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.429' message 'Issue #175: convert client-side code to use #objectSerializer' id 'd58fbb3b-fe34-4d39-91c4-4f771d245e36' date '25 June 2015' time '5:10:34 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.428' message 'Issue #175: convert all users of STON in tODE to use #objectSerializer method ' id '720715c9-3c8e-4af4-b4fc-e2c6d3dddbb3' date '25 June 2015' time '4:35:44 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.427' message 'Issue #175: checkpoint client-side changes for TodeObjectSerializer' id 'ab21a155-1050-4842-a314-92c785f9256f' date '25 June 2015' time '3:26:14 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.426' message 'Issue #175: rename the classes' id 'f3d75ea0-abc1-4c8e-aae9-69f5f1a62e5e' date '25 June 2015' time '3:05:30 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.425' message 'Issue #176: TodeCommunicationProtocol and friends added as better option for managing changes and upgrades to object serialization ... need to have a handshake between client and server to settle on the version of STON to be used and someday may use something other than STON ...' id 'eb477547-c048-4cca-bb26-60447ec0c549' date '25 June 2015' time '2:57:22 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.424' message 'Issue #175: major edit to start using the new protocol introduced in STON v0.9.? and pharo-0.9.1?. v0.9.1 and pharo-0.9.1 are on the gemstone_dev and pharo_dev branches so that travis tests can be run ... ' id 'd728a938-77ba-4360-bb5e-bfa286e1fde9' date '24 June 2015' time '5:23:06 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.423' message 'starting to use gemstone_dev branch of STON which is the port of STON 0.9 to GemStone ... the tricky part is to change the encoding scheme' id '33dbc957-755a-44eb-a2b8-203fdcd6df49' date '19 June 2015' time '3:05:06 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.422' message 'snapshotDirectory needs to be managed by the sessionDescription' id '5408673d-6172-4c1c-9b38-220218a52e72' date '22 March 2015' time '8:56:52 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.421' message 'TDSessionDescripton>>editTemplate updated to use todeSysLocalSessionDescriptionPath ... formatting' id '0218a27f-cad0-4a99-befa-2e0340b4790d' date '16 March 2015' time '12:33:42 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.420' message 'checkpoint ... default TDProjectEntryDefinition class>>defaultGitRootPath is now $GS_HOME/tode/sys/local/git ... finally zeroing in on correct formula for conjuring the loads list for the porject entry ...' id '04954181-1c76-49a6-a867-6ce9a9058a0e' date '14 March 2015' time '7:42:55 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.419' message 'add client-side support for multiple selection lists' id 'c6fb6478-1d72-4b64-b815-a2dd631a9ea4' date '28 January 2015' time '5:01:47 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.418' message 'For confirmations, add a third option: abort, so we can have confirm, cancel or abort.' id '183e4b56-4968-4aa2-a407-aa920ab91d74' date '16 January 2015' time '11:06:54 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.417' message 'Issue #129: add TDCommandLine class>>fromStream:selectLine:forEachCommand: ... needed for TDShell processing since come command lines are "cached" instread of directly executed ... added test ... hooke new capability into TDShell ... need to tweak interactive behavior' id '7e321e58-b6e9-4fe9-90cc-f4d308d97345' date '17 December 2014' time '4:58:45 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.416' message 'Issue 129: nextLine returns an empty collection or nil dependending upon platform ... fix bogus test' id 'ce62f14a-f82a-4025-8f39-98b398cce3a2' date '17 December 2014' time '4:21:54 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.415' message 'Issue #129: add TDCommandLine class>>fromStream:forEachCommand: so that \ can be used to join lines in a muli-line scenario ... add and update tests ' id '19f70274-e707-4b36-bafa-dfdc66bd887e' date '17 December 2014' time '3:58:22 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.414' message 'clean up some undefined symbols' id '3b74a2d5-1c89-431e-a4a3-d0faa3851b2c' date '7 October 2014' time '3:42:52 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.413' message '- fix TodeClientMethodElement>>copyForSpawn - fix spawing method from prof monitor tool' id '3e3389d4-c30d-4166-b382-1657ccbbed88' date '29 July 2014' time '2:03:35 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.412' message 'change TDSessionDescription>>editTemplate ... add comment to remind user to exectue session to save to disk .. remove testLogin at end ' id 'e136da1c-74a3-4e3d-990d-af47c701ceb5' date '20 July 2014' time '10:45:38 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.411' message 'improve TDSessionDescription template code' id 'c33ceaa2-f37d-468e-98ce-e20c9059cfa3' date '8 July 2014' time '10:25:39 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.410' message 'Issue #86: implemented `tODE Edit >> session description name` menu item ...' id 'aa2e4b60-ad77-414c-9b91-a7e1175f6210' date '7 July 2014' time '9:24:43 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.408' message 'remove formatOnAccept and formatOnDisplay' id '84737048-93aa-4331-93df-005eaeda701b' date '7 July 2014' time '4:39:32 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.407' message 'removing formatOnAccept and formatOnDisplay logic from TodeClientSourceElement ... that has been handled on the server side fo rsome time now ...starting on Issue #94' id 'af7affee-0a4d-4c80-a9b1-ffff3206d177' date '7 July 2014' time '4:35:20 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.406' message 'Issue #95: proposed bugfix' id '101271d5-e2c6-4118-9ee4-4983de8917c0' date '7 July 2014' time '4:01:20 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.405' message '- working on fixing disappearing comments for workspaces (comment no statements) - adding RBWorkspaceNode as extenstion to RB AST... - clean up workspace code so that it''s possible for workspace to correctly access temps and args for debugger context - debugger context browse class and browse full cleaned up' id 'a23533d5-2f61-4607-bc1c-a0488789b8e9' date '28 June 2014' time '3:57:59 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.404' message 'Issue #75: infant mortality and upgrade patch' id '60127d02-7d96-4e26-827c-844e653ff7c8' date '19 June 2014' time '7:26:50 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.403' message 'Issue #75: rip up all of the old keyboard block support' id 'cb7f03d3-79ad-40cd-99b4-b3af2f5e1182' date '18 June 2014' time '5:08:34 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.402' message 'Issue #75: remove last vestiges of cmdKeyBlock ...' id '817dbe8e-a231-400f-b1ab-21076266859d' date '18 June 2014' time '2:49:43 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.401' message 'Issue #75: patch to survive server-side upgrade' id 'd24bd590-e25a-46d8-aace-e2c9ea02eaf6' date '18 June 2014' time '2:41:55 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.400' message 'Issue #75: remove cmdKeyBlock and cmdKeyBlockOop from TodeClientSourceElement - not needed anymore ... keyboard mappings now come from menuSpec ' id '81afaca0-0de5-4cc6-a78b-977af3e7ac55' date '18 June 2014' time '2:37:49 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.399' message 'client element source: now returns true/false allowing server-side element to approve/disapprove the save ...' id '67a462d4-3929-4704-983a-d5ec80c9002e' date '2 June 2014' time '11:43:24 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.398' message 'rename serverTodeHome iv in TDSessionDescription to serverTodeRoot - revamp `mount` command - add --todeRoot arg so client scripts don''t have to be customized as customization is done at the TDSessionDescription level - add --asLeafNode arg so that file system directories can be treated as directory nodes (default) or leaf nodes (useful for mounting raw directory structure' id '0a78727b-ffd7-4803-91e0-f2dffad1c0e1' date '28 May 2014' time '12:14:25 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.397' message 'converting to use TDSessionDescription instead of OGCustomSessionDescription. - TDSessionDescription is passed to server so that the fields (backupDirectory, serverGitRoot serverTodeHome) can be specified in the session description and used on the server - for now server will request the session description to make upgrading easier (if client updated before server, server won''t know what to do with the session description)' id 'bbaa8cb5-c31d-443c-b482-3abe967c203d' date '28 May 2014' time '7:24:51 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.396' message 'fix unnecessary limit in diff command and adjust `project list` menus - MCDiffyTextWriter>>writePatchFrom:to: imposed 10k char limit on size of method BaselineOfMetacello>>baseline: exceeds that limit ... get rid of limit - `project list` - rename menu items - combing last commit log entry and status into one command' id '2bd6e0d8-a599-4972-81e7-4103906be586' date '14 May 2014' time '7:39:25 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.395' message 'menu enablement looking good' id '45cf1232-4525-4455-b657-d57f977a612c' date '12 May 2014' time '12:50:31 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.394' message 'checkpoint' id '75ab668c-ab5b-4aac-8379-2dbd80104149' date '12 May 2014' time '12:07:41 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.393' message 'first cut of menu item enablement complete' id '78b289b3-8cbb-43b6-a4d8-1b444fbfa60e' date '12 May 2014' time '11:51:59 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.392' message 'tweak manu item enablement' id '0329d6d0-6c13-45ce-be71-257141820bd9' date '12 May 2014' time '11:24:03 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.391' message 'add facility for changing enabled status of menu items dynamically' id '12ab3bbc-26d8-40d1-a437-e821735376f6' date '12 May 2014' time '10:08:08 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.390' message '- remove undeclared symbol references from Tode code base - implement block-based method browsing so that refresh of window recalculates search - need block-based class browsing .., - use GsDeployer for class changes - fix up item selected problems ... - add --staticList option bot `browse` command' id 'bc187e87-62c9-4ca5-a701-07e509d62c07' date '19 April 2014' time '12:14:29 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.389' message '- handle AlmostOutStack as a printing error - add subCommand --help and `man` support to tools - --select option added to all browse commands (need to implement) - `browse category` command added again, plush subCommand man page - `browse class` man page updated for subCommand support (still need to finish `browse class` implementation - `browse` man page updated for subCommand support - `browse symbolDict` command and man page added - tests ' id 'e52bffc6-959a-4c79-88f8-18698efad565' date '18 April 2014' time '2:05:36 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.388' message '- TDCommandLine>>getOpts:subOpts:optionsAndArguments: makes it possible for a shell block to use sub commands - rename ''Search'' submenu to ''Browse'' to match the command name' id 'cb1fff81-e5cc-43ab-9ca6-c325d7f7b06c' date '18 April 2014' time '8:17:42 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.387' message '- fix problem with incorrect `` escape handling - checkpoint working on add --filter to more `browse` commands including embedding code for filter block - revisit `browse references` --literal option ... just compile literal from the string - `browse category` folded into `browse class` command - currently debugging TDShellBrowseCommandTests>>testBrowseMethod ... will need to review man pages and update commands/tests to match the man pages ... ' id '418caf0d-b838-4c3c-b9c3-7fccb2dd7225' date '16 April 2014' time '4:35:51 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.386' message '- use TodeCommandError in strategic areas ... avoid debugger popping up for command related errors ...' id '1e5c28c4-ff32-41a7-ab9a-b7da18d3605d' date '2 April 2014' time '10:26:15 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.385' message 'arrange infrastructure to support primary commands with options and subcommands with options and arguments ...' id '66e001e8-005e-45a8-a721-78c126344e6e' date '30 March 2014' time '10:55:21 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.384' message 'Object menu functional in code window ... `tode it` and `profile it` menu items implemented ...' id '25675231-70f7-45c9-8c01-58b9c2ee4b28' date '26 March 2014' time '6:58:59 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.383' message 'client support for basic menu actions working for menu and keyboard shortcut fof text panes ...' id '5b0aab67-b57f-49bf-88d5-9eef26ab1b70' date '26 March 2014' time '2:28:54 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.382' message 'implement framework for extracting key bindings from menu for code editor ... should probably do something similar for the list editor key bindings ... there shouldn''t be a key binding without a menu item ...' id 'b85b1dc2-a8ce-4578-bbf4-42e9278f7a9b' date '25 March 2014' time '10:05:45 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.381' message 'adjust the source element menus to provide option for passing in an interval and dirty flag instead of the selection which means we can do things like `set breakpoint`' id '1e2b5867-e363-4ce0-a4e8-1bb1b7219dfa' date '25 March 2014' time '12:14:24 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.380' message 'tweak list handling' id '559f9825-a017-4907-83f3-a33349a37bf3' date '22 March 2014' time '8:06:38 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.379' message 'get menu messages in right class' id '5229d4a9-ac4d-4a35-8d9d-104da6290b51' date '21 March 2014' time '2:32:48 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.378' message 'pass list and selection index for list in one pass (using an Association)' id 'af3002fa-87c0-46e2-abf2-c638fc64dab3' date '20 March 2014' time '8:22:11 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.377' message 'Issue #55: checkpoint implementing menus for code windows' id 'eddf77fc-a501-48fd-9268-dd1456e4fcf1' date '23 February 2014' time '6:51:51 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.376' message 'Issue #55: checkpoint adding menus to TodeCodeEditor ...' id '10499983-89d0-4891-8fff-f95fa8599f61' date '23 February 2014' time '12:52:13 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.375' message 'TDCommandLine printString...' id '30df1871-d68d-433e-aff6-4378457c02da' date '11 January 2014' time '11:27:56 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.374' message '- add responseActions for item selection (so list can be refreshed upon selection) - allow for an array of responseActions to be returned so that more than one action can be performed (useful for cut where we add item to clipboard and refresh list) - add #handeleResponseActions: so that response code is common' id '0d0c2c3a-056f-4913-8f42-7ab8885d3fb6' date '6 January 2014' time '7:55:38 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.373' message 'Issue #37: fix a bug in the ston implementation for TDDirectoryNode and friends ... splicing in parent can lead to infinite loops' id '5153ea13-92b4-4f09-80d4-f35d9170f1b9' date '5 December 2013' time '10:03:52 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.372' message 'should trimBoth on a permanent basis ... keep argPtrs in sync' id '0b3f9655-59a0-4e78-a91e-b26963ae0c83' date '22 November 2013' time '4:30:10 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.371' message 'tweak getOpts to handle multiple single char options (-abves) correctly when doing mixed option handling' id '2a4680c8-532f-4d38-8f3c-91228fa1dea7' date '16 November 2013' time '1:08:54 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.370' message 'defined a new script template: TDScriptLeafNode>>minimalScriptTemplate ... define Dictionary>>at:ifAbsent:ifPresent: for better script layout' id '0b57078a-d559-46b0-acce-6249401e657a' date '12 November 2013' time '12:59:05 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.369' message 'TDCommandLine: make the calculation of argPtrs stream implementation independent, plus fix a bug when naked command is parsed ... a couple more tests covering this corner case ... proposed fix for Pharo1.4/Pharo2.0 compat issue in tests' id '0ea42955-9e2e-43a4-98ba-bf88a92d12c9' date '11 November 2013' time '9:11:33 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.368' message 'Rename some of the methods. getOpts* is a better pattern ... monkey with TDManPage to make it easier to create a man page for a script (in the script), also add EXAMPLES section to man page' id 'a4db35c2-eef8-4336-92d7-b47543343315' date '11 November 2013' time '5:51:58 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.367' message 'Issue #16: fix a parsing error (plus tests) ... move helper method for doing mixed long and short getOpts from gs tool to TDCommandLine and TDCommandGetOpts ... beef up `gs fileout` command for class/package/category fileouts with options!... write methods as UTF8 ... consolidate fileout methods ..' id '33c1931f-dc90-4b8e-914e-e0fa043beb86' date '11 November 2013' time '2:49:51 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.366' message 'Issue #16: add in escape character ($`) for arguments ... consolidate argument parsing' id '1f5a4096-5e36-46bb-84e5-bc6b18467b24' date '11 November 2013' time '8:43:40 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.365' message 'Issue #16: splice the short/long/mixed option handling into TDAbstractDevTool ... TDAbstractDevTool>>processCommandOptions: helper method for creating mixed option specs and getting command options ... implement option/arg handling for `ston rsync` command' id '6f0c3b0a-6d86-492c-8b08-07f77d6d239f' date '10 November 2013' time '4:57:02 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.364' message 'Issue #16: now handling short/long/mixed getopts ... ' id '09efb541-cb9f-4a52-a1f9-c641bc272244' date '10 November 2013' time '3:31:29 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.363' message 'Issue #16: okay, okay, add long getOpts support ... next up is mixed long/short support...might as well just bite the bullet' id '874a312b-f8a3-4c1c-b27a-1bb81b493566' date '10 November 2013' time '1:59:54 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.362' message 'Issue #16: convert all command blocks to the form: [ :topez :objIn :tokens :command | ]...convert subCommands to use: TDAbstractDevTool class>>performSubCommand:objIn:todeCommand: ...add better subCommand support to TDCommandLine (teach it to respect subCommands) ... still need to remove windowId and tokens instance variables from TDAbstractDevTool ... TDTopezServer>>evaluateCommand:objIn: and TDTopezServer>>evaluateSTONCommand: are now the primary entry points for command processing ...' id 'c0f50012-c8a1-4f86-b747-6912b3228102' date '10 November 2013' time '11:27:10 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.361' message 'Issue #16: merge TDCommandGetOpts into TDCommandLine ... ready for trial by fire' id '7911eedb-ce2d-4792-aa0b-b7aa265d87fa' date '10 November 2013' time '7:47:18 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.360' message 'checkpoint: Issue #16: writing getOpts for tODE in preparation for Issue #37: `ston rsync`' id 'e7ca7181-d250-41eb-a69c-395cb48ad7c8' date '10 November 2013' time '6:33:03 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.359' message 'Issue #41: add support for request password dialog' id '56d3654d-1da5-47d9-977b-689cbcb6a73e' date '9 November 2013' time '9:29:25 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.358' message 'add accessors ' id '747951b0-099d-4130-9cc3-7f82a00eb498' date '20 October 2013' time '6:08:15 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.357' message 'adding support for various interactions: choice, confirm, inform, text, multiline-text' id '186bcf5c-2456-423e-9624-47b135a519b5' date '20 October 2013' time '5:57:25 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.356' message 'start work on interactions (choices, prompts, etc.) ... down to `save` menu item before completing the Monticello Browser family of tools, which explains need to implement prompt ....' id '0c5dcdba-51f3-4d63-aa7e-ce2dd08ddaad' date '20 October 2013' time '2:40:51 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.355' message 'add windowIsClosing ligic to the TodeCodeEditors (client and server-side logic) ... `create accessors` menu item for class hierarchy window ... add `inspect client element` menu item to standard window menu (replace .window/model stuff) ... TdToolBuilders leverage windowIsClosing logic to close all child windows when parent is closed ... TDToolBuilders use a clientListBlock for generating client list which makes for automatic `refresh` when window contents is refreshed (CML-l) ...' id '8a432873-2575-45d9-a4fd-d8ce5992465e' date '20 October 2013' time '11:14:41 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.354' message 'push windowIsClosing logic up from TodeClientList to TodeClientElement' id '43bf5144-c6ff-4e0e-89b7-826e74fb70ec' date '20 October 2013' time '9:43:39 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.353' message 'really fix funky hierarchy list bug ... tweak TDProfileTool>>pfview: return value' id '8261f374-790f-4bab-bde2-521c1fde21fd' date '18 October 2013' time '6:10:53 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.352' message 'Issue #28: handle submenus' id '2d1b6fc4-a243-4375-88ea-ed074ecbd40e' date '29 September 2013' time '12:25:43 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.351' message 'Issue #28: rename actionSpec to menuActionSpec' id '12b61313-67f7-4e93-8073-408533e0ee5c' date '29 September 2013' time '9:00:25 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.350' message 'Issue #28: checkpoint ... ' id 'c792095d-e599-4dbb-a556-ef7785f17078' date '29 September 2013' time '8:52:55 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.349' message 'Issue #28: getting started on menu implementation' id '303555ec-6a4b-4912-9779-bebe74b48bf3' date '28 September 2013' time '3:38:43 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.348' message 'edge support for roassal' id '5ba5e134-8860-42c0-a223-aede51b868b5' date '12 June 2013' time '7:12:03 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.347' message 'add edgesBlock ivs' id '8cd4a4d1-a7df-486a-944c-609f3d91e6d9' date '12 June 2013' time '6:24:48 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.346' message 'add TodeClientRoassalElement' id '4d201fc6-c1dd-43ff-82d4-f389fde51036' date '11 June 2013' time '4:27:04 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.345' message 'parentList must be an OrderedCollection' id 'd357676e-6d7e-4590-81f9-e71f960fb3ee' date '30 May 2013' time '7:28:19 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.344' message 'convert from using parentListIndex to using parentList for TodeClientListElement and TDEditorSpec instances' id '2edd0186-0565-4085-9484-d618355a9644' date '30 May 2013' time '7:22:50 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.343' message 'rename i.v. parentListIndex to parentList for TodeClientListElement and TDEditorSpec' id 'edbd3981-39a0-4f82-a7ce-ee324eba7fd2' date '30 May 2013' time '7:14:12 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.342' message 'refactor gci calls for clientElements so that the call is moved into the gemstone client leaving pharo client free to perform clientElement code directly' id 'd4787f03-19d6-4782-8698-e12ac7bf31dc' date '28 May 2013' time '2:59:41 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.341' message 'working on getting SHOUT to work for Pharo and GemStone' id '4ddb2911-3982-4745-af91-7a4f723498f1' date '28 May 2013' time '1:48:59 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.340' message 'working on getting SHOUT to work for Pharo and GemStone' id 'dff44127-7105-4997-ac25-090f14cc4aaa' date '28 May 2013' time '1:39:40 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.339' message 'pull back #clientElementOop senders ' id 'dec6253a-47db-44ec-8e1b-5448b69a91db' date '28 May 2013' time '11:58:27 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.338' message 'revamp TodeClientElement hierarchy to support native Pharo client elements ... involves saving blocks directly and conditionally recording oops only if client element sent over wire ' id 'a0dfb3d4-5585-450b-93c9-c190bbba51aa' date '28 May 2013' time '11:51:05 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.337' message '#className is overloaded ... use theClassName ' id 'b60b16d7-02f5-4be9-8540-32b805e4b0c9' date '28 May 2013' time '7:50:59 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.336' message 'get server tests passing again, with recent changes ... use $` to delimit tokens in command line, can be used to pass strings into commands (like commit messages) or escape tokens containing $; or $> ... ' id '2dd54b4c-d3b7-43e3-aee8-a9354e71c4d1' date '20 May 2013' time '10:36:42 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.335' message 'use TDCommandLine to parse shell command line ... add nit tests ' id '4c3f7e9c-5fd0-411b-b1f5-30848829fe14' date '16 May 2013' time '8:13:27 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.334' message 'make TodeClientElement>>stonInstVarNames more portable' id '8f1eb5e9-5568-4033-b7c1-40bff7d2da35' date '29 April 2013' time '12:23:17 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.333' message 'add windowBuilder instance variable to TodeClientElement as developer aid ' id 'f2a5a758-db8b-4128-b86b-1ead0b0951f5' date '4 April 2013' time '2:00:39 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.332' message 'add windowBuilder to client elements to aid in development (reference to source of blocks and oops)' id '02e089f5-a106-417f-b2f5-89e266bb39b2' date '4 April 2013' time '1:31:20 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.331' message 'largely eliminate references to TZHeaderGemStone...' id 'd9345d0b-2094-40ad-82ee-81fce26cc312' date '29 March 2013' time '3:20:03 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.330' message 'removed dependence upon the proxy errors/notifications' id 'e6b6373f-85f4-4037-8120-3c367ed8d769' date '29 March 2013' time '2:16:29 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.329' message 'converting to a non-proxy-based error handling mechanism' id '348b3016-527c-4a4f-bbcf-02bf4d98d217' date '29 March 2013' time '1:28:55 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.328' message 'found more methods to move out' id '2adb2944-bdb6-422e-99b2-66d44a250c41' date '29 March 2013' time '12:35 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.327' message 'low hanging fruit is gone ... time to nominate candidates for next round of cuts/rewrites' id '0b07bdc7-801c-4c13-9d58-ef639fc8f7b8' date '29 March 2013' time '11:13:09 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.326' message 'rescue TZBlockStackDictionary' id '90935636-6cf6-4d4d-825d-5f9c8c123f9c' date '29 March 2013' time '8:13:53 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.325' message 'Issue #18: mispackaged methods' id '2b29489a-af40-445d-8e83-f41ea3180662' date '29 March 2013' time '7:49:50 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.324' message 'Issue #18: partition out the obviously old, obsolete classes' id 'd3f0669e-5570-4110-aeb8-14b493339360' date '29 March 2013' time '7:45:21 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.323' message 'insert TDCommandResult so commands have more control over how result is presented without compromising ability to pipe objects around ' id 'c37ab73b-dc5c-4af4-be19-bb18ad07eef5' date '13 March 2013' time '8:28:13 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.322' message 'add TDCommandLine ' id '52db9468-9491-4ad3-bcd1-97491dc9968e' date '13 March 2013' time '7:49:02 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.321' message 'a bunch of mods aimed at making it easier to work with class/method definitions ... filtering a method or class list and then rebrowsing ... ' id 'c601440e-e3f0-486f-933b-4b4131075823' date '24 February 2013' time '4:41:38 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.320' message 'add environmentId to a bunch of calls ... although environmentId probably won''t help indirect development ' id 'c10290f5-7a3b-44ad-8962-80ef84641a22' date '24 February 2013' time '9:52:54 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.319' message 'tweaks ' id '447ea524-e6d2-4245-929b-d43455fc441d' date '23 February 2013' time '2:10:04 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.318' message 'parentList has to be a stack ... ' id 'c9cecfb8-86a9-4806-b2da-7eb34098e27c' date '17 February 2013' time '3:10:04 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.317' message 'more monkey business trying to get .. item to know what his parent list index was ... ' id 'e4e9ba10-6a1b-4a1c-a9d2-39d5b75639dd' date '17 February 2013' time '1:14:53 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.316' message 'add notion of highlighted list item ' id '30d0d993-2cf7-459f-a43f-7d7fd65cb1d2' date '17 February 2013' time '12:18:13 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.315' message 'text highlighting for diffs ... mm dirty, mm get, mm diff, mm list commands implemented ... ' id '8b09b546-6110-496d-b4af-42916f84c404' date '10 February 2013' time '1:23:51 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.314' message 'use color to highight differences' id '59a71d13-b434-4967-a137-d9e81d987191' date '10 February 2013' time '12:40:27 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.312' message 'need to pass the live edit source on code editor keyboard events ... CMD-b, CMD-N, CMD-m, and CMD-n honored in all text based editors ' id '76781fee-4019-4bca-8299-d771ab5b10b0' date '7 February 2013' time '4:24:26 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.311' message 'seal the deal on messagePattern highlighting ' id 'd5d6b723-055d-4a7f-85e2-162c2d3fde80' date '7 February 2013' time '12:26:38 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.310' message 'checkpoint ... working on messagePattern implementation so that selectors are highlighted for senders/implementors, etc. ' id 'd5e9acf8-2ee7-45de-a508-1515078e983d' date '7 February 2013' time '11:57:13 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.309' message 'make another pass over CMD-B - browse class hierarchy ... cache clientElement on spawn ' id '66642433-3c5b-4151-acab-292c98c1b9bf' date '6 February 2013' time '1:15:28 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.308' message 'CMD-b in editor implemented ' id '64c15324-17b1-4703-a733-71edfa8bed10' date '5 February 2013' time '9:53:39 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.307' message 'tweak ' id '59a1cb67-818d-403f-b866-03d61f0b0a7a' date '5 February 2013' time '1:32:51 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.306' message 'clean up tests after changing navigation logic: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ' id '5cb3657e-9a50-4d90-8666-18b1f3081de3' date '4 February 2013' time '10:48:39 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.305' message 'reduce visual noise in navigators by using minimal displayOn:, ESC and shell view provides detailed view classes and oops... ' id '1f90879a-942c-4fc3-bb84-97f05943dead' date '3 February 2013' time '9:59:43 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.304' message 'a little bit of cleanup and tests are green: 23 run, 23 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes ' id 'e9c2ed77-b1a7-43f5-b206-5f7755c621e7' date '3 February 2013' time '9:33:10 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.303' message 'display policy initial implementation appears to be complete ... testing and clean up needed ... ' id 'fb697d6c-8de7-4927-994c-db46e6082192' date '2 February 2013' time '9:18:55 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.302' message 'move displayOn: and friends to server core package ' id '17087c98-65d7-44a1-9804-220d03381149' date '1 February 2013' time '5:10:29 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.301' message 'checkpoint ... getting started on display policy ' id '7e2e649e-2f4f-4a49-b1c6-93c2d9ce43a3' date '1 February 2013' time '5:07:06 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.300' message 'start work on CMD-b mapping ... leads to detour to expand the args for #edit:... message ' id 'e4ef58bc-292a-4f3b-bf52-ff90a4e2f18e' date '27 January 2013' time '8:47:04 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.299' message 'checkpoint ... working on spawnWindow logic ' id 'cd03373a-09bb-4c20-a8cd-7ede7b48c012' date '27 January 2013' time '12:28:53 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.298' message 'checkpoint ... special case events (CMD-C, CMD-L and CMD-l) are working, although the spawnWindow needs work on client level (not activated?) and on the tool level (switch from window name on click to a window id for all interaction) ' id '4ca73fb7-b6be-44b8-b2ab-c0bf4b7570d6' date '27 January 2013' time '11:54:29 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.297' message 'checkpoint ... initial cut at first few (special case) events ... ' id 'af5a1237-39ec-4dce-9785-afe37b9f4d36' date '27 January 2013' time '11:39:51 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.296' message 'fix client-side keyboard event handler ' id 'e391f905-f4a1-4c57-9ced-e755c278773c' date '27 January 2013' time '10:52:51 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.295' message 'checkpoint ... continued handle event work ' id '386aa4f7-8399-4410-b26a-3d4e685bc1d4' date '27 January 2013' time '10:41:13 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.294' message 'flesh out TodeClientElement methods ' id '64298a64-8933-46cc-83a0-d1ce7c927a27' date '27 January 2013' time '9:24:22 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.293' message 'getting started on handler for keyboard events ... convert all gci messages sends to symbols for easy access by tools ' id 'da72dfd9-e8b1-4088-94f0-19a24c8a8a7a' date '27 January 2013' time '9:14:15 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.292' message 'fixes to open spawned window ' id '118c7ee5-f539-4528-9661-1b112ca51ccc' date '26 January 2013' time '11:31:27 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.291' message 'checkpoint ... ESC is ready to test ' id '3e755cd7-c989-4ba6-bf16-b007ed8d3648' date '26 January 2013' time '11:27:43 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.290' message 'checkpoint ... beginnings of spawnShell (ESC) ' id '19f26cca-e12a-463d-81f0-4117b41be710' date '26 January 2013' time '11:05:26 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.289' message 'run | run works as topez script but not as input in REPL (wrong return value) ... also halts/breakpoints while executing run scripts may not quite work right ... ' id '82f736f7-3ec3-4033-97da-9f76f40921c2' date '26 January 2013' time '9:03 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.288' message 'checkpoint ... windowIsClosing is coming together ' id '03d9f5dc-5c75-4519-9b9d-f4fb86f6b9b5' date '26 January 2013' time '6:04:10 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.287' message 'start working on windowIsClosing message (to terminate the debugger process os ensure blocks get run) ' id '60e4b654-e540-496c-8ddc-7f2e1fa0db6f' date '26 January 2013' time '5:37:27 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.286' message 'eliminate all of the extraneous transcript logging ' id 'f138b6a8-4be6-4cd9-936a-00546b7ba01b' date '26 January 2013' time '9:39 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.285' message 'add autoCommit logic to TodeClientSourceElement>>source: (and friends) ' id '7d566e05-b589-4685-896a-14bdcceee90f' date '26 January 2013' time '7:17:09 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.284' message 'checkpoint ... db continue is sorta working ... need to work on continue when it runs to end ... more testing needed ... ' id 'ec84b653-0a70-4b9d-b843-f05fe4d0922a' date '25 January 2013' time '9:12:20 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.283' message 'checkpoint ... handling halt in debugger ... ' id 'd9ebbd2f-f352-4688-85d4-0ffd6d29181f' date '25 January 2013' time '8:30:49 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.282' message 'add shift clicked logic for browsing ' id 'b8f2a35e-84d4-4de9-b134-5dcc6b651657' date '25 January 2013' time '3:16:36 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.281' message 'when editting the parent can be any old object ' id '429acf5d-0b0b-4a65-844a-7b61fe798cba' date '24 January 2013' time '11:12:19 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.280' message 'convert Object>>edit:topez:aspect:windowId: to use the windowBuilder code ... eidt/save different text nodes ... debugger is basically working except for the failing test case: 19 run, 18 passes, 0 expected defects, 1 failures, 0 errors, 0 unexpected passes ' id '49805ad3-a7d4-48c0-bc9a-8289c7281031' date '22 January 2013' time '11:26:15 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.279' message '9 run, 3 passes, 0 expected defects, 6 failures, 0 errors, 0 unexpected passes ' id '1c9c62fb-021e-4063-8841-f6094f432a1a' date '22 January 2013' time '10:23:56 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.278' message 'reenable shout ... ' id '9ee0167d-fdf2-4ea6-bec2-6d9a8496f7e6' date '18 January 2013' time '7:44:34 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.277' message 'add displayOops and characterLimit to shell tool ... current set of shell tools are passing ... ' id '49236290-0137-4228-ba07-89ccc4e853c3' date '16 January 2013' time '3:46:38 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.276' message 'add displayOops arg to tzNodeDisplay... use it in TDTopezServerTests ... both new tests pass ' id 'd843a8ee-f771-486b-8284-ae9636c30031' date '14 January 2013' time '8:20:57 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.275' message 'final couple of tweaks to correct problems with the first* caching ... back to original functionality but with many fewer round trips ' id 'bbc51581-00c6-4ea9-8ccf-4a4262bd92d4' date '8 January 2013' time '4:56:05 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.274' message 'caching firstList and firstSource in ClientElements to reduce round trips for opening a window ' id '6c006ed4-80b7-47c1-bcc7-c5ea100b3adc' date '7 January 2013' time '7:55:27 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.273' message 'address the deadlock issue, by avoiding the creating of too many proxy behaviors ... remove some debugging halts ... ' id 'f274dd19-1e77-4c21-b357-2071edfab09e' date '6 January 2013' time '9:53:42 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.272' message 'checkpoint .... working through login issues, client forwarder handling (on server), tracking down/eliminating source of pharo deadlock/infinite loop ' id '732f9d34-287f-449b-a415-267e0468f916' date '6 January 2013' time '9:18:58 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.271' message 'first order optimization for client forwarders appears to be functional (still scads of logging/debugging stuff) ' id 'd49ac72c-dbe9-4369-a12e-50a900dbcfb7' date '5 January 2013' time '4:22:38 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.270' message 'add a mutex to GciLibrary and protect all api calls with the mutex to avoid concurrent api calls because of SHOUT ... looks like the concurrent calls are finally cleaned up ... still suspicious about the ifCurtailed: handling in getNbResult itself ' id '93ef7938-14b2-43da-96d0-fbfbe4f2643f' date '5 January 2013' time '1:37:05 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.269' message 'checkpoint ... need to focus on avoiding concurrent gci calls ' id 'cfff2582-2265-4fe3-be90-45cc352fb579' date '5 January 2013' time '11:20:23 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.268' message 'checkpoint ... progress reducing round trips getting err/forwarder args ... with side trip handling interupted gci calls (SHOUT) ... ' id 'b56a294b-9390-4128-b95b-1fc3aa7dce40' date '5 January 2013' time '10:00:42 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.267' message 'checkpoint ... a bunch of gci call logging and a handful of round trip optimizations ... more on the way ' id 'bb383e7a-d26c-457b-ba56-6a67828f19d8' date '3 January 2013' time '12:40:49 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.266' message 'checkpoint ... taking a cut at reducing round trips: one arg for client forwarder ' id '5044ebf2-d028-4338-ab3a-a48971fe9444' date '2 January 2013' time '8:48:13 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.265' message 'straightened out the parent node representation in the client list element ' id '830d3448-3261-4930-9c7f-c6e784f7f7e9' date '2 January 2013' time '7:10:09 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.264' message 'initial cut at adding #aspect to edit.. message ' id 'a028d0b1-cbb6-459d-a93b-131294ff63b4' date '1 January 2013' time '8:19:34 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.263' message 'checkpoint ... inspector is working with directory node ... ' id '7f7da909-e88e-4a3d-a328-8e96cf7f2eba' date '31 December 2012' time '9:03:35 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.262' message 'inspector tweaks ' id '0f57fb4e-15e2-4397-95fe-9377b2e40a5e' date '31 December 2012' time '8:40:45 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.261' message 'inspector tweaks ' id '54fbf284-848f-448d-94bc-eb594fe5e47c' date '31 December 2012' time '8:37:46 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.260' message 'checkpoint ... starting work on inspector ' id '1140f0f1-c19f-4fa5-8dee-89df811f95cf' date '31 December 2012' time '8:28:15 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.259' message 'working on getting the correct frame selected in debugger ' id '0493dc9a-9e8a-4a40-a7da-867fca4c8e56' date '30 December 2012' time '12:40:06 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.258' message 'apparently block cache is working as expected ' id '3488b1ac-e193-410a-a036-25229449c211' date '30 December 2012' time '11:53:40 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.257' message 'checkpoint ... more client element cache work ' id '07ebce6e-3295-4f8b-818b-939ca7cabdb6' date '30 December 2012' time '11:34:57 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.256' message 'checkpoint ... have to hang onto client element blocks ' id 'e3b53626-32d2-4965-8219-73d41d8f6b1e' date '30 December 2012' time '11:15:36 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.255' message 'checkpoint ... changing list item selection logic ' id 'f683b6c5-f9f0-4d62-8564-a7c30a364d1d' date '30 December 2012' time '9:21:23 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.254' message 'checkpoint ... a bit of refactoring to accomodate the source and list elements ' id 'f90c0a56-ad36-4f21-b1d0-8b1c2aabba14' date '30 December 2012' time '9:00:29 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.253' message 'beginning work to display lists ... ' id '2fc7b831-432a-4a0e-8e94-21925fda5fcd' date '30 December 2012' time '8:01:09 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.252' message 'instead of terminating process, just return Aborted as string as result ' id '028302af-246f-47ba-baa3-a5ceb61f465f' date '30 December 2012' time '7:18:52 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.251' message 'tweak error handling dialog a bit ' id 'b91644bc-6fb3-4a47-93f1-3ad24c50b127' date '29 December 2012' time '8:43:12 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.250' message 'topez errors separated from application errors ' id 'cada4c74-07ae-403d-bd4a-122d976c3213' date '29 December 2012' time '8:34:55 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.249' message 'checkpoint ... attempting to differentiate between command errors and application errors ' id '38dbae6c-a27e-42e4-929d-fbf178bf74b5' date '29 December 2012' time '7:50:10 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.248' message 'checkpoint ... preparing to split out topez errors from application errors ' id '51d984c8-e966-482f-b3ba-d253c3b53484' date '28 December 2012' time '9:31:07 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.247' message 'checkpoint ... beginnings of error handling rework: 1. Proceed, Abort, Debug dialog upon error (all errors) basically functional 2. Proceed continues from halt/breakpoint(not confirmed?) 3. Abort terminates the process ... but doesn''t give new prompt 4. Debug returns the error, but doesn''t bring up debugger 5. Debug comes up when we get "error" command error, which should be their own TopezNotification type ' id 'c43504e5-38ad-4258-93d5-ce5c1d86304e' date '28 December 2012' time '8:58:47 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.246' message 'inserting error information into method ... need to fine tune now ' id 'a7aab438-6cf2-4f99-a5ea-b5806341f485' date '28 December 2012' time '9:59:40 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.245' message 'checkpoint ... working on handling compiler errors ' id '898adc6d-1585-47f6-a2a9-228ed772e0a3' date '28 December 2012' time '9:51:02 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.244' message 'checkpoint ... stack frame display ' id '03c6dbef-9ca8-400a-bc04-f5da47b6d0bd' date '27 December 2012' time '5:38:56 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.243' message 'working on bringing up editor for TDStackFrame ' id '4410e426-5acb-4625-925a-7674560d7886' date '27 December 2012' time '5:19:58 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.242' message 'add error handling ... fix formatter logic ' id '917d0afb-5048-4035-b9f7-ecf90a122206' date '27 December 2012' time '4:52:18 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.241' message 'finish move ... loose methods' id '48c16929-c219-4715-be11-daf2bea31979' date '27 December 2012' time '4:45:12 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.240' message 'moved TDNode hierarchy to Topez-Server-Core' id '62c17508-7751-4e85-9854-0cf13b054197' date '27 December 2012' time '11:49:22 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.239' message 'edit code, no check... ' id 'b4553f10-62ad-40f4-97df-ddbdceaa326c' date '27 December 2012' time '11:42:29 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.238' message 'always format source code ... eventually to format or not will be controllable ' id '3b9125ff-48e0-414e-a9f0-1d592ad068bf' date '27 December 2012' time '11:09:47 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.237' message 'edit Text, check. save Text, check. ' id '464c7f4b-9be0-4f70-8fc0-862811824b17' date '27 December 2012' time '11:02:40 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.236' message 'checkpoint ... open editor on text, check. save text, no check ... more work needed ' id '69cd7c3a-e3ee-4146-9ad1-5f711720b667' date '27 December 2012' time '10:47:10 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.235' message 'checkpoint ... getting text editor working ' id '6ff256ec-407e-440f-b646-ecf4aa98f2f3' date '27 December 2012' time '10:29:11 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.234' message 'taking the editors seriously now ... time to add windows ' id 'd15ac382-1ecf-449b-854d-669ea0edd1ce' date '27 December 2012' time '10:05:55 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.233' message 'mc diff produces diff for changed packages ... mc compare (not yet implemented) is used to compare two different packages ' id '306522a2-3ef3-4a0b-af92-75a36c7647ff' date '26 December 2012' time '8:29:43 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.232' message 'straighten out discrepency between ls and ds ' id '2a5f48cf-1148-47b4-badd-3d4397462d14' date '23 December 2012' time '8:32:33 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.231' message 'tweak printing again .. ' id '271ad017-77ec-4015-8736-4260bebbbaf6' date '22 December 2012' time '5:15:06 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.230' message 'monkey with ps and ds and tz display code as I work through zinc test failure scenarios ' id '8014c922-a8f7-4766-9259-fc62340de061' date '22 December 2012' time '9:22:07 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.229' message 'cycling in on satisfactory test command combo ' id '94b67740-ff67-464c-83c8-903fe87a6249' date '21 December 2012' time '6:14:48 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.228' message 'clear up some element rendering bugs and add color to the test nodes ' id 'd0640259-feaa-4720-8bda-6858b3b25282' date '21 December 2012' time '4:59:54 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.227' message 'change bounds and indent sizes, now that I''m using fixed width font ' id '53d12eb6-d04c-41e4-80d2-160fe8e8604c' date '20 December 2012' time '1:35:51 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.226' message 'checkpoint ... started implementation of debug control commands ... db step over is basically working ... trouble when running off end ' id 'a3a590f3-0918-4fc4-9250-5663e23f7ed4' date '19 December 2012' time '2:51:59 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.225' message 'clean up debugging code ... remove unnecessary code ... TXT rulez! ' id '74799812-b365-487e-8758-abff8024d16e' date '19 December 2012' time '10:22:38 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.224' message 'successful text edit/save ' id '5c22d2fa-21ca-4066-904e-98a987519b85' date '19 December 2012' time '10:17:58 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.223' message '... fix RunArray STON implementation ' id '4cf0c5ed-457e-46d4-8ba7-f0985fbff8d7' date '19 December 2012' time '9:36:09 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.222' message 'RunArray needs special handling for STON like Text ' id 'eed8aa18-9854-436d-b2fc-3bc132558a94' date '19 December 2012' time '9:29:23 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.221' message 'checkpoint ... i''ve been working on the text road ... ' id '05287ae7-6785-4595-aba8-f70c2716fc30' date '19 December 2012' time '8:32:03 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.220' message 'checkpoint ... add example txt and more work on getting txt functional ' id '23873156-e0cd-4088-95c6-5b3dcff72c80' date '19 December 2012' time '8:23:10 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.219' message 'checkpoint ... working on adding true Text to txt files ' id 'a846c893-1d91-43d0-9573-c5e041e49b5c' date '19 December 2012' time '8:07:48 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.218' message 'store sourceRange as Array instead of Interval, because of bug: https://github.com/svenvc/ston/issues/5 ' id '09aeac73-0a7f-4016-87ce-7d8d3dd11bf8' date '17 December 2012' time '8:46:24 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.217' message 'implement selection interval for stack frame ' id 'f6e091be-dd1b-42c4-b18d-45b4db6c9042' date '17 December 2012' time '8:30:34 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.216' message 'checkpoint ... automatically open editor on frame method source and update source as you navigate amongst frames ' id '642b3c6c-6439-4261-88de-19484156ea4f' date '16 December 2012' time '3:57:13 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.215' message 'checkpoint ... edit frame progress, keep accumulateBlock alive for duration of run command ... ' id '73841d85-cc60-4277-a85a-e21a4493091e' date '16 December 2012' time '3:06:06 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.214' message 'checkpoint ... implement up/down commands ' id 'af7ceced-ab04-4e57-bb4c-c4f4471df24c' date '16 December 2012' time '1:33:50 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.213' message 'missed a listContents implementation ' id '33d26b56-45c6-4764-b76d-2d0dca239f6a' date '15 December 2012' time '11:33:58 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.212' message 'add limits for ls and ds commands to minimize issues when navigating large objects ... bigls and bigds commands could be created to allow viewing of ranges of large objects ... ' id 'c78a3094-04aa-411d-af38-b3f62d5437fc' date '15 December 2012' time '11:19:19 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.211' message 'tweaks from using tool to understand a particular set of indexes on a single nsc ' id '15c13b74-7faa-415f-b6d4-f71ca21c708e' date '13 December 2012' time '5:03:33 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.210' message 'improve ds command, add better handling for btrees, eliminate premature caching, and various bugfixes ' id 'f9e5fa61-9015-4063-8c28-50d8e17034e7' date '13 December 2012' time '1:08:26 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.209' message 'first cut at trying to control per element extension and text attributes ... somethings not right ... ' id '789886cc-32a6-493e-89dd-304ac4055c39' date '13 December 2012' time '8:47:49 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.208' message 'straighten out the naming of the nodes in the analyzeNsc node structure ' id 'fc396390-2407-4911-8b10-af62d9dd56ba' date '13 December 2012' time '8:14:53 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.207' message 'renamed display command to ds ... ds is the same as ls, except that the object represented by each directory entry is displayed (oop size class and printString) ... ds is more meaningful for inspecting during traversal ' id 'a02d7839-4851-4f62-8273-20a2e0f9f744' date '12 December 2012' time '4:46:40 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.206' message 'add elementExtensionBlock elementRenderAttributeBlock to TDPluggableNode .. greatly simplifies the definition of listBlock ... only need to generate collection of names ... rendering names into text done elsewhere ' id '829d20bb-e493-4a0d-b5b2-6225038bca91' date '12 December 2012' time '4:10:19 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.205' message 'checkpoint ... working on dsiplay command aimed at producing structured display of node contents ... find that I need to be able to traverse children which means cannot use listBlock (because of extension and text) ... listBlock must be reduced to names and extensions and text added separately ... ' id '7c5d8734-4cda-425b-98a6-23d431577b19' date '12 December 2012' time '3:20:45 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.204' message 'fix absentBlock logic for TDDirectoryNode ' id 'bea5b1dc-fbd1-47a9-a37b-92634f8f1dfc' date '12 December 2012' time '2:46:17 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.203' message 'index analysis node structure is basically funcational ... need to fine tune ' id '18e093d2-3023-4de5-8a37-aa368774022a' date '12 December 2012' time '2:27:41 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.202' message 'start work on the index analysis tool ' id '896524cb-d611-4fb8-8c0f-fd79c2bb547a' date '11 December 2012' time '9:25:40 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.201' message 'rework edit command with objIn in mind ' id '8b000ade-5a90-46ef-8005-7cb469c094e3' date '9 December 2012' time '4:36:49 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.200' message 'initial implementation of objIn, introducing | and ; to command line ' id '4e91e65f-d20a-4b40-92fd-dc0cf8b3a812' date '9 December 2012' time '2:13:07 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.199' message 'supply missing method ' id '08382f05-1cf6-401e-9251-5a25f9e4f5bf' date '7 December 2012' time '5:44:02 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.198' message 'clean up issues with PluggableNode and extensionBlock and renderTextAttributeBlock ... start work on building interface to tests: /st/tests ' id '750b975e-6136-4b8a-9f81-1fda643b67dc' date '7 December 2012' time '4:50:49 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.197' message 'add extensionBlock and renderAttributeBlock TDPluggableNode ' id '05628e6c-630d-4bf0-813b-e6408f7b08dd' date '2 December 2012' time '8:51 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.196' message 'all all nodes to be copied and moved ... fix cp logic to correctly distinguish between leaf/dir destinations ' id '972fdc85-4a3c-4fd5-8f7d-c319bf250976' date '2 December 2012' time '8:24:16 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.195' message 'better results display... ' id '547ddc32-f860-42f6-af6d-660ac49ea376' date '1 December 2012' time '7:46:25 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.194' message 'allow for editting (read/write) of .run/st nodes ... makes for usable doit scenarios ' id '13cd53a1-ca66-46d3-bec8-26646f760cf9' date '1 December 2012' time '5:32:05 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.193' message 'finish first cut at halos implementation ... see halos command manPage ' id '0dd28775-246f-43f7-893f-e63e78c351b4' date '1 December 2012' time '4:48:43 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.192' message 'finish implementation of run command ' id '56026a69-7648-444e-9050-5633a6279697' date '1 December 2012' time '10:56:55 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.191' message 'implement /home/.run.st node ' id 'b8bb87ff-0531-4f32-9df0-ad767a5e9f0f' date '1 December 2012' time '8:57:16 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.190' message 'basic run command is functional ' id '0e12b316-442e-49cf-9eec-20c814224ef8' date '30 November 2012' time '7:48:46 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.189' message 'proper edit command behavior for editting various leaf nodes ' id 'a829a672-d9b0-4def-873e-3d0c537b7d6e' date '30 November 2012' time '4:12:59 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.188' message 'a bit of cleanup post execution work ' id '12a31f2d-8da4-45cf-91bb-88ac01df623e' date '30 November 2012' time '3:48:43 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.187' message 'execution of .st, .sh, and .tpz files is functional ... ' id 'f7af04c4-c80c-4328-a898-5153c906db02' date '30 November 2012' time '3:28:32 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.186' message 'add structure for /st, /st/classes, /st/globals, /st/symbolList ... checkpoint ' id '8ee707a6-eb2e-44f2-8dba-4ce918bc8da0' date '30 November 2012' time '12:25:12 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.185' message 'proper label for generic Object edit... ' id '90f0ffcc-503c-44c8-8df3-06266ac0f6a4' date '30 November 2012' time '10:31:50 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.184' message 'reimplement touch command to produce different types of leaf nodes: st, sh, tpz, and txt ' id 'b44bfe8b-e725-43f1-b850-28adedf9bc23' date '30 November 2012' time '8:43 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.183' message 'add Script, Topez, and Smalltalk leaf nodes ... pick some colors ' id '4bb55b54-d30f-475e-8858-407e8b530a82' date '29 November 2012' time '8:42:03 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.182' message 'restructure TDNode hierarchy a bit ... aiming for consistent rendering with emphasis and color providing clues to the node type, plus consistent use of extensions ' id '3edda364-6d62-4344-9957-34cc29ece9aa' date '29 November 2012' time '7:53:04 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.181' message 'parse path and allow path as command name to evaluate to a node and get the block from the node (executable) ' id 'f355529d-2665-4716-b92f-a14a82d5d7f0' date '29 November 2012' time '5:04:37 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.180' message 'a little more debugging ' id '08000000-1508-3c03-1508-3c0314000000' date '29 November 2012' time '4:47:25 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.179' message 'define standard .readme and finish up first cut at .readme ' id 'cde98442-4ec9-4f59-9367-e2369f9f3cdc' date '29 November 2012' time '4:22:25 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.178' message 'fine tune ston depth and critical block handling for TZGemStoneProxyBehavior ' id '08000000-1508-c212-1508-c21214000000' date '29 November 2012' time '3:53:46 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.177' message 'checkpoint ... writing man pages ' id 'c9b5d811-579e-4e16-8c88-b781f5d61445' date '29 November 2012' time '1:20:08 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.176' message 'finish off .readme implementation and fix the node printStrings ' id '22455f42-5689-4a77-81da-8d2fc1a636d8' date '29 November 2012' time '11:39:48 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.175' message 'implement man command ... make extension responsibility of node (not container) ... node stored in commands instead of block ... add .readme to nodes ' id '166dcde8-6833-45ad-b737-57d51a08196e' date '29 November 2012' time '10:33:18 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.174' message 'add .self and .node special nodes as trap doors for inspector/editor to get access to underlying object and tool object ' id 'b456ea15-8dec-46d6-ac88-f42a42e2df6a' date '28 November 2012' time '5:40:31 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.173' message 'can now cd into objects in shell ... cat node to get printString ' id '5de6e718-414c-4a44-8148-d5e176e536e0' date '28 November 2012' time '2:51:24 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.172' message 'fine tuning TDBlockNode implementation ' id 'a6afd85f-08b1-4acc-8153-92647f855415' date '28 November 2012' time '2:08:25 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.171' message 'normalize the edit window location and reuse window ' id '2d4caa2f-45c0-4e46-aa97-fafa8efba626' date '28 November 2012' time '10:27:42 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.170' message 'basic edit object ... need to add asTDObjectNode for navigation and pseudo inspector (or real inspector?) for true editting.... ' id '204d06a0-ae5c-4c59-a1c8-d10f4fd23d59' date '28 November 2012' time '8:25:04 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.169' message 'working towards generic object editting ' id 'fc3b182a-18f5-4daf-acf3-078b8999eda9' date '28 November 2012' time '8:03:57 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.168' message 'rename TDObjectNode to TDBlockNode then create TDObjectNode which can hold arbitrary objects in contents iv ... push around notion of edit:tokens:windowId: ' id '19d63982-5786-4078-a795-2a724187caed' date '28 November 2012' time '7:38:22 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.167' message 'sqap references to TDNode classes ... ' id '33904399-2ae2-4aa7-b64f-3e38c82096ea' date '28 November 2012' time '5:44:24 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.166' message 'copy TZNode hierarchy to TDNode hierarchy in preparation for .node and asTDNode work ' id '68ff017d-3884-4247-b9ef-e542460c24fb' date '28 November 2012' time '5:37:22 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.165' message 'touch, edit, save sequence is working for commands ... execution and two window view not tested/working ... CMD-l should refresh with newly saved contents ' id '17b0c536-1c3f-448b-92cd-234dabd7a769' date '27 November 2012' time '12:37:19 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.164' message 'push block creation to topez ... avoid platform-specific code in common-core ' id '08000000-1508-0c00-1508-0c0014000000' date '27 November 2012' time '11:53:22 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.163' message 'start work on seriously editting commands: adding new and saving source ' id '1cd142bf-30bb-4965-bcd2-508cf9783e73' date '27 November 2012' time '11:11:16 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.162' message 'tweak TDClientElement ... ' id '0caf175a-8307-4fcf-9fa0-b5f186746f79' date '27 November 2012' time '9:51:23 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.161' message 'TDClientList is passed into list editor and provides hook for the list allowing developer to filter/inspect/operate on elements of list to produce something new ... available from .window ' id '3cde0eb5-6620-4568-a60c-69c3b8190a42' date '27 November 2012' time '3:36:59 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.160' message 'Streamline the edit stack... ' id '69e36ccd-a6da-4648-91b8-3a98250f9712' date '27 November 2012' time '3:15:18 am' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.159' message 'clean up TZGsMessageSend calls ... TDClientSourceElement is functional ... editor opens correclty ... need to work on save ... ' id '3854d9d1-a1d7-4c5b-8a71-4a247ee9ff56' date '26 November 2012' time '8:58:05 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.158' message 'checkpoint for TDClientElement/TDClientSourceElement ... ' id 'ff5dcade-8272-46f1-95d3-ded246bdfe32' date '26 November 2012' time '8:33:33 am' author 'dkh' ancestors ((name 'Topez-Common-Core-DataCurator.157' message 'filling out behavior in TDClientElement and TDClientSourceElement ' id '9ad0672e-06aa-4dec-a782-efe6e4a353c3' date '26 November 2012' time '7:57:44 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-DataCurator.156' message 'starting work on TDClient/TDServer elements... ' id 'a22f2539-3a77-4495-b757-b122c9af4c38' date '26 November 2012' time '6:30:51 pm' author 'DataCurator' ancestors ((name 'Topez-Common-Core-dkh.155' message 'eliminate redundant method ' id '08000000-1508-6c11-1508-6c1114000000' date '21 November 2012' time '10:56:19 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.154' message 'final tweak for workaround for https://github.com/svenvc/ston/issues/4 ' id '50b86073-b790-48bf-b3fa-e22fe32193e1' date '20 November 2012' time '6:26:27 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.153' message 'workaround for https://github.com/svenvc/ston/issues/4' id 'b4eb1dd6-3583-48db-8ee5-1a9f69f8f639' date '20 November 2012' time '6:16:49 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.151' message 'more fine tuning of the SHOUT code base ' id 'fbb739ac-2559-4d89-b9f4-f2d45b2f5cb7' date '14 November 2012' time '3:16:10 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.150' message 'additional bugfixes for instance variable highlighting in GemStone ' id '4ec46afd-bd65-43df-b64e-bdffe6a2e5f2' date '14 November 2012' time '2:28:50 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.149' message 'fix some infant mortality issues with the SHOUT improvements ' id '171f061c-4d83-4b0b-b1a4-d48432ff77c9' date '14 November 2012' time '11:08:45 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.148' message 'improve SHOUT highlighting for GemStone ' id 'edae616b-8868-45d6-ba3d-8f573b1474c1' date '14 November 2012' time '9:50:52 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.147' message 'support for TZGsBlockSend and TZGsMessageSend which I think will be useful going forward ' id '6231f2fd-51a1-4e31-b585-909cdb99603a' date '14 November 2012' time '5:56:12 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.146' message 'additional elementSuperClassName support' id 'c05b79e1-39c5-4a2a-b078-cee24e22e336' date '11 November 2012' time '7:40:55 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.144' message 'support for diff command (MCDiffyTextWriter and friends) ' id '08000000-1508-ca02-1508-ca0214000000' date '1 November 2012' time '5:52:14 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.143' message 'fix bug in accumulateText (newlines missing sysinit split from init: sysinit does class initialization (and calls init) init just adds scripts to /topez/bin TZEvaluator class>>systemReinitialize added fix ininite print loop related to TZFrameMethodElement implement reload and save commands ' id '08000000-1508-be11-1508-be1114000000' date '1 November 2012' time '4:32:17 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.142' message 'address infinite loop potential in setting topez for proxies' id '08000000-1508-c205-1508-c20514000000' date '1 November 2012' time '10:24:37 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.141' message 'cmd-shift-b for instance element sets the instance in topaz along with the rest of the editors, so that the inspect command can be used on the selected instance ... ' id '3fee7c0e-c0b8-4e4d-91d5-3fa6c0251de0' date '31 October 2012' time '1:14:28 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.140' message 'more shell image structure ... clieck and keyboard events are now visible and edittable' id '1f944649-f530-4f38-b124-88468ff1bafa' date '31 October 2012' time '12:37:46 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.139' message 'restructure shell image structure (again) and fix bug in script saving ...' id '5759d489-8c80-413a-b9ca-89875bf46a7b' date '30 October 2012' time '9:48:44 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.138' message 'clean up shell image structure and get debugger working again ... shell-based and gui-based' id '5b4050d3-8367-4ffb-b7fe-ffd9c405ef16' date '30 October 2012' time '9:32:21 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.137' message 'avoid using references until https://github.com/svenvc/ston/issues/3 is resolved. I''ve got a patch that should work for STONREader if there is a loop in the traversal, but that patch may not be usable until the vm bug is resolved.' id '5f78ccf2-a025-49fa-840e-0ade6eacb5e0' date '30 October 2012' time '9:09:53 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.136' message 'checkpoint ... working on GenStone performance issues ...' id 'b027754d-44c2-4e28-87ec-6a64e91c6561' date '30 October 2012' time '7:35:13 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.135' message 'checkpoint ... working on GenStone performance issues ...' id '1eebf43d-640a-474b-8aa3-be699fbe5fb5' date '30 October 2012' time '7:32:20 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.134' message 'add TZGsStonWriter class with added support for storing proxy references ... plus other performance adjustments' id '95f18018-f040-4097-a751-e87d6da8be35' date '30 October 2012' time '4:10:52 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.133' message 'add TZGsStonWriter class with added support for storing proxy references ... plus other performance adjustments' id '5456c166-068e-4e76-8d96-a6abd3d94e0b' date '30 October 2012' time '4:08:51 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.132' message 'implement edit /projects/Gofer/classes/SystemOrganizer' id '8e47ad0c-4a55-4804-a339-c199e9ca3599' date '30 October 2012' time '11:27:14 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.131' message 'ls /projects/Topez/classes now working on GemStone' id '58a303b0-5948-4269-8250-f9ec14541d17' date '29 October 2012' time '7:38:54 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.130' message 'move lint command to native-only and create setClassProxy to avoid roundtrip when using name (to resolve to a class anyway)' id '08000000-1508-c211-1508-c21114000000' date '29 October 2012' time '2:46 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.129' message 'make lint happy' id '08000000-1508-5c07-1508-5c0714000000' date '29 October 2012' time '11:09:54 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.128' message 'edit /projects/Topez/classes is functional ... no need for prtests or prclasses...' id '24757c82-dc3a-41f1-8a75-dd9964db3b30' date '28 October 2012' time '12:54:09 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.127' message 'implement the beginnings of arbitrary object navigation via the shell ... /bin uses the same mechanism ... slapped together navigation for /projects/*/classes where /projects lists all Metacello projects' id 'eed70290-b4ef-4663-a085-797fc6f0f7e2' date '28 October 2012' time '11:46:24 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.126' message 'CTL-j for repeat last command....' id '95f9908f-b6dd-4822-aa6d-ee7f05aadee3' date '27 October 2012' time '10:05:52 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.125' message 'implement the creation/editting of shell commands through the shell itself ... using touch and edit ... BTW, the old edit and list commands should fade away...' id '49af8830-775a-4b23-8583-35d20eb1a836' date '27 October 2012' time '9:20:20 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.124' message 'add TZBinNode class that rlists the commands available in the system ... edit the commands too ... don''t try saving the commands yet ...Bin node is generated dynamically from the block list ... should have one for the clickBlocks and the printBlocks ...' id '02a041e0-b7b4-4b0b-83e7-6c368520f880' date '27 October 2012' time '12:29:07 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.123' message 'editting scripts' id '2324c0aa-f52d-4246-a17d-5676d2e6ec4b' date '26 October 2012' time '10:50:47 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.122' message 'add cp, mv, mkdr, rm touch commands' id '7f385931-6724-471d-9d9c-4e78b3019bf8' date '26 October 2012' time '9:31:20 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.121' message 'setting stage for editting the scripts....and objects from stash interface' id 'da51daae-03c1-4f63-9b08-1c812f4c9cb6' date '26 October 2012' time '8:29:19 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.120' message 'rename instance to inspect, reorganize script nodes, add cat (cd, ls, pwd and cat), rendering for nodes' id '08000000-1508-9806-1508-980614000000' date '26 October 2012' time '5:42:22 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.119' message 'basic stash implementation: ls cd pwd. The run, topez and instance commands work with node paths ' id '08000000-1508-f20d-1508-f20d14000000' date '26 October 2012' time '4:13:52 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.118' message 'a bit of cleanup' id '08000000-1508-9606-1508-960614000000' date '26 October 2012' time '10:56:52 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.117' message 'reduce GCI round trips by including literals (String, Symbol, Boolean, SmallInteger and Undefined) in the gemstone header. Also turn off STON pretty printing so the size of the payloads is reduced ...' id '0138a597-ec5c-496c-9866-5d5ae4490c3c' date '26 October 2012' time '12:25:43 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.116' message 'improve inspector display' id 'c622853b-38a6-4f45-a107-7d80efd5cd9a' date '25 October 2012' time '11:18:50 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.115' message 'checkpoint ... context inspector finally functional' id '3eb09848-8436-4261-a6ef-9f08fdd1a396' date '25 October 2012' time '10:50:40 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.114' message 'checkpoint' id '22f76575-5b7c-4fcb-bdb9-e54daba3e71b' date '25 October 2012' time '10:12:09 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.113' message 'add TZFrameContextElement for context inspector' id '53a57dd8-1370-4841-96d2-85bf0ae4106c' date '25 October 2012' time '9:34:45 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.112' message 'checkpoint adding context inspector' id '5bcf0a87-5d3f-4a38-acfa-97dcbf74ce04' date '25 October 2012' time '9:31:12 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.111' message 'hook up debugger and receiver inspector ' id '08000000-1508-1613-1508-161314000000' date '25 October 2012' time '4:58:30 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.110' message 'fix up inspector interaction ... probably need to close all windows and reopen fresh after updating (event mapping changed)' id '08000000-1508-cc09-1508-cc0914000000' date '25 October 2012' time '4:33:30 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.109' message 'fix up the inspector' id '08000000-1508-c417-1508-c41714000000' date '25 October 2012' time '4:07:11 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.108' message 'CMD-u (step into) and CMD-j (continue) key bindings implemented' id '4600d54e-1a9c-4e39-ba21-6d3ff2158bba' date '25 October 2012' time '12:21:31 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.107' message 'CMD-Shift-b added to trigger "class browser" hierarcy, definition and method display ... otherwise implementors/sender/references/debugger only change the code pan on selection ... inspector will do the same thing .... make sure that the setClass: is honored correctly sooner or later' id '842ad663-0f63-461b-a04a-927cf8666da7' date '24 October 2012' time '11:52:08 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.106' message 'update selection index on Cmd-t (step over) in debugger .... just code will be updated for speed ...' id '7a5e9387-b64e-44ee-a038-db48de8c2f49' date '24 October 2012' time '10:34:07 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.105' message 'straighten out selection hiccup' id 'e1686319-3d81-46aa-a360-6dd329f6a349' date '24 October 2012' time '9:38:03 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.104' message 'major method refactoring for the edit* methods ... need to have direct access to force selection of an item for debugger' id 'e9e91f84-325c-48bb-bff1-0ad363b74fac' date '24 October 2012' time '9:07:35 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.103' message 'define the debugger key strokes and start implementation with CMD-t step over ... functional, but need to work on window updating logic' id 'fe8156f8-3ffb-48b4-b401-e9fd7114341a' date '24 October 2012' time '6:59:19 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.102' message 'CMD-b keystroke mapping in lists' id '08000000-1508-c213-1508-c21314000000' date '24 October 2012' time '12:21:41 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.101' message 'start calculation selection range for frameMethods' id 'dc348cea-cae1-476c-89ec-1ed074ed212e' date '24 October 2012' time '8:56:29 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.98' message 'have need for FrameMethod' id 'c063c576-a7ef-4712-8aba-974e66db83e2' date '23 October 2012' time '11:55:56 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.97' message 'stack printing correctly via where' id 'b1278223-9c6e-4aed-81c7-b5a5a3563ac5' date '23 October 2012' time '11:34:36 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.96' message 'TZStackFrameElement used in stack ... finally:) ... still more work to do' id '2076f78f-775d-41cd-b3f2-7311edadb6b3' date '23 October 2012' time '9:51:40 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.95' message 'Cmd-p used for inspecting strings ... handling the Executed Code method for GemStone' id '74946c49-3ccc-4707-8e62-0c9a1c67d1cd' date '23 October 2012' time '8:36:29 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.94' message 'add some error handling (ignoring) for the StonWriter ... should surf over access errors' id '6328e996-864d-4f44-92d1-c43b0b33882e' date '23 October 2012' time '3:39:23 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.93' message 'stack frame element accessors' id '544d9140-6861-48d4-8434-72a28233a4ff' date '23 October 2012' time '2:41:46 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.92' message 'conversion of ClassElement to use factory (for recording instances) is complete' id '08000000-1508-f606-1508-f60614000000' date '23 October 2012' time '9:37:52 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.91' message 'preparing to cache TZElement instances for GemStone to avoid GC issues ... resolving this issue is why I converted to a instance-side TZEngine implementation' id '084f75ea-5331-4ef3-818f-fbb270c45335' date '23 October 2012' time '7:29:38 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.90' message 'push isMeta up the hierarchy' id '637ff77a-ee05-458d-a98d-966377a0f40e' date '23 October 2012' time '12:11:27 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.89' message 'checkpoint ... getting the native proxy class handling straightened out...' id '8104e348-68f3-4c1f-8161-92d19e8602ee' date '22 October 2012' time '11:33:51 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.88' message 'use #name instead of #className' id '4070e249-dd7b-45c8-8c3a-ab2111e966e5' date '22 October 2012' time '10:25:57 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.87' message 'fix inspector printing' id '826b704a-c5e9-4c6b-9796-d908d4b32616' date '22 October 2012' time '8:49:50 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.86' message 'revert a change from earlier' id '950cc18f-e9a0-48d3-9aa0-7b5e054c2e1b' date '22 October 2012' time '8:35:35 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.85' message 'checkpoint ... bring up debugger on error ... clean up behavior for GemStone' id 'b2919236-75ab-4cc3-a55d-073d5d5762b5' date '22 October 2012' time '8:07:52 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.84' message 'improve CMD-o implementation, allow pasting (CMD-v) of methods into instance/class selectors panes thus forcing isMeta to match (can move class-side methods to instance and vice versa)' id '08000000-1508-e614-1508-e61414000000' date '22 October 2012' time '2:08:22 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.83' message 'checkpoint' id '08000000-1508-ea1d-1508-ea1d14000000' date '22 October 2012' time '1:39:23 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.82' message 'performance tweak and fix initialization problems for gemstone' id '08000000-1508-a81d-1508-a81d14000000' date '22 October 2012' time '12:17:20 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.81' message 'assorted tweaks' id '08000000-1508-fa00-1508-fa0014000000' date '22 October 2012' time '11:34:14 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.80' message 'usability tweaks while working on debugger' id '8a274e33-2fbf-43c8-a379-da918665b7ca' date '22 October 2012' time '8:17:45 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.79' message 'debugger checkpoint ... make room for reciever window ... open receiver window on click in debugger' id 'f685f5d2-6e20-4fbf-82c0-5fe178331cc9' date '21 October 2012' time '8:59:08 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.78' message 'getting started on initial implementation of debugger' id '8eda723f-3b5a-4571-984b-9cf087e02b63' date '21 October 2012' time '4:36:11 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.77' message 'tweaks and tests for the inspector' id '884bcc30-d5d1-4faa-87a2-05b1105eca05' date '21 October 2012' time '12:52:11 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.76' message 'checkpoint ... green tests' id '283b15e8-7130-4a15-b177-35ba8d36c15a' date '20 October 2012' time '8:16:38 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.75' message 'delete the TZTopezCmd hierarchy ... not really used' id '8b2dedeb-bf6d-4da7-b3e9-eb03ff510c26' date '19 October 2012' time '5:41:40 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.74' message 'clickBlock for inspector' id 'a15f5543-25fe-4d54-8e1c-87e3daae3578' date '19 October 2012' time '4:29:38 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.73' message 'tweaks plus add navigation to inspector' id '70810893-e7bf-4197-8de8-6c30566ebee8' date '19 October 2012' time '4:14:44 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.72' message 'inspector clickBlock' id '463d264d-7f9f-44e9-89de-a626a8be373d' date '19 October 2012' time '1:51:59 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.71' message 'checkpoint .. looks like I''m producing the instance elements correctly...' id '3fa31622-ec5b-446d-ae4f-99e57cf61969' date '19 October 2012' time '1:31:31 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.70' message 'checkpoint ... instance concept shaping up' id 'a4c45b1c-1488-4e82-a380-95bcbdfb1a51' date '19 October 2012' time '8:26:41 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.69' message 'fix shadowed instance variable' id 'c24355b2-352d-4cef-9a07-0b4b74e68b4e' date '18 October 2012' time '9:06:36 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.68' message 'create instance element the centerpiece of the "inspector"' id 'f827ba5a-1150-41c9-90e5-5a98554e7a56' date '18 October 2012' time '8:51:54 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.67' message 'have to have out own variants of Shout parser to be able to do remote shout highlighting ...' id '08000000-1508-4e1e-1508-4e1e14000000' date '18 October 2012' time '4:56:53 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.66' message 'get TZMessageElement sort order straightened out' id '08000000-1508-8002-1508-800214000000' date '18 October 2012' time '10:14:17 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.65' message 'native tests green' id 'f0a79105-94da-4c49-814f-25063de48278' date '17 October 2012' time '7:42:30 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.64' message 'Ctrl-c now copies the object to the object clipboard and the label text is copied to the text clipboard' id '9db06dea-d868-44bb-bdc5-700626e8e5fc' date '17 October 2012' time '7:44:30 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.63' message 'rename instance variables in the TZElement hierarchy to get rid of proxy in name ... too confusing ... native tests are now passing (except the new ones)' id 'b8df9f6d-05be-41f3-a50d-198caedf5333' date '16 October 2012' time '8:45:42 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.62' message 'checkpoint ... adding Ctrl-o action ... need to switch out parentElement and use codeTemplateElement ...' id '08000000-1508-c218-1508-c21814000000' date '16 October 2012' time '5:22:55 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.61' message 'Ctrl- x, c, v, n, m, N commands implemented. Ctrl x - delete element (class or method) Ctrl c - copy method into buffer Ctrl v - paste method onto class (add method to class) Ctrl N - referencesTo: class Ctrl m - implementors Ctrl n - senders ' id '08000000-1508-8808-1508-880814000000' date '16 October 2012' time '4:18:24 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.60' message '`list references` and `edit references` implemented ... keyboard mapping honored as well' id 'fafa8d4d-7a06-4c2b-aaf0-053cd30d2185' date '15 October 2012' time '9:27:49 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.59' message 'fix label for messages...' id 'ce4b1761-8842-4cad-9bb1-da950d1495b4' date '15 October 2012' time '8:23:30 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.58' message 'fine tune implementors and senders ' id '03cb3308-ed4d-4e5d-a96c-0d2cd00ed226' date '15 October 2012' time '6:59:13 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.57' message '`list hierarchy` and `edit hierarchy` commands adjust window layout replace superclass and subclass windows with a single hierarchy window in clickblock logic' id '08000000-1508-8a11-1508-8a1114000000' date '15 October 2012' time '5:26:27 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.56' message 'implementation of `edit implementors` and `edit senders` plus keymapping' id '08000000-1508-b404-1508-b40414000000' date '15 October 2012' time '3:20:15 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.55' message 'initial implementation of `list implementors` and `list senders`' id '08000000-1508-ee19-1508-ee1914000000' date '15 October 2012' time '2:37:01 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.54' message 'add TZMessageElement ... used to represent a message in lists ... sort by class hierarchy ...' id '96bdcf3b-7456-4c58-9d2b-7df5d7d7ce13' date '15 October 2012' time '8:45:02 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.53' message 'green tests' id '1edeee95-917e-4cf4-bb3c-fe68d99c502a' date '14 October 2012' time '5:14:47 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.52' message 'use elementClassName for TZClassElement' id 'fa4c266c-c926-416b-95a4-5486e64b48a8' date '14 October 2012' time '12:58:41 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.51' message 'working on `edit class` and `find class` commands' id 'ef5c93f9-62ed-4255-a5bd-1800c3bc14ce' date '14 October 2012' time '12:38:50 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.50' message 'class names and selectors left as Symbols, since String variants my not be persisted and are subject to gc ... avoid having to manage gci references as long as possible:)' id '4d9d5dff-9e9a-4cf3-84a1-471683893bd8' date '14 October 2012' time '10:32:42 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.49' message '`logout` and `close` commands added. address class name gc issue for gemstone.' id '14094b79-7ce0-4c8d-8716-b6b7d0152a0b' date '14 October 2012' time '9:25:45 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.48' message 'checkpoint ... accept method work for GemStone' id '5bed6f4b-c704-4eaf-9dee-04c312d90687' date '14 October 2012' time '8:34:40 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.47' message 'fix another tiny buglet' id 'ce031358-d2b4-42b4-ace8-6fbaff042335' date '13 October 2012' time '6:45:40 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.46' message '`edit class` command and accpet method' id '08000000-1508-a614-1508-a61414000000' date '12 October 2012' time '3:58:39 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.45' message 'add window closing logic so that closed windows are cleaned up along with sessions' id '08000000-1508-2801-1508-280114000000' date '12 October 2012' time '11:50:57 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.44' message 'create fixed/named locations for windows' id '08000000-1508-ea1a-1508-ea1a14000000' date '12 October 2012' time '11:12:59 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.43' message 'class>>selector label for code windows ...' id '4fa002d1-35ce-4ce4-84c0-bbc3e5ab971c' date '11 October 2012' time '8:12:37 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.42' message 'a bit of cleanup and add CTRL-s ... spawn window' id '08000000-1508-0410-1508-041014000000' date '11 October 2012' time '5:15:46 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.41' message 'gemstone working again' id '08000000-1508-bc10-1508-bc1014000000' date '11 October 2012' time '4:22:06 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.40' message 'checkpoint ... share with server' id '08000000-1508-f004-1508-f00414000000' date '11 October 2012' time '3:54:39 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.39' message 'fix initialization' id '08000000-1508-301f-1508-301f14000000' date '11 October 2012' time '3:18:01 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.38' message 'checkpoint ... working on getting recent additions working in GemStone (hierarchy, sublcasses, history, etc.)' id '08000000-1508-980f-1508-980f14000000' date '11 October 2012' time '3:15:14 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.37' message 'implement history and rename classHierarchy to superclass' id '08000000-1508-aa03-1508-aa0314000000' date '11 October 2012' time '12:07:56 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.36' message 'add hierarcy and subclasses commands (edit and list varieties)' id '22847d2b-c61a-4922-8200-157ac6f405d7' date '11 October 2012' time '8:18:44 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.35' message 'multi-line evalute (making copy/paste in evaluator window feasible) add input command for executing topez scripts run command can execute named run scripts topez command can execute named topez scripts edit run/input/topez scripts list scripts' id 'a829b8c8-d7d7-44be-a381-bf6877994c65' date '10 October 2012' time '6:06:48 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.34' message 'refactoring so I can add a filter to the listEditor and add `topez` command so that I can define the listEditor filter from within topez' id 'b352ba2b-bd50-4e33-be1d-42c5282048d0' date '10 October 2012' time '12:56:04 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.33' message '`edit prclasses` is working for GemStone' id 'db98090b-1b36-4429-97a6-5117ad452341' date '10 October 2012' time '8:56:30 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.32' message 'debugging pharo-side after giving more responsibility to the TZElement classes' id '08000000-1508-781d-1508-781d14000000' date '9 October 2012' time '4:51:41 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.31' message 'putting more responsibility into the TZElement classes' id '08000000-1508-e40e-1508-e40e14000000' date '9 October 2012' time '4:19:30 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.30' message 'named windows, id 0 gives new windowid and single click action' id '7d0e6f55-5de9-4859-b8ca-c2cd05a130ca' date '9 October 2012' time '7:58:23 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.29' message 'single click in selector pane changes code pane' id 'efbd9fdb-5959-4ba9-a381-4b88b63599fb' date '8 October 2012' time '7:57:05 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.28' message 'class selectors support and green tests' id '9fd4833e-0e6d-42f1-a962-d0f086093603' date '8 October 2012' time '6:47:27 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.27' message 'reconstruct ClassBrowser from deconstructed elements' id '08000000-1508-0a1b-1508-0a1b14000000' date '8 October 2012' time '2:42:01 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.26' message 'hook up pieces of the deconstructed browser' id 'fef73994-b93a-43bf-be11-52c761e65e9d' date '8 October 2012' time '7:55:35 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.25' message 'prclasses is a list of TZClassHierarchyElements ... make it feasible to do intersting things when the items are clicked...' id '9b7b782f-0efd-4c28-8501-5ee09e57296c' date '7 October 2012' time '9:22:47 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.24' message 'arrange for building indented and emphasized class list for project classes ...' id 'b1eb97f4-e6ed-4f7d-b3ea-24200cc82dcb' date '7 October 2012' time '7:31:41 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.23' message 'prclasses support' id '18b03741-021f-4c83-b98a-8826b60ce89a' date '7 October 2012' time '6:31:24 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.22' message 'implement `set project`' id 'a3e02d9f-c3b8-445a-b209-85bfeebc14a6' date '7 October 2012' time '4:17:29 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.21' message 'switching context with `edit` command sets current class ...' id 'ad9d5d8b-670e-4985-aff7-f4310f1161d9' date '7 October 2012' time '2:30:33 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.20' message 'sort selectors enable up/down arrow keys' id '9b5ae408-517a-46dd-af44-c209133e1e95' date '6 October 2012' time '2:11:28 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.19' message 'implement `list selectors` and `list cselectors`' id '3aca3108-08f2-4fc7-b1f6-0a255364b486' date '6 October 2012' time '12:17:40 pm' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.18' message 'eliminate trailing cr on all proxy printStrings' id '3f69ad28-30c7-4f4d-b218-af6e8aae5dd9' date '6 October 2012' time '10:45:18 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.17' message 'implement window/buffer switching for `edit` command' id 'bae8152b-63ea-4523-bdb8-cb03948f4118' date '6 October 2012' time '5:26:47 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.16' message 'checkpoint ... list method source, class definition, etc. added in preparation for step' id '08000000-1508-3a0e-1508-3a0e14000000' date '5 October 2012' time '5:23:43 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.15' message 'checkpoint ... more prep work for step ...' id '08000000-1508-6202-1508-620214000000' date '5 October 2012' time '3:50:46 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.14' message 'checkpoint ... preparing for step implementation' id '08000000-1508-e013-1508-e01314000000' date '5 October 2012' time '2:31:36 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.13' message 'checkpoint ... progress with native topez ... run and where are working ...' id '08000000-1508-121c-1508-121c14000000' date '5 October 2012' time '2:02:07 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.12' message 'move tzProxyClass to server core to support native operations' id '5bc77e74-dc97-468e-bc7d-13ca3469bd07' date '5 October 2012' time '10:25:57 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.11' message 'tests green after refactoring' id 'f000daf9-9b03-43ca-882e-acbcbc8c69a7' date '5 October 2012' time '8:17:10 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.10' message 'native header work' id '43c399c7-66d8-45a3-b908-bb2dabd31807' date '5 October 2012' time '8:02:27 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.9' message 'more reorganization' id '9273cbf9-3e13-450f-9651-5872a9a2f88a' date '5 October 2012' time '7:53:11 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.8' message 'introducing native topz evaluator' id '5ccc6262-2c2d-464b-b032-17990d146cdf' date '5 October 2012' time '7:44:41 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.7' message '`set class`, `edit class`, `edit selectors` commands implemented ... list editor and string editor' id '78b7ea09-c403-4dd7-8333-c926c7324c46' date '4 October 2012' time '8:18:19 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.6' message 'tweak String proxyPrintString handling' id '08000000-1508-7a12-1508-7a1214000000' date '4 October 2012' time '4:27:28 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.5' message 'render list method using SHout' id '08000000-1508-bc1a-1508-bc1a14000000' date '4 October 2012' time '4:17:36 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.4' message 'convert to using #renderText:on:indent: instead of print... add Text emphasis to all command output...' id '08000000-1508-ee04-1508-ee0414000000' date '4 October 2012' time '3:29:59 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.3' message 'renaming package reparations' id '8c77413f-3f6f-4b1c-bcfc-601450141309' date '4 October 2012' time '8:30:56 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.2' message 'start rendering text' id '7b024fe5-17b4-4929-a439-e100859e21f2' date '4 October 2012' time '8:27:13 am' author 'dkh' ancestors ((name 'Topez-Common-Core-dkh.1' message 'rename Topez-STON to Topez-Common-Core, Topez-STONTests to Topez-CommonTests, and Topez-Pharo-STON to Topez-Pharo-Common' id '08000000-1508-c60d-1508-c60d14000000' date '3 October 2012' time '4:11:59 am' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDClientElementTestCase.class/instance/testClientElementSerialization.st b/repository/Topez-Common-Tests.package/TDClientElementTestCase.class/instance/testClientElementSerialization.st index f46290237..d7a42e2b0 100644 --- a/repository/Topez-Common-Tests.package/TDClientElementTestCase.class/instance/testClientElementSerialization.st +++ b/repository/Topez-Common-Tests.package/TDClientElementTestCase.class/instance/testClientElementSerialization.st @@ -2,7 +2,7 @@ as yet unclassified testClientElementSerialization "only certain instance variables should retain their value going across the wire. See #excludedInstVarNames" - | clientClientElement serverClientElement stonString | + | clientClientElement serverClientElement stonString serializer ivs | serverClientElement := TodeClientElement new topez: #'topez'; theObject: #'theObject'; @@ -19,9 +19,12 @@ testClientElementSerialization windowBuilder: #'windowBuilder'; yourself. serverClientElement blockCache add: #'blockCacheEntry'. - stonString := STON toString: serverClientElement. - clientClientElement := STON fromString: stonString. - TodeClientElement allInstVarNames + serializer := TodeObjectSerializer preferredSerializer. + stonString := serializer toString: serverClientElement. + clientClientElement := serializer fromString: stonString. + ivs := TodeClientElement allInstVarNames asSet. + ivs removeAllFoundIn: #(#'usePersistentClientElementCache' #'timestamp'). + ivs do: [ :iv | | ivName | ivName := iv asSymbol. diff --git a/repository/Topez-Common-Tests.package/TDClientElementTestCase.class/methodProperties.json b/repository/Topez-Common-Tests.package/TDClientElementTestCase.class/methodProperties.json index 7c5cad074..c75c66ebd 100644 --- a/repository/Topez-Common-Tests.package/TDClientElementTestCase.class/methodProperties.json +++ b/repository/Topez-Common-Tests.package/TDClientElementTestCase.class/methodProperties.json @@ -2,4 +2,4 @@ "class" : { }, "instance" : { - "testClientElementSerialization" : "dkh 06/18/2014 16:51" } } + "testClientElementSerialization" : "dkh 8/18/2015 16:49" } } diff --git a/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/assert.shouldParse.into..st b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/assert.shouldParse.into..st index 1be0ada13..bc22e07f6 100644 --- a/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/assert.shouldParse.into..st +++ b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/assert.shouldParse.into..st @@ -4,7 +4,7 @@ assert: commandLine shouldParse: shouldParse into: expectedCommands parsed := false. count := 1. TDCommandLine - line: commandLine + fromStream: commandLine readStream forEachCommand: [ :command | | tokens expectedTokens expectedCommand | parsed := true. diff --git a/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/test08.st b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/test08.st index 978625a3d..3ef0fd89a 100644 --- a/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/test08.st +++ b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/test08.st @@ -2,8 +2,4 @@ as yet unclassified test08 self assert: 'browse method #> > xxx' - parsesInto: - {(TDCommandLine new - tokens: #('browse' 'method' '#>'); - redirectTarget: 'xxx'; - yourself)} \ No newline at end of file + parsesInto: {(TDCommandLine new tokens: #('browse' 'method') yourself)} \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/test09.st b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/test09.st index 64e71db17..d140816e0 100644 --- a/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/test09.st +++ b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/test09.st @@ -1,8 +1,8 @@ as yet unclassified test09 self - assert: 'query `this is a test'' " < ; string`' + assert: 'query `this is a test'' " < ; # \ string\`' parsesInto: {(TDCommandLine new - tokens: #('query' 'this is a test'' " < ; string'); + tokens: #('query' 'this is a test'' " < ; # \ string\'); yourself)} \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/test21.st b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/test21.st new file mode 100644 index 000000000..f95ad57ff --- /dev/null +++ b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/test21.st @@ -0,0 +1,14 @@ +as yet unclassified +test21 + | commandLine sawCommands | + commandLine := 'command -c foo arg1 > result + skipMe subcommand -c foo arg1 > result +command subcommand -c foo arg1 > result'. + sawCommands := false. + TDCommandLine + fromStream: commandLine readStream + selectLine: [ :cmdLine | cmdLine beginsWith: 'command' ] + forEachCommand: [ :command | + self assert: command command = 'command'. + sawCommands := true ]. + self assert: sawCommands \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/testBackSlashNewLineEscape.st b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/testBackSlashNewLineEscape.st new file mode 100644 index 000000000..787211782 --- /dev/null +++ b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/testBackSlashNewLineEscape.st @@ -0,0 +1,25 @@ +as yet unclassified +testBackSlashNewLineEscape + self + assert: + 'ls +cd \ + /home' + parsesInto: + {(TDCommandLine new + tokens: #('ls'); + yourself). + (TDCommandLine new + tokens: #('cd' '/home'); + yourself)}. + self + assert: + './gemServer \ +--register=seaside --type=zinc \ +--port=1750 --log=all \ + --logTo=transcript' + parsesInto: + {(TDCommandLine new + tokens: + #('./gemServer' '--register=seaside' '--type=zinc' '--port=1750' '--log=all' '--logTo=transcript'); + yourself)} \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/testHashComment.st b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/testHashComment.st new file mode 100644 index 000000000..118bcce17 --- /dev/null +++ b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/instance/testHashComment.st @@ -0,0 +1,34 @@ +as yet unclassified +testHashComment + self + assert: 'cd /home/bin/xxx; ls' + parsesInto: + {(TDCommandLine new + tokens: + {'cd'. + '/home/bin/xxx'}; + yourself). + (TDCommandLine new + tokens: {'ls'}; + yourself)}. + self + assert: 'cd /home/bin/xxx#; ls' + parsesInto: + {(TDCommandLine new + tokens: + {'cd'. + '/home/bin/xxx'}; + yourself)}. + self + assert: 'c > xxx' + parsesInto: + {(TDCommandLine new + tokens: #('c'); + redirectTarget: 'xxx'; + yourself)}. + self + assert: 'c #> xxx' + parsesInto: + {(TDCommandLine new + tokens: #('c'); + yourself)} \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/methodProperties.json b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/methodProperties.json index f6d2cfdcc..ef56e4203 100644 --- a/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/methodProperties.json +++ b/repository/Topez-Common-Tests.package/TDCommandLineTestCase.class/methodProperties.json @@ -3,7 +3,7 @@ }, "instance" : { "assert:parsesInto:" : "dkh 5/16/2013 18:21", - "assert:shouldParse:into:" : "dkh 5/16/2013 19:19", + "assert:shouldParse:into:" : "dkh 12/17/2014 15:30", "test01" : "dkh 5/16/2013 19:41", "test02" : "dkh 5/16/2013 19:47", "test03" : "dkh 5/16/2013 19:34", @@ -11,8 +11,8 @@ "test05" : "dkh 5/16/2013 19:48", "test06" : "dkh 5/16/2013 19:50", "test07" : "dkh 5/16/2013 19:51", - "test08" : "dkh 5/16/2013 19:52", - "test09" : "dkh 05/20/2013 22:32", + "test08" : "dkh 12/17/2014 15:44", + "test09" : "dkh 12/17/2014 16:09", "test10" : "dkh 11/10/2013 07:04", "test11" : "dkh 11/10/2013 07:05", "test12" : "dkh 11/10/2013 07:33", @@ -23,4 +23,7 @@ "test17" : "dkh 11/10/2013 11:47", "test18" : "dkh 11/11/2013 18:51", "test19" : "dkh 11/11/2013 19:16", - "test20" : "dkh 03/30/2014 09:56" } } + "test20" : "dkh 03/30/2014 09:56", + "test21" : "dkh 12/17/2014 16:41", + "testBackSlashNewLineEscape" : "dkh 12/17/2014 16:20", + "testHashComment" : "dkh 12/17/2014 16:08" } } diff --git a/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/README.md b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/objectStructure.st b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/objectStructure.st new file mode 100644 index 000000000..71d0ee805 --- /dev/null +++ b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/objectStructure.st @@ -0,0 +1,8 @@ +private +objectStructure + ^ Dictionary new + at: 'string' put: 'élève en Français'; + at: 'unicode16' put: self unicode16TestString; + at: 'unicode32' put: self unicode16TestString; + at: 'text' put: 'élève en Français' asText allBold; + yourself \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/protocolSignatureFor051.st b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/protocolSignatureFor051.st new file mode 100644 index 000000000..b19d53efd --- /dev/null +++ b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/protocolSignatureFor051.st @@ -0,0 +1,4 @@ +private +protocolSignatureFor051 + ^ {'STON'. + '0.5.1'} \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/protocolSignatureFor091.st b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/protocolSignatureFor091.st new file mode 100644 index 000000000..cac276b9c --- /dev/null +++ b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/protocolSignatureFor091.st @@ -0,0 +1,4 @@ +private +protocolSignatureFor091 + ^ {'STON'. + '0.9.1'} \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/test051To051.st b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/test051To051.st new file mode 100644 index 000000000..e9b83064a --- /dev/null +++ b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/test051To051.st @@ -0,0 +1,11 @@ +tests +test051To051 + | serializer1 serializer2 | + serializer1 := TodeObjectSerializer + serializeUsing: self protocolSignatureFor051. + serializer2 := TodeObjectSerializer + serializeUsing: self protocolSignatureFor051. + self + assert: + (serializer2 fromString: (serializer1 toString: self objectStructure)) + = self objectStructure \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/test051To091.st b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/test051To091.st new file mode 100644 index 000000000..396dada65 --- /dev/null +++ b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/test051To091.st @@ -0,0 +1,11 @@ +tests +test051To091 + | serializer1 serializer2 | + serializer1 := TodeObjectSerializer + serializeUsing: self protocolSignatureFor051. + serializer2 := TodeObjectSerializer + serializeUsing: self protocolSignatureFor091. + self + assert: + (serializer2 fromString: (serializer1 toString: self objectStructure)) + = self objectStructure \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/test091To091.st b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/test091To091.st new file mode 100644 index 000000000..d90395179 --- /dev/null +++ b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/test091To091.st @@ -0,0 +1,11 @@ +tests +test091To091 + | serializer1 serializer2 | + serializer1 := TodeObjectSerializer + serializeUsing: self protocolSignatureFor091. + serializer2 := TodeObjectSerializer + serializeUsing: self protocolSignatureFor091. + self + assert: + (serializer2 fromString: (serializer1 toString: self objectStructure)) + = self objectStructure \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/unicode16TestString.st b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/unicode16TestString.st new file mode 100644 index 000000000..9b43cbc3f --- /dev/null +++ b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/unicode16TestString.st @@ -0,0 +1,6 @@ +private +unicode16TestString + "Cannot embed Unicode16 or Unicode32 strings in 2.x methods" + + ^ 'Я можу їсти скло, і воно мені не зашкодить.' + decodeFromUTF8 \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/unicode32TestString.st b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/unicode32TestString.st new file mode 100644 index 000000000..a2e9253eb --- /dev/null +++ b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/instance/unicode32TestString.st @@ -0,0 +1,5 @@ +private +unicode32TestString + "Cannot embed Unicode16 or Unicode32 strings in 2.x methods" + + ^ '𣎏' decodeFromUTF8 \ No newline at end of file diff --git a/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/methodProperties.json b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/methodProperties.json new file mode 100644 index 000000000..d9dc625b0 --- /dev/null +++ b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/methodProperties.json @@ -0,0 +1,12 @@ +{ + "class" : { + }, + "instance" : { + "objectStructure" : "dkh 06/29/2015 11:08", + "protocolSignatureFor051" : "dkh 06/29/2015 11:02", + "protocolSignatureFor091" : "dkh 06/29/2015 11:02", + "test051To051" : "dkh 06/29/2015 11:38", + "test051To091" : "dkh 06/29/2015 11:09", + "test091To091" : "dkh 06/29/2015 11:05", + "unicode16TestString" : "dkh 06/29/2015 10:59", + "unicode32TestString" : "dkh 06/29/2015 10:59" } } diff --git a/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/properties.json b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/properties.json new file mode 100644 index 000000000..ae2322ef6 --- /dev/null +++ b/repository/Topez-Common-Tests.package/TDObjectSerializerTestCase.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Common-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDObjectSerializerTestCase", + "pools" : [ + ], + "super" : "TestCase", + "type" : "normal" } diff --git a/repository/Topez-Common-Tests.package/monticello.meta/version b/repository/Topez-Common-Tests.package/monticello.meta/version index 2aaf81272..affc1d0ac 100644 --- a/repository/Topez-Common-Tests.package/monticello.meta/version +++ b/repository/Topez-Common-Tests.package/monticello.meta/version @@ -1 +1 @@ -(name 'Topez-Common-Tests-dkh.22' message 'Issue #75: rip up all of the old keyboard block support' id 'b6df618d-4e97-41b5-bf0e-10cc0c860f27' date '06/18/2014' time '17:08:35' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.21' message 'Issue #75: merge keymapped functionality into TodeListEditor' id '0ee69c10-ac0a-4d74-8939-9e38ffb5a441' date '06/18/2014' time '04:07:30' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.20' message 'arrange infrastructure to support primary commands with options and subcommands with options and arguments ...' id '94341a29-504f-4870-93e0-e6202014e7ca' date '03/30/2014' time '10:55:23' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.19' message 'porting to Pharo3.0' id 'c027a123-9b92-42e4-be59-0b310adfd627' date '03/23/2014' time '08:23:09' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.18' message 'tweak getOpts to handle multiple single char options (-abves) correctly when doing mixed option handling' id 'ba611921-f73b-4fbe-b0c2-ebec22e6e6d0' date '11/16/2013' time '13:08:56' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.17' message 'TDCommandLine: make the calculation of argPtrs stream implementation independent, plus fix a bug when naked command is parsed ... a couple more tests covering this corner case ... proposed fix for Pharo1.4/Pharo2.0 compat issue in tests' id '6ca8ddfc-5421-4901-a662-25ef176381ba' date '11/11/2013' time '21:11:35' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.16' message 'Rename some of the methods. getOpts* is a better pattern ... monkey with TDManPage to make it easier to create a man page for a script (in the script), also add EXAMPLES section to man page' id 'f3a28a04-18b5-4b29-8c26-35792a209e19' date '11/11/2013' time '17:51:59' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.15' message 'Issue #16: fix a parsing error (plus tests) ... move helper method for doing mixed long and short getOpts from gs tool to TDCommandLine and TDCommandGetOpts ... beef up `gs fileout` command for class/package/category fileouts with options!... write methods as UTF8 ... consolidate fileout methods ..' id '2832e571-4d4c-4407-9958-ab3e30db1da6' date '11/11/2013' time '14:49:52' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.14' message 'Issue #16: add in escape character ($`) for arguments ... consolidate argument parsing' id 'c0d0facf-d8f2-4b77-8c87-ad63774a2ddf' date '11/11/2013' time '08:43:43' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.13' message 'Issue #16: splice the short/long/mixed option handling into TDAbstractDevTool ... TDAbstractDevTool>>processCommandOptions: helper method for creating mixed option specs and getting command options ... implement option/arg handling for `ston rsync` command' id '33394aeb-084d-4841-b983-67ef7809abe3' date '11/10/2013' time '16:57:04' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.12' message 'Issue #16: now handling short/long/mixed getopts ... ' id 'f14ea576-6776-477c-8b06-da97babccbae' date '11/10/2013' time '15:31:30' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.11' message 'Issue #16: okay, okay, add long getOpts support ... next up is mixed long/short support...might as well just bite the bullet' id 'e34cd4d3-3cae-446d-bfac-c0cdc275c142' date '11/10/2013' time '13:59:56' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.10' message 'Issue #16: TDCommandLine integration complete including getOpt support... current scheme for command blocks is: [:topez :objIn :tokens :todeCommand | ... ] but tokens arg tends to be ignored in favor of todeCommand arg ... tokens IV in TDAbstractDevTool is set automatically ... for handling options http://www.gnu.org/software/libc/manual/html_node/Getopt.html#Getopt was used as spec and the options/args IVs set by calling TDAbstractDevTool>>getOpts: with an optionsSpec (i.e., ''abc:'') ... long options not supported yet' id 'fc7d3899-607a-4f2d-b3bf-b1fbaa855de1' date '11/10/2013' time '12:08:23' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.9' message 'Issue #16: merge TDCommandGetOpts into TDCommandLine ... ready for trial by fire' id 'faa41d01-48ff-43eb-805c-a043f6f56407' date '11/10/2013' time '07:47:20' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.8' message 'checkpoint: Issue #16: writing getOpts for tODE in preparation for Issue #37: `ston rsync`' id 'c3b035fd-b361-4951-a953-07eac2028e04' date '11/10/2013' time '06:33:04' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.7' message 'clean up TDClientElementTestCase>>testClientElementSerialization' id '4647de43-b8af-4cc0-814e-e22593fa0216' date '10/20/2013' time '20:57:18' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.6' message 'address test failure: TDClientElementTestCase>>testClientElementSerialization ... update MCMetacelloTodeTool implementation and ignore ''Metacello-Cypress'' package for ConfigurationOfMetacello ...' id 'bf9bd809-9f61-4178-aae1-8519f4cac11d' date '10/05/2013' time '15:39:44' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.5' message 'get server tests passing again, with recent changes ... use $` to delimit tokens in command line, can be used to pass strings into commands (like commit messages) or escape tokens containing $; or $> ... ' id 'ce69b8a1-b77a-4ab2-b638-2b36e4c5e018' date '05/20/2013' time '22:36:43' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.4' message 'use TDCommandLine to parse shell command line ... add nit tests ' id 'c0a66a33-fc7e-4c79-9b0d-e61f3f008803' date '05/16/2013' time '08:13:40' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.1' message 'get started on writing common tests' id '86a6c45b-43ce-47be-a05f-e1feffd11f86' date '04/29/2013' time '12:23:36' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Topez-Common-Tests-dkh.32' message 'Issue #184: clean up tests' id '0fea3450-1090-4f25-bfe7-166491eba29c' date '18 August 2015' time '4:50:41.673882 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.31' message 'Issue #184: `windows restore` is basically functional ... still some fine tuning to do, but basically in business ... added timestamp to client element ' id '6cb39d5e-efb7-45cd-a7f9-20e22e2104c6' date '18 August 2015' time '4:11:28 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.30' message 'Issue #175: put TodeObjectSerializer with new (0.9.3) implementation of STON...' id '76848479-2e6a-4572-8554-45002aeaefca' date '29 June 2015' time '2:43:58 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.29' message 'Issue #175: convert to using 091 serializer ... add some tests ... 051 serializer not converted to new scheme yet' id 'c58aa181-a736-4d98-a612-ef6ba54e4859' date '29 June 2015' time '11:13:50 am' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.28' message 'Issue #175: convert all users of STON in tODE to use #objectSerializer method ' id 'a404a076-6e43-4514-949f-d4a45d9249e9' date '25 June 2015' time '4:35:46 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.27' message 'Issue #175: major edit to start using the new protocol introduced in STON v0.9.? and pharo-0.9.1?. v0.9.1 and pharo-0.9.1 are on the gemstone_dev and pharo_dev branches so that travis tests can be run ... ' id '55d55ec8-bdb3-4d04-bc65-f0c7af8d91f3' date '24 June 2015' time '5:23:07 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.26' message 'Issue #129: add TDCommandLine class>>fromStream:selectLine:forEachCommand: ... needed for TDShell processing since come command lines are "cached" instread of directly executed ... added test ... hooke new capability into TDShell ... need to tweak interactive behavior' id '324b7830-37a9-4992-a7fb-48aed5abc1a7' date '17 December 2014' time '4:58:55 am' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.25' message 'Issue 129: nextLine returns an empty collection or nil dependending upon platform ... fix bogus test' id '625b1da4-2ce6-4451-b2b2-0c8fa29d5fec' date '17 December 2014' time '4:22:06 am' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.24' message 'Issue #129: flesh out the tests' id '18c4b0ca-885f-432b-a487-b4790bac1cd6' date '17 December 2014' time '4:16:10 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.23' message 'Issue #129: add TDCommandLine class>>fromStream:forEachCommand: so that \ can be used to join lines in a muli-line scenario ... add and update tests ' id '0d7d4415-4862-4ec5-984b-382120560b76' date '17 December 2014' time '3:58:23 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.22' message 'Issue #75: rip up all of the old keyboard block support' id 'b6df618d-4e97-41b5-bf0e-10cc0c860f27' date '18 June 2014' time '5:08:35 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.21' message 'Issue #75: merge keymapped functionality into TodeListEditor' id '0ee69c10-ac0a-4d74-8939-9e38ffb5a441' date '18 June 2014' time '4:07:30 am' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.20' message 'arrange infrastructure to support primary commands with options and subcommands with options and arguments ...' id '94341a29-504f-4870-93e0-e6202014e7ca' date '30 March 2014' time '10:55:23 am' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.19' message 'porting to Pharo3.0' id 'c027a123-9b92-42e4-be59-0b310adfd627' date '23 March 2014' time '8:23:09 am' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.18' message 'tweak getOpts to handle multiple single char options (-abves) correctly when doing mixed option handling' id 'ba611921-f73b-4fbe-b0c2-ebec22e6e6d0' date '16 November 2013' time '1:08:56 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.17' message 'TDCommandLine: make the calculation of argPtrs stream implementation independent, plus fix a bug when naked command is parsed ... a couple more tests covering this corner case ... proposed fix for Pharo1.4/Pharo2.0 compat issue in tests' id '6ca8ddfc-5421-4901-a662-25ef176381ba' date '11 November 2013' time '9:11:35 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.16' message 'Rename some of the methods. getOpts* is a better pattern ... monkey with TDManPage to make it easier to create a man page for a script (in the script), also add EXAMPLES section to man page' id 'f3a28a04-18b5-4b29-8c26-35792a209e19' date '11 November 2013' time '5:51:59 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.15' message 'Issue #16: fix a parsing error (plus tests) ... move helper method for doing mixed long and short getOpts from gs tool to TDCommandLine and TDCommandGetOpts ... beef up `gs fileout` command for class/package/category fileouts with options!... write methods as UTF8 ... consolidate fileout methods ..' id '2832e571-4d4c-4407-9958-ab3e30db1da6' date '11 November 2013' time '2:49:52 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.14' message 'Issue #16: add in escape character ($`) for arguments ... consolidate argument parsing' id 'c0d0facf-d8f2-4b77-8c87-ad63774a2ddf' date '11 November 2013' time '8:43:43 am' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.13' message 'Issue #16: splice the short/long/mixed option handling into TDAbstractDevTool ... TDAbstractDevTool>>processCommandOptions: helper method for creating mixed option specs and getting command options ... implement option/arg handling for `ston rsync` command' id '33394aeb-084d-4841-b983-67ef7809abe3' date '10 November 2013' time '4:57:04 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.12' message 'Issue #16: now handling short/long/mixed getopts ... ' id 'f14ea576-6776-477c-8b06-da97babccbae' date '10 November 2013' time '3:31:30 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.11' message 'Issue #16: okay, okay, add long getOpts support ... next up is mixed long/short support...might as well just bite the bullet' id 'e34cd4d3-3cae-446d-bfac-c0cdc275c142' date '10 November 2013' time '1:59:56 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.10' message 'Issue #16: TDCommandLine integration complete including getOpt support... current scheme for command blocks is: [:topez :objIn :tokens :todeCommand | ... ] but tokens arg tends to be ignored in favor of todeCommand arg ... tokens IV in TDAbstractDevTool is set automatically ... for handling options http://www.gnu.org/software/libc/manual/html_node/Getopt.html#Getopt was used as spec and the options/args IVs set by calling TDAbstractDevTool>>getOpts: with an optionsSpec (i.e., ''abc:'') ... long options not supported yet' id 'fc7d3899-607a-4f2d-b3bf-b1fbaa855de1' date '10 November 2013' time '12:08:23 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.9' message 'Issue #16: merge TDCommandGetOpts into TDCommandLine ... ready for trial by fire' id 'faa41d01-48ff-43eb-805c-a043f6f56407' date '10 November 2013' time '7:47:20 am' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.8' message 'checkpoint: Issue #16: writing getOpts for tODE in preparation for Issue #37: `ston rsync`' id 'c3b035fd-b361-4951-a953-07eac2028e04' date '10 November 2013' time '6:33:04 am' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.7' message 'clean up TDClientElementTestCase>>testClientElementSerialization' id '4647de43-b8af-4cc0-814e-e22593fa0216' date '20 October 2013' time '8:57:18 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.6' message 'address test failure: TDClientElementTestCase>>testClientElementSerialization ... update MCMetacelloTodeTool implementation and ignore ''Metacello-Cypress'' package for ConfigurationOfMetacello ...' id 'bf9bd809-9f61-4178-aae1-8519f4cac11d' date '5 October 2013' time '3:39:44 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.5' message 'get server tests passing again, with recent changes ... use $` to delimit tokens in command line, can be used to pass strings into commands (like commit messages) or escape tokens containing $; or $> ... ' id 'ce69b8a1-b77a-4ab2-b638-2b36e4c5e018' date '20 May 2013' time '10:36:43 pm' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.4' message 'use TDCommandLine to parse shell command line ... add nit tests ' id 'c0a66a33-fc7e-4c79-9b0d-e61f3f008803' date '16 May 2013' time '8:13:40 am' author 'dkh' ancestors ((name 'Topez-Common-Tests-dkh.1' message 'get started on writing common tests' id '86a6c45b-43ce-47be-a05f-e1feffd11f86' date '29 April 2013' time '12:23:36 pm' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-GemStone-Server-33x-Core.package/.filetree b/repository/Topez-GemStone-Server-33x-Core.package/.filetree new file mode 100644 index 000000000..8998102c2 --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/README.md b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/class/pf.st b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/class/pf.st new file mode 100644 index 000000000..5ec515e97 --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/class/pf.st @@ -0,0 +1,8 @@ +pf +pf + "override implementation of pf command in TDProfileTool" + + "self install" + + + ^ super pf \ No newline at end of file diff --git a/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/class/pfstartManPage.st b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/class/pfstartManPage.st new file mode 100644 index 000000000..30b2e9fa9 --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/class/pfstartManPage.st @@ -0,0 +1,45 @@ +pf +pfstartManPage + "Additional options for pf start command in GemStone 3.3" + + | manPage | + manPage := TDManPage + commandName: 'start' + fromString: + 'NAME + pf start - Begin sampling data + +SYNOPSIS + pf start [--sampling=cpu|real] [--tally=[execTime|objFaults|pageFaults|edenUsage|gcTime|objCreation] + +DESCRIPTION + Note that profiling of page faults and object faults will detect + the change in the number of faults at start of a method. + Thus a sample at the start of a method will be seeing deltas + from execution of the previous method. + Total faults will be correctly attributed to the caller of the method being entered. + +OPTIONS + --sampling=cpu|real + elapsed time measured as cpu or real time. Default is cpu. + + --tally=execTime|objFaults|pageFaults|edenUsage|gcTime|objCreation + edenUsage + execTime + gcTime + objFaults + objCreation + pageFaults + +EXAMPLES + pf start + pf start --sampling=cpu + pf start --sampling=real + pf start --tally=execTime + pf start --tally=objCreation + pf start --tally=objFaults + pf start --tally=pageFaults + pf start --tally=edenUsage + pf start --tally=gcTime +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/class/priority.st b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/class/priority.st new file mode 100644 index 000000000..09b27e574 --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/class/priority.st @@ -0,0 +1,6 @@ +initialization +priority + "default initialization AFTER TDProfileTool" + + + ^ 55 \ No newline at end of file diff --git a/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/defaultSortKey.st b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/defaultSortKey.st new file mode 100644 index 000000000..ddf833b8a --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/defaultSortKey.st @@ -0,0 +1,3 @@ +private +defaultSortKey + ^ 'tally' \ No newline at end of file diff --git a/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/pfStart..2.st b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/pfStart..2.st new file mode 100644 index 000000000..06a2a7696 --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/pfStart..2.st @@ -0,0 +1,3 @@ +smalltalk api +pfStart + ^ self pfStart: nil tally: nil \ No newline at end of file diff --git a/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/pfStart.tally..st b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/pfStart.tally..st new file mode 100644 index 000000000..0accc7c5a --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/pfStart.tally..st @@ -0,0 +1,28 @@ +smalltalk api +pfStart: sampling tally: tally + | optionsArray | + optionsArray := {}. + sampling + ifNotNil: [ + (#(#'cpu' #'real') includes: sampling asSymbol) + ifFalse: [ + self + error: + 'Invalid sampling: ' , sampling printString , '. Should be cpu or real.' ]. + optionsArray add: sampling ]. + tally + ifNotNil: [ + (#(#'objCreation' #'objFaults' #'pageFaults' #'edenUsage' #'gcTime' #'execTime') + includes: tally asSymbol) + ifFalse: [ + self + error: + 'Invalid tally: ' , tally printString + , + '. Should be objCreation, objFaults, pageFaults, edenUsage, gcTime, or execTime.' ]. + tally asSymbol ~= #'execTime' + ifTrue: [ optionsArray add: tally ] ]. + ^ ProfMonitor new + setOptions: optionsArray; + startMonitoring; + yourself \ No newline at end of file diff --git a/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/pfStart.trace..st b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/pfStart.trace..st new file mode 100644 index 000000000..39b7ed1b7 --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/pfStart.trace..st @@ -0,0 +1,28 @@ +smalltalk api +pfStart: sampling trace: tracing + | optionsArray | + optionsArray := {}. + sampling + ifNotNil: [ + (#(#'cpu' #'real') includes: sampling asSymbol) + ifFalse: [ + self + error: + 'Invalid sampling: ' , sampling printString , '. Should be cpu or real.' ]. + optionsArray add: sampling ]. + tracing + ifNotNil: [ + (#(#'objFaults' #'pageFaults' #'edenUsage' #'gcTime' #'execTime') + includes: tracing asSymbol) + ifFalse: [ + self + error: + 'Invalid tracing: ' , tracing printString + , + '. Should be objFaults, pageFaults, edenUsage, gcTime, or execTime.' ]. + tracing asSymbol ~= #'execTime' + ifTrue: [ optionsArray add: tracing ] ]. + ^ ProfMonitor new + setOptions: optionsArray; + startMonitoring; + yourself \ No newline at end of file diff --git a/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/pfstart..1.st b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/pfstart..1.st new file mode 100644 index 000000000..305a710c8 --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/instance/pfstart..1.st @@ -0,0 +1,15 @@ +tode commands +pfstart + " + pf start [--sampling=cpu|real] [--tally=[execTime|objFaults|pageFaults|edenUsage|gcTime|objCreation] +" + + | sampling tally | + self + getSubcommandOptsMixedLongShort: + {#('sampling' nil #'required'). + #('tally' nil #'required')}. + subOptions at: 'sampling' ifPresent: [ :arg | sampling := arg ]. + subOptions at: 'tally' ifPresent: [ :arg | tally := arg ]. + self pfclean. + self class profMonitor: (self pfStart: sampling tally: tally) \ No newline at end of file diff --git a/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/methodProperties.json b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/methodProperties.json new file mode 100644 index 000000000..24b7eff0d --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/methodProperties.json @@ -0,0 +1,11 @@ +{ + "class" : { + "pf" : "dkh 06/10/2015 12:13", + "pfstartManPage" : "dkh 06/30/2015 16:24", + "priority" : "dkh 06/10/2015 12:12" }, + "instance" : { + "defaultSortKey" : "dkh 07/03/2015 15:52", + "pfStart" : "dkh 06/11/2015 09:12", + "pfStart:tally:" : "dkh 06/30/2015 16:27", + "pfStart:trace:" : "dkh 06/10/2015 15:09", + "pfstart" : "dkh 06/30/2015 16:25" } } diff --git a/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/properties.json b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/properties.json new file mode 100644 index 000000000..cd6a2b2e2 --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/TDProfileTool33.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-GemStone-Server-33x-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDProfileTool33", + "pools" : [ + ], + "super" : "TDProfileTool", + "type" : "normal" } diff --git a/repository/Topez-GemStone-Server-33x-Core.package/monticello.meta/categories.st b/repository/Topez-GemStone-Server-33x-Core.package/monticello.meta/categories.st new file mode 100644 index 000000000..7de5be10a --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'Topez-GemStone-Server-33x-Core'! diff --git a/repository/Topez-GemStone-Server-33x-Core.package/monticello.meta/initializers.st b/repository/Topez-GemStone-Server-33x-Core.package/monticello.meta/initializers.st new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-GemStone-Server-33x-Core.package/monticello.meta/package b/repository/Topez-GemStone-Server-33x-Core.package/monticello.meta/package new file mode 100644 index 000000000..e992c5de6 --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Topez-GemStone-Server-33x-Core') \ No newline at end of file diff --git a/repository/Topez-GemStone-Server-33x-Core.package/monticello.meta/version b/repository/Topez-GemStone-Server-33x-Core.package/monticello.meta/version new file mode 100644 index 000000000..6d574ce25 --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'Topez-GemStone-Server-33x-Core-dkh.5' message 'Pushing things around for the object creation view ... sort by tally and sort by tally class ... want to display total object count as well as object count by class in summary view and then when viewing callers/senders stack get a chance to switch to a different class ... the ProfMon provides separate call stacks segregated by class ..' id '48f77969-a4d2-4933-b935-cee1e3f45ef4' date '07/03/2015' time '16:09:44' author 'dkh' ancestors ((name 'Topez-GemStone-Server-33x-Core-dkh.4' message 'add objCreation option for `pf` command ... not quite done as I may want to add an object creation report to the browser' id '8028a7bb-6528-4850-921a-f4f22c8ab988' date '06/30/2015' time '16:47:48' author 'dkh' ancestors ((name 'Topez-GemStone-Server-33x-Core-dkh.3' message 'final round of format tweaks ... will wait for new traceObjetCreation api for further `pf` work' id 'f05689b9-f847-4f00-9b3a-ba635b3bd963' date '06/12/2015' time '11:34:18' author 'dkh' ancestors ((name 'Topez-GemStone-Server-33x-Core-dkh.2' message 'checkpoint ... fiddle formatting to accomodate edenUsage' id 'df82f41b-c3b0-4cc0-9b0a-dbb78dad57bd' date '06/11/2015' time '16:47:10' author 'dkh' ancestors ((name 'Topez-GemStone-Server-33x-Core-dkh.1' message 'support the new profiling features in GemStone 3.3: - new package and tool class (TDProfileTool33 - implement smalltalk api in TDProfileTool - add options to selected TDProfileTool commands - intial implementation of new 3.3 features' id '17fd889d-7cda-4404-be13-1a68b5ea3203' date '06/11/2015' time '10:06:20' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-GemStone-Server-33x-Core.package/properties.json b/repository/Topez-GemStone-Server-33x-Core.package/properties.json new file mode 100644 index 000000000..f037444a7 --- /dev/null +++ b/repository/Topez-GemStone-Server-33x-Core.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/Topez-Pharo-Common.package/FormCanvas.extension/instance/drawString.from.to.in.font.color.underline.underlineColor.strikethrough.strikethroughColor..st b/repository/Topez-Pharo-Common.package/FormCanvas.extension/instance/drawString.from.to.in.font.color.underline.underlineColor.strikethrough.strikethroughColor..st new file mode 100644 index 000000000..f02131798 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/FormCanvas.extension/instance/drawString.from.to.in.font.color.underline.underlineColor.strikethrough.strikethroughColor..st @@ -0,0 +1,29 @@ +*topez-pharo-common +drawString: aString from: firstIndex to: lastIndex in: bounds font: fontOrNil color: c underline: underline underlineColor: uc strikethrough: strikethrough strikethroughColor: sc + | font portRect endPoint | + port colorMap: nil. + portRect := port clipRect. + port clipByX1: bounds left + origin x + y1: bounds top + origin y + x2: bounds right + origin x + y2: bounds bottom + origin y. + font := fontOrNil ifNil: [TextStyle defaultFont]. + port combinationRule: Form paint. + font installOn: port + foregroundColor: c + backgroundColor: Color transparent. + endPoint := font displayString: aString asString on: port + from: firstIndex to: lastIndex at: (bounds topLeft + origin) kern: 0. + underline ifTrue:[ + font installOn: port + foregroundColor: uc + backgroundColor: Color transparent. + font displayUnderlineOn: port from: (bounds topLeft + origin + (0@font ascent)) to: endPoint. + ]. + strikethrough ifTrue:[ + font installOn: port + foregroundColor: uc + backgroundColor: Color transparent. + font displayStrikeoutOn: port from: (bounds topLeft + origin + (0@font ascent)) to: endPoint. + ]. + port clipRect: portRect. \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/FormCanvas.extension/methodProperties.json b/repository/Topez-Pharo-Common.package/FormCanvas.extension/methodProperties.json new file mode 100644 index 000000000..08b8488aa --- /dev/null +++ b/repository/Topez-Pharo-Common.package/FormCanvas.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "drawString:from:to:in:font:color:underline:underlineColor:strikethrough:strikethroughColor:" : "dkh 1/25/2015 16:06" } } diff --git a/repository/Topez-Pharo-Common.package/FormCanvas.extension/properties.json b/repository/Topez-Pharo-Common.package/FormCanvas.extension/properties.json new file mode 100644 index 000000000..ec323cdac --- /dev/null +++ b/repository/Topez-Pharo-Common.package/FormCanvas.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "FormCanvas" } diff --git a/repository/Topez-Pharo-Common.package/GsGCIProcessTerminationNotification.class/instance/customDefaultAction.st b/repository/Topez-Pharo-Common.package/GsGCIProcessTerminationNotification.class/instance/customDefaultAction.st index 596166030..3008b394a 100644 --- a/repository/Topez-Pharo-Common.package/GsGCIProcessTerminationNotification.class/instance/customDefaultAction.st +++ b/repository/Topez-Pharo-Common.package/GsGCIProcessTerminationNotification.class/instance/customDefaultAction.st @@ -1,4 +1,4 @@ accessing customDefaultAction ^ {#'gciMainTerminated'. - (STON toString: 'GCI main terminated...')} \ No newline at end of file + (self topez objectSerializer toString: 'GCI main terminated...')} \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/GsGCIProcessTerminationNotification.class/methodProperties.json b/repository/Topez-Pharo-Common.package/GsGCIProcessTerminationNotification.class/methodProperties.json index 55bb7408a..7b5885c50 100644 --- a/repository/Topez-Pharo-Common.package/GsGCIProcessTerminationNotification.class/methodProperties.json +++ b/repository/Topez-Pharo-Common.package/GsGCIProcessTerminationNotification.class/methodProperties.json @@ -2,4 +2,4 @@ "class" : { }, "instance" : { - "customDefaultAction" : "dkh 7/14/2013 15:53" } } + "customDefaultAction" : "dkh 6/25/2015 17:04" } } diff --git a/repository/Topez-Pharo-Common.package/GsRuntimeExceptionNotification.class/instance/customDefaultAction.st b/repository/Topez-Pharo-Common.package/GsRuntimeExceptionNotification.class/instance/customDefaultAction.st index dd8108c5e..0efd22c92 100644 --- a/repository/Topez-Pharo-Common.package/GsRuntimeExceptionNotification.class/instance/customDefaultAction.st +++ b/repository/Topez-Pharo-Common.package/GsRuntimeExceptionNotification.class/instance/customDefaultAction.st @@ -2,7 +2,9 @@ accessing customDefaultAction | answer | Smalltalk isHeadless - ifTrue: [ Error signal: 'GemStone Server error: ' , self description ]. + ifTrue: [ + ^ {#logStack. + (self description)} ]. answer := UIManager default confirm: (self description withNoLineLongerThan: 80) trueChoice: 'Proceed' @@ -16,4 +18,4 @@ customDefaultAction answer ifTrue: [ ^ #resume ]. ^ {#abort. - (STON toString: 'Aborted...')} \ No newline at end of file + (self topez objectSerializer toString: 'Aborted...')} \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/GsRuntimeExceptionNotification.class/methodProperties.json b/repository/Topez-Pharo-Common.package/GsRuntimeExceptionNotification.class/methodProperties.json index 73b682f35..efdc32d7d 100644 --- a/repository/Topez-Pharo-Common.package/GsRuntimeExceptionNotification.class/methodProperties.json +++ b/repository/Topez-Pharo-Common.package/GsRuntimeExceptionNotification.class/methodProperties.json @@ -4,7 +4,7 @@ "instance" : { "contextAsOopType" : "dkh 3/29/2013 13:45", "convertTDEvaluateTokenResponseToText" : "dkh 3/29/2013 13:56", - "customDefaultAction" : "dkh 7/28/2014 19:54", + "customDefaultAction" : "dkh 6/25/2015 17:04", "defaultAction" : "dkh 3/29/2013 14:08", "description" : "dkh 3/29/2013 13:16", "errorNumber" : "dkh 3/30/2013 16:27", diff --git a/repository/Topez-Pharo-Common.package/StashShellTtyTextMorphForEditView.class/instance/filterAndForwardEvent..st b/repository/Topez-Pharo-Common.package/StashShellTtyTextMorphForEditView.class/instance/filterAndForwardEvent..st new file mode 100644 index 000000000..0376813e5 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/StashShellTtyTextMorphForEditView.class/instance/filterAndForwardEvent..st @@ -0,0 +1,3 @@ +editing +filterAndForwardEvent: event + (self editView filterAndForwardEvent: event) ifNotNil: [ ^ super keyStroke: event ] \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/StashShellTtyTextMorphForEditView.class/instance/keyStroke..st b/repository/Topez-Pharo-Common.package/StashShellTtyTextMorphForEditView.class/instance/keyStroke..st index 60083633a..bd1f7bdac 100644 --- a/repository/Topez-Pharo-Common.package/StashShellTtyTextMorphForEditView.class/instance/keyStroke..st +++ b/repository/Topez-Pharo-Common.package/StashShellTtyTextMorphForEditView.class/instance/keyStroke..st @@ -1,3 +1,3 @@ editing keyStroke: event - (self editView model filterAndForwardEvent: event) ifNotNil: [ ^ super keyStroke: event ] \ No newline at end of file + ^self filterAndForwardEvent: event \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/StashShellTtyTextMorphForEditView.class/methodProperties.json b/repository/Topez-Pharo-Common.package/StashShellTtyTextMorphForEditView.class/methodProperties.json index f683b9327..d1ad9422a 100644 --- a/repository/Topez-Pharo-Common.package/StashShellTtyTextMorphForEditView.class/methodProperties.json +++ b/repository/Topez-Pharo-Common.package/StashShellTtyTextMorphForEditView.class/methodProperties.json @@ -3,5 +3,6 @@ }, "instance" : { "editorClass" : "dkh 6/18/2014 20:03", + "filterAndForwardEvent:" : "dkh 12/17/2014 20:35", "handleKeystroke:" : "dkh 7/30/2014 17:48", - "keyStroke:" : "dkh 7/30/2014 17:37" } } + "keyStroke:" : "dkh 12/17/2014 20:30" } } diff --git a/repository/Topez-Pharo-Common.package/TDConfirm.extension/instance/interact.st b/repository/Topez-Pharo-Common.package/TDConfirm.extension/instance/interact.st index 0012faef0..565dc0a00 100644 --- a/repository/Topez-Pharo-Common.package/TDConfirm.extension/instance/interact.st +++ b/repository/Topez-Pharo-Common.package/TDConfirm.extension/instance/interact.st @@ -3,10 +3,14 @@ interact | choice | self isHeadless ifTrue: [ ^ self interactHeadless ]. - choice := UIManager default - confirm: self prompt - trueChoice: self confirm - falseChoice: self cancel. - ^ choice - ifNil: [ false ] - ifNotNil: [ choice ] \ No newline at end of file + self abort isNil + ifTrue: [ + choice := UIManager default confirm: self prompt trueChoice: self confirm falseChoice: self cancel. + ^ choice ifNil: [ false ] ifNotNil: [ choice ] ] + ifFalse: [ + ^ UIManager default + confirm: self prompt + trueChoice: self confirm + falseChoice: self cancel + cancelChoice: self abort + default: nil ] \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TDConfirm.extension/methodProperties.json b/repository/Topez-Pharo-Common.package/TDConfirm.extension/methodProperties.json index ae412e766..8131e0408 100644 --- a/repository/Topez-Pharo-Common.package/TDConfirm.extension/methodProperties.json +++ b/repository/Topez-Pharo-Common.package/TDConfirm.extension/methodProperties.json @@ -2,6 +2,6 @@ "class" : { }, "instance" : { - "interact" : "dkh 7/25/2014 14:34", + "interact" : "dkh 1/16/2015 11:12", "interactHeadless" : "dkh 7/25/2014 14:34", "printLabel" : "dkh 7/25/2014 14:30" } } diff --git a/repository/Topez-Pharo-Common.package/TDMultiLineText.extension/instance/interact.st b/repository/Topez-Pharo-Common.package/TDMultiLineText.extension/instance/interact.st index a36e5fae4..dd83de352 100644 --- a/repository/Topez-Pharo-Common.package/TDMultiLineText.extension/instance/interact.st +++ b/repository/Topez-Pharo-Common.package/TDMultiLineText.extension/instance/interact.st @@ -1,5 +1,7 @@ *topez-pharo-common interact + self isHeadless + ifTrue: [ ^ self interactHeadless ]. ^ UIManager default multiLineRequest: self prompt initialAnswer: self template diff --git a/repository/Topez-Pharo-Common.package/TDMultiLineText.extension/methodProperties.json b/repository/Topez-Pharo-Common.package/TDMultiLineText.extension/methodProperties.json index a4c186391..455589e04 100644 --- a/repository/Topez-Pharo-Common.package/TDMultiLineText.extension/methodProperties.json +++ b/repository/Topez-Pharo-Common.package/TDMultiLineText.extension/methodProperties.json @@ -2,4 +2,4 @@ "class" : { }, "instance" : { - "interact" : "dkh 10/20/2013 19:54" } } + "interact" : "dkh 3/11/2015 18:02" } } diff --git a/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/README.md b/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/instance/getModelState.st b/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/instance/getModelState.st new file mode 100644 index 000000000..d2e297dea --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/instance/getModelState.st @@ -0,0 +1,9 @@ +accessing +getModelState + model ifNil: [ ^ false ]. + ^ getStateSelector + ifNil: [ false ] + ifNotNil: [ + getStateSelector numArgs = 0 + ifTrue: [ model perform: getStateSelector ] + ifFalse: [ model perform: getStateSelector withEnoughArguments: self stateSelectorArgument ] ] \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/instance/getStateSelector..st b/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/instance/getStateSelector..st new file mode 100644 index 000000000..49a3a6cbb --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/instance/getStateSelector..st @@ -0,0 +1,3 @@ +accessing +getStateSelector: aSymbol + getStateSelector := aSymbol \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/instance/stateSelectorArgument..st b/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/instance/stateSelectorArgument..st new file mode 100644 index 000000000..357073246 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/instance/stateSelectorArgument..st @@ -0,0 +1,4 @@ +accessing +stateSelectorArgument: anObject + + stateSelectorArgument := anObject \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/instance/stateSelectorArgument.st b/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/instance/stateSelectorArgument.st new file mode 100644 index 000000000..bccf6552d --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/instance/stateSelectorArgument.st @@ -0,0 +1,4 @@ +accessing +stateSelectorArgument + + ^ stateSelectorArgument \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/methodProperties.json b/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/methodProperties.json new file mode 100644 index 000000000..6b58cb766 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/methodProperties.json @@ -0,0 +1,8 @@ +{ + "class" : { + }, + "instance" : { + "getModelState" : "dkh 8/19/2015 10:58", + "getStateSelector:" : "dkh 8/19/2015 16:05", + "stateSelectorArgument" : "dkh 8/19/2015 10:57", + "stateSelectorArgument:" : "dkh 8/19/2015 10:57" } } diff --git a/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/properties.json b/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/properties.json new file mode 100644 index 000000000..3696ab7de --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TZPluggableButtonMorph.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Pharo-Common", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "stateSelectorArgument" ], + "name" : "TZPluggableButtonMorph", + "pools" : [ + ], + "super" : "PluggableButtonMorph", + "type" : "normal" } diff --git a/repository/Topez-Pharo-Common.package/TZPluggableTextMorph.class/instance/promptForCancel.st b/repository/Topez-Pharo-Common.package/TZPluggableTextMorph.class/instance/promptForCancel.st new file mode 100644 index 000000000..7f86bf122 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TZPluggableTextMorph.class/instance/promptForCancel.st @@ -0,0 +1,19 @@ +styling +promptForCancel + "Ask for the appropriate action to take when unaccepted contents + would be overwritten." + + | choice | + choice := UIManager default + confirm: 'Code has been modified.\What do you want to do?' translated withCRs + trueChoice: 'Accept' translated + falseChoice: 'Discard' translated + cancelChoice: 'Cancel' translated + default: nil. + choice + ifNotNil: [ + choice + ifTrue: [ self accept ] + ifFalse: [ self model clearUserEditFlag ]. + ^ false ]. + ^ true \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TZPluggableTextMorph.class/methodProperties.json b/repository/Topez-Pharo-Common.package/TZPluggableTextMorph.class/methodProperties.json index b45661a27..45d8ad367 100644 --- a/repository/Topez-Pharo-Common.package/TZPluggableTextMorph.class/methodProperties.json +++ b/repository/Topez-Pharo-Common.package/TZPluggableTextMorph.class/methodProperties.json @@ -11,6 +11,7 @@ "insertAfterSelection:" : "dkh 3/24/2014 20:57", "inspectIt" : "dkh 10/14/2012 19:31", "printIt" : "dkh 10/14/2012 19:34", + "promptForCancel" : "dkh 8/17/2015 16:01", "stylerClass" : "dkh 10/18/2012 20:57", "textMorphClass" : "dkh 10/14/2012 19:10", "update:" : "dkh 1/7/2014 07:49" } } diff --git a/repository/Topez-Pharo-Common.package/TZSystemWindow.class/instance/openAsIsIn..st b/repository/Topez-Pharo-Common.package/TZSystemWindow.class/instance/openAsIsIn..st new file mode 100644 index 000000000..c9508b187 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TZSystemWindow.class/instance/openAsIsIn..st @@ -0,0 +1,19 @@ +resize/collapse +openAsIsIn: aWorld + "This msg and its callees result in the window being activeOnlyOnTop. + Play the open sound if the preference is enabled." + + self playOpenSound. + aWorld addMorph: self. + true + ifTrue: [ self activate ] + ifFalse: [ + "flakey keybooard activation" + self basicActivate ]. + aWorld startSteppingSubmorphsOf: self. + self announceOpened. + World announcer + announce: + (WindowOpened new + window: self; + yourself) \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TZSystemWindow.class/methodProperties.json b/repository/Topez-Pharo-Common.package/TZSystemWindow.class/methodProperties.json index 64804e9a2..66a7fb61b 100644 --- a/repository/Topez-Pharo-Common.package/TZSystemWindow.class/methodProperties.json +++ b/repository/Topez-Pharo-Common.package/TZSystemWindow.class/methodProperties.json @@ -7,5 +7,6 @@ "handlesKeyboard:" : "dkh 10/16/2012 03:31", "keyStroke:" : "dkh 10/16/2012 03:30", "minimizeOrRestore" : "dkh 10/13/2012 18:49", + "openAsIsIn:" : "dkh 4/17/2015 06:22", "windowLocation" : "dkh 8/26/2014 06:11", "windowLocation:" : "dkh 8/26/2014 06:11" } } diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/README.md b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/activateModel..st b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/activateModel..st new file mode 100644 index 000000000..a278f57e5 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/activateModel..st @@ -0,0 +1,3 @@ +framework +activateModel: aModel + aModel activateButtonBarEditor \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buildButtonBarMorph.st b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buildButtonBarMorph.st new file mode 100644 index 000000000..39e6a986e --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buildButtonBarMorph.st @@ -0,0 +1,40 @@ +framework +buildButtonBarMorph + | row switches | + switches := OrderedCollection new. + 1 to: self switchSpecs size do: [ :index | + | switch switchSpec switchLabel switchBalloonText | + switchSpec := self switchSpecs at: index. + (switchSpec at: 5) + ifTrue: [ self buttonBarState: (switchSpec at: 1) ]. + switchLabel := switchSpec at: 3. + switchBalloonText := switchSpec at: 4. + switch := (TZPluggableButtonMorph on: self getState: nil action: nil) + stateSelectorArgument: {index}; + getStateSelector: #switchState:; + actionBlock: [ self switchAction: index ]; + label: switchLabel; + setBalloonText: switchBalloonText; + borderWidth: 1; + borderColor: Color gray; + yourself. + switches add: switch ]. + row := AlignmentMorph newRow + hResizing: #spaceFill; + vResizing: #spaceFill; + cellInset: 0; + borderWidth: 0; + layoutInset: 0; + yourself. + switches do: [ :switch | row addMorphBack: switch ]. + row color: Color white. + switches + do: [ :switch | + switch + color: Color transparent; + hResizing: #spaceFill; + vResizing: #spaceFill ]. + buttonBarMorph + baseMorph: row; + height: row minExtent y. + ^ buttonBarMorph \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buildOverflowMorph.st b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buildOverflowMorph.st new file mode 100644 index 000000000..720547213 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buildOverflowMorph.st @@ -0,0 +1,4 @@ +framework +buildOverflowMorph + buttonBarMorph := OverflowRowMorph new. + ^ buttonBarMorph \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buttonBarMorph.st b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buttonBarMorph.st new file mode 100644 index 000000000..0b66c7f2e --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buttonBarMorph.st @@ -0,0 +1,3 @@ +accessing +buttonBarMorph + ^ buttonBarMorph \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buttonBarState..st b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buttonBarState..st new file mode 100644 index 000000000..0d38cf781 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buttonBarState..st @@ -0,0 +1,6 @@ +accessing +buttonBarState: anObject + buttonBarState = anObject + ifFalse: [ + buttonBarState := anObject. + self changed: #state ] \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buttonBarState.st b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buttonBarState.st new file mode 100644 index 000000000..3ee4dbf05 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/buttonBarState.st @@ -0,0 +1,3 @@ +accessing +buttonBarState + ^ buttonBarState \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/clientElement..st b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/clientElement..st new file mode 100644 index 000000000..20167a8fb --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/clientElement..st @@ -0,0 +1,5 @@ +accessing +clientElement: aTDClientElement + super clientElement: aTDClientElement. + buttonBarState := nil. + self buildButtonBarMorph \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/morph.st b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/morph.st new file mode 100644 index 000000000..6fd8ed824 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/morph.st @@ -0,0 +1,3 @@ +accessing +morph + ^ self buttonBarMorph \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/switchAction..st b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/switchAction..st new file mode 100644 index 000000000..124beda69 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/switchAction..st @@ -0,0 +1,7 @@ +switches +switchAction: switchIndex + | actionSelector | + actionSelector := (self switchSpecs at: switchIndex) at: 2. + (self topez switchActionForClientButtonBarElement: self clientElement selector: actionSelector) + ifTrue: [ self buttonBarState: ((self switchSpecs at: switchIndex) at: 1) ]. + ^ nil \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/switchSpecs.st b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/switchSpecs.st new file mode 100644 index 000000000..09600be83 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/switchSpecs.st @@ -0,0 +1,14 @@ +switches +switchSpecs + "return an array of switchSpecs." + + " + switchSpec (Array): + switch state anObject (typically a symbol) + switch action selector + switch label + switch balloon text + swtich default state (true - default state) +" + + ^ self clientElement switchSpecs \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/switchState..st b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/switchState..st new file mode 100644 index 000000000..4b8852bdb --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/instance/switchState..st @@ -0,0 +1,3 @@ +switches +switchState: switchIndex + ^ ((self switchSpecs at: switchIndex) at: 1) = self buttonBarState \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/methodProperties.json b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/methodProperties.json new file mode 100644 index 000000000..4929ba946 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/methodProperties.json @@ -0,0 +1,15 @@ +{ + "class" : { + }, + "instance" : { + "activateModel:" : "dkh 8/19/2015 10:08", + "buildButtonBarMorph" : "dkh 8/31/2015 08:23", + "buildOverflowMorph" : "dkh 8/19/2015 15:52", + "buttonBarMorph" : "dkh 8/19/2015 15:36", + "buttonBarState" : "dkh 8/31/2015 08:13", + "buttonBarState:" : "dkh 8/31/2015 12:50", + "clientElement:" : "dkh 8/31/2015 13:00", + "morph" : "dkh 8/19/2015 15:14", + "switchAction:" : "dkh 8/31/2015 08:25", + "switchSpecs" : "dkh 8/31/2015 13:09", + "switchState:" : "dkh 8/31/2015 08:14" } } diff --git a/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/properties.json b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/properties.json new file mode 100644 index 000000000..a114dea53 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeButtonBarEditor.class/properties.json @@ -0,0 +1,15 @@ +{ + "category" : "Topez-Pharo-Common", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "buttonBarMorph", + "buttonBarState" ], + "name" : "TodeButtonBarEditor", + "pools" : [ + ], + "super" : "TodeCommonEditor", + "type" : "normal" } diff --git a/repository/Topez-Pharo-Common.package/TodeCodeEditor.class/instance/activateModel..st b/repository/Topez-Pharo-Common.package/TodeCodeEditor.class/instance/activateModel..st index 736099063..474e7ee63 100644 --- a/repository/Topez-Pharo-Common.package/TodeCodeEditor.class/instance/activateModel..st +++ b/repository/Topez-Pharo-Common.package/TodeCodeEditor.class/instance/activateModel..st @@ -1,3 +1,3 @@ -accessing +framework activateModel: aModel aModel activateCodeEditor \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeCodeEditor.class/instance/buildTextMorph.st b/repository/Topez-Pharo-Common.package/TodeCodeEditor.class/instance/buildTextMorph.st index 98a73f5d6..93e6acb8f 100644 --- a/repository/Topez-Pharo-Common.package/TodeCodeEditor.class/instance/buildTextMorph.st +++ b/repository/Topez-Pharo-Common.package/TodeCodeEditor.class/instance/buildTextMorph.st @@ -1,4 +1,4 @@ -initialize-release +framework buildTextMorph ^ (TZPluggableTextMorph on: self diff --git a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/activateModel..st b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/activateModel..st index fb0245eed..34a910d0b 100644 --- a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/activateModel..st +++ b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/activateModel..st @@ -1,3 +1,3 @@ -accessing +framework activateModel: aModel self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/clearUserEditFlag.st b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/clearUserEditFlag.st new file mode 100644 index 000000000..9688720f7 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/clearUserEditFlag.st @@ -0,0 +1,4 @@ +accessing +clearUserEditFlag + + self changed: #clearUserEdits \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/clientElement..st b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/clientElement..st index 720e78a9c..e00cd977b 100644 --- a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/clientElement..st +++ b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/clientElement..st @@ -1,3 +1,4 @@ accessing clientElement: aTDClientElement - clientElement := aTDClientElement \ No newline at end of file + self pushClientElement: aTDClientElement. + clientElement := aTDClientElement. diff --git a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/clientElementStack.st b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/clientElementStack.st new file mode 100644 index 000000000..5068f0a9e --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/clientElementStack.st @@ -0,0 +1,4 @@ +client element stack +clientElementStack + clientElementStack ifNil: [ clientElementStack := Stack new ]. + ^ clientElementStack \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/editStonElement..st b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/editStonElement..st similarity index 100% rename from repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/editStonElement..st rename to repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/editStonElement..st diff --git a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/handleResponseActions..st b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/handleResponseActions..st index 7d16d57a5..42aceec50 100644 --- a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/handleResponseActions..st +++ b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/handleResponseActions..st @@ -1,11 +1,15 @@ -accessing +framework handleResponseActions: action + | result | action isSymbol - ifTrue: [ ^ self perform: action ]. + ifTrue: [ + result := self perform: action. + self topez flushEventCache. + ^ result ]. action isString ifTrue: [ - | ar result | - ar := STON fromString: action. + | ar | + ar := self objectSerializer fromString: action. ar isArray ifFalse: [ ^ ar ]. 1 to: ar size by: 2 do: [ :index | @@ -17,5 +21,6 @@ handleResponseActions: action (arg isKindOf: TodeClientElement) ifTrue: [ arg topez: self topez ]. result := self perform: sel with: arg ] ]. + self topez flushEventCache. ^ result ]. ^ action \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/listClientElements.st b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/listClientElements.st new file mode 100644 index 000000000..a29513411 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/listClientElements.st @@ -0,0 +1,28 @@ +accessing +listClientElements + | windowLabels index | + windowLabels := self clientElementStack collect: [ :ce | ce editorWindowLabel ]. + index := UIManager default chooseFrom: windowLabels. + index > 0 + ifTrue: [ + | selectedClientElement selectedIndex morph | + morph := self morph. + morph canDiscardEdits + ifFalse: [ + morph promptForCancel + ifTrue: [ ^ self ] ]. + selectedClientElement := self clientElementStack at: index. + self clientElement: selectedClientElement. + selectedIndex := selectedClientElement selectedIndex. + selectedIndex ifNil: [ selectedIndex := 0 ]. + self listIndex: selectedIndex. + self editor label: selectedClientElement editorWindowLabel. + selectedIndex == 0 + ifTrue: [ + selectedClientElement highlightedIndex + ifNotNil: [ :highlightedIndex | + highlightedIndex > 0 + ifTrue: [ self editor setListIndex: highlightedIndex ] ] ]. + self editor refreshView. + selectedClientElement activateElement ]. + ^ true \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/objectSerializer.st b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/objectSerializer.st new file mode 100644 index 000000000..4be4ffcb4 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/objectSerializer.st @@ -0,0 +1,3 @@ +accessing +objectSerializer + ^ self topez objectSerializer \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/pushClientElement..st b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/pushClientElement..st new file mode 100644 index 000000000..adcf43f21 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/pushClientElement..st @@ -0,0 +1,4 @@ +client element stack +pushClientElement: aTDClientElement + (self clientElementStack includes: aTDClientElement) + ifFalse: [ self clientElementStack push: aTDClientElement ] \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/windowIsClosing.st b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/windowIsClosing.st index 7e9f4e147..9e80770c7 100644 --- a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/windowIsClosing.st +++ b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/instance/windowIsClosing.st @@ -1,3 +1,4 @@ initialization windowIsClosing - clientElement ifNotNil: [ clientElement windowIsClosing ] \ No newline at end of file + self clientElementStack do: [ :ce | self topez retireClientElement: ce ]. + clientElement ifNotNil: [ clientElement windowIsClosing ] \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/methodProperties.json b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/methodProperties.json index 42bbe560b..036451195 100644 --- a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/methodProperties.json +++ b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/methodProperties.json @@ -8,21 +8,27 @@ "buildCmdActionMapFor:" : "dkh 6/18/2014 15:44", "clearMenuCategories:" : "dkh 5/16/2014 15:05", "clearMenuCategory:" : "dkh 5/12/2014 12:35", + "clearUserEditFlag" : "dkh 8/17/2015 15:55", "clientElement" : "dkh 12/27/2012 08:52", - "clientElement:" : "dkh 1/27/2013 11:35", + "clientElement:" : "dkh 8/17/2015 16:25", + "clientElementStack" : "dkh 8/17/2015 16:18", "close" : "dkh 1/7/2014 07:48", "controlShiftLKeyStroke" : "dkh 12/27/2012 08:10", + "editStonElement:" : "dkh 8/11/2015 16:28", "editor" : "dkh 12/27/2012 08:10", "editor:" : "dkh 12/27/2012 08:10", "enabledMenuCategories" : "dkh 5/12/2014 12:36", "executeLocalMenuAction:" : "dkh 2/23/2014 11:27", "executeLocalMenuAction:keyboardEvent:" : "dkh 6/19/2014 05:55", - "handleResponseActions:" : "dkh 2/23/2014 09:47", + "handleResponseActions:" : "dkh 8/11/2015 17:29", "hasModelYellowButtonMenuItems" : "dkh 7/30/2013 14:33", + "listClientElements" : "dkh 8/17/2015 16:57", "listIndex" : "dkh 5/12/2014 12:47", "listIndex:" : "dkh 1/24/2013 13:12", "listWindows" : "dkh 1/27/2013 11:30", "objectClipboard" : "dkh 12/27/2012 08:10", + "objectSerializer" : "dkh 6/25/2015 16:52", + "pushClientElement:" : "dkh 8/17/2015 16:36", "refresh" : "dkh 4/20/2014 10:05", "refreshView" : "dkh 3/26/2014 10:12", "setMenuCategories:" : "dkh 5/16/2014 15:05", @@ -30,4 +36,4 @@ "spawnWindow:" : "dkh 4/27/2014 20:44", "topez" : "dkh 12/27/2012 08:10", "windowId" : "dkh 12/27/2012 08:10", - "windowIsClosing" : "dkh 10/20/2013 10:59" } } + "windowIsClosing" : "dkh 8/17/2015 16:27" } } diff --git a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/properties.json b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/properties.json index 8292cbd06..ea699ee7e 100644 --- a/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/properties.json +++ b/repository/Topez-Pharo-Common.package/TodeCommonEditor.class/properties.json @@ -8,6 +8,7 @@ "instvars" : [ "editor", "clientElement", + "clientElementStack", "enabledMenuCategories" ], "name" : "TodeCommonEditor", "pools" : [ diff --git a/repository/Topez-Pharo-Common.package/TodeConsole.class/instance/tabCompletion..st b/repository/Topez-Pharo-Common.package/TodeConsole.class/instance/tabCompletion..st index 64e1b83c8..773280aef 100644 --- a/repository/Topez-Pharo-Common.package/TodeConsole.class/instance/tabCompletion..st +++ b/repository/Topez-Pharo-Common.package/TodeConsole.class/instance/tabCompletion..st @@ -1,3 +1,3 @@ accessing tabCompletion: commandLine - ^ self cliShell tabCompletion: commandLine \ No newline at end of file + ^ self cliShell tabCompletion: commandLine \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeConsole.class/instance/welcomeMessage.st b/repository/Topez-Pharo-Common.package/TodeConsole.class/instance/welcomeMessage.st index a12b963e2..792cc3c2c 100644 --- a/repository/Topez-Pharo-Common.package/TodeConsole.class/instance/welcomeMessage.st +++ b/repository/Topez-Pharo-Common.package/TodeConsole.class/instance/welcomeMessage.st @@ -2,6 +2,8 @@ initialize-release welcomeMessage ^ 'Welcome to tODE. - Enter `help` for information on logging into GemStone. +- Enter `man gs gemtools` an intro to tODE for GemTools users. - Enter `man --all` for information on tODE commands. +- Enter `builtIns` to list descriptions of built-in commands. - Enter `project list` to get busy...' asText allBold, ' ' asText \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeConsole.class/methodProperties.json b/repository/Topez-Pharo-Common.package/TodeConsole.class/methodProperties.json index 057f2078f..eec0f0b95 100644 --- a/repository/Topez-Pharo-Common.package/TodeConsole.class/methodProperties.json +++ b/repository/Topez-Pharo-Common.package/TodeConsole.class/methodProperties.json @@ -56,10 +56,10 @@ "restoreSelectionMarker" : "dkh 3/27/2013 10:51", "scheduleToEvaluate:" : "dkh 3/27/2013 10:52", "show:" : "dkh 3/27/2013 11:42", - "tabCompletion:" : "dkh 3/28/2013 07:39", + "tabCompletion:" : "dkh 12/17/2014 20:51", "textMorph" : "dkh 7/30/2014 20:14", "topez" : "dkh 3/27/2013 15:34", "update:" : "dkh 3/27/2013 09:56", - "welcomeMessage" : "dkh 5/21/2014 16:55", + "welcomeMessage" : "dkh 9/16/2015 11:48", "windowActive:" : "dkh 3/27/2013 11:01", "windowIsClosing" : "dkh 3/27/2013 11:01" } } diff --git a/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/instance/accept.st b/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/instance/accept.st index 2a1215598..bb1c83c4d 100644 --- a/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/instance/accept.st +++ b/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/instance/accept.st @@ -1,6 +1,10 @@ menu commands accept - self model - cr; - flush; - processCommand: self commandLineInput asString \ No newline at end of file + | commandLine | + commandLine := self commandLineInput asString. + self model + cr; + flush. + (commandLine notEmpty and: [ commandLine last = $\ ]) + ifTrue: [ ] + ifFalse: [ self model processCommand: self commandLineInput asString ] \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/instance/filterAndForwardEvent..st b/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/instance/filterAndForwardEvent..st new file mode 100644 index 000000000..f463b8281 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/instance/filterAndForwardEvent..st @@ -0,0 +1,37 @@ +as yet unclassified +filterAndForwardEvent: event + | ans | + (ans := self model filterAndForwardEvent: event) ifNil: [ ^ nil ]. + event keyCharacter = Character tab + ifTrue: [ + | matches strm cmdLine tabCompletion longestMatch | + cmdLine := self commandLineInput. + tabCompletion := self model tabCompletion: cmdLine. + matches := tabCompletion at: 1. + longestMatch := tabCompletion at: 2. + matches size = 0 + ifTrue: [ ^ nil ]. + matches size = 1 + ifTrue: [ + self selectFrom: self positionAfterPromptString to: self text size. + textMorph replaceSelectionWith: longestMatch. + self selectFrom: self text size + 1 to: self text size. + ^ nil ]. + self selectFrom: self text size + 1 to: self text size. + self model cr. + strm := WriteStream on: String new. + matches + do: [ :match | + strm + nextPutAll: match; + space; + tab ]. + strm lf. + textMorph replaceSelectionWith: strm contents. + self selectFrom: self text size + 1 to: self text size. + self model + prompt; + show: longestMatch. + self selectFrom: self text size + 1 to: self text size. + ^ nil ]. + ^ ans \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/instance/keyStroke..st b/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/instance/keyStroke..st index 562729b4f..e3aa3f9a2 100644 --- a/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/instance/keyStroke..st +++ b/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/instance/keyStroke..st @@ -6,14 +6,6 @@ keyStroke: evt interval := self textMorph editor selectionInterval. (interval first > self inputMark and: [ interval first <= self text size ]) ifTrue: [ ^ super keyStroke: evt ]. - evt keyCharacter = Character tab - ifTrue: [ - | ans | - ans := self model tabCompletion: self commandLineInput. - textMorph selectInvisiblyFrom: self positionAfterPromptString to: self text size. - textMorph replaceSelectionWith: ans. - self selectFrom: self text size + 1 to: self text size. - ^ true ]. (evt keyValue = 30 or: [ evt keyValue = 11 ]) ifTrue: [ self model previousHistory. diff --git a/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/methodProperties.json b/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/methodProperties.json index 77ca51283..bda77990d 100644 --- a/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/methodProperties.json +++ b/repository/Topez-Pharo-Common.package/TodeConsoleWindowMorph.class/methodProperties.json @@ -2,14 +2,15 @@ "class" : { }, "instance" : { - "accept" : "dkh 3/27/2013 13:35", + "accept" : "dkh 12/17/2014 17:06", "adornmentColor" : "dkh 3/27/2013 10:41", "appendEntry" : "dkh 3/27/2013 14:17", "commandLineInput" : "dkh 3/28/2013 07:52", "drawOn:" : "dkh 3/27/2013 10:42", + "filterAndForwardEvent:" : "dkh 12/18/2014 16:36", "initialize" : "dkh 3/27/2013 13:43", "inputMark" : "dkh 3/27/2013 13:36", - "keyStroke:" : "dkh 7/30/2014 17:02", + "keyStroke:" : "dkh 12/17/2014 21:19", "markInput" : "dkh 3/27/2013 14:03", "pasteAtEnd" : "dkh 7/30/2014 20:06", "positionAfterPromptString" : "dkh 3/27/2013 13:45", diff --git a/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/activateButtonBarEditor.st b/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/activateButtonBarEditor.st new file mode 100644 index 000000000..76ca256f9 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/activateButtonBarEditor.st @@ -0,0 +1,3 @@ +accessing +activateButtonBarEditor + self activeEditor: self buttonBarEditor \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/buttonBarEditor.st b/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/buttonBarEditor.st new file mode 100644 index 000000000..510ac8ec4 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/buttonBarEditor.st @@ -0,0 +1,9 @@ +accessing +buttonBarEditor + buttonBarEditor + ifNil: [ + buttonBarEditor := TodeButtonBarEditor new. + buttonBarEditor + editor: self; + addDependent: self ]. + ^ buttonBarEditor \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/clearUserEditFlag.st b/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/clearUserEditFlag.st new file mode 100644 index 000000000..37ec4589b --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/clearUserEditFlag.st @@ -0,0 +1,3 @@ +accessing +clearUserEditFlag + self activeEditor clearUserEditFlag \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/clientElement.st b/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/clientElement.st new file mode 100644 index 000000000..5a7853a57 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/clientElement.st @@ -0,0 +1,3 @@ +accessing +clientElement + ^ self activeEditor clientElement \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/codeEditor..st b/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/codeEditor..st deleted file mode 100644 index 8aac98844..000000000 --- a/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/codeEditor..st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -codeEditor: anObject - codeEditor := anObject \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/listEditor..st b/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/listEditor..st deleted file mode 100644 index d8f7f33d7..000000000 --- a/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/listEditor..st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -listEditor: anObject - listEditor := anObject \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/open.st b/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/open.st index 0993cc6cb..9a96f1c2e 100644 --- a/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/open.st +++ b/repository/Topez-Pharo-Common.package/TodeEditor.class/instance/open.st @@ -1,19 +1,23 @@ initialization open - | window listPane codePane roassalPane | - label := ''. - updating := false. - window := TZSystemWindow new model: self. - listPane := self listEditor buildListMorph. - window addMorph: listPane frame: (0 @ 0 corner: 1 @ 1). - listPane delete. - codePane := self codeEditor buildTextMorph. - window addMorph: codePane frame: (0 @ 0 corner: 1 @ 1). - codePane delete. - false - ifTrue: [ - roassalPane := self roassalEditor buildRoassalMorph. - roassalPane delete. - window addMorph: roassalPane frame: (0 @ 0 corner: 1 @ 1) ]. - window openInWorld. - ^ window \ No newline at end of file + | window listPane codePane roassalPane buttonBarPane | + label := ''. + updating := false. + window := TZSystemWindow new model: self. + listPane := self listEditor buildListMorph. + window addMorph: listPane frame: (0 @ 0 corner: 1 @ 1). + listPane delete. + codePane := self codeEditor buildTextMorph. + window addMorph: codePane frame: (0 @ 0 corner: 1 @ 1). + codePane delete. + buttonBarPane := self buttonBarEditor buildOverflowMorph. + window addMorph: buttonBarPane frame: (0 @ 0 corner: 1 @ 1). + buttonBarPane delete. + false + ifTrue: [ + roassalPane := self roassalEditor buildRoassalMorph. + roassalPane delete. + window addMorph: roassalPane frame: (0 @ 0 corner: 1 @ 1) ]. + window minimumExtent: 40 @ 40. + window openInWorld. + ^ window \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeEditor.class/methodProperties.json b/repository/Topez-Pharo-Common.package/TodeEditor.class/methodProperties.json index 8de4b41b3..1b5594d37 100644 --- a/repository/Topez-Pharo-Common.package/TodeEditor.class/methodProperties.json +++ b/repository/Topez-Pharo-Common.package/TodeEditor.class/methodProperties.json @@ -2,14 +2,17 @@ "class" : { }, "instance" : { + "activateButtonBarEditor" : "dkh 8/19/2015 16:09", "activateCodeEditor" : "dkh 12/27/2012 08:54", "activateListEditor" : "dkh 6/11/2013 18:43", "activateRoassalEditor" : "dkh 6/12/2013 06:18", "activeEditor" : "dkh 12/27/2012 08:54", "activeEditor:" : "dkh 7/29/2014 14:35", + "buttonBarEditor" : "dkh 8/19/2015 10:07", + "clearUserEditFlag" : "dkh 8/31/2015 17:04", + "clientElement" : "dkh 8/11/2015 15:14", "clientElement:" : "dkh 12/27/2012 10:23", "codeEditor" : "dkh 12/27/2012 08:56", - "codeEditor:" : "dkh 12/27/2012 08:54", "controlShiftLKeyStroke" : "dkh 12/27/2012 08:54", "emptyTemplateElement:" : "dkh 12/27/2012 08:54", "escapeKeyStroke" : "dkh 4/27/2014 19:58", @@ -18,9 +21,8 @@ "labelString" : "dkh 12/27/2012 08:54", "list:" : "dkh 12/27/2012 08:54", "listEditor" : "dkh 6/18/2014 16:06", - "listEditor:" : "dkh 12/27/2012 08:54", "listIndex:" : "dkh 12/27/2012 08:54", - "open" : "dkh 6/12/2013 05:58", + "open" : "dkh 8/19/2015 20:38", "refresh" : "dkh 4/20/2014 10:06", "refreshView" : "dkh 4/18/2014 15:25", "renderAttribute:" : "dkh 12/27/2012 08:54", diff --git a/repository/Topez-Pharo-Common.package/TodeEditor.class/properties.json b/repository/Topez-Pharo-Common.package/TodeEditor.class/properties.json index a40109f12..91298812e 100644 --- a/repository/Topez-Pharo-Common.package/TodeEditor.class/properties.json +++ b/repository/Topez-Pharo-Common.package/TodeEditor.class/properties.json @@ -8,6 +8,7 @@ "instvars" : [ "topez", "listEditor", + "buttonBarEditor", "codeEditor", "roassalEditor", "activeEditor", diff --git a/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/activateModel..st b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/activateModel..st index 757dbee16..c18ec1254 100644 --- a/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/activateModel..st +++ b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/activateModel..st @@ -1,3 +1,3 @@ -accessing +framework activateModel: aModel aModel activateListEditor \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/buildListMorph.st b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/buildListMorph.st index 7ea046163..fd89ad9f4 100644 --- a/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/buildListMorph.st +++ b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/buildListMorph.st @@ -1,4 +1,4 @@ -initialization +framework buildListMorph ^ TZPluggableListMorph new hResizing: #spaceFill; @@ -13,4 +13,7 @@ buildListMorph handleBasicKeys: true; autoDeselect: true; disallowKeyMapping; + resetListSelector: #resetMultiListSelection; + getSelectionListSelector: #multiSelectionAt:; + setSelectionListSelector: #multiSelectionAt:put:; yourself \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/clientElement..st b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/clientElement..st index a561a7ba8..4b1160060 100644 --- a/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/clientElement..st +++ b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/clientElement..st @@ -1,5 +1,8 @@ accessing clientElement: aClientElement - super clientElement: aClientElement. - list := nil. - self changed: #'list' \ No newline at end of file + super clientElement: aClientElement. + aClientElement beMultipleSelection + ifTrue: [ self listMorph beMultipleSelection ] + ifFalse: [ self listMorph beSingleSelection ]. + list := nil. + self changed: #list \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/listIndex..st b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/listIndex..st index 5939dcb43..e942e3836 100644 --- a/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/listIndex..st +++ b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/listIndex..st @@ -1,6 +1,9 @@ accessing listIndex: anInteger + "raw access to listSelections to avoid unwanted lazy initialization. + listSelections is non-nil only when multiple selection is in effect." + | action | self setListIndex: anInteger. - action := self clientElement itemSelected: anInteger. - ^self handleResponseActions: action + action := self clientElement itemSelected: anInteger listSelections: listSelections. + ^ self handleResponseActions: action \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/listSelections.st b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/listSelections.st new file mode 100644 index 000000000..cce44cbb4 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/listSelections.st @@ -0,0 +1,4 @@ +multiple selection +listSelections + listSelections ifNil: [ listSelections := Dictionary new ]. + ^ listSelections \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/multiSelectionAt..st b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/multiSelectionAt..st new file mode 100644 index 000000000..a0c5b29e9 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/multiSelectionAt..st @@ -0,0 +1,5 @@ +multiple selection +multiSelectionAt: anIndex + | elt | + elt := self list at: anIndex ifAbsent: [ nil ]. + ^ self listSelections at: anIndex ifAbsent: [ false ] \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/multiSelectionAt.put..st b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/multiSelectionAt.put..st new file mode 100644 index 000000000..349462665 --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/multiSelectionAt.put..st @@ -0,0 +1,4 @@ +multiple selection +multiSelectionAt: anIndex put: aBool + self listSelections at: anIndex put: aBool. + ^ self listIndex: anIndex \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/resetMultiListSelection.st b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/resetMultiListSelection.st new file mode 100644 index 000000000..f7581671e --- /dev/null +++ b/repository/Topez-Pharo-Common.package/TodeListEditor.class/instance/resetMultiListSelection.st @@ -0,0 +1,3 @@ +multiple selection +resetMultiListSelection + self listSelections removeAll \ No newline at end of file diff --git a/repository/Topez-Pharo-Common.package/TodeListEditor.class/methodProperties.json b/repository/Topez-Pharo-Common.package/TodeListEditor.class/methodProperties.json index dc0bab5b1..79726a420 100644 --- a/repository/Topez-Pharo-Common.package/TodeListEditor.class/methodProperties.json +++ b/repository/Topez-Pharo-Common.package/TodeListEditor.class/methodProperties.json @@ -5,16 +5,15 @@ "activateModel:" : "dkh 6/18/2014 16:05", "bindBasicCmdKeyShortcuts" : "dkh 6/18/2014 15:55", "bindCharacter:to:with:for:" : "dkh 6/18/2014 15:14", - "buildListMorph" : "dkh 7/29/2014 21:10", - "clientElement:" : "dkh 6/18/2014 16:05", + "buildListMorph" : "dkh 1/28/2015 16:42", + "clientElement:" : "dkh 1/28/2015 16:47", "defaultCmdMap" : "dkh 6/18/2014 15:54", - "editStonElement:" : "dkh 6/18/2014 16:05", "executeMenuAction:" : "dkh 6/18/2014 16:05", "incrementListIndex" : "dkh 6/18/2014 16:05", "initializeCmdMaps" : "dkh 6/18/2014 15:55", "list" : "dkh 6/18/2014 16:05", "listIndex" : "dkh 6/18/2014 16:05", - "listIndex:" : "dkh 6/18/2014 16:05", + "listIndex:" : "dkh 1/29/2015 06:57", "listKeystroke:" : "dkh 7/30/2014 18:07", "listKeystrokeDown" : "dkh 6/18/2014 16:05", "listKeystrokeLeft" : "dkh 6/18/2014 16:05", @@ -22,15 +21,19 @@ "listKeystrokeUp" : "dkh 6/18/2014 16:05", "listMenu:" : "dkh 6/18/2014 16:05", "listMorph" : "dkh 6/18/2014 16:05", + "listSelections" : "dkh 1/28/2015 16:11", "localCmdMap" : "dkh 6/18/2014 15:13", "localCmdMap:" : "dkh 6/18/2014 15:13", "localShiftCmdMap" : "dkh 6/18/2014 15:13", "localShiftCmdMap:" : "dkh 6/18/2014 15:13", "morph" : "dkh 6/18/2014 16:05", + "multiSelectionAt:" : "dkh 1/30/2015 18:15", + "multiSelectionAt:put:" : "dkh 1/30/2015 18:15", "performCmdActionsWith:shifted:" : "dkh 6/18/2014 15:29", "refresh" : "dkh 6/18/2014 16:05", "refreshList" : "dkh 6/18/2014 16:05", "refreshView" : "dkh 6/18/2014 16:05", + "resetMultiListSelection" : "dkh 1/28/2015 16:12", "selectedElement" : "dkh 6/18/2014 16:05", "setList:" : "dkh 6/18/2014 16:05", "setListIndex" : "dkh 6/18/2014 16:05", diff --git a/repository/Topez-Pharo-Common.package/TodeListEditor.class/properties.json b/repository/Topez-Pharo-Common.package/TodeListEditor.class/properties.json index 3537f5cdd..1cde3fb5a 100644 --- a/repository/Topez-Pharo-Common.package/TodeListEditor.class/properties.json +++ b/repository/Topez-Pharo-Common.package/TodeListEditor.class/properties.json @@ -8,6 +8,7 @@ "instvars" : [ "listIndex", "list", + "listSelections", "localShiftCmdMap", "localCmdMap" ], "name" : "TodeListEditor", diff --git a/repository/Topez-Pharo-Common.package/monticello.meta/categories.st b/repository/Topez-Pharo-Common.package/monticello.meta/categories.st index 9cec6444c..d184c69c3 100644 --- a/repository/Topez-Pharo-Common.package/monticello.meta/categories.st +++ b/repository/Topez-Pharo-Common.package/monticello.meta/categories.st @@ -1,2 +1,2 @@ SystemOrganization addCategory: #'Topez-Pharo-Common'! -SystemOrganization addCategory: #'Topez-Pharo-Common-Console'! +SystemOrganization addCategory: 'Topez-Pharo-Common-Console'! diff --git a/repository/Topez-Pharo-Common.package/monticello.meta/version b/repository/Topez-Pharo-Common.package/monticello.meta/version index b866afde8..6e71a5a39 100644 --- a/repository/Topez-Pharo-Common.package/monticello.meta/version +++ b/repository/Topez-Pharo-Common.package/monticello.meta/version @@ -1 +1 @@ -(name 'Topez-Pharo-Common-dkh.289' message 'Issue #107: arrange to resize all existing windows when window layout is changed' id 'dbe20905-9fde-4135-909b-892d77620211' date '26 August 2014' time '6:25:31.177731 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.288' message 'tweak the path dot syntax highlighting ... another tweak needed' id '7ec9d709-4bdb-4061-bbfa-7b0ba22a4d5a' date '12 August 2014' time '10:51:46.221562 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.287' message 'fix bug in path dot syntax highlighter' id '32302085-d44d-4de5-a367-5775fbd84bf8' date '12 August 2014' time '4:01:26.042471 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.286' message 'more path dot syntax support for SHOUT' id 'd22a351a-b48b-4902-b058-af60efce3a62' date '12 August 2014' time '10:53:36.040609 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.285' message 'fix shout for path term with *' id '8fa270db-3ca8-445b-8ff3-2a2dacd792ff' date '12 August 2014' time '10:39:17.620795 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.284' message 'get selectLine working properly for tODE' id '0cde6f37-0def-4eb1-97dd-09fe3a970778' date '9 August 2014' time '10:59:27.752595 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.283' message 'selectWord should recognize ` as a delimiter as it is used by tODE' id '524fa332-3da4-4a80-ae06-e1ef3c864f81' date '7 August 2014' time '6:26:16.212886 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.282' message 'need render method in String too, for colored lists' id '1fe4daca-78e1-42fd-86ac-d299c231df4f' date '7 August 2014' time '6:22:57.343404 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.281' message 'arrange to use the text color (if present) for lists' id '81d0e0ba-ec17-4728-ba6c-0ef74807a8a9' date '7 August 2014' time '10:42:50.719527 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.280' message 'fix selectBlock SHOUT parsing' id 'e97a5f24-c45b-4d08-b649-e1883797b9b8' date '7 August 2014' time '8:27:31.26014 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.279' message 'extend SHOUT to include GemStone path dot syntax' id 'c64d0eb5-a10d-4e6f-887f-20762b8e44d1' date '7 August 2014' time '8:06:41.237007 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.278' message 'plug the backspace hole in console' id '3b718cf5-614a-425e-9060-e104736bc810' date '31 July 2014' time '8:38:31.994684 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.277' message 'well....CTL-x keys now work on linux' id 'c0f3a912-f607-4dcd-8cfb-99d18debf326' date '31 July 2014' time '1:39:34.328357 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.276' message 'there is no cut on console' id '9efe194a-81b4-4a0f-b8c8-9e588f925017' date '31 July 2014' time '7:32:26.630367 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.275' message 'clean up some problems in the new implementors/senders code ' id '4659dcf7-e485-498f-8cc7-c2b31a491889' date '31 July 2014' time '7:04:02.003904 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.274' message 'console is finally looking like a real console ... typing is dumped at end of buffer ... but you are allowed to type intraline (might have to change that) ... paste is always stuck at the end of the buffer ...' id 'a2581236-5206-40ce-8b4a-fd4315ef6b3b' date '30 July 2014' time '8:18:47.948369 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.273' message 'implement console menu ...' id 'c5387d8d-a776-4bd9-86aa-6b550dc41f86' date '30 July 2014' time '7:57:18.284187 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.272' message 'get keystrokes under control I think (test on linux tomorrow): - another spot that needs CMD or CTL - let the list view search for non-CMD/CTL key presses - a bit of cleanup' id 'c91e67aa-bfd4-4290-8212-6dfb94934270' date '30 July 2014' time '6:13:40.79353 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.271' message 'now I should have linux covered' id 'a29e5f84-5d57-4b2f-9721-ca7091eaceb9' date '30 July 2014' time '5:03:19.419987 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.270' message 'restore operation of CMD-c in the console window (on mac at least)' id 'c5946cfa-a5d8-4b6b-b44c-a67ab265fdbe' date '30 July 2014' time '5:01:19.782408 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.269' message 'disallow the KM keyboard shortcut handlers for tode windows ...' id 'a164eadb-e920-4ad2-ab2a-217c99a6f0a2' date '29 July 2014' time '9:18:58.779858 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.268' message 'eliminate the use of some obsolete protocol' id '4f8e6b6e-684c-4311-a358-fa33ac566007' date '29 July 2014' time '2:35:42.138355 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.267' message 'ignore README.md in the client/descriptions directory; signal error when running headless and error occurs on server while running tODE command' id '36d0c944-c666-4b19-8bdd-a62554ba3724' date '28 July 2014' time '7:58:02.519587 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.266' message 'clean up the client-side interaction when client is run in headless mode' id 'd36f154f-fde2-4185-9415-3d928c993a06' date '25 July 2014' time '4:21:13.360307 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.265' message 'wrap messages at 80 characters' id '03ed4e71-33d4-49e2-9712-223dba239a1b' date '7 July 2014' time '4:59:45.298 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.264' message 'Issue #75: re-enable pasteInitials functionality' id 'e447beca-659b-4473-b4b3-0675e699bc54' date '24 June 2014' time '10:17:27.64 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.263' message 'Issue #75: clean up additional fallout from swapping out SmalltalkEditor' id '9251c169-613b-464c-acee-7248606e5b13' date '22 June 2014' time '9:22:18.664 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.262' message 'Issue #75: infant mortality and upgrade patch' id '0c45c906-bb54-4070-b2d5-51f87a411a8a' date '19 June 2014' time '7:27:25.398 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.261' message 'Issue #75: add implementors, senders, browse it to console ...' id '0a2f89a3-9fed-4ff1-b114-ad8445591857' date '18 June 2014' time '8:27:43.743 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.260' message 'Issue #75: fix up a reference to obsolete class' id '79dfbb50-56ca-4c7e-9793-8750e7664795' date '18 June 2014' time '7:07:53.42 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.259' message 'Issue #75: move some classes that are not longer used (but might be useful someday) to some obsolete classes' id '5187f091-4ebd-4f50-bdf5-134f2ad56eba' date '18 June 2014' time '6:58:22.1 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.258' message 'Issue #75: merge keymapped functionality into TodeListEditor' id '12dbf011-10e0-4292-9a1d-ffef13246a2f' date '18 June 2014' time '4:07:37.896 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.257' message 'Issue #75: unwind infinite loop' id '6e716c02-daa7-49c1-831c-ba3da4d161f2' date '18 June 2014' time '3:56:03.224 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.256' message 'Issue #75: implement TodeKeymappedListEditor to add keymapping to list editors' id '7e64dba6-25a0-4665-9d79-e2530594c333' date '18 June 2014' time '3:47:55.946 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.255' message 'Issue #75: remove cmdKeyBlock and cmdKeyBlockOop from TodeClientSourceElement - not needed anymore ... keyboard mappings now come from menuSpec ' id '93b99afa-b9d5-4c41-a11d-0db0b4cbd0cb' date '18 June 2014' time '2:38:08.342 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.254' message 'cmdKeysInText is not the method that you are looking for...' id '0b46bf57-6ad4-4a8d-8f7f-ff82b582a45a' date '4 June 2014' time '10:19:08.434 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.253' message 'looks like we might want to enable CTL key for non-mac platforms' id 'e6334d5d-15ab-4b22-9638-f8cdf84866a3' date '4 June 2014' time '8:45:57.694123 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.252' message 'client element source: now returns true/false allowing server-side element to approve/disapprove the save ...' id '9eff99c7-1fc0-4beb-a1ab-8450bd82d86b' date '2 June 2014' time '11:43:32.94 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.251' message 'handle non-boolean return values on keystroke commands (when debugger comes up)' id 'c1c27b08-7233-4374-aef5-63ed7b4001c8' date '24 May 2014' time '9:46:49.901 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.250' message 'update welcome message in console' id 'c9bddd86-7613-4dc9-ab04-5bb922ea2ab2' date '21 May 2014' time '4:55:56.274592 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.249' message 'tweak for Pharo3.0' id '992dd2e0-63a8-4734-8cb1-56a166b16c5c' date '20 May 2014' time '7:41:20.354293 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.248' message 'permit bulk enable/disable' id '49e121e5-f006-4b48-86ef-9890def7d857' date '16 May 2014' time '3:16:12.176 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.247' message 'menu enablement looking good' id 'd189223c-bb5d-48a5-b93e-7ac25bfde5fd' date '12 May 2014' time '12:50:20.304 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.246' message 'first cut of menu item enablement complete' id '9b413161-c2c2-4895-8a3e-392683aeaa0f' date '12 May 2014' time '11:52:09.984 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.245' message '- spawning a list should preserve the selection' id '0121044e-50a6-4e5f-aae1-3f5b435116ad' date '27 April 2014' time '8:45:54.122 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.244' message '- support for opening workspaces' id 'f77d64e6-03dd-4af1-8b92-a429feb2a293' date '27 April 2014' time '8:25:33.416 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.243' message 'tweak welcome message' id '166929cd-e7b7-4ac0-8e8b-cc449ab5c501' date '27 April 2014' time '8:13:16.947 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.242' message '- tweak refresh behavior when cloning windows' id '19064900-20ae-41ae-97d4-c3d44ad87188' date '20 April 2014' time '10:09:59.985 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.241' message '- on spawnWindow: we need to refresh view, to make sure we don''t have stale contents' id '95393f98-12a4-42be-8cce-30c78e0b435d' date '18 April 2014' time '3:28:33.02 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.240' message 'add insert timestamp menu item/shortcut' id 'b5e1be0a-c56f-433b-ab4e-0c069feffde5' date '29 March 2014' time '12:20:55.318 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.239' message 'client-side ...with auto-formatting it is not necessary to support crWithIndent: ... besides I hate the crWithIndent: algorithm ... counts number of tabs on line without regard to location' id '0818a008-6784-4519-96a7-6292a56d0262' date '26 March 2014' time '5:05:16.769 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.238' message 'client-side ... arrange to allow for the standard text manipulation commands like find, selectAll, etc. to be defined by menu entries and allow for semantics to be switched between crWithIndent: and pure cr' id 'c0b96d24-acc0-423a-af69-594410642510' date '26 March 2014' time '4:26:12.037 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.237' message 'client-side ... gearing up for standard keyboard navigation control ... default bindings ... can be overridden on application by application basis' id 'da81643b-de32-4d1d-9882-86c18b6db593' date '26 March 2014' time '3:40:40.73 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.236' message 'client support for basic menu actions working for menu and keyboard shortcut fof text panes ...' id '77e25dfe-06ab-404a-b31f-fa4fc9211a03' date '26 March 2014' time '2:29:04.395 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.235' message 'patch to allow key mapping until the menu items are icompletely hooked up...' id 'd50945e5-6f6d-47a2-bb5c-65ba12a06dc1' date '25 March 2014' time '10:11:05.542 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.234' message 'implement framework for extracting key bindings from menu for code editor ... should probably do something similar for the list editor key bindings ... there shouldn''t be a key binding without a menu item ...' id '43ff1a62-acd2-4e49-a503-8f0eaab9ecf5' date '25 March 2014' time '10:05:59.676 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.233' message 'adjust the source element menus to provide option for passing in an interval and dirty flag instead of the selection which means we can do things like `set breakpoint`' id 'ce7f09dc-9f9d-4710-8039-78babbf646ce' date '25 March 2014' time '12:14:33.532 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.232' message 'doIt, printIt, inspectIt support' id 'f5b35909-fa4e-4c67-8465-18875600e5cd' date '24 March 2014' time '9:06:11.693 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.231' message 'differentiate between open and spawn for purposes of controlling welcome message ... rip out support for old debugger console ' id 'b82fb67f-9992-4a6f-981b-f712d431cc50' date '24 March 2014' time '6:24:13.393 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.230' message 'checkpoint: - support creating and using serialized session descriptions - cleanup built-in support - add `builtIns` command - start work on improving the `getting started` experience - start work on `help` and `updateClient` commands' id 'cf82bc4f-b0be-4dea-9c61-7978aecf2245' date '22 March 2014' time '12:58:32.134 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.229' message 'Issue #55: checkpoint implementing menus for code windows' id '0cf2c80b-70a9-44d7-94a0-0f6d2b2d99d5' date '23 February 2014' time '6:52:16.542 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.228' message 'Issue #55: checkpoint adding menus to TodeCodeEditor ...' id '65ed9e3c-4733-42b3-a65a-255a17889e2e' date '23 February 2014' time '12:52:53.078 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.227' message 'getting started adding menus to TodeCodeEditor' id '51f72f45-c734-4f7c-8956-3651ebe7eae9' date '23 February 2014' time '9:23:25.791 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.226' message 'have to restore activation of window otherwise the active window is not brought to top ... really need that capability' id '9ca464e5-948d-4f75-b476-f66eb3d056d8' date '18 January 2014' time '2:27:42.399 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.225' message 'port recent changes to Pharo1.4 ' id '4e1796ae-3f07-4917-abba-846641c4850f' date '13 January 2014' time '10:18:44.958 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.224' message 'do not #activate window on open ... that way the control stays with the currently active window ...' id '3b3e83da-748c-4f63-a135-4e94334b4952' date '11 January 2014' time '5:01:05.76 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.223' message 'implement refreshViewFor: client callback' id '230ad5d1-6c1d-4322-85a0-2cf8c4bf006f' date '11 January 2014' time '9:08:21.996 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.222' message 'handle debugger conditions in return value boy' id 'fa0491b4-70a2-46ca-a9de-e5c3811987f2' date '10 January 2014' time '5:18:15.174 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.221' message 'TDTopezClient>>editClientElement:, TodeListEditory>>editStonElement: allows for multiple clientElements to be shipped in one STON packet. TodeListEditor>>setList: allows list to be updated directly ... more efficient that #refreshList' id 'd1f4490f-17eb-4c16-a6a1-b31248e6b80b' date '8 January 2014' time '10:06:31.272 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.220' message 'implement TodeCommonEditor>>close so that tools can close themselves' id '72d11ca6-74de-46f5-b943-db2b8a8aff98' date '7 January 2014' time '8:13:36.891 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.219' message '- add responseActions for item selection (so list can be refreshed upon selection) - allow for an array of responseActions to be returned so that more than one action can be performed (useful for cut where we add item to clipboard and refresh list) - add #handeleResponseActions: so that response code is common' id '1635cd71-6061-4ae6-ab9e-a859f8c8ad68' date '6 January 2014' time '7:55:07.599 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.218' message 'define GsHardBreakNotification so that we can get a proper description ' id '28347350-f36f-42c8-a8a5-15be76ba36ea' date '18 December 2013' time '7:48:57.933 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.217' message 'Issue #41: add support for request password dialog' id 'f8276b09-d903-44a7-899a-dd1230498cc2' date '9 November 2013' time '9:29:44.929 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.216' message 'tweak pharo code for multi-line and single line text interaction' id '40687a09-af31-461d-968f-09470b3d0396' date '20 October 2013' time '8:11:40.724 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.215' message 'adding support for various interactions: choice, confirm, inform, text, multiline-text' id 'c5d40cc9-82d8-4578-91a6-ddbadaa6e329' date '20 October 2013' time '5:57:39.235 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.214' message 'move windowIsClosing trigger to TodeCommonEditor and ensuer that the code editor is included' id '6a5dd07b-33d9-4ba4-b94a-b207a0b8ea67' date '20 October 2013' time '11:18:28.503 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.213' message 'spawnShell: support' id '6802db67-52a8-4f1a-bd34-d6b7d4170ac6' date '12 October 2013' time '11:29:46.698 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.212' message 'Issue #28: getting started on menu implementation' id '36564b62-9af5-4904-9deb-6d6fb2f573c3' date '28 September 2013' time '3:38:59.229 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.211' message 'support for bedit command' id '347ef1cc-ed6f-45f0-8cc9-c231ee9e7b2a' date '15 August 2013' time '1:02:23.149 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.210' message 'disable the code menus, too since the menu can pop up on the scroll bar there too, when no other menus specified' id '13cc7d61-6097-4403-b92d-57012574e7c7' date '30 July 2013' time '2:35:25.069 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.209' message 'disable menus in list panes ... don''t have menus defined and default menu (which comes from who knows where) will hang the system mercilessly on PHaro2.0' id 'a2af60e2-a0a7-4e8f-bcd9-7fcba5dbabfa' date '29 July 2013' time '2:31:42.847 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.208' message 'clean up some issues involving terminating processes correctly when debugger is closed ' id 'c0f13989-e878-427b-8183-023180141ce0' date '15 July 2013' time '2:27:27.083 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.207' message 'hack to get roassal view displaying correctly (cannot use tODE windows for roassal at the moment)' id '586d9e2c-7e99-4be2-8d78-8627760ce890' date '12 June 2013' time '7:10:32.189 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.206' message 'roassal support' id '95c8502d-75e6-45b7-8269-93c665da746c' date '11 June 2013' time '4:27:47.639 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.205' message 'remove unused methods' id '95900104-253a-4249-8d8f-dcf7bb074b72' date '1 June 2013' time '10:38:37.323 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.204' message 'refactor gci calls for clientElements so that the call is moved into the gemstone client leaving pharo client free to perform clientElement code directly' id '692e9b63-f6c4-4be4-b7d1-4a39bd91253f' date '28 May 2013' time '2:59:54.936 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.203' message 'slide some more gemstone-specific support over to Topez-Client-GemStone' id '8d9abc03-c2a6-4dd3-8005-f9e5895325cf' date '28 May 2013' time '1:46:46.278 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.202' message 'working on getting SHOUT to work for Pharo and GemStone' id '60dd0632-cd4e-460b-a49a-e99975e6551e' date '28 May 2013' time '1:39:55.387 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.201' message 'redirect Transcript output to the tode console window while running commands' id 'fbaf5f7f-a464-48ee-86b2-fe20848a89a5' date '16 May 2013' time '8:43:44.662 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.200' message 'checkpoint...adding redirect operator' id 'fb63027d-2214-4052-8b32-918d33234bed' date '15 May 2013' time '3:55:33.148 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.199' message 'support for restoreFromBackup: which requires clinet-side logic since a single session cannot survive across the entire restore process' id '32330bea-a4c7-4591-8522-a82b6e942952' date '14 May 2013' time '6:22:03.22 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.198' message 'checkpoint: basic shell functionality (including bringing up dewbugger) with GemStone2.4' id '114b09ad-5698-47cf-8ec0-719ecff1e834' date '30 March 2013' time '4:31:07.091 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.197' message 'tweak' id '8b5082e6-e6d2-4ab1-9469-33fc6a3a6c32' date '29 March 2013' time '4:11:37.693 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.196' message 'largely eliminate references to TZHeaderGemStone...' id '5df10d4a-e161-4365-a406-11dbb8199dd1' date '29 March 2013' time '3:20:29.218 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.195' message 'removed dependence upon the proxy errors/notifications' id '7140e688-398e-456c-afbd-c4e05d4e26a8' date '29 March 2013' time '2:17:29.72 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.194' message 'converting to a non-proxy-based error handling mechanism' id 'cb9f373d-edae-4dd8-a008-582ab1cbf4d4' date '29 March 2013' time '1:29:21.806 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.193' message 'found more methods to move out' id '50137b59-6452-49b5-9893-ee8ccddcb882' date '29 March 2013' time '12:36:08.65 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.192' message 'low hanging fruit is gone ... time to nominate candidates for next round of cuts/rewrites' id '0c0299d3-5237-4a62-b4fc-d478c152a51e' date '29 March 2013' time '11:13:37.222 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.191' message 'rescue StashShellTtyTextMorphForEditView' id 'fe524a5b-d356-4fb2-b6b3-2999c6fea933' date '29 March 2013' time '8:16:57.272 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.190' message 'Issue #18: partition out the obviously old, obsolete classes' id '3ebe07f3-e7d1-4706-80e4-fa198bb9c404' date '29 March 2013' time '7:46:28.947 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.189' message 'add support for tab completion ... command completion functional, path completion not tested' id 'f6b33a78-1c40-48d1-bbe9-05828dcfebc0' date '28 March 2013' time '8:56:17.784 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.188' message 'allow for intraline editing of input string and put in hook for tab completion' id 'd2f54bc8-5e9c-4b1a-800f-6a9e0975bc7c' date '28 March 2013' time '7:37:00.316 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.187' message 'console history ' id '749d5e82-d687-45ff-99f9-dca62285fb8c' date '27 March 2013' time '4:19:23.374 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.186' message 'convert to using TodeConsole and TodeDebugConsole full time ... ' id '626dc44f-ea71-4f60-be33-9b0f1e269bd2' date '27 March 2013' time '3:37:18.526 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.185' message 'all keyboard input (no CMD or CTL key pressed) pasted at end of the window ... like a real console window' id '56efb3f6-d8be-481d-9128-e023dc7da31f' date '27 March 2013' time '2:37:00.956 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.184' message 'new console is functional ... run command working...' id '335cd7a9-2531-44ba-b45a-b737c958b196' date '27 March 2013' time '2:05:18.084 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.183' message 'checkpoint: large chunks of new console is functional ... run...% is not functional ...' id '92360518-22e7-42d5-b587-c40dce5e4e6b' date '27 March 2013' time '11:47:36.076 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.182' message 'copied interesting bits from CommandShell-UI and CommandShell-Morphic ... preparing to slash and burn' id '006b3a75-5527-4028-b28a-d7189641d335' date '27 March 2013' time '10:40:45.418 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.181' message 'add gemstoneVersion gciLibraryName adornmentColor to OGCustomSessionDescription ... the implication is that we can now connect to multiple gemstone versions from same image (not at same time .... need to exit one shell and launch another for it to work) ... still pretty nice capability ... see sessionDescription* messages in TDTopezClient for examples ... simply need to copy the gci libraries into the image directory (on linux) ... not tested on mac ... yet ' id '0a57c4b7-382c-47d9-aa35-96683f03b1d6' date '14 March 2013' time '12:12:47.242 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.180' message 'seal off debugging halt ... automagical handling of author initials on during login ' id '002acf8b-9e71-47b5-a584-f2694be7f5d8' date '27 February 2013' time '7:30:22.934 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.179' message 'add environmentId to a bunch of calls ... although environmentId probably won''t help indirect development ' id '8362e3e9-a979-4df2-b4cf-4debcaeeb6d6' date '24 February 2013' time '9:52:42.685 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.178' message 'tweaks ' id 'c3adf99e-bc96-47bc-ae12-9186b39d7166' date '23 February 2013' time '2:10:00.485 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.177' message 'checkpoint ... first commit with indirect access on the client-side ... still a bit shakey ' id '316ea100-ce39-44bd-8b21-a4bf2725a821' date '23 February 2013' time '1:48:17.899 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.176' message 'bugfix ' id '2d36d60e-0f00-4af7-9950-533b8b3aadec' date '18 February 2013' time '6:55:23.537 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.175' message 'add CMD-j and CMD-k for moving up and down the stack (CMD-J moves up he stack but down the screen) ' id '56a1d998-722b-4306-993e-5fb45374e0ad' date '18 February 2013' time '2:06:33.258 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.174' message 'oops ... fix bug in CMD-t for debugger ' id '637059e1-a649-4e9b-9201-145ede89888e' date '18 February 2013' time '9:43:45.599 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.173' message 'keyboard shortcuts for debugger: $i, $o, $t for db into, db over and db thru ' id 'f59429cf-7851-4208-831d-c86cdb39ea6a' date '18 February 2013' time '9:26:45.198 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.172' message 'highlighted item means nothing always select whether or not it was selected before or not ' id 'b161df5d-1bd9-44d1-a949-02db92c887cb' date '17 February 2013' time '1:54:58.489 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.171' message 'SHOUT recognizes path terms now ... ' id '3d0d2e35-4a93-46db-99fa-32f747ad7e5e' date '13 February 2013' time '8:46:32.775 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.170' message 'handle $| as part of a multi-character selector character ' id '3e2b1f79-aaef-4018-b0fd-495f684e5042' date '13 February 2013' time '6:55:12.879 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.169' message 'SHOUT support for GemStone select block ... partial ' id 'ecae06cc-7493-4a2b-b26c-c09259daea38' date '12 February 2013' time '10:05:17.236 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.168' message 'now that we control the size of the code, no need to expand the size when spawning ' id 'ef3cada0-b341-4fcf-8c71-1a8135c394e5' date '9 February 2013' time '8:37:41.814 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.167' message 'need to pass the live edit source on code editor keyboard events ... CMD-b, CMD-N, CMD-m, and CMD-n honored in all text based editors ' id 'a6b54a40-369c-4c0f-856b-95ce75d7ee05' date '7 February 2013' time '4:24:25.584 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.166' message 'CMD-B from source window ' id 'fef72c0a-9622-45c4-a49c-aa00e64d4794' date '7 February 2013' time '3:07:35.474 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.165' message 'checkpoint ... implementing CMD-N ... ' id '8a85d919-8ca7-49fe-9458-6da412eacbca' date '7 February 2013' time '2:45:12.574 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.164' message 'checkpoint ... working on messagePattern implementation so that selectors are highlighted for senders/implementors, etc. ' id '14652afd-26e1-40b7-8740-9adf3c6c3547' date '7 February 2013' time '11:57:30.97 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.163' message 'checkpoint ... CMD-n - sendersOf ' id '19e44896-dc9a-41e7-8b59-92302ff82a11' date '6 February 2013' time '9:11:22.96 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.162' message 'checkpoint ... CMD-m - implementorsOf ' id '20b2e6f6-d8aa-476c-bcc0-ac66d28f4f3a' date '6 February 2013' time '8:54:20.526 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.161' message 'CMD-b browse class implementation ' id '59b8d07b-81b5-491e-9843-261dbf7e6555' date '6 February 2013' time '7:43:06.58 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.160' message 'CMD-k is set breakpoint ... CMD-b will be browse class ... later ' id '449f28dc-df30-41f6-99db-0d2b1dd5cdcf' date '6 February 2013' time '6:40:16.86 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.159' message 'CMD-c - copy object ... implemented ' id '29d82039-de6c-4e07-b2fe-22d6c5442844' date '5 February 2013' time '11:10:46.1 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.158' message 'CMD-b in editor implemented ' id '7de748fd-cb16-461f-add0-37e4820cfac1' date '5 February 2013' time '9:53:35.242 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.157' message 'tidy up CMD-C spawn window implementation for navigation ' id '93b2867b-a6b9-4710-ba70-ac72ef54c927' date '27 January 2013' time '1:06:03.483 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.156' message 'checkpoint ... working on spawnWindow logic ' id 'a5d6b57b-5a2a-41bc-8d02-d674109a7296' date '27 January 2013' time '12:28:49.012 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.155' message 'checkpoint ... special case events (CMD-C, CMD-L and CMD-l) are working, although the spawnWindow needs work on client level (not activated?) and on the tool level (switch from window name on click to a window id for all interaction) ' id '2d174140-c325-4320-8fb4-0ab8aef9ec0f' date '27 January 2013' time '11:54:25.565 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.154' message 'checkpoint ... initial cut at first few (special case) events ... ' id 'b58dc9c1-0412-452d-b9c4-6d571a185721' date '27 January 2013' time '11:39:47.45 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.153' message 'fix client-side keyboard event handler ' id 'ecd25517-7c1d-44d7-a41b-cccbe75cb142' date '27 January 2013' time '10:52:47.186 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.152' message 'getting started on handler for keyboard events ... convert all gci messages sends to symbols for easy access by tools ' id 'f25361c7-3bfb-4a02-9f7d-adb6b3548c9e' date '27 January 2013' time '9:14:11.219 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.151' message 'fixes to open spawned window ' id '53d19d15-8a52-45a9-bd4f-b6309137fe88' date '26 January 2013' time '11:31:23.459 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.150' message 'checkpoint ... beginnings of spawnShell (ESC) ' id '09255cca-e346-4e94-9b72-c05bb516e11e' date '26 January 2013' time '11:05:22.37 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.149' message 'start working on windowIsClosing message (to terminate the debugger process os ensure blocks get run) ' id 'ad6e0808-5847-4322-95f6-386fcf402159' date '26 January 2013' time '5:37:24.038 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.148' message 'eliminate all of the extraneous transcript logging ' id '87f86ddd-ae2d-4dde-b023-64fb9b0a413f' date '26 January 2013' time '9:38:54.004 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.147' message 'checkpoint ... handling halt in debugger ... ' id 'f4aa84ec-74d7-4b1f-a5f4-8dd2253619ac' date '25 January 2013' time '8:30:45.799 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.146' message 'checkpoint ... starting work on getting breakpoints/halt working for db over / db continue / db thru by reusing the debugger ... db over currently stops for breakpoint ... ' id 'bbd2b3b0-a896-403d-96f0-5a938867bfdc' date '25 January 2013' time '7:44:20.339 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.145' message 'clear selection if selectionIndex is nil... ' id 'f96cb277-bcc4-4e5c-910b-716d8719edf5' date '24 January 2013' time '1:18:11.358 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.144' message 'when debug shell window is closed, all of the windows associated with that shell are closed as well ... ' id 'e9401b7e-4120-46e3-97b6-ce5784420018' date '15 January 2013' time '12:04:31.521 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.143' message 'a bit of cleanup ' id 'e247de71-a53f-476a-9a3a-c6955da37800' date '10 January 2013' time '10:04:48.202 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.142' message 'add show GsCursor logic ' id 'e47be4ea-e523-458d-a410-8271a2033de6' date '10 January 2013' time '8:31:55.219 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.141' message 'fix context window up problem ' id '462523e2-71bc-41b4-a99e-b6f3d7f7f1f4' date '8 January 2013' time '11:33:16.338 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.140' message 'TDTopezServer>>reifyExceptionArgsForOopList:classNamesForOopList: serializes the exception args in there entirety ' id '50f8c8e8-f882-4667-b2e6-9e8aa669e396' date '6 January 2013' time '7:58:11.232 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.139' message 'address the deadlock issue, by avoiding the creating of too many proxy behaviors ... remove some debugging halts ... ' id '8cb9da56-0dd8-4c4f-ab75-63272bfd68ef' date '6 January 2013' time '9:53:38.974 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.138' message 'checkpoint .... working through login issues, client forwarder handling (on server), tracking down/eliminating source of pharo deadlock/infinite loop ' id '1a403e10-fba9-4310-b882-8f3899ba5a5c' date '6 January 2013' time '9:18:54.368 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.137' message 'first order optimization for client forwarders appears to be functional (still scads of logging/debugging stuff) ' id '00d7c548-99d3-4f05-a3cc-9455b9ab8968' date '5 January 2013' time '4:22:32.13 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.136' message 'checkpoint ... progress reducing round trips getting err/forwarder args ... with side trip handling interupted gci calls (SHOUT) ... ' id 'd0e4a6fb-de63-41ae-9688-af0dea4e702c' date '5 January 2013' time '10:00:37.316 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.135' message 'checkpoint ... support for optimizing error/forwarder round trips ' id '5731d420-d5f7-42f7-8f6d-2e69b7191208' date '4 January 2013' time '8:04:46.103 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.134' message 'checkpoint ... a bunch of gci call logging and a handful of round trip optimizations ... more on the way ' id '1801b74d-8956-4667-bdf6-2f9a124bd9f7' date '3 January 2013' time '12:40:39.423 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.133' message 'checkpoint ... changing list item selection logic ' id 'de9f288c-195f-4d04-aba2-ead77471c511' date '30 December 2012' time '9:21:18.439 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.132' message 'checkpoint ... a bit of refactoring to accomodate the source and list elements ' id '522ac59d-c999-4099-800c-1ba32a0b38bb' date '30 December 2012' time '9:00:24.848 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.131' message 'beginning work to display lists ... ' id '8e621454-6805-4796-9244-b4526120d564' date '30 December 2012' time '8:00:11.42 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.130' message 'start work on spawning shell as part of debug command ... implement sourceContainingIt ... ' id '87314ca2-9486-4bff-9b2a-b55b8b58a0a5' date '29 December 2012' time '11:25:41.806 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.129' message 'checkpoint ... attempting to differentiate between command errors and application errors ' id 'b6cffdd5-edeb-4eb2-9f39-2439d4ec834c' date '29 December 2012' time '7:50:05.342 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.128' message 'checkpoint ... preparing to split out topez errors from application errors ' id 'b4bfa94c-f582-4858-854a-0d0ac7ecfe21' date '28 December 2012' time '9:31:02.774 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.127' message 'checkpoint ... beginnings of error handling rework: 1. Proceed, Abort, Debug dialog upon error (all errors) basically functional 2. Proceed continues from halt/breakpoint(not confirmed?) 3. Abort terminates the process ... but doesn''t give new prompt 4. Debug returns the error, but doesn''t bring up debugger 5. Debug comes up when we get "error" command error, which should be their own TopezNotification type ' id 'ebaf4cbc-cb94-46ea-a1e4-2baee6e04e66' date '28 December 2012' time '8:58:38.822 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.126' message 'tweak compiler error handling ... looks good right now ' id '26ba5b9d-fe89-4b54-84fd-9e856e54d156' date '28 December 2012' time '6:36:25.738 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.125' message 'inserting error information into method ... need to fine tune now ' id '449924cc-1a62-478b-ad9f-95a4d9836a44' date '28 December 2012' time '9:59:35.418 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.124' message 'checkpoint ... working on handling compiler errors ' id '3182f095-2952-4c07-98d0-64a56dc71f76' date '28 December 2012' time '9:50:57.346 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.123' message 'add error handling ... fix formatter logic ' id 'c939b137-c310-4f5c-b7b0-e9cbf77244e6' date '27 December 2012' time '4:52:13.066 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.122' message 'edit Text, check. save Text, check. ' id 'aeb570b8-3745-41b8-a49b-3514ae9dcdae' date '27 December 2012' time '11:02:35.241 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.121' message 'checkpoint ... getting text editor working ' id '0a8a6d1b-8e30-4764-a17f-ca4e31059886' date '27 December 2012' time '10:30:53.166 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.120' message 'taking the editors seriously now ... time to add windows ' id 'ed341b90-24e8-4a19-9001-71dffe7ecc29' date '27 December 2012' time '10:05:50.151 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.119' message 'implement shell window spawn ... needs a bit more work ' id 'b544c968-527e-4a1a-9eb0-48a4596ece7c' date '21 December 2012' time '10:04:01.29 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.118' message 'clean up debugging code ... remove unnecessary code ... TXT rulez! ' id '736e8168-2c44-4926-abb0-1a0c6db5bfb2' date '19 December 2012' time '10:22:34.074 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.117' message 'successful text edit/save ' id '4fc75e5c-865b-4154-bafb-713fe279eff9' date '19 December 2012' time '10:17:54.421 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.116' message 'checkpoint ... working on adding true Text to txt files ' id '8410b566-8102-42bd-bc76-990fc20ec451' date '19 December 2012' time '8:07:44.235 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.115' message 'update netldi ports after restarting server ... topez hack ' id 'ee905d86-b0e0-4828-a1fa-4f250832daa4' date '18 December 2012' time '7:03:34.723 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.114' message 'little compatibilty hack for TDWindowStatus ... ' id '313647a1-376c-4f7e-b6ce-0efd87d1b605' date '16 December 2012' time '3:31:53.358 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.113' message 'proper edit command behavior for editting various leaf nodes ' id '08000000-1508-280a-1508-280a14000000' date '30 November 2012' time '4:13:22.466 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.112' message 'supply missing TZSystemWindow>>activate method ' id '3966374b-912f-4132-bd8b-0667ad1b423d' date '28 November 2012' time '7:35:24.621 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.111' message 'create /home/.window object whose contents represents the server element associated with the active window ' id '08000000-1508-b017-1508-b01714000000' date '27 November 2012' time '4:15:28.768 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.110' message 'start tracking the active window ... needed to provide access to the server object that is underlying the model ' id '08000000-1508-b810-1508-b81014000000' date '27 November 2012' time '3:01:19.426 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.109' message 'edit script is working now ... with correct syntax highlighting ' id '08000000-1508-460a-1508-460a14000000' date '26 November 2012' time '4:00:31.846 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.108' message 'more fine tuning of the SHOUT code base ' id 'e51585c8-b5ef-495b-aad7-9085d68e5062' date '14 November 2012' time '3:16:05.844 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.107' message 'additional bugfixes for instance variable highlighting in GemStone ' id 'a2624325-0e30-4e00-938a-77d13adf8874' date '14 November 2012' time '2:28:46.228 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.106' message 'fix some infant mortality issues with the SHOUT improvements ' id '3d8aa96c-c2e4-43de-9a16-4d2f0193bab1' date '14 November 2012' time '11:08:42.087 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.105' message 'improve SHOUT highlighting for GemStone ' id '56232e11-834a-4996-83c5-f60bc39ba95f' date '14 November 2012' time '9:50:48.068 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.104' message 'enable CMD-g to find based on regex expression used with mutli-arg implementors/senders selector ' id '4d71e790-a473-457f-a3e4-f94a151ef483' date '11 November 2012' time '3:12:13.314 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.103' message 'list pane wants keyboard focus on mouse enter (no need to click in window for inspector especially)' id 'd80d82da-0a94-4e2c-87f7-66e6303b844a' date '31 October 2012' time '12:43:41.367 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.102' message 'add TZGsStonWriter class with added support for storing proxy references ... plus other performance adjustments' id '45d4904c-ebcb-4bb4-8e64-ecd833e65455' date '30 October 2012' time '4:09:27.112 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.101' message 'move lint command to native-only and create setClassProxy to avoid roundtrip when using name (to resolve to a class anyway)' id '08000000-1508-a01e-1508-a01e14000000' date '29 October 2012' time '2:46:07.908 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.100' message 'make lint happy' id '08000000-1508-8215-1508-821514000000' date '29 October 2012' time '11:10:05.394 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.99' message 'CTL-j for repeat last command....' id 'edfe6e18-f6a1-4fe2-84fe-94dee3df08af' date '27 October 2012' time '10:06:07.234 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.98' message 'fix expand when task bar is _not_ used' id '98e63381-a45d-4ad8-8575-2217b328fdc9' date '27 October 2012' time '11:45:41.855 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.97' message 'fix problem with setting the evaluator window ...(for exit and esc)' id 'e466685e-1daa-4a34-9228-ed97bf774302' date '27 October 2012' time '11:29:20.876 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.96' message 'add TZBinNode class that rlists the commands available in the system ... edit the commands too ... don''t try saving the commands yet ...Bin node is generated dynamically from the block list ... should have one for the clickBlocks and the printBlocks ...' id '928d9f99-c96c-4104-b450-4c193aa7e07b' date '27 October 2012' time '12:29:21.81 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.95' message 'editting scripts' id 'ab0ace5e-2c9d-4cd6-b8ca-86a2a1b6aa3c' date '26 October 2012' time '10:51:16.055 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.94' message 'setting stage for editting the scripts....and objects from stash interface' id '79942b9f-a8f4-46b2-b5db-d386251c2e3c' date '26 October 2012' time '8:29:34.015 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.93' message 'fix up inspector interaction ... probably need to close all windows and reopen fresh after updating (event mapping changed)' id '08000000-1508-7402-1508-740214000000' date '25 October 2012' time '4:33:38.842 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.92' message 'change location of evaluator window upon open' id '08000000-1508-cc02-1508-cc0214000000' date '25 October 2012' time '2:57:06.698 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.91' message 'CMD-u (step into) and CMD-j (continue) key bindings implemented' id '002a473b-8d34-428f-92f0-aca0d34c97fa' date '25 October 2012' time '12:21:47.34 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.90' message 'CMD-Shift-b added to trigger "class browser" hierarcy, definition and method display ... otherwise implementors/sender/references/debugger only change the code pan on selection ... inspector will do the same thing .... make sure that the setClass: is honored correctly sooner or later' id '28be952d-6200-4810-87f0-b4c530c78707' date '24 October 2012' time '11:52:23.142 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.89' message 'straighten out selection hiccup' id '3abb8a45-888c-4ba3-8456-bf2660e25f4d' date '24 October 2012' time '9:38:16.24 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.88' message 'major method refactoring for the edit* methods ... need to have direct access to force selection of an item for debugger' id '561005e5-b0fe-42c0-b785-f77938fe50ef' date '24 October 2012' time '9:07:50.924 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.87' message 'define the debugger key strokes and start implementation with CMD-t step over ... functional, but need to work on window updating logic' id 'cb4fe304-861c-403a-a63b-26aaf6759c8a' date '24 October 2012' time '6:59:34.669 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.86' message 'figure out key bindings for debugger: CMD-t step over CMD-u step into CMD-j continue CMD-k set breakpoint CMD-K clear breakpoint document keyboard mappings for in TZSmalltalkEditor class comment ... need to identify the list keyboard mappings ' id '08000000-1508-b812-1508-b81214000000' date '24 October 2012' time '5:12:46.762 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.85' message 'hook up selection range for debugger text' id '08000000-1508-481f-1508-481f14000000' date '24 October 2012' time '4:44:26.308 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.84' message 'CMD-b keystroke mapping in lists' id '08000000-1508-dc08-1508-dc0814000000' date '24 October 2012' time '12:21:54.752 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.83' message 'hacks for executed code shout highlighting' id '58d9cb4e-ef0d-4963-9542-600532b8aceb' date '24 October 2012' time '7:39:43.881 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.82' message 'Cmd-p used for inspecting strings ... handling the Executed Code method for GemStone' id 'b4e52e03-43ca-475f-86a3-924c2bb93a85' date '23 October 2012' time '8:36:45.564 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.81' message 'all but one test (expected for now) green' id '08000000-1508-e00c-1508-e00c14000000' date '23 October 2012' time '4:25:55.922 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.80' message 'correct copy/paste from class to instance and vice versa logic' id '08000000-1508-9814-1508-981414000000' date '22 October 2012' time '3:28:29.136 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.79' message 'improve CMD-o implementation, allow pasting (CMD-v) of methods into instance/class selectors panes thus forcing isMeta to match (can move class-side methods to instance and vice versa)' id '08000000-1508-940f-1508-940f14000000' date '22 October 2012' time '2:08:37.878 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.78' message 'checkpoint' id '08000000-1508-b600-1508-b60014000000' date '22 October 2012' time '1:39:31.402 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.77' message 'assorted tweaks' id '08000000-1508-8416-1508-841614000000' date '22 October 2012' time '11:34:23.484 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.76' message 'getting started on initial implementation of debugger' id 'b3bc7f5b-3041-4dc7-b2e2-7df6f6c25d08' date '21 October 2012' time '4:36:24.354 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.75' message 'remove unneeded method' id '0a54f084-25a8-4216-9075-24e658b3e4fb' date '21 October 2012' time '11:47:50.39 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.74' message 'fix problem with referencesTo: and improve the window listing code' id '636ad9bd-2599-4a70-a938-a9997d0e579c' date '21 October 2012' time '11:45:42.23 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.73' message 'checkpoint ... some work on GemStone side, preparing to remove all of the command objects (more complication than needed) ... ' id '49cbedd5-0824-4569-9fc9-8a935ba18dd8' date '19 October 2012' time '5:29:51.986 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.72' message 'use standard SHOUT for Pharo' id '590b4560-1c32-40a6-9cd8-ced7766aa8b2' date '18 October 2012' time '9:02:26.596 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.71' message 'have to have out own variants of Shout parser to be able to do remote shout highlighting ...' id '08000000-1508-3a1f-1508-3a1f14000000' date '18 October 2012' time '4:57:05.014 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.70' message 'add dash of color to all windows to associate with Native or GemStone' id '08000000-1508-480f-1508-480f14000000' date '18 October 2012' time '3:35:58.544 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.69' message 'Ctrl-c now copies the object to the object clipboard and the label text is copied to the text clipboard' id '82f6dd6d-b699-4e59-b021-04bbe254dff3' date '17 October 2012' time '7:44:44.083 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.68' message 'rename instance variables in the TZElement hierarchy to get rid of proxy in name ... too confusing ... native tests are now passing (except the new ones)' id 'f10f6c3b-d57b-4a58-87a4-f39be3626ed5' date '16 October 2012' time '8:46:04.828 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.67' message 'checkpoint for ctrl-o work ... using emptyTemplate ... final touch is to hook up with clickBlock' id 'b338728c-098f-4f02-80ef-4379d3de0fab' date '16 October 2012' time '6:52:38.419 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.66' message 'spawned window uses existing window extent' id '1444c05a-b565-4b5f-bc29-1a42b90eb96d' date '16 October 2012' time '6:30:35.999 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.65' message 'checkpoint ... adding Ctrl-o action ... need to switch out parentElement and use codeTemplateElement ...' id '08000000-1508-1c02-1508-1c0214000000' date '16 October 2012' time '5:23:05.427 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.64' message 'Ctrl- x, c, v, n, m, N commands implemented. Ctrl x - delete element (class or method) Ctrl c - copy method into buffer Ctrl v - paste method onto class (add method to class) Ctrl N - referencesTo: class Ctrl m - implementors Ctrl n - senders ' id '08000000-1508-ae00-1508-ae0014000000' date '16 October 2012' time '4:18:40.587 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.63' message 'get Cmd-Shift-c (spawnWindow) and Cmd-Shift-l (select topez windows) shortcuts working on Linux ... different mechanism than MAC ... oh the horrors!' id '08000000-1508-e214-1508-e21414000000' date '16 October 2012' time '11:20:15.369 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.62' message 'don''t fight the MAC by trying to enable the CTL keys...use #FullMatching again....switch to CMD-SHIFT-C and CMD-SHIFT-X for the spawn and select window commands' id 'a19acd52-a1dc-4202-881c-18fe3882515c' date '16 October 2012' time '4:50:47.776 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.61' message '`list references` and `edit references` implemented ... keyboard mapping honored as well' id 'caac0862-bca3-4cb9-9c5c-f215b63c0fc6' date '15 October 2012' time '9:28:14.137 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.60' message '`list hierarchy` and `edit hierarchy` commands adjust window layout replace superclass and subclass windows with a single hierarchy window in clickblock logic' id '08000000-1508-9401-1508-940114000000' date '15 October 2012' time '5:26:44.357 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.59' message 'implementation of `edit implementors` and `edit senders` plus keymapping' id '08000000-1508-c213-1508-c21314000000' date '15 October 2012' time '3:20:36.272 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.58' message 'initial implementation of `list implementors` and `list senders`' id '08000000-1508-4e14-1508-4e1414000000' date '15 October 2012' time '2:37:20.156 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.57' message 'checkpoint ... keymapping for topez' id '742fda01-658c-4412-9e9f-2d67fa55ee0c' date '14 October 2012' time '8:32:17.38 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.56' message 'finish up `edit class`' id 'a425cd77-4429-49e8-9e8c-db3c40dfc1ff' date '14 October 2012' time '4:36:54.564 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.55' message 'use elementClassName for TZClassElement' id '21271def-ad53-4e54-9a9f-bb36840c4550' date '14 October 2012' time '12:58:53.624 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.54' message 'working on `edit class` and `find class` commands' id '74a0bbcf-eb61-4df6-b102-380f974a7a3f' date '14 October 2012' time '12:39:12.605 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.53' message 'allow for native/gs-specific scripts and centralize window extents' id '26508a55-63cb-4034-a9ec-d5a4bcf2c379' date '14 October 2012' time '11:10:34.265 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.52' message 'tweaks for GemStone' id 'edea8888-e1de-47d5-a754-75c607de9363' date '13 October 2012' time '7:01:43.321 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.51' message 'clean up logging messages' id '7ced919d-49fd-4622-ae47-f5d3fe7fe0c9' date '13 October 2012' time '6:50:24.337 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.50' message '...fix a bug that slipped through the net' id 'ff6b0b38-43c6-48f1-be07-79d58f2de97a' date '13 October 2012' time '6:39:34.389 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.49' message '`expand` and `collapse` commands added ... fix expand bug' id 'f4157225-78cf-4c98-80ad-c38e997afa74' date '13 October 2012' time '6:36:35.522 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.48' message 'implement `prtests` command ... list tests in project' id '9cbe84f7-006f-4859-986f-8647585d50b4' date '12 October 2012' time '8:50:50.01 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.47' message '`edit class xxx` variant ... preparing for setClass: to do a find class, if the named class not found ... formatting methods on accept ...' id '08000000-1508-4e10-1508-4e1014000000' date '12 October 2012' time '5:55:12.862 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.46' message '`edit class` command and accept method' id '08000000-1508-3e19-1508-3e1914000000' date '12 October 2012' time '3:59:05.052 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.45' message 'add window closing logic so that closed windows are cleaned up along with sessions' id '08000000-1508-ee10-1508-ee1014000000' date '12 October 2012' time '11:51:05.3 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.44' message 'class>>selector label for code windows ...' id 'bc047e3d-e704-405f-82d9-4250b1b59cc2' date '11 October 2012' time '8:13:02.542 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.43' message 'adjust labeling scheme' id 'a78ccac1-6cf8-4963-b55f-6e578caf4286' date '11 October 2012' time '7:34:38.557 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.42' message 'fine tune' id '304e2dcf-a712-4020-a6a4-2c4e14e06bb6' date '11 October 2012' time '7:23:52.63 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.41' message 'a bit of cleanup and add CTRL-s ... spawn window' id '08000000-1508-8404-1508-840414000000' date '11 October 2012' time '5:16:03.354 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.40' message 'gemstone working again' id '08000000-1508-bc15-1508-bc1514000000' date '11 October 2012' time '4:22:15.416 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.39' message 'checkpoint ... working on getting recent additions working in GemStone (hierarchy, sublcasses, history, etc.)' id '08000000-1508-b20e-1508-b20e14000000' date '11 October 2012' time '3:15:39.382 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.38' message 'add hierarcy and subclasses commands (edit and list varieties)' id '620b8473-6506-44ef-966a-f9ebe3f7241f' date '11 October 2012' time '8:19:09.816 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.37' message 'get initial window sizing straightened out clean up some initial bugs' id '6ffc5b44-1792-4826-ad2a-e847bf98db3f' date '10 October 2012' time '7:00:18.418 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.36' message 'multi-line evalute (making copy/paste in evaluator window feasible) add input command for executing topez scripts run command can execute named run scripts topez command can execute named topez scripts edit run/input/topez scripts list scripts' id '47499b1a-f422-48fd-b67a-93f6154b305a' date '10 October 2012' time '6:07:03.061 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.35' message 'refactoring so I can add a filter to the listEditor and add `topez` command so that I can define the listEditor filter from within topez' id 'c8073d65-8faf-4a31-839f-1563ffaf7094' date '10 October 2012' time '12:56:20.854 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.34' message 'mac hackery to get a semblance of "correct" behavior on the mac ... 1. CTRL key only triggered on keyUp event 2. the character value is offset (CTRL-x shows up as CTRL-g) ... other than that the CTRL stuff is finally working' id 'c1c2e576-47fc-4ef7-99bd-15b29d2edf2a' date '9 October 2012' time '9:31:23.139 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.33' message 'debugging pharo-side after giving more responsibility to the TZElement classes' id '08000000-1508-4a04-1508-4a0414000000' date '9 October 2012' time '4:52:02.76 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.32' message 'putting more responsibility into the TZElement classes' id '08000000-1508-000d-1508-000d14000000' date '9 October 2012' time '4:19:48.182 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.31' message 'implement ctl-x (switch window)' id '08000000-1508-f60f-1508-f60f14000000' date '9 October 2012' time '3:09:33.9 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.30' message ' key puts focus on evaluator window from any of the other windows...' id '08000000-1508-5e16-1508-5e1614000000' date '9 October 2012' time '12:55:49.664 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.29' message 'named windows, id 0 gives new windowid and single click action' id '2ef76d75-59ce-431d-b198-34c7e33f2b18' date '9 October 2012' time '7:58:38.574 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.28' message 'single click in selector pane changes code pane' id '7538f006-d5af-4c14-98c4-801e0c4879dd' date '8 October 2012' time '7:57:26.876 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.27' message 'begin job of making the pharo client and gemstone clients independently loadable ... at the point where I need to split up tests ... methinks' id '08000000-1508-4606-1508-460614000000' date '8 October 2012' time '4:57:07.582 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.26' message 'reconstruct ClassBrowser from deconstructed elements' id '08000000-1508-b81e-1508-b81e14000000' date '8 October 2012' time '2:42:11.52 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.25' message 'hook up pieces of the deconstructed browser' id '93d6e6d0-e7eb-40e9-8757-f0c2f79293e7' date '8 October 2012' time '7:55:50.532 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.24' message 'remove some halts' id '7e7b771d-e0c5-4594-ac28-85abb7022c2f' date '7 October 2012' time '9:24:09.395 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.23' message 'prclasses is a list of TZClassHierarchyElements ... make it feasible to do intersting things when the items are clicked...' id '5ad9d17c-e497-4269-a51f-c3c0d8990035' date '7 October 2012' time '9:23:00.9 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.22' message 'arrange for building indented and emphasized class list for project classes ...' id '7f62c676-ce12-42ce-927b-4fe35ea4d79a' date '7 October 2012' time '7:32:07.374 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.21' message 'prclasses support' id 'c13c4034-fa85-4605-abb1-9c4cb1331c67' date '7 October 2012' time '6:31:43.705 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.20' message 'switching context with `edit` command sets current class ...' id '49f6edce-502e-4402-9e15-919300607946' date '7 October 2012' time '2:30:47.047 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.19' message 'single system window shared for both list and code ... making possible emacs-like window buffers' id '97380c7d-a2c5-4e97-ae67-b7f6d8e815c0' date '7 October 2012' time '1:02:42.079 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.18' message 'sort selectors enable up/down arrow keys' id '9406066f-d410-46aa-8ec9-bf1a8fcc33a7' date '6 October 2012' time '2:11:42.133 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.17' message 'hook up list editor' id '1f40b562-2c9e-4ac2-9bce-f2909923ba91' date '6 October 2012' time '1:47:42.7 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.16' message 'implement `list selectors` and `list cselectors`' id 'fb3fa38e-1bbe-4a6d-a84f-de525959b37c' date '6 October 2012' time '12:17:54.596 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.15' message 'implement window/buffer switching for `edit` command' id '8a350fa5-9879-419e-8896-62961d035712' date '6 October 2012' time '5:27:02.897 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.14' message 'implement `list method:` and `list classmethod:` commands ... get variants too, add TZNativeEvaluator tests' id '86c4758c-6d00-4942-b741-677cd94d7228' date '5 October 2012' time '8:54:31.995 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.13' message 'checkpoint ... list method source, class definition, etc. added in preparation for step' id '08000000-1508-8e10-1508-8e1014000000' date '5 October 2012' time '5:23:54.518 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.12' message 'checkpoint ... more prep work for step ...' id '08000000-1508-ee17-1508-ee1714000000' date '5 October 2012' time '3:50:55.43 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.11' message 'checkpoint ... preparing for step implementation' id '08000000-1508-620f-1508-620f14000000' date '5 October 2012' time '2:31:45.718 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.10' message 'checkpoint ... progress with native topez ... run and where are working ...' id '08000000-1508-9a0f-1508-9a0f14000000' date '5 October 2012' time '2:02:17.712 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.9' message 'introducing native topz evaluator' id '974470a1-255c-4b96-bce4-0d3f3202e822' date '5 October 2012' time '7:45:07.891 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.8' message '`set class`, `edit class`, `edit selectors` commands implemented ... list editor and string editor' id 'dab95f59-02dc-4cd3-b28f-5d79f1d6d96e' date '4 October 2012' time '8:18:36.402 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.7' message 'enable SHOUT styling for TopazEditor' id '08000000-1508-7e0b-1508-7e0b14000000' date '4 October 2012' time '4:41:54.148 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.6' message 'render list method using SHout' id '08000000-1508-de14-1508-de1414000000' date '4 October 2012' time '4:17:45.989 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.5' message 'convert to using #renderText:on:indent: instead of print... add Text emphasis to all command output...' id '08000000-1508-de0b-1508-de0b14000000' date '4 October 2012' time '3:29:30.054 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.4' message 'toy with Text' id '5c0d0b63-8e00-4abf-abf4-d1fd78e4abc7' date '4 October 2012' time '7:43:26.798 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.3' message 'use Text in TopezEvaluator ... will be useful for #render:on:indent:' id '27f33dd6-04e2-482b-8687-eb66e096ec1a' date '4 October 2012' time '7:25:45.115 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.2' message 'attempt to add styled text to TopezEvaluator start work on edit command which brings up a workspace on the selected string ... method or class presumably' id '08000000-1508-ac06-1508-ac0614000000' date '3 October 2012' time '6:30:01.642 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.1' message 'rename Topez-STON to Topez-Common-Core, Topez-STONTests to Topez-CommonTests, and Topez-Pharo-STON to Topez-Pharo-Common' id '08000000-1508-1212-1508-121214000000' date '3 October 2012' time '4:12:21.01 pm' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Topez-Pharo-Common-dkh.319' message 'Issue #201: fix typo in welcome message' id '2a03c249-7904-4b1b-8c58-54eb8098602f' date '16 September 2015' time '11:48:58.476672 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.318' message 'Issue #201: add `builtIns comment to welcome message' id 'c820e842-7f28-4234-aeed-f2b2ce761a68' date '16 September 2015' time '11:10:52.986483 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.317' message 'now that we''re honoring canDiscardEdits, need a way to clearUserEditFlag in code editors (used in debugger at the moment) - client side support ' id '3f880989-4008-40a5-987b-1b77160ca73d' date '31 August 2015' time '5:15:28.989017 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.316' message 'Issue #186: final work on button bar (fingers crossed) ... set default button/state in spec, update the button selection color ...' id '649a41ed-1a91-4a83-9cf0-5e9902944d15' date '31 August 2015' time '1:17:36.790365 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.315' message 'Issue #186: start work on button bar example ... implement a `class browser` that has instance/class buttons ' id 'd452bcd7-ab79-4ee5-86ce-9c49c9741c56' date '19 August 2015' time '9:25:05.184713 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.314' message 'Issue #186: finish up TodeClientButtonBarElement implementation for cilent/server' id '6db4dfbe-1b09-45aa-ae07-7bb6f6b25f28' date '19 August 2015' time '5:01:24.954934 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.313' message 'Issue #186: implement client-side support for TodeClientButtonBarElement' id '47fc6cdf-61d8-40fa-ac4d-c7ed87c2bf58' date '19 August 2015' time '1:00:51.42885 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.312' message 'Issue #84: add clinet-side support for the `Window > history` menu item ... list full client element history and allow user to pick an old client element for viewing ' id '39c616dd-0434-45e7-a7d0-b44905e97a07' date '17 August 2015' time '5:11:38.78713 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.311' message 'honor canDiscardEdits and prompt for correct action' id '187635ac-428a-46c3-b66b-d6f8a82e9bf5' date '17 August 2015' time '4:04:50.820651 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.310' message 'Issue #184: introduce TDEventsCache for passing cached event information back and forth between client and server while minimizing round trips... first application is to record the clientElements that are no longer referenced by a window (retired) on the client ... retired clientElements can be safely removed from the server-side elementCache ... ' id '5be5a1b1-fc32-4bdc-8192-0308773acd4f' date '12 August 2015' time '10:29:35.250398 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.309' message 'Issue #175: convert client-side code to use #objectSerializer' id '6035035d-a420-47bb-bbeb-a953c77a7f32' date '25 June 2015' time '5:12:06.128515 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.308' message 'Issue #168: revert to full activation and solve keyboard focus later.... allow a console to be attached to a server block TDShell instance ... when it closes there is a logout, but that may not be critical:)' id '66c478d8-b810-40a3-a035-0e911078df6d' date '17 April 2015' time '6:34:04.69105 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.307' message 'Issue #168: proposed fix' id '4ca8c973-7ad1-4d5b-8b5d-162c2221e7f6' date '14 April 2015' time '1:45:06.020377 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.306' message 'bump version' id '0f0f2d4a-ea08-4041-8a83-822b627a24b6' date '4 April 2015' time '9:43:47.736906 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.305' message 'tODE windows should not be activated on opening ... wait for explicit mouse event ... this way focus stays in console while typing multiple commands that may may open other windows ... also a list does not lose focus if the click causes a window to open ...' id '2ff23177-a410-409f-9049-6ac3bcc8ec3b' date '1 April 2015' time '11:01:45.852117 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.304' message 'Add #logStack as error handling option ... triggered when running in a headless client .... ' id '78423ffe-5633-4e97-b33c-33f4f5a8c551' date '16 March 2015' time '4:49:44.863404 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.303' message 'TDMultiLineText was not protected for headless interaction' id 'c3ecc303-7729-478f-bd22-ea987cc2724a' date '11 March 2015' time '6:04:06.679585 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.302' message 'Issue #135: tweak welcome message for `gs gemtools`' id 'b7c45084-3d40-4091-830c-717a2fbaf2f3' date '7 February 2015' time '3:14:56.504432 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.301' message 'tweak TodeConsole>>welcomeMessage' id 'ce4c6114-b335-481a-b364-f8012358a11d' date '6 February 2015' time '10:23:49.362215 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.300' message 'use index as key for selection dictionary' id '3e78fa67-04c9-49b7-a192-572c281778fd' date '30 January 2015' time '6:17:40.525159 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.299' message 'multi-selection related comment' id '49732fc8-db10-40f9-a9b2-eae58197ac12' date '29 January 2015' time '6:58:49.124958 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.298' message 'add client-side support for multiple selection lists' id '27b84c86-c3d7-47cd-b706-f5ff64bbfd3c' date '28 January 2015' time '5:02:25.307638 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.297' message 'enable strikethrough (TextEmphasis class>>struckOut) for lists when using FreeType fonts ... Pharo3.0 specific probably' id '9cf0bab1-6a9d-46d2-a23e-e2e1d097a70a' date '25 January 2015' time '4:22:51.413232 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.296' message 'support for confirmation abort option' id 'd53d73d7-fbe2-412f-8e26-08c7f549eb05' date '16 January 2015' time '11:14:37.575979 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.295' message 'Issue #5: final fix' id '29e196a3-0cf9-4610-a357-362394498ba5' date '18 December 2014' time '4:36:44.643055 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.294' message 'Issue #5: final fix' id '6ac4a993-d429-4397-95b3-ce6f79efdf61' date '18 December 2014' time '4:36:17.68367 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.293' message 'Issue #5: almost final version of tab completion, cient gets an array with prefix, matches, postfix and longestMatch ... longestMatch has become the new command line, but I want a checkpoint where everything is functional ' id 'ffd30231-8fe2-442b-9289-363db311ab32' date '18 December 2014' time '4:26:25.376273 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.292' message 'Issue #5: arrow keys moved back to where they started' id '6ba5389d-8752-4855-bf38-b5b10c3b53e4' date '17 December 2014' time '10:16:18.521107 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.291' message 'Issue #5: matches listed within console output and new prompt setup with original command ... need to hook in path matching plus longest common match string ' id '6cfdff89-9a23-4065-84f0-e393ae055d8d' date '17 December 2014' time '9:04:37.18626 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.290' message 'Issue #129: when last line of input is $\ issue a cr and continue accepting input before shipping off command line to shell for command processing' id 'adc2762f-7eaf-4424-ac06-323784b19cf8' date '17 December 2014' time '5:08:59.131717 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.289' message 'Issue #107: arrange to resize all existing windows when window layout is changed' id 'dbe20905-9fde-4135-909b-892d77620211' date '26 August 2014' time '6:25:31.177731 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.288' message 'tweak the path dot syntax highlighting ... another tweak needed' id '7ec9d709-4bdb-4061-bbfa-7b0ba22a4d5a' date '12 August 2014' time '10:51:46.221562 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.287' message 'fix bug in path dot syntax highlighter' id '32302085-d44d-4de5-a367-5775fbd84bf8' date '12 August 2014' time '4:01:26.042471 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.286' message 'more path dot syntax support for SHOUT' id 'd22a351a-b48b-4902-b058-af60efce3a62' date '12 August 2014' time '10:53:36.040609 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.285' message 'fix shout for path term with *' id '8fa270db-3ca8-445b-8ff3-2a2dacd792ff' date '12 August 2014' time '10:39:17.620795 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.284' message 'get selectLine working properly for tODE' id '0cde6f37-0def-4eb1-97dd-09fe3a970778' date '9 August 2014' time '10:59:27.752595 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.283' message 'selectWord should recognize ` as a delimiter as it is used by tODE' id '524fa332-3da4-4a80-ae06-e1ef3c864f81' date '7 August 2014' time '6:26:16.212886 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.282' message 'need render method in String too, for colored lists' id '1fe4daca-78e1-42fd-86ac-d299c231df4f' date '7 August 2014' time '6:22:57.343404 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.281' message 'arrange to use the text color (if present) for lists' id '81d0e0ba-ec17-4728-ba6c-0ef74807a8a9' date '7 August 2014' time '10:42:50.719527 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.280' message 'fix selectBlock SHOUT parsing' id 'e97a5f24-c45b-4d08-b649-e1883797b9b8' date '7 August 2014' time '8:27:31.26014 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.279' message 'extend SHOUT to include GemStone path dot syntax' id 'c64d0eb5-a10d-4e6f-887f-20762b8e44d1' date '7 August 2014' time '8:06:41.237007 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.278' message 'plug the backspace hole in console' id '3b718cf5-614a-425e-9060-e104736bc810' date '31 July 2014' time '8:38:31.994684 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.277' message 'well....CTL-x keys now work on linux' id 'c0f3a912-f607-4dcd-8cfb-99d18debf326' date '31 July 2014' time '1:39:34.328357 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.276' message 'there is no cut on console' id '9efe194a-81b4-4a0f-b8c8-9e588f925017' date '31 July 2014' time '7:32:26.630367 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.275' message 'clean up some problems in the new implementors/senders code ' id '4659dcf7-e485-498f-8cc7-c2b31a491889' date '31 July 2014' time '7:04:02.003904 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.274' message 'console is finally looking like a real console ... typing is dumped at end of buffer ... but you are allowed to type intraline (might have to change that) ... paste is always stuck at the end of the buffer ...' id 'a2581236-5206-40ce-8b4a-fd4315ef6b3b' date '30 July 2014' time '8:18:47.948369 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.273' message 'implement console menu ...' id 'c5387d8d-a776-4bd9-86aa-6b550dc41f86' date '30 July 2014' time '7:57:18.284187 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.272' message 'get keystrokes under control I think (test on linux tomorrow): - another spot that needs CMD or CTL - let the list view search for non-CMD/CTL key presses - a bit of cleanup' id 'c91e67aa-bfd4-4290-8212-6dfb94934270' date '30 July 2014' time '6:13:40.79353 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.271' message 'now I should have linux covered' id 'a29e5f84-5d57-4b2f-9721-ca7091eaceb9' date '30 July 2014' time '5:03:19.419987 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.270' message 'restore operation of CMD-c in the console window (on mac at least)' id 'c5946cfa-a5d8-4b6b-b44c-a67ab265fdbe' date '30 July 2014' time '5:01:19.782408 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.269' message 'disallow the KM keyboard shortcut handlers for tode windows ...' id 'a164eadb-e920-4ad2-ab2a-217c99a6f0a2' date '29 July 2014' time '9:18:58.779858 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.268' message 'eliminate the use of some obsolete protocol' id '4f8e6b6e-684c-4311-a358-fa33ac566007' date '29 July 2014' time '2:35:42.138355 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.267' message 'ignore README.md in the client/descriptions directory; signal error when running headless and error occurs on server while running tODE command' id '36d0c944-c666-4b19-8bdd-a62554ba3724' date '28 July 2014' time '7:58:02.519587 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.266' message 'clean up the client-side interaction when client is run in headless mode' id 'd36f154f-fde2-4185-9415-3d928c993a06' date '25 July 2014' time '4:21:13.360307 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.265' message 'wrap messages at 80 characters' id '03ed4e71-33d4-49e2-9712-223dba239a1b' date '7 July 2014' time '4:59:45.298 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.264' message 'Issue #75: re-enable pasteInitials functionality' id 'e447beca-659b-4473-b4b3-0675e699bc54' date '24 June 2014' time '10:17:27.64 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.263' message 'Issue #75: clean up additional fallout from swapping out SmalltalkEditor' id '9251c169-613b-464c-acee-7248606e5b13' date '22 June 2014' time '9:22:18.664 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.262' message 'Issue #75: infant mortality and upgrade patch' id '0c45c906-bb54-4070-b2d5-51f87a411a8a' date '19 June 2014' time '7:27:25.398 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.261' message 'Issue #75: add implementors, senders, browse it to console ...' id '0a2f89a3-9fed-4ff1-b114-ad8445591857' date '18 June 2014' time '8:27:43.743 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.260' message 'Issue #75: fix up a reference to obsolete class' id '79dfbb50-56ca-4c7e-9793-8750e7664795' date '18 June 2014' time '7:07:53.42 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.259' message 'Issue #75: move some classes that are not longer used (but might be useful someday) to some obsolete classes' id '5187f091-4ebd-4f50-bdf5-134f2ad56eba' date '18 June 2014' time '6:58:22.1 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.258' message 'Issue #75: merge keymapped functionality into TodeListEditor' id '12dbf011-10e0-4292-9a1d-ffef13246a2f' date '18 June 2014' time '4:07:37.896 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.257' message 'Issue #75: unwind infinite loop' id '6e716c02-daa7-49c1-831c-ba3da4d161f2' date '18 June 2014' time '3:56:03.224 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.256' message 'Issue #75: implement TodeKeymappedListEditor to add keymapping to list editors' id '7e64dba6-25a0-4665-9d79-e2530594c333' date '18 June 2014' time '3:47:55.946 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.255' message 'Issue #75: remove cmdKeyBlock and cmdKeyBlockOop from TodeClientSourceElement - not needed anymore ... keyboard mappings now come from menuSpec ' id '93b99afa-b9d5-4c41-a11d-0db0b4cbd0cb' date '18 June 2014' time '2:38:08.342 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.254' message 'cmdKeysInText is not the method that you are looking for...' id '0b46bf57-6ad4-4a8d-8f7f-ff82b582a45a' date '4 June 2014' time '10:19:08.434 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.253' message 'looks like we might want to enable CTL key for non-mac platforms' id 'e6334d5d-15ab-4b22-9638-f8cdf84866a3' date '4 June 2014' time '8:45:57.694123 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.252' message 'client element source: now returns true/false allowing server-side element to approve/disapprove the save ...' id '9eff99c7-1fc0-4beb-a1ab-8450bd82d86b' date '2 June 2014' time '11:43:32.94 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.251' message 'handle non-boolean return values on keystroke commands (when debugger comes up)' id 'c1c27b08-7233-4374-aef5-63ed7b4001c8' date '24 May 2014' time '9:46:49.901 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.250' message 'update welcome message in console' id 'c9bddd86-7613-4dc9-ab04-5bb922ea2ab2' date '21 May 2014' time '4:55:56.274592 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.249' message 'tweak for Pharo3.0' id '992dd2e0-63a8-4734-8cb1-56a166b16c5c' date '20 May 2014' time '7:41:20.354293 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.248' message 'permit bulk enable/disable' id '49e121e5-f006-4b48-86ef-9890def7d857' date '16 May 2014' time '3:16:12.176 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.247' message 'menu enablement looking good' id 'd189223c-bb5d-48a5-b93e-7ac25bfde5fd' date '12 May 2014' time '12:50:20.304 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.246' message 'first cut of menu item enablement complete' id '9b413161-c2c2-4895-8a3e-392683aeaa0f' date '12 May 2014' time '11:52:09.984 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.245' message '- spawning a list should preserve the selection' id '0121044e-50a6-4e5f-aae1-3f5b435116ad' date '27 April 2014' time '8:45:54.122 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.244' message '- support for opening workspaces' id 'f77d64e6-03dd-4af1-8b92-a429feb2a293' date '27 April 2014' time '8:25:33.416 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.243' message 'tweak welcome message' id '166929cd-e7b7-4ac0-8e8b-cc449ab5c501' date '27 April 2014' time '8:13:16.947 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.242' message '- tweak refresh behavior when cloning windows' id '19064900-20ae-41ae-97d4-c3d44ad87188' date '20 April 2014' time '10:09:59.985 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.241' message '- on spawnWindow: we need to refresh view, to make sure we don''t have stale contents' id '95393f98-12a4-42be-8cce-30c78e0b435d' date '18 April 2014' time '3:28:33.02 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.240' message 'add insert timestamp menu item/shortcut' id 'b5e1be0a-c56f-433b-ab4e-0c069feffde5' date '29 March 2014' time '12:20:55.318 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.239' message 'client-side ...with auto-formatting it is not necessary to support crWithIndent: ... besides I hate the crWithIndent: algorithm ... counts number of tabs on line without regard to location' id '0818a008-6784-4519-96a7-6292a56d0262' date '26 March 2014' time '5:05:16.769 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.238' message 'client-side ... arrange to allow for the standard text manipulation commands like find, selectAll, etc. to be defined by menu entries and allow for semantics to be switched between crWithIndent: and pure cr' id 'c0b96d24-acc0-423a-af69-594410642510' date '26 March 2014' time '4:26:12.037 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.237' message 'client-side ... gearing up for standard keyboard navigation control ... default bindings ... can be overridden on application by application basis' id 'da81643b-de32-4d1d-9882-86c18b6db593' date '26 March 2014' time '3:40:40.73 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.236' message 'client support for basic menu actions working for menu and keyboard shortcut fof text panes ...' id '77e25dfe-06ab-404a-b31f-fa4fc9211a03' date '26 March 2014' time '2:29:04.395 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.235' message 'patch to allow key mapping until the menu items are icompletely hooked up...' id 'd50945e5-6f6d-47a2-bb5c-65ba12a06dc1' date '25 March 2014' time '10:11:05.542 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.234' message 'implement framework for extracting key bindings from menu for code editor ... should probably do something similar for the list editor key bindings ... there shouldn''t be a key binding without a menu item ...' id '43ff1a62-acd2-4e49-a503-8f0eaab9ecf5' date '25 March 2014' time '10:05:59.676 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.233' message 'adjust the source element menus to provide option for passing in an interval and dirty flag instead of the selection which means we can do things like `set breakpoint`' id 'ce7f09dc-9f9d-4710-8039-78babbf646ce' date '25 March 2014' time '12:14:33.532 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.232' message 'doIt, printIt, inspectIt support' id 'f5b35909-fa4e-4c67-8465-18875600e5cd' date '24 March 2014' time '9:06:11.693 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.231' message 'differentiate between open and spawn for purposes of controlling welcome message ... rip out support for old debugger console ' id 'b82fb67f-9992-4a6f-981b-f712d431cc50' date '24 March 2014' time '6:24:13.393 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.230' message 'checkpoint: - support creating and using serialized session descriptions - cleanup built-in support - add `builtIns` command - start work on improving the `getting started` experience - start work on `help` and `updateClient` commands' id 'cf82bc4f-b0be-4dea-9c61-7978aecf2245' date '22 March 2014' time '12:58:32.134 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.229' message 'Issue #55: checkpoint implementing menus for code windows' id '0cf2c80b-70a9-44d7-94a0-0f6d2b2d99d5' date '23 February 2014' time '6:52:16.542 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.228' message 'Issue #55: checkpoint adding menus to TodeCodeEditor ...' id '65ed9e3c-4733-42b3-a65a-255a17889e2e' date '23 February 2014' time '12:52:53.078 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.227' message 'getting started adding menus to TodeCodeEditor' id '51f72f45-c734-4f7c-8956-3651ebe7eae9' date '23 February 2014' time '9:23:25.791 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.226' message 'have to restore activation of window otherwise the active window is not brought to top ... really need that capability' id '9ca464e5-948d-4f75-b476-f66eb3d056d8' date '18 January 2014' time '2:27:42.399 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.225' message 'port recent changes to Pharo1.4 ' id '4e1796ae-3f07-4917-abba-846641c4850f' date '13 January 2014' time '10:18:44.958 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.224' message 'do not #activate window on open ... that way the control stays with the currently active window ...' id '3b3e83da-748c-4f63-a135-4e94334b4952' date '11 January 2014' time '5:01:05.76 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.223' message 'implement refreshViewFor: client callback' id '230ad5d1-6c1d-4322-85a0-2cf8c4bf006f' date '11 January 2014' time '9:08:21.996 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.222' message 'handle debugger conditions in return value boy' id 'fa0491b4-70a2-46ca-a9de-e5c3811987f2' date '10 January 2014' time '5:18:15.174 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.221' message 'TDTopezClient>>editClientElement:, TodeListEditory>>editStonElement: allows for multiple clientElements to be shipped in one STON packet. TodeListEditor>>setList: allows list to be updated directly ... more efficient that #refreshList' id 'd1f4490f-17eb-4c16-a6a1-b31248e6b80b' date '8 January 2014' time '10:06:31.272 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.220' message 'implement TodeCommonEditor>>close so that tools can close themselves' id '72d11ca6-74de-46f5-b943-db2b8a8aff98' date '7 January 2014' time '8:13:36.891 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.219' message '- add responseActions for item selection (so list can be refreshed upon selection) - allow for an array of responseActions to be returned so that more than one action can be performed (useful for cut where we add item to clipboard and refresh list) - add #handeleResponseActions: so that response code is common' id '1635cd71-6061-4ae6-ab9e-a859f8c8ad68' date '6 January 2014' time '7:55:07.599 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.218' message 'define GsHardBreakNotification so that we can get a proper description ' id '28347350-f36f-42c8-a8a5-15be76ba36ea' date '18 December 2013' time '7:48:57.933 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.217' message 'Issue #41: add support for request password dialog' id 'f8276b09-d903-44a7-899a-dd1230498cc2' date '9 November 2013' time '9:29:44.929 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.216' message 'tweak pharo code for multi-line and single line text interaction' id '40687a09-af31-461d-968f-09470b3d0396' date '20 October 2013' time '8:11:40.724 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.215' message 'adding support for various interactions: choice, confirm, inform, text, multiline-text' id 'c5d40cc9-82d8-4578-91a6-ddbadaa6e329' date '20 October 2013' time '5:57:39.235 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.214' message 'move windowIsClosing trigger to TodeCommonEditor and ensuer that the code editor is included' id '6a5dd07b-33d9-4ba4-b94a-b207a0b8ea67' date '20 October 2013' time '11:18:28.503 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.213' message 'spawnShell: support' id '6802db67-52a8-4f1a-bd34-d6b7d4170ac6' date '12 October 2013' time '11:29:46.698 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.212' message 'Issue #28: getting started on menu implementation' id '36564b62-9af5-4904-9deb-6d6fb2f573c3' date '28 September 2013' time '3:38:59.229 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.211' message 'support for bedit command' id '347ef1cc-ed6f-45f0-8cc9-c231ee9e7b2a' date '15 August 2013' time '1:02:23.149 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.210' message 'disable the code menus, too since the menu can pop up on the scroll bar there too, when no other menus specified' id '13cc7d61-6097-4403-b92d-57012574e7c7' date '30 July 2013' time '2:35:25.069 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.209' message 'disable menus in list panes ... don''t have menus defined and default menu (which comes from who knows where) will hang the system mercilessly on PHaro2.0' id 'a2af60e2-a0a7-4e8f-bcd9-7fcba5dbabfa' date '29 July 2013' time '2:31:42.847 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.208' message 'clean up some issues involving terminating processes correctly when debugger is closed ' id 'c0f13989-e878-427b-8183-023180141ce0' date '15 July 2013' time '2:27:27.083 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.207' message 'hack to get roassal view displaying correctly (cannot use tODE windows for roassal at the moment)' id '586d9e2c-7e99-4be2-8d78-8627760ce890' date '12 June 2013' time '7:10:32.189 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.206' message 'roassal support' id '95c8502d-75e6-45b7-8269-93c665da746c' date '11 June 2013' time '4:27:47.639 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.205' message 'remove unused methods' id '95900104-253a-4249-8d8f-dcf7bb074b72' date '1 June 2013' time '10:38:37.323 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.204' message 'refactor gci calls for clientElements so that the call is moved into the gemstone client leaving pharo client free to perform clientElement code directly' id '692e9b63-f6c4-4be4-b7d1-4a39bd91253f' date '28 May 2013' time '2:59:54.936 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.203' message 'slide some more gemstone-specific support over to Topez-Client-GemStone' id '8d9abc03-c2a6-4dd3-8005-f9e5895325cf' date '28 May 2013' time '1:46:46.278 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.202' message 'working on getting SHOUT to work for Pharo and GemStone' id '60dd0632-cd4e-460b-a49a-e99975e6551e' date '28 May 2013' time '1:39:55.387 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.201' message 'redirect Transcript output to the tode console window while running commands' id 'fbaf5f7f-a464-48ee-86b2-fe20848a89a5' date '16 May 2013' time '8:43:44.662 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.200' message 'checkpoint...adding redirect operator' id 'fb63027d-2214-4052-8b32-918d33234bed' date '15 May 2013' time '3:55:33.148 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.199' message 'support for restoreFromBackup: which requires clinet-side logic since a single session cannot survive across the entire restore process' id '32330bea-a4c7-4591-8522-a82b6e942952' date '14 May 2013' time '6:22:03.22 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.198' message 'checkpoint: basic shell functionality (including bringing up dewbugger) with GemStone2.4' id '114b09ad-5698-47cf-8ec0-719ecff1e834' date '30 March 2013' time '4:31:07.091 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.197' message 'tweak' id '8b5082e6-e6d2-4ab1-9469-33fc6a3a6c32' date '29 March 2013' time '4:11:37.693 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.196' message 'largely eliminate references to TZHeaderGemStone...' id '5df10d4a-e161-4365-a406-11dbb8199dd1' date '29 March 2013' time '3:20:29.218 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.195' message 'removed dependence upon the proxy errors/notifications' id '7140e688-398e-456c-afbd-c4e05d4e26a8' date '29 March 2013' time '2:17:29.72 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.194' message 'converting to a non-proxy-based error handling mechanism' id 'cb9f373d-edae-4dd8-a008-582ab1cbf4d4' date '29 March 2013' time '1:29:21.806 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.193' message 'found more methods to move out' id '50137b59-6452-49b5-9893-ee8ccddcb882' date '29 March 2013' time '12:36:08.65 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.192' message 'low hanging fruit is gone ... time to nominate candidates for next round of cuts/rewrites' id '0c0299d3-5237-4a62-b4fc-d478c152a51e' date '29 March 2013' time '11:13:37.222 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.191' message 'rescue StashShellTtyTextMorphForEditView' id 'fe524a5b-d356-4fb2-b6b3-2999c6fea933' date '29 March 2013' time '8:16:57.272 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.190' message 'Issue #18: partition out the obviously old, obsolete classes' id '3ebe07f3-e7d1-4706-80e4-fa198bb9c404' date '29 March 2013' time '7:46:28.947 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.189' message 'add support for tab completion ... command completion functional, path completion not tested' id 'f6b33a78-1c40-48d1-bbe9-05828dcfebc0' date '28 March 2013' time '8:56:17.784 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.188' message 'allow for intraline editing of input string and put in hook for tab completion' id 'd2f54bc8-5e9c-4b1a-800f-6a9e0975bc7c' date '28 March 2013' time '7:37:00.316 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.187' message 'console history ' id '749d5e82-d687-45ff-99f9-dca62285fb8c' date '27 March 2013' time '4:19:23.374 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.186' message 'convert to using TodeConsole and TodeDebugConsole full time ... ' id '626dc44f-ea71-4f60-be33-9b0f1e269bd2' date '27 March 2013' time '3:37:18.526 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.185' message 'all keyboard input (no CMD or CTL key pressed) pasted at end of the window ... like a real console window' id '56efb3f6-d8be-481d-9128-e023dc7da31f' date '27 March 2013' time '2:37:00.956 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.184' message 'new console is functional ... run command working...' id '335cd7a9-2531-44ba-b45a-b737c958b196' date '27 March 2013' time '2:05:18.084 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.183' message 'checkpoint: large chunks of new console is functional ... run...% is not functional ...' id '92360518-22e7-42d5-b587-c40dce5e4e6b' date '27 March 2013' time '11:47:36.076 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.182' message 'copied interesting bits from CommandShell-UI and CommandShell-Morphic ... preparing to slash and burn' id '006b3a75-5527-4028-b28a-d7189641d335' date '27 March 2013' time '10:40:45.418 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.181' message 'add gemstoneVersion gciLibraryName adornmentColor to OGCustomSessionDescription ... the implication is that we can now connect to multiple gemstone versions from same image (not at same time .... need to exit one shell and launch another for it to work) ... still pretty nice capability ... see sessionDescription* messages in TDTopezClient for examples ... simply need to copy the gci libraries into the image directory (on linux) ... not tested on mac ... yet ' id '0a57c4b7-382c-47d9-aa35-96683f03b1d6' date '14 March 2013' time '12:12:47.242 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.180' message 'seal off debugging halt ... automagical handling of author initials on during login ' id '002acf8b-9e71-47b5-a584-f2694be7f5d8' date '27 February 2013' time '7:30:22.934 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.179' message 'add environmentId to a bunch of calls ... although environmentId probably won''t help indirect development ' id '8362e3e9-a979-4df2-b4cf-4debcaeeb6d6' date '24 February 2013' time '9:52:42.685 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.178' message 'tweaks ' id 'c3adf99e-bc96-47bc-ae12-9186b39d7166' date '23 February 2013' time '2:10:00.485 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.177' message 'checkpoint ... first commit with indirect access on the client-side ... still a bit shakey ' id '316ea100-ce39-44bd-8b21-a4bf2725a821' date '23 February 2013' time '1:48:17.899 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.176' message 'bugfix ' id '2d36d60e-0f00-4af7-9950-533b8b3aadec' date '18 February 2013' time '6:55:23.537 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.175' message 'add CMD-j and CMD-k for moving up and down the stack (CMD-J moves up he stack but down the screen) ' id '56a1d998-722b-4306-993e-5fb45374e0ad' date '18 February 2013' time '2:06:33.258 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.174' message 'oops ... fix bug in CMD-t for debugger ' id '637059e1-a649-4e9b-9201-145ede89888e' date '18 February 2013' time '9:43:45.599 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.173' message 'keyboard shortcuts for debugger: $i, $o, $t for db into, db over and db thru ' id 'f59429cf-7851-4208-831d-c86cdb39ea6a' date '18 February 2013' time '9:26:45.198 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.172' message 'highlighted item means nothing always select whether or not it was selected before or not ' id 'b161df5d-1bd9-44d1-a949-02db92c887cb' date '17 February 2013' time '1:54:58.489 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.171' message 'SHOUT recognizes path terms now ... ' id '3d0d2e35-4a93-46db-99fa-32f747ad7e5e' date '13 February 2013' time '8:46:32.775 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.170' message 'handle $| as part of a multi-character selector character ' id '3e2b1f79-aaef-4018-b0fd-495f684e5042' date '13 February 2013' time '6:55:12.879 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.169' message 'SHOUT support for GemStone select block ... partial ' id 'ecae06cc-7493-4a2b-b26c-c09259daea38' date '12 February 2013' time '10:05:17.236 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.168' message 'now that we control the size of the code, no need to expand the size when spawning ' id 'ef3cada0-b341-4fcf-8c71-1a8135c394e5' date '9 February 2013' time '8:37:41.814 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.167' message 'need to pass the live edit source on code editor keyboard events ... CMD-b, CMD-N, CMD-m, and CMD-n honored in all text based editors ' id 'a6b54a40-369c-4c0f-856b-95ce75d7ee05' date '7 February 2013' time '4:24:25.584 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.166' message 'CMD-B from source window ' id 'fef72c0a-9622-45c4-a49c-aa00e64d4794' date '7 February 2013' time '3:07:35.474 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.165' message 'checkpoint ... implementing CMD-N ... ' id '8a85d919-8ca7-49fe-9458-6da412eacbca' date '7 February 2013' time '2:45:12.574 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.164' message 'checkpoint ... working on messagePattern implementation so that selectors are highlighted for senders/implementors, etc. ' id '14652afd-26e1-40b7-8740-9adf3c6c3547' date '7 February 2013' time '11:57:30.97 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.163' message 'checkpoint ... CMD-n - sendersOf ' id '19e44896-dc9a-41e7-8b59-92302ff82a11' date '6 February 2013' time '9:11:22.96 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.162' message 'checkpoint ... CMD-m - implementorsOf ' id '20b2e6f6-d8aa-476c-bcc0-ac66d28f4f3a' date '6 February 2013' time '8:54:20.526 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.161' message 'CMD-b browse class implementation ' id '59b8d07b-81b5-491e-9843-261dbf7e6555' date '6 February 2013' time '7:43:06.58 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.160' message 'CMD-k is set breakpoint ... CMD-b will be browse class ... later ' id '449f28dc-df30-41f6-99db-0d2b1dd5cdcf' date '6 February 2013' time '6:40:16.86 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.159' message 'CMD-c - copy object ... implemented ' id '29d82039-de6c-4e07-b2fe-22d6c5442844' date '5 February 2013' time '11:10:46.1 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.158' message 'CMD-b in editor implemented ' id '7de748fd-cb16-461f-add0-37e4820cfac1' date '5 February 2013' time '9:53:35.242 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.157' message 'tidy up CMD-C spawn window implementation for navigation ' id '93b2867b-a6b9-4710-ba70-ac72ef54c927' date '27 January 2013' time '1:06:03.483 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.156' message 'checkpoint ... working on spawnWindow logic ' id 'a5d6b57b-5a2a-41bc-8d02-d674109a7296' date '27 January 2013' time '12:28:49.012 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.155' message 'checkpoint ... special case events (CMD-C, CMD-L and CMD-l) are working, although the spawnWindow needs work on client level (not activated?) and on the tool level (switch from window name on click to a window id for all interaction) ' id '2d174140-c325-4320-8fb4-0ab8aef9ec0f' date '27 January 2013' time '11:54:25.565 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.154' message 'checkpoint ... initial cut at first few (special case) events ... ' id 'b58dc9c1-0412-452d-b9c4-6d571a185721' date '27 January 2013' time '11:39:47.45 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.153' message 'fix client-side keyboard event handler ' id 'ecd25517-7c1d-44d7-a41b-cccbe75cb142' date '27 January 2013' time '10:52:47.186 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.152' message 'getting started on handler for keyboard events ... convert all gci messages sends to symbols for easy access by tools ' id 'f25361c7-3bfb-4a02-9f7d-adb6b3548c9e' date '27 January 2013' time '9:14:11.219 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.151' message 'fixes to open spawned window ' id '53d19d15-8a52-45a9-bd4f-b6309137fe88' date '26 January 2013' time '11:31:23.459 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.150' message 'checkpoint ... beginnings of spawnShell (ESC) ' id '09255cca-e346-4e94-9b72-c05bb516e11e' date '26 January 2013' time '11:05:22.37 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.149' message 'start working on windowIsClosing message (to terminate the debugger process os ensure blocks get run) ' id 'ad6e0808-5847-4322-95f6-386fcf402159' date '26 January 2013' time '5:37:24.038 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.148' message 'eliminate all of the extraneous transcript logging ' id '87f86ddd-ae2d-4dde-b023-64fb9b0a413f' date '26 January 2013' time '9:38:54.004 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.147' message 'checkpoint ... handling halt in debugger ... ' id 'f4aa84ec-74d7-4b1f-a5f4-8dd2253619ac' date '25 January 2013' time '8:30:45.799 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.146' message 'checkpoint ... starting work on getting breakpoints/halt working for db over / db continue / db thru by reusing the debugger ... db over currently stops for breakpoint ... ' id 'bbd2b3b0-a896-403d-96f0-5a938867bfdc' date '25 January 2013' time '7:44:20.339 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.145' message 'clear selection if selectionIndex is nil... ' id 'f96cb277-bcc4-4e5c-910b-716d8719edf5' date '24 January 2013' time '1:18:11.358 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.144' message 'when debug shell window is closed, all of the windows associated with that shell are closed as well ... ' id 'e9401b7e-4120-46e3-97b6-ce5784420018' date '15 January 2013' time '12:04:31.521 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.143' message 'a bit of cleanup ' id 'e247de71-a53f-476a-9a3a-c6955da37800' date '10 January 2013' time '10:04:48.202 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.142' message 'add show GsCursor logic ' id 'e47be4ea-e523-458d-a410-8271a2033de6' date '10 January 2013' time '8:31:55.219 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.141' message 'fix context window up problem ' id '462523e2-71bc-41b4-a99e-b6f3d7f7f1f4' date '8 January 2013' time '11:33:16.338 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.140' message 'TDTopezServer>>reifyExceptionArgsForOopList:classNamesForOopList: serializes the exception args in there entirety ' id '50f8c8e8-f882-4667-b2e6-9e8aa669e396' date '6 January 2013' time '7:58:11.232 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.139' message 'address the deadlock issue, by avoiding the creating of too many proxy behaviors ... remove some debugging halts ... ' id '8cb9da56-0dd8-4c4f-ab75-63272bfd68ef' date '6 January 2013' time '9:53:38.974 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.138' message 'checkpoint .... working through login issues, client forwarder handling (on server), tracking down/eliminating source of pharo deadlock/infinite loop ' id '1a403e10-fba9-4310-b882-8f3899ba5a5c' date '6 January 2013' time '9:18:54.368 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.137' message 'first order optimization for client forwarders appears to be functional (still scads of logging/debugging stuff) ' id '00d7c548-99d3-4f05-a3cc-9455b9ab8968' date '5 January 2013' time '4:22:32.13 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.136' message 'checkpoint ... progress reducing round trips getting err/forwarder args ... with side trip handling interupted gci calls (SHOUT) ... ' id 'd0e4a6fb-de63-41ae-9688-af0dea4e702c' date '5 January 2013' time '10:00:37.316 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.135' message 'checkpoint ... support for optimizing error/forwarder round trips ' id '5731d420-d5f7-42f7-8f6d-2e69b7191208' date '4 January 2013' time '8:04:46.103 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.134' message 'checkpoint ... a bunch of gci call logging and a handful of round trip optimizations ... more on the way ' id '1801b74d-8956-4667-bdf6-2f9a124bd9f7' date '3 January 2013' time '12:40:39.423 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.133' message 'checkpoint ... changing list item selection logic ' id 'de9f288c-195f-4d04-aba2-ead77471c511' date '30 December 2012' time '9:21:18.439 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.132' message 'checkpoint ... a bit of refactoring to accomodate the source and list elements ' id '522ac59d-c999-4099-800c-1ba32a0b38bb' date '30 December 2012' time '9:00:24.848 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.131' message 'beginning work to display lists ... ' id '8e621454-6805-4796-9244-b4526120d564' date '30 December 2012' time '8:00:11.42 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.130' message 'start work on spawning shell as part of debug command ... implement sourceContainingIt ... ' id '87314ca2-9486-4bff-9b2a-b55b8b58a0a5' date '29 December 2012' time '11:25:41.806 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.129' message 'checkpoint ... attempting to differentiate between command errors and application errors ' id 'b6cffdd5-edeb-4eb2-9f39-2439d4ec834c' date '29 December 2012' time '7:50:05.342 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.128' message 'checkpoint ... preparing to split out topez errors from application errors ' id 'b4bfa94c-f582-4858-854a-0d0ac7ecfe21' date '28 December 2012' time '9:31:02.774 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.127' message 'checkpoint ... beginnings of error handling rework: 1. Proceed, Abort, Debug dialog upon error (all errors) basically functional 2. Proceed continues from halt/breakpoint(not confirmed?) 3. Abort terminates the process ... but doesn''t give new prompt 4. Debug returns the error, but doesn''t bring up debugger 5. Debug comes up when we get "error" command error, which should be their own TopezNotification type ' id 'ebaf4cbc-cb94-46ea-a1e4-2baee6e04e66' date '28 December 2012' time '8:58:38.822 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.126' message 'tweak compiler error handling ... looks good right now ' id '26ba5b9d-fe89-4b54-84fd-9e856e54d156' date '28 December 2012' time '6:36:25.738 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.125' message 'inserting error information into method ... need to fine tune now ' id '449924cc-1a62-478b-ad9f-95a4d9836a44' date '28 December 2012' time '9:59:35.418 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.124' message 'checkpoint ... working on handling compiler errors ' id '3182f095-2952-4c07-98d0-64a56dc71f76' date '28 December 2012' time '9:50:57.346 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.123' message 'add error handling ... fix formatter logic ' id 'c939b137-c310-4f5c-b7b0-e9cbf77244e6' date '27 December 2012' time '4:52:13.066 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.122' message 'edit Text, check. save Text, check. ' id 'aeb570b8-3745-41b8-a49b-3514ae9dcdae' date '27 December 2012' time '11:02:35.241 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.121' message 'checkpoint ... getting text editor working ' id '0a8a6d1b-8e30-4764-a17f-ca4e31059886' date '27 December 2012' time '10:30:53.166 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.120' message 'taking the editors seriously now ... time to add windows ' id 'ed341b90-24e8-4a19-9001-71dffe7ecc29' date '27 December 2012' time '10:05:50.151 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.119' message 'implement shell window spawn ... needs a bit more work ' id 'b544c968-527e-4a1a-9eb0-48a4596ece7c' date '21 December 2012' time '10:04:01.29 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.118' message 'clean up debugging code ... remove unnecessary code ... TXT rulez! ' id '736e8168-2c44-4926-abb0-1a0c6db5bfb2' date '19 December 2012' time '10:22:34.074 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.117' message 'successful text edit/save ' id '4fc75e5c-865b-4154-bafb-713fe279eff9' date '19 December 2012' time '10:17:54.421 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.116' message 'checkpoint ... working on adding true Text to txt files ' id '8410b566-8102-42bd-bc76-990fc20ec451' date '19 December 2012' time '8:07:44.235 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.115' message 'update netldi ports after restarting server ... topez hack ' id 'ee905d86-b0e0-4828-a1fa-4f250832daa4' date '18 December 2012' time '7:03:34.723 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.114' message 'little compatibilty hack for TDWindowStatus ... ' id '313647a1-376c-4f7e-b6ce-0efd87d1b605' date '16 December 2012' time '3:31:53.358 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.113' message 'proper edit command behavior for editting various leaf nodes ' id '08000000-1508-280a-1508-280a14000000' date '30 November 2012' time '4:13:22.466 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.112' message 'supply missing TZSystemWindow>>activate method ' id '3966374b-912f-4132-bd8b-0667ad1b423d' date '28 November 2012' time '7:35:24.621 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.111' message 'create /home/.window object whose contents represents the server element associated with the active window ' id '08000000-1508-b017-1508-b01714000000' date '27 November 2012' time '4:15:28.768 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.110' message 'start tracking the active window ... needed to provide access to the server object that is underlying the model ' id '08000000-1508-b810-1508-b81014000000' date '27 November 2012' time '3:01:19.426 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.109' message 'edit script is working now ... with correct syntax highlighting ' id '08000000-1508-460a-1508-460a14000000' date '26 November 2012' time '4:00:31.846 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.108' message 'more fine tuning of the SHOUT code base ' id 'e51585c8-b5ef-495b-aad7-9085d68e5062' date '14 November 2012' time '3:16:05.844 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.107' message 'additional bugfixes for instance variable highlighting in GemStone ' id 'a2624325-0e30-4e00-938a-77d13adf8874' date '14 November 2012' time '2:28:46.228 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.106' message 'fix some infant mortality issues with the SHOUT improvements ' id '3d8aa96c-c2e4-43de-9a16-4d2f0193bab1' date '14 November 2012' time '11:08:42.087 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.105' message 'improve SHOUT highlighting for GemStone ' id '56232e11-834a-4996-83c5-f60bc39ba95f' date '14 November 2012' time '9:50:48.068 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.104' message 'enable CMD-g to find based on regex expression used with mutli-arg implementors/senders selector ' id '4d71e790-a473-457f-a3e4-f94a151ef483' date '11 November 2012' time '3:12:13.314 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.103' message 'list pane wants keyboard focus on mouse enter (no need to click in window for inspector especially)' id 'd80d82da-0a94-4e2c-87f7-66e6303b844a' date '31 October 2012' time '12:43:41.367 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.102' message 'add TZGsStonWriter class with added support for storing proxy references ... plus other performance adjustments' id '45d4904c-ebcb-4bb4-8e64-ecd833e65455' date '30 October 2012' time '4:09:27.112 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.101' message 'move lint command to native-only and create setClassProxy to avoid roundtrip when using name (to resolve to a class anyway)' id '08000000-1508-a01e-1508-a01e14000000' date '29 October 2012' time '2:46:07.908 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.100' message 'make lint happy' id '08000000-1508-8215-1508-821514000000' date '29 October 2012' time '11:10:05.394 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.99' message 'CTL-j for repeat last command....' id 'edfe6e18-f6a1-4fe2-84fe-94dee3df08af' date '27 October 2012' time '10:06:07.234 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.98' message 'fix expand when task bar is _not_ used' id '98e63381-a45d-4ad8-8575-2217b328fdc9' date '27 October 2012' time '11:45:41.855 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.97' message 'fix problem with setting the evaluator window ...(for exit and esc)' id 'e466685e-1daa-4a34-9228-ed97bf774302' date '27 October 2012' time '11:29:20.876 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.96' message 'add TZBinNode class that rlists the commands available in the system ... edit the commands too ... don''t try saving the commands yet ...Bin node is generated dynamically from the block list ... should have one for the clickBlocks and the printBlocks ...' id '928d9f99-c96c-4104-b450-4c193aa7e07b' date '27 October 2012' time '12:29:21.81 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.95' message 'editting scripts' id 'ab0ace5e-2c9d-4cd6-b8ca-86a2a1b6aa3c' date '26 October 2012' time '10:51:16.055 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.94' message 'setting stage for editting the scripts....and objects from stash interface' id '79942b9f-a8f4-46b2-b5db-d386251c2e3c' date '26 October 2012' time '8:29:34.015 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.93' message 'fix up inspector interaction ... probably need to close all windows and reopen fresh after updating (event mapping changed)' id '08000000-1508-7402-1508-740214000000' date '25 October 2012' time '4:33:38.842 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.92' message 'change location of evaluator window upon open' id '08000000-1508-cc02-1508-cc0214000000' date '25 October 2012' time '2:57:06.698 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.91' message 'CMD-u (step into) and CMD-j (continue) key bindings implemented' id '002a473b-8d34-428f-92f0-aca0d34c97fa' date '25 October 2012' time '12:21:47.34 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.90' message 'CMD-Shift-b added to trigger "class browser" hierarcy, definition and method display ... otherwise implementors/sender/references/debugger only change the code pan on selection ... inspector will do the same thing .... make sure that the setClass: is honored correctly sooner or later' id '28be952d-6200-4810-87f0-b4c530c78707' date '24 October 2012' time '11:52:23.142 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.89' message 'straighten out selection hiccup' id '3abb8a45-888c-4ba3-8456-bf2660e25f4d' date '24 October 2012' time '9:38:16.24 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.88' message 'major method refactoring for the edit* methods ... need to have direct access to force selection of an item for debugger' id '561005e5-b0fe-42c0-b785-f77938fe50ef' date '24 October 2012' time '9:07:50.924 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.87' message 'define the debugger key strokes and start implementation with CMD-t step over ... functional, but need to work on window updating logic' id 'cb4fe304-861c-403a-a63b-26aaf6759c8a' date '24 October 2012' time '6:59:34.669 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.86' message 'figure out key bindings for debugger: CMD-t step over CMD-u step into CMD-j continue CMD-k set breakpoint CMD-K clear breakpoint document keyboard mappings for in TZSmalltalkEditor class comment ... need to identify the list keyboard mappings ' id '08000000-1508-b812-1508-b81214000000' date '24 October 2012' time '5:12:46.762 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.85' message 'hook up selection range for debugger text' id '08000000-1508-481f-1508-481f14000000' date '24 October 2012' time '4:44:26.308 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.84' message 'CMD-b keystroke mapping in lists' id '08000000-1508-dc08-1508-dc0814000000' date '24 October 2012' time '12:21:54.752 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.83' message 'hacks for executed code shout highlighting' id '58d9cb4e-ef0d-4963-9542-600532b8aceb' date '24 October 2012' time '7:39:43.881 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.82' message 'Cmd-p used for inspecting strings ... handling the Executed Code method for GemStone' id 'b4e52e03-43ca-475f-86a3-924c2bb93a85' date '23 October 2012' time '8:36:45.564 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.81' message 'all but one test (expected for now) green' id '08000000-1508-e00c-1508-e00c14000000' date '23 October 2012' time '4:25:55.922 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.80' message 'correct copy/paste from class to instance and vice versa logic' id '08000000-1508-9814-1508-981414000000' date '22 October 2012' time '3:28:29.136 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.79' message 'improve CMD-o implementation, allow pasting (CMD-v) of methods into instance/class selectors panes thus forcing isMeta to match (can move class-side methods to instance and vice versa)' id '08000000-1508-940f-1508-940f14000000' date '22 October 2012' time '2:08:37.878 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.78' message 'checkpoint' id '08000000-1508-b600-1508-b60014000000' date '22 October 2012' time '1:39:31.402 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.77' message 'assorted tweaks' id '08000000-1508-8416-1508-841614000000' date '22 October 2012' time '11:34:23.484 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.76' message 'getting started on initial implementation of debugger' id 'b3bc7f5b-3041-4dc7-b2e2-7df6f6c25d08' date '21 October 2012' time '4:36:24.354 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.75' message 'remove unneeded method' id '0a54f084-25a8-4216-9075-24e658b3e4fb' date '21 October 2012' time '11:47:50.39 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.74' message 'fix problem with referencesTo: and improve the window listing code' id '636ad9bd-2599-4a70-a938-a9997d0e579c' date '21 October 2012' time '11:45:42.23 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.73' message 'checkpoint ... some work on GemStone side, preparing to remove all of the command objects (more complication than needed) ... ' id '49cbedd5-0824-4569-9fc9-8a935ba18dd8' date '19 October 2012' time '5:29:51.986 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.72' message 'use standard SHOUT for Pharo' id '590b4560-1c32-40a6-9cd8-ced7766aa8b2' date '18 October 2012' time '9:02:26.596 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.71' message 'have to have out own variants of Shout parser to be able to do remote shout highlighting ...' id '08000000-1508-3a1f-1508-3a1f14000000' date '18 October 2012' time '4:57:05.014 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.70' message 'add dash of color to all windows to associate with Native or GemStone' id '08000000-1508-480f-1508-480f14000000' date '18 October 2012' time '3:35:58.544 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.69' message 'Ctrl-c now copies the object to the object clipboard and the label text is copied to the text clipboard' id '82f6dd6d-b699-4e59-b021-04bbe254dff3' date '17 October 2012' time '7:44:44.083 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.68' message 'rename instance variables in the TZElement hierarchy to get rid of proxy in name ... too confusing ... native tests are now passing (except the new ones)' id 'f10f6c3b-d57b-4a58-87a4-f39be3626ed5' date '16 October 2012' time '8:46:04.828 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.67' message 'checkpoint for ctrl-o work ... using emptyTemplate ... final touch is to hook up with clickBlock' id 'b338728c-098f-4f02-80ef-4379d3de0fab' date '16 October 2012' time '6:52:38.419 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.66' message 'spawned window uses existing window extent' id '1444c05a-b565-4b5f-bc29-1a42b90eb96d' date '16 October 2012' time '6:30:35.999 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.65' message 'checkpoint ... adding Ctrl-o action ... need to switch out parentElement and use codeTemplateElement ...' id '08000000-1508-1c02-1508-1c0214000000' date '16 October 2012' time '5:23:05.427 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.64' message 'Ctrl- x, c, v, n, m, N commands implemented. Ctrl x - delete element (class or method) Ctrl c - copy method into buffer Ctrl v - paste method onto class (add method to class) Ctrl N - referencesTo: class Ctrl m - implementors Ctrl n - senders ' id '08000000-1508-ae00-1508-ae0014000000' date '16 October 2012' time '4:18:40.587 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.63' message 'get Cmd-Shift-c (spawnWindow) and Cmd-Shift-l (select topez windows) shortcuts working on Linux ... different mechanism than MAC ... oh the horrors!' id '08000000-1508-e214-1508-e21414000000' date '16 October 2012' time '11:20:15.369 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.62' message 'don''t fight the MAC by trying to enable the CTL keys...use #FullMatching again....switch to CMD-SHIFT-C and CMD-SHIFT-X for the spawn and select window commands' id 'a19acd52-a1dc-4202-881c-18fe3882515c' date '16 October 2012' time '4:50:47.776 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.61' message '`list references` and `edit references` implemented ... keyboard mapping honored as well' id 'caac0862-bca3-4cb9-9c5c-f215b63c0fc6' date '15 October 2012' time '9:28:14.137 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.60' message '`list hierarchy` and `edit hierarchy` commands adjust window layout replace superclass and subclass windows with a single hierarchy window in clickblock logic' id '08000000-1508-9401-1508-940114000000' date '15 October 2012' time '5:26:44.357 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.59' message 'implementation of `edit implementors` and `edit senders` plus keymapping' id '08000000-1508-c213-1508-c21314000000' date '15 October 2012' time '3:20:36.272 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.58' message 'initial implementation of `list implementors` and `list senders`' id '08000000-1508-4e14-1508-4e1414000000' date '15 October 2012' time '2:37:20.156 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.57' message 'checkpoint ... keymapping for topez' id '742fda01-658c-4412-9e9f-2d67fa55ee0c' date '14 October 2012' time '8:32:17.38 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.56' message 'finish up `edit class`' id 'a425cd77-4429-49e8-9e8c-db3c40dfc1ff' date '14 October 2012' time '4:36:54.564 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.55' message 'use elementClassName for TZClassElement' id '21271def-ad53-4e54-9a9f-bb36840c4550' date '14 October 2012' time '12:58:53.624 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.54' message 'working on `edit class` and `find class` commands' id '74a0bbcf-eb61-4df6-b102-380f974a7a3f' date '14 October 2012' time '12:39:12.605 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.53' message 'allow for native/gs-specific scripts and centralize window extents' id '26508a55-63cb-4034-a9ec-d5a4bcf2c379' date '14 October 2012' time '11:10:34.265 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.52' message 'tweaks for GemStone' id 'edea8888-e1de-47d5-a754-75c607de9363' date '13 October 2012' time '7:01:43.321 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.51' message 'clean up logging messages' id '7ced919d-49fd-4622-ae47-f5d3fe7fe0c9' date '13 October 2012' time '6:50:24.337 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.50' message '...fix a bug that slipped through the net' id 'ff6b0b38-43c6-48f1-be07-79d58f2de97a' date '13 October 2012' time '6:39:34.389 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.49' message '`expand` and `collapse` commands added ... fix expand bug' id 'f4157225-78cf-4c98-80ad-c38e997afa74' date '13 October 2012' time '6:36:35.522 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.48' message 'implement `prtests` command ... list tests in project' id '9cbe84f7-006f-4859-986f-8647585d50b4' date '12 October 2012' time '8:50:50.01 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.47' message '`edit class xxx` variant ... preparing for setClass: to do a find class, if the named class not found ... formatting methods on accept ...' id '08000000-1508-4e10-1508-4e1014000000' date '12 October 2012' time '5:55:12.862 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.46' message '`edit class` command and accept method' id '08000000-1508-3e19-1508-3e1914000000' date '12 October 2012' time '3:59:05.052 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.45' message 'add window closing logic so that closed windows are cleaned up along with sessions' id '08000000-1508-ee10-1508-ee1014000000' date '12 October 2012' time '11:51:05.3 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.44' message 'class>>selector label for code windows ...' id 'bc047e3d-e704-405f-82d9-4250b1b59cc2' date '11 October 2012' time '8:13:02.542 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.43' message 'adjust labeling scheme' id 'a78ccac1-6cf8-4963-b55f-6e578caf4286' date '11 October 2012' time '7:34:38.557 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.42' message 'fine tune' id '304e2dcf-a712-4020-a6a4-2c4e14e06bb6' date '11 October 2012' time '7:23:52.63 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.41' message 'a bit of cleanup and add CTRL-s ... spawn window' id '08000000-1508-8404-1508-840414000000' date '11 October 2012' time '5:16:03.354 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.40' message 'gemstone working again' id '08000000-1508-bc15-1508-bc1514000000' date '11 October 2012' time '4:22:15.416 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.39' message 'checkpoint ... working on getting recent additions working in GemStone (hierarchy, sublcasses, history, etc.)' id '08000000-1508-b20e-1508-b20e14000000' date '11 October 2012' time '3:15:39.382 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.38' message 'add hierarcy and subclasses commands (edit and list varieties)' id '620b8473-6506-44ef-966a-f9ebe3f7241f' date '11 October 2012' time '8:19:09.816 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.37' message 'get initial window sizing straightened out clean up some initial bugs' id '6ffc5b44-1792-4826-ad2a-e847bf98db3f' date '10 October 2012' time '7:00:18.418 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.36' message 'multi-line evalute (making copy/paste in evaluator window feasible) add input command for executing topez scripts run command can execute named run scripts topez command can execute named topez scripts edit run/input/topez scripts list scripts' id '47499b1a-f422-48fd-b67a-93f6154b305a' date '10 October 2012' time '6:07:03.061 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.35' message 'refactoring so I can add a filter to the listEditor and add `topez` command so that I can define the listEditor filter from within topez' id 'c8073d65-8faf-4a31-839f-1563ffaf7094' date '10 October 2012' time '12:56:20.854 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.34' message 'mac hackery to get a semblance of "correct" behavior on the mac ... 1. CTRL key only triggered on keyUp event 2. the character value is offset (CTRL-x shows up as CTRL-g) ... other than that the CTRL stuff is finally working' id 'c1c2e576-47fc-4ef7-99bd-15b29d2edf2a' date '9 October 2012' time '9:31:23.139 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.33' message 'debugging pharo-side after giving more responsibility to the TZElement classes' id '08000000-1508-4a04-1508-4a0414000000' date '9 October 2012' time '4:52:02.76 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.32' message 'putting more responsibility into the TZElement classes' id '08000000-1508-000d-1508-000d14000000' date '9 October 2012' time '4:19:48.182 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.31' message 'implement ctl-x (switch window)' id '08000000-1508-f60f-1508-f60f14000000' date '9 October 2012' time '3:09:33.9 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.30' message ' key puts focus on evaluator window from any of the other windows...' id '08000000-1508-5e16-1508-5e1614000000' date '9 October 2012' time '12:55:49.664 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.29' message 'named windows, id 0 gives new windowid and single click action' id '2ef76d75-59ce-431d-b198-34c7e33f2b18' date '9 October 2012' time '7:58:38.574 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.28' message 'single click in selector pane changes code pane' id '7538f006-d5af-4c14-98c4-801e0c4879dd' date '8 October 2012' time '7:57:26.876 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.27' message 'begin job of making the pharo client and gemstone clients independently loadable ... at the point where I need to split up tests ... methinks' id '08000000-1508-4606-1508-460614000000' date '8 October 2012' time '4:57:07.582 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.26' message 'reconstruct ClassBrowser from deconstructed elements' id '08000000-1508-b81e-1508-b81e14000000' date '8 October 2012' time '2:42:11.52 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.25' message 'hook up pieces of the deconstructed browser' id '93d6e6d0-e7eb-40e9-8757-f0c2f79293e7' date '8 October 2012' time '7:55:50.532 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.24' message 'remove some halts' id '7e7b771d-e0c5-4594-ac28-85abb7022c2f' date '7 October 2012' time '9:24:09.395 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.23' message 'prclasses is a list of TZClassHierarchyElements ... make it feasible to do intersting things when the items are clicked...' id '5ad9d17c-e497-4269-a51f-c3c0d8990035' date '7 October 2012' time '9:23:00.9 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.22' message 'arrange for building indented and emphasized class list for project classes ...' id '7f62c676-ce12-42ce-927b-4fe35ea4d79a' date '7 October 2012' time '7:32:07.374 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.21' message 'prclasses support' id 'c13c4034-fa85-4605-abb1-9c4cb1331c67' date '7 October 2012' time '6:31:43.705 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.20' message 'switching context with `edit` command sets current class ...' id '49f6edce-502e-4402-9e15-919300607946' date '7 October 2012' time '2:30:47.047 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.19' message 'single system window shared for both list and code ... making possible emacs-like window buffers' id '97380c7d-a2c5-4e97-ae67-b7f6d8e815c0' date '7 October 2012' time '1:02:42.079 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.18' message 'sort selectors enable up/down arrow keys' id '9406066f-d410-46aa-8ec9-bf1a8fcc33a7' date '6 October 2012' time '2:11:42.133 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.17' message 'hook up list editor' id '1f40b562-2c9e-4ac2-9bce-f2909923ba91' date '6 October 2012' time '1:47:42.7 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.16' message 'implement `list selectors` and `list cselectors`' id 'fb3fa38e-1bbe-4a6d-a84f-de525959b37c' date '6 October 2012' time '12:17:54.596 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.15' message 'implement window/buffer switching for `edit` command' id '8a350fa5-9879-419e-8896-62961d035712' date '6 October 2012' time '5:27:02.897 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.14' message 'implement `list method:` and `list classmethod:` commands ... get variants too, add TZNativeEvaluator tests' id '86c4758c-6d00-4942-b741-677cd94d7228' date '5 October 2012' time '8:54:31.995 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.13' message 'checkpoint ... list method source, class definition, etc. added in preparation for step' id '08000000-1508-8e10-1508-8e1014000000' date '5 October 2012' time '5:23:54.518 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.12' message 'checkpoint ... more prep work for step ...' id '08000000-1508-ee17-1508-ee1714000000' date '5 October 2012' time '3:50:55.43 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.11' message 'checkpoint ... preparing for step implementation' id '08000000-1508-620f-1508-620f14000000' date '5 October 2012' time '2:31:45.718 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.10' message 'checkpoint ... progress with native topez ... run and where are working ...' id '08000000-1508-9a0f-1508-9a0f14000000' date '5 October 2012' time '2:02:17.712 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.9' message 'introducing native topz evaluator' id '974470a1-255c-4b96-bce4-0d3f3202e822' date '5 October 2012' time '7:45:07.891 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.8' message '`set class`, `edit class`, `edit selectors` commands implemented ... list editor and string editor' id 'dab95f59-02dc-4cd3-b28f-5d79f1d6d96e' date '4 October 2012' time '8:18:36.402 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.7' message 'enable SHOUT styling for TopazEditor' id '08000000-1508-7e0b-1508-7e0b14000000' date '4 October 2012' time '4:41:54.148 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.6' message 'render list method using SHout' id '08000000-1508-de14-1508-de1414000000' date '4 October 2012' time '4:17:45.989 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.5' message 'convert to using #renderText:on:indent: instead of print... add Text emphasis to all command output...' id '08000000-1508-de0b-1508-de0b14000000' date '4 October 2012' time '3:29:30.054 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.4' message 'toy with Text' id '5c0d0b63-8e00-4abf-abf4-d1fd78e4abc7' date '4 October 2012' time '7:43:26.798 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.3' message 'use Text in TopezEvaluator ... will be useful for #render:on:indent:' id '27f33dd6-04e2-482b-8687-eb66e096ec1a' date '4 October 2012' time '7:25:45.115 am' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.2' message 'attempt to add styled text to TopezEvaluator start work on edit command which brings up a workspace on the selected string ... method or class presumably' id '08000000-1508-ac06-1508-ac0614000000' date '3 October 2012' time '6:30:01.642 pm' author 'dkh' ancestors ((name 'Topez-Pharo-Common-dkh.1' message 'rename Topez-STON to Topez-Common-Core, Topez-STONTests to Topez-CommonTests, and Topez-Pharo-STON to Topez-Pharo-Common' id '08000000-1508-1212-1508-121214000000' date '3 October 2012' time '4:12:21.01 pm' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Server-24x-Core.package/Behavior.extension/instance/includesCategory..st b/repository/Topez-Server-24x-Core.package/Behavior.extension/instance/includesCategory..st new file mode 100644 index 000000000..4c324617c --- /dev/null +++ b/repository/Topez-Server-24x-Core.package/Behavior.extension/instance/includesCategory..st @@ -0,0 +1,12 @@ +*topez-server-24x-core +includesCategory: aString + "Returns true if aString is equivalent to the name of a category in the + receiver, false otherwise." + + | aSym | + aSym := Symbol _existingWithAll: aString. + aSym ifNil: [ ^ false ]. + self categoryNames do: [ :name | + name == aSym + ifTrue: [ ^ true ] ]. + ^ false diff --git a/repository/Topez-Server-24x-Core.package/Behavior.extension/methodProperties.json b/repository/Topez-Server-24x-Core.package/Behavior.extension/methodProperties.json index 0ee5d241f..c3cf6b649 100644 --- a/repository/Topez-Server-24x-Core.package/Behavior.extension/methodProperties.json +++ b/repository/Topez-Server-24x-Core.package/Behavior.extension/methodProperties.json @@ -2,4 +2,5 @@ "class" : { }, "instance" : { + "includesCategory:" : "dkh 06/18/2015 16:31:59", "persistentMethodDictForEnv:" : "dkh 01/29/2014 17:20" } } diff --git a/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/performOnServer.logging..st b/repository/Topez-Server-24x-Core.package/TDAbstractDevTool.extension/instance/performOnServer.logging..st similarity index 91% rename from repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/performOnServer.logging..st rename to repository/Topez-Server-24x-Core.package/TDAbstractDevTool.extension/instance/performOnServer.logging..st index a3ae8747f..1abde2f8e 100644 --- a/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/performOnServer.logging..st +++ b/repository/Topez-Server-24x-Core.package/TDAbstractDevTool.extension/instance/performOnServer.logging..st @@ -1,4 +1,4 @@ -as yet unclassified +*topez-server-24x-core performOnServer: command logging: logging | result | result := System performOnServer: command. diff --git a/repository/Topez-Server-24x-Core.package/TDAbstractDevTool.extension/methodProperties.json b/repository/Topez-Server-24x-Core.package/TDAbstractDevTool.extension/methodProperties.json new file mode 100644 index 000000000..78cb14870 --- /dev/null +++ b/repository/Topez-Server-24x-Core.package/TDAbstractDevTool.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "performOnServer:logging:" : "dkh 09/12/2015 13:58" } } diff --git a/repository/Topez-Server-24x-Core.package/TDAbstractDevTool.extension/properties.json b/repository/Topez-Server-24x-Core.package/TDAbstractDevTool.extension/properties.json new file mode 100644 index 000000000..0654d47f0 --- /dev/null +++ b/repository/Topez-Server-24x-Core.package/TDAbstractDevTool.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TDAbstractDevTool" } diff --git a/repository/Topez-Server-24x-Core.package/monticello.meta/version b/repository/Topez-Server-24x-Core.package/monticello.meta/version index a1524f183..f1666c49f 100644 --- a/repository/Topez-Server-24x-Core.package/monticello.meta/version +++ b/repository/Topez-Server-24x-Core.package/monticello.meta/version @@ -1 +1 @@ -(name 'Topez-Server-24x-Core-dkh.6' message 'need compilerWarningSet ' id 'b32fe62d-09d8-432b-8043-1e50138f07a7' date '05/09/2014' time '21:12:40' author 'dkh' ancestors ((name 'Topez-Server-24x-Core-dkh.5' message '- fix up `eval` command ... different implementation between 2.4 and 3.x ' id 'e422a99e-a8eb-4ddd-84d3-325324109b70' date '05/05/2014' time '22:21:59' author 'dkh' ancestors ((name 'Topez-Server-24x-Core-dkh.4' message '- working on getting tests to pass in GemStone 2.4.x' id '2fcf2d59-fc64-40ea-a958-9cafe284450d' date '04/19/2014' time '20:44:30' author 'dkh' ancestors ((name 'Topez-Server-24x-Core-dkh.3' message 'Issue #19: more compat work for 2.4 and 3.x' id 'd14c31eb-a445-4a16-a536-b8b32b0d0377' date '01/29/2014' time '18:07:57' author 'dkh' ancestors ((name 'Topez-Server-24x-Core-dkh.2' message 'Issue #19: more fixes for GemStone2.4' id 'e5b802c2-bc91-4d95-8921-102229d2f272' date '01/29/2014' time '14:34:49' author 'dkh' ancestors ((name 'Topez-Server-24x-Core-dkh.1' message 'more porting changes ' id '1fdbd615-a126-496c-b66a-8d132720fe0e' date '03/31/2013' time '08:21:56' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Topez-Server-24x-Core-dkh.9' message 'asUnicodeString no longer needs to be used with #performOnServer: for 3.0.x (or any other release)' id '91576fa7-8ab8-4b12-a75a-41c182c40efd' date '09/12/2015' time '13:59:29' author 'dkh' ancestors ((name 'Topez-Server-24x-Core-dkh.8' message 'Issue #196: add 2.4.x version of Behavior>>includesCategory:' id '34287887-6bd1-4a99-a575-7ca616f8da07' date '09/11/2015' time '13:42:46' author 'dkh' ancestors ((name 'Topez-Server-24x-Core-dkh.7' message 'bump version with addition of TDAbstractDevTool>>performOnServer:logging:' id '8b20aa94-be4f-4e00-8057-95b0984be8d8' date '06/18/2015' time '16:31:59' author 'dkh' ancestors ((name 'Topez-Server-24x-Core-dkh.6' message 'need compilerWarningSet ' id 'b32fe62d-09d8-432b-8043-1e50138f07a7' date '05/09/2014' time '21:12:40' author 'dkh' ancestors ((name 'Topez-Server-24x-Core-dkh.5' message '- fix up `eval` command ... different implementation between 2.4 and 3.x ' id 'e422a99e-a8eb-4ddd-84d3-325324109b70' date '05/05/2014' time '22:21:59' author 'dkh' ancestors ((name 'Topez-Server-24x-Core-dkh.4' message '- working on getting tests to pass in GemStone 2.4.x' id '2fcf2d59-fc64-40ea-a958-9cafe284450d' date '04/19/2014' time '20:44:30' author 'dkh' ancestors ((name 'Topez-Server-24x-Core-dkh.3' message 'Issue #19: more compat work for 2.4 and 3.x' id 'd14c31eb-a445-4a16-a536-b8b32b0d0377' date '01/29/2014' time '18:07:57' author 'dkh' ancestors ((name 'Topez-Server-24x-Core-dkh.2' message 'Issue #19: more fixes for GemStone2.4' id 'e5b802c2-bc91-4d95-8921-102229d2f272' date '01/29/2014' time '14:34:49' author 'dkh' ancestors ((name 'Topez-Server-24x-Core-dkh.1' message 'more porting changes ' id '1fdbd615-a126-496c-b66a-8d132720fe0e' date '03/31/2013' time '08:21:56' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Server-30x-Core.package/TDAbstractDevTool.extension/instance/performOnServer.logging..st b/repository/Topez-Server-30x-Core.package/TDAbstractDevTool.extension/instance/performOnServer.logging..st new file mode 100644 index 000000000..9a26a3144 --- /dev/null +++ b/repository/Topez-Server-30x-Core.package/TDAbstractDevTool.extension/instance/performOnServer.logging..st @@ -0,0 +1,12 @@ +*topez-server-30x-core +performOnServer: command logging: logging + | result | + result := System performOnServer: command. + logging + ifTrue: [ + Transcript + cr; + show: command printString; + cr; + show: result ]. + ^ result \ No newline at end of file diff --git a/repository/Topez-Server-30x-Core.package/TDAbstractDevTool.extension/methodProperties.json b/repository/Topez-Server-30x-Core.package/TDAbstractDevTool.extension/methodProperties.json new file mode 100644 index 000000000..fee5787f0 --- /dev/null +++ b/repository/Topez-Server-30x-Core.package/TDAbstractDevTool.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "performOnServer:logging:" : "dkh 09/12/2015 13:31" } } diff --git a/repository/Topez-Server-30x-Core.package/TDAbstractDevTool.extension/properties.json b/repository/Topez-Server-30x-Core.package/TDAbstractDevTool.extension/properties.json new file mode 100644 index 000000000..0654d47f0 --- /dev/null +++ b/repository/Topez-Server-30x-Core.package/TDAbstractDevTool.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TDAbstractDevTool" } diff --git a/repository/Topez-Server-30x-Core.package/monticello.meta/version b/repository/Topez-Server-30x-Core.package/monticello.meta/version index f57a71849..03016cb11 100644 --- a/repository/Topez-Server-30x-Core.package/monticello.meta/version +++ b/repository/Topez-Server-30x-Core.package/monticello.meta/version @@ -1 +1 @@ -(name 'Topez-Server-30x-Core-dkh.1' message 'populate Topez-Server-30x-Core package' id '23f3a734-cc18-4443-b11f-f617c7f60b75' date '05/24/2014' time '09:57:04' author 'dkh' ancestors () stepChildren ()) \ No newline at end of file +(name 'Topez-Server-30x-Core-dkh.3' message 'asUnicodeString no longer needs to be used with #performOnServer: for 3.0.x (or any other release)' id '9ba20be1-4a6d-48b0-a32a-adf321be2609' date '09/12/2015' time '13:32:23' author 'dkh' ancestors ((name 'Topez-Server-30x-Core-dkh.2' message 'bump version with addition of TDAbstractDevTool>>performOnServer:logging:' id 'ca5fc649-cd37-40b4-b300-cb6613fa9a16' date '06/18/2015' time '16:32:33' author 'dkh' ancestors ((name 'Topez-Server-30x-Core-dkh.1' message 'populate Topez-Server-30x-Core package' id '23f3a734-cc18-4443-b11f-f617c7f60b75' date '05/24/2014' time '09:57:04' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Server-31x-Core.package/TDAbstractDevTool.extension/instance/performOnServer.logging..st b/repository/Topez-Server-31x-Core.package/TDAbstractDevTool.extension/instance/performOnServer.logging..st new file mode 100644 index 000000000..63db71a6b --- /dev/null +++ b/repository/Topez-Server-31x-Core.package/TDAbstractDevTool.extension/instance/performOnServer.logging..st @@ -0,0 +1,12 @@ +*topez-server-31x-core +performOnServer: command logging: logging + | result | + result := (System performOnServer: command) asUnicodeString. + logging + ifTrue: [ + Transcript + cr; + show: command printString; + cr; + show: result ]. + ^ result diff --git a/repository/Topez-Server-31x-Core.package/TDAbstractDevTool.extension/methodProperties.json b/repository/Topez-Server-31x-Core.package/TDAbstractDevTool.extension/methodProperties.json new file mode 100644 index 000000000..26413cfdd --- /dev/null +++ b/repository/Topez-Server-31x-Core.package/TDAbstractDevTool.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "performOnServer:logging:" : "dkh 06/18/2015 15:56" } } diff --git a/repository/Topez-Server-31x-Core.package/TDAbstractDevTool.extension/properties.json b/repository/Topez-Server-31x-Core.package/TDAbstractDevTool.extension/properties.json new file mode 100644 index 000000000..0654d47f0 --- /dev/null +++ b/repository/Topez-Server-31x-Core.package/TDAbstractDevTool.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TDAbstractDevTool" } diff --git a/repository/Topez-Server-31x-Core.package/monticello.meta/version b/repository/Topez-Server-31x-Core.package/monticello.meta/version index d862c5e21..cb7981e9b 100644 --- a/repository/Topez-Server-31x-Core.package/monticello.meta/version +++ b/repository/Topez-Server-31x-Core.package/monticello.meta/version @@ -1 +1 @@ -(name 'Topez-Server-31x-Core-dkh.5' message 'Not all of the defs in Topez-Server-31x-Core package were appropriate for 3.0 - move the defs appropriate for 3.0 to Topez-Server-3x-Core (where they belonged in the first place)' id '5a0d420b-af25-4100-8eb8-31f81a7e7852' date '05/24/2014' time '09:34:25' author 'dkh' ancestors ((name 'Topez-Server-31x-Core-dkh.4' message 'Object>>compilerWarningSet needed...' id '385e19b0-063f-4965-a53d-dc22bc29cbe8' date '05/10/2014' time '07:48:35' author 'dkh' ancestors ((name 'Topez-Server-31x-Core-dkh.3' message '- getting tests to pass for GemStone 2.4' id 'dd47547b-fb58-4437-b3bc-960b66ee180a' date '04/19/2014' time '21:07:54' author 'dkh' ancestors ((name 'Topez-Server-31x-Core-dkh.1' message 'initial version' id 'fc2d0104-d2de-493e-9e9a-7abfa8bd967c' date '01/20/2014' time '16:59:45' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Topez-Server-31x-Core-dkh.6' message 'bump version with addition of TDAbstractDevTool>>performOnServer:logging:' id 'e7918152-0b98-453f-a9f1-5414801e6d7e' date '06/18/2015' time '16:32:57' author 'dkh' ancestors ((name 'Topez-Server-31x-Core-dkh.5' message 'Not all of the defs in Topez-Server-31x-Core package were appropriate for 3.0 - move the defs appropriate for 3.0 to Topez-Server-3x-Core (where they belonged in the first place)' id '5a0d420b-af25-4100-8eb8-31f81a7e7852' date '05/24/2014' time '09:34:25' author 'dkh' ancestors ((name 'Topez-Server-31x-Core-dkh.4' message 'Object>>compilerWarningSet needed...' id '385e19b0-063f-4965-a53d-dc22bc29cbe8' date '05/10/2014' time '07:48:35' author 'dkh' ancestors ((name 'Topez-Server-31x-Core-dkh.3' message '- getting tests to pass for GemStone 2.4' id 'dd47547b-fb58-4437-b3bc-960b66ee180a' date '04/19/2014' time '21:07:54' author 'dkh' ancestors ((name 'Topez-Server-31x-Core-dkh.1' message 'initial version' id 'fc2d0104-d2de-493e-9e9a-7abfa8bd967c' date '01/20/2014' time '16:59:45' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Server-32x-Core.package/TDAbstractDevTool.extension/instance/performOnServer.logging..st b/repository/Topez-Server-32x-Core.package/TDAbstractDevTool.extension/instance/performOnServer.logging..st new file mode 100644 index 000000000..ecb055e82 --- /dev/null +++ b/repository/Topez-Server-32x-Core.package/TDAbstractDevTool.extension/instance/performOnServer.logging..st @@ -0,0 +1,12 @@ +*topez-server-32x-core +performOnServer: command logging: logging + | result | + result := (System performOnServer: command) asUnicodeString. + logging + ifTrue: [ + Transcript + cr; + show: command printString; + cr; + show: result ]. + ^ result diff --git a/repository/Topez-Server-32x-Core.package/TDAbstractDevTool.extension/methodProperties.json b/repository/Topez-Server-32x-Core.package/TDAbstractDevTool.extension/methodProperties.json new file mode 100644 index 000000000..26413cfdd --- /dev/null +++ b/repository/Topez-Server-32x-Core.package/TDAbstractDevTool.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "performOnServer:logging:" : "dkh 06/18/2015 15:56" } } diff --git a/repository/Topez-Server-32x-Core.package/TDAbstractDevTool.extension/properties.json b/repository/Topez-Server-32x-Core.package/TDAbstractDevTool.extension/properties.json new file mode 100644 index 000000000..0654d47f0 --- /dev/null +++ b/repository/Topez-Server-32x-Core.package/TDAbstractDevTool.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TDAbstractDevTool" } diff --git a/repository/Topez-Server-32x-Core.package/monticello.meta/version b/repository/Topez-Server-32x-Core.package/monticello.meta/version index 2e4f717e5..a4d7f901b 100644 --- a/repository/Topez-Server-32x-Core.package/monticello.meta/version +++ b/repository/Topez-Server-32x-Core.package/monticello.meta/version @@ -1 +1 @@ -(name 'Topez-Server-32x-Core-dkh.4' message 'belated 3.2 change' id '0bf4815e-c276-424f-92c3-9e6676a5352a' date '05/25/2014' time '21:39:33' author 'dkh' ancestors ((name 'Topez-Server-32x-Core-dkh.3' message '- remove TDGitDiffer class as it has been replaced by TDGitDiffBrowser - add undefined symbol handling to the code that does reflection on script path nodes. Scripts can have all kinds of undefined symbols, but that should stop us for searching for references or senders or literals ' id 'f99c7a9b-97c3-4d40-a99a-5fe04b683d8b' date '05/09/2014' time '21:15:57' author 'dkh' ancestors ((name 'Topez-Server-32x-Core-dkh.2' message '- getting tests to pass for GemStone 2.4' id '7a017514-3ac7-4014-8f6f-dea41e4aaa70' date '04/19/2014' time '20:54:54' author 'dkh' ancestors ((name 'Topez-Server-32x-Core-dkh.1' message 'ClassOrganizer class>>new included so that we can use GsSession currentSession symbolList ... split off package since new method different for 3.1 ... ' id '728f6450-42c7-48f3-b2ab-5058a13b08aa' date '04/14/2014' time '13:12:49' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Topez-Server-32x-Core-dkh.5' message 'bump version with addition of TDAbstractDevTool>>performOnServer:logging:' id 'ad74e3f5-c39e-4a14-ad1b-c2a371af78d5' date '06/18/2015' time '16:33:20' author 'dkh' ancestors ((name 'Topez-Server-32x-Core-dkh.4' message 'belated 3.2 change' id '0bf4815e-c276-424f-92c3-9e6676a5352a' date '05/25/2014' time '21:39:33' author 'dkh' ancestors ((name 'Topez-Server-32x-Core-dkh.3' message '- remove TDGitDiffer class as it has been replaced by TDGitDiffBrowser - add undefined symbol handling to the code that does reflection on script path nodes. Scripts can have all kinds of undefined symbols, but that should stop us for searching for references or senders or literals ' id 'f99c7a9b-97c3-4d40-a99a-5fe04b683d8b' date '05/09/2014' time '21:15:57' author 'dkh' ancestors ((name 'Topez-Server-32x-Core-dkh.2' message '- getting tests to pass for GemStone 2.4' id '7a017514-3ac7-4014-8f6f-dea41e4aaa70' date '04/19/2014' time '20:54:54' author 'dkh' ancestors ((name 'Topez-Server-32x-Core-dkh.1' message 'ClassOrganizer class>>new included so that we can use GsSession currentSession symbolList ... split off package since new method different for 3.1 ... ' id '728f6450-42c7-48f3-b2ab-5058a13b08aa' date '04/14/2014' time '13:12:49' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Server-33x-Core.package/.filetree b/repository/Topez-Server-33x-Core.package/.filetree new file mode 100644 index 000000000..8998102c2 --- /dev/null +++ b/repository/Topez-Server-33x-Core.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/Topez-Server-33x-Core.package/monticello.meta/initializers.st b/repository/Topez-Server-33x-Core.package/monticello.meta/initializers.st new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-33x-Core.package/monticello.meta/package b/repository/Topez-Server-33x-Core.package/monticello.meta/package new file mode 100644 index 000000000..a149230c4 --- /dev/null +++ b/repository/Topez-Server-33x-Core.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'Topez-Server-33x-Core') \ No newline at end of file diff --git a/repository/Topez-Server-33x-Core.package/monticello.meta/version b/repository/Topez-Server-33x-Core.package/monticello.meta/version new file mode 100644 index 000000000..a30695469 --- /dev/null +++ b/repository/Topez-Server-33x-Core.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'Topez-Server-33x-Core-dkh.3' message 'Issue #202: add --uncompressed option to `bu backup` command. Default for `bu backup` is to create a compressed backup. Also add a `bu validate` command for validating the readability of backup files ... update tests ,, improve (hopefully) performOnServer: functionality by getting back explicit command status' id 'a2e5231f-c7c0-4c26-916b-81e4b1afe832' date '09/16/2015' time '15:45:17' author 'dkh' ancestors ((name 'Topez-Server-33x-Core-dkh.2' message 'asUnicodeString no longer needs to be used with #performOnServer: for 3.3 (or any other release)' id '60c29d89-73ab-45a2-9c14-d2ec1b6bc5b6' date '09/12/2015' time '13:23:45' author 'dkh' ancestors ((name 'Topez-Server-33x-Core-dkh.1' message 'System class>>performOnServer: may return an instance of Utf8 in GemStone 3.3' id 'f75b586c-0386-4d99-9240-19ab156f9ac1' date '06/18/2015' time '16:23:52' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Server-33x-Core.package/properties.json b/repository/Topez-Server-33x-Core.package/properties.json new file mode 100644 index 000000000..f037444a7 --- /dev/null +++ b/repository/Topez-Server-33x-Core.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/instance/calculateSelectionRange.st b/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/instance/calculateSelectionRange.st index 91c93b9a9..d35f513cf 100644 --- a/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/instance/calculateSelectionRange.st +++ b/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/instance/calculateSelectionRange.st @@ -1,9 +1,20 @@ as yet unclassified calculateSelectionRange - | method stepPoint offsets begin end | - method := self method. - stepPoint := method _stepPointForIp: self ipOffset level: self frameIndex isNative: self process _nativeStack. - offsets := method _sourceOffsets. - begin := offsets at: (stepPoint min: offsets size). - end := self calculateSourceRangeEnd: begin in: method sourceString. - ^ begin to: end \ No newline at end of file + | method stepPoint offsets begin end | + method := self method. + (method respondsTo: #'_stepPointForIp:level:isNative:') + ifTrue: [ + stepPoint := method + _stepPointForIp: self ipOffset + level: self frameIndex + isNative: self process _nativeStack ] + ifFalse: [ + "v3.3" + stepPoint := method + _stepPointForIp: self ipOffset + level: self frameIndex + useNext: self process _nativeStack ]. + offsets := method _sourceOffsets. + begin := offsets at: (stepPoint min: offsets size). + end := self calculateSourceRangeEnd: begin in: method sourceString. + ^ begin to: end \ No newline at end of file diff --git a/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/instance/printOn..st b/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/instance/printOn..st index 782a4fb33..54aaa9b04 100644 --- a/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/instance/printOn..st +++ b/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/instance/printOn..st @@ -17,4 +17,9 @@ printOn: aStream ifFalse: [ aStream nextPutAll: self inClass name asString ]. aStream nextPutAll: '>>'. aStream nextPutAll: self selector. - aStream nextPutAll: ' ' , (self process _localStepPointStringAt: self frameIndex) \ No newline at end of file + (self process respondsTo: #'_localStepPointStringAt:') + ifTrue: [ + aStream + nextPutAll: + ' ' , (self process _localStepPointStringAt: self frameIndex) ] + ifFalse: [ aStream nextPutAll: ' ' , (self process _stepPointStringAt: self frameIndex) ] \ No newline at end of file diff --git a/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/instance/trimToHomeFrame.st b/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/instance/trimToHomeFrame.st index c14668566..982e18929 100644 --- a/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/instance/trimToHomeFrame.st +++ b/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/instance/trimToHomeFrame.st @@ -1,5 +1,7 @@ as yet unclassified trimToHomeFrame + "Assume to be sent after successful accept of new version of method" + | home homeFrame | home := self homeMethod. homeFrame := self findFrameSuchThat: [ :frame | frame method == home ]. diff --git a/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/methodProperties.json b/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/methodProperties.json index 3ae184f2d..a9c146ac1 100644 --- a/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/methodProperties.json +++ b/repository/Topez-Server-3x-DebugTools.package/TDStackFrame.class/methodProperties.json @@ -6,7 +6,7 @@ "argAndTempNamesAt:" : "DataCurator 12/16/2012 08:28", "baseNodeMap" : "dkh 06/28/2014 13:08", "baseNodeNames" : "DataCurator 12/16/2012 08:10", - "calculateSelectionRange" : "DataCurator 12/17/2012 08:18", + "calculateSelectionRange" : "dkh 05/20/2015 16:54", "calculateSourceRangeEnd:in:" : "DataCurator 12/17/2012 08:11", "dotSelfLiteralArray" : "dkh 06/28/2014 09:53", "dotSelfObject" : "dkh 06/28/2014 09:59", @@ -29,11 +29,11 @@ "objectFor:ifAbsent:" : "DataCurator 01/01/2013 09:12", "previous" : "DataCurator 12/16/2012 10:36", "previous:" : "DataCurator 12/16/2012 10:36", - "printOn:" : "DataCurator 12/22/2012 17:35", + "printOn:" : "dkh 05/13/2015 15:54", "process" : "DataCurator 12/16/2012 10:18", "receiver" : "dkh 06/28/2014 12:45", "selectionRange" : "DataCurator 12/19/2012 14:12", "selector" : "DataCurator 12/16/2012 07:46", "stack" : "DataCurator 12/16/2012 10:17", "stack:" : "DataCurator 12/16/2012 10:17", - "trimToHomeFrame" : "DataCurator 02/09/2013 16:05" } } + "trimToHomeFrame" : "dkh 08/31/2015 16:57" } } diff --git a/repository/Topez-Server-3x-DebugTools.package/monticello.meta/version b/repository/Topez-Server-3x-DebugTools.package/monticello.meta/version index 85fcca331..f26c22656 100644 --- a/repository/Topez-Server-3x-DebugTools.package/monticello.meta/version +++ b/repository/Topez-Server-3x-DebugTools.package/monticello.meta/version @@ -1 +1 @@ -(name 'Topez-Server-3x-DebugTools-dkh.2' message '- working on fixing disappearing comments for workspaces (comment no statements) - adding RBWorkspaceNode as extenstion to RB AST... - clean up workspace code so that it''s possible for workspace to correctly access temps and args for debugger context - debugger context browse class and browse full cleaned up' id '6df6a540-262d-4537-bbc1-ce6f391cb7d6' date '06/28/2014' time '15:58:15' author 'dkh' ancestors ((name 'Topez-Server-3x-DebugTools-dkh.1' message 'add Topez-Server-3x-DebugTools and Topez-Server-30x-DebugTools packages to properly handle the different methods needed for debugging in the different versions of GemStone 3.x' id '0dee217e-d165-48a3-a815-f84273df002c' date '05/24/2014' time '10:20:31' author 'dkh' ancestors () stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Topez-Server-3x-DebugTools-dkh.5' message 'now that we''re honoring canDiscardEdits, need a way to clearUserEditFlag in code editors (used in debugger at the moment)' id '5fd3d3dd-f86c-478c-b105-8558b38d6d42' date '08/31/2015' time '17:13:35' author 'dkh' ancestors ((name 'Topez-Server-3x-DebugTools-dkh.4' message 'another hack for 3.3 ... this time GsProcess>>_stepPointForIp:level:isNative: is replaced by GsProcess>>_stepPointForIp:level:useNext:' id 'e7937105-3465-464f-adfc-ba31e835b761' date '05/20/2015' time '17:04:14' author 'dkh' ancestors ((name 'Topez-Server-3x-DebugTools-dkh.3' message 'a bit of a hack, but the method GsProcess>>_localStepPointStringAt: is gone in 3.3 replaced by GsProcess>>_stepPointStringAt: ... don''t want to have to create a 3.3 specific package for this one method ... there might be more changes in the debugger interface so I''ll wait until then ...' id '9feb9b7b-d90e-4fc0-bab7-966af35d19a0' date '05/13/2015' time '17:16:03' author 'dkh' ancestors ((name 'Topez-Server-3x-DebugTools-dkh.2' message '- working on fixing disappearing comments for workspaces (comment no statements) - adding RBWorkspaceNode as extenstion to RB AST... - clean up workspace code so that it''s possible for workspace to correctly access temps and args for debugger context - debugger context browse class and browse full cleaned up' id '6df6a540-262d-4537-bbc1-ce6f391cb7d6' date '06/28/2014' time '15:58:15' author 'dkh' ancestors ((name 'Topez-Server-3x-DebugTools-dkh.1' message 'add Topez-Server-3x-DebugTools and Topez-Server-30x-DebugTools packages to properly handle the different methods needed for debugging in the different versions of GemStone 3.x' id '0dee217e-d165-48a3-a815-f84273df002c' date '05/24/2014' time '10:20:31' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/Behavior.extension/instance/asTDClassDefinition.st b/repository/Topez-Server-Core.package/Behavior.extension/instance/asTDClassDefinition.st index ebecf3a56..ba40bae09 100644 --- a/repository/Topez-Server-Core.package/Behavior.extension/instance/asTDClassDefinition.st +++ b/repository/Topez-Server-Core.package/Behavior.extension/instance/asTDClassDefinition.st @@ -1,3 +1,3 @@ *topez-server-core asTDClassDefinition - ^ TDClassDefinition className: self theNonMetaClass className \ No newline at end of file + ^ TDClassDefinition fromClassWithHistory: self theNonMetaClass \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/Behavior.extension/methodProperties.json b/repository/Topez-Server-Core.package/Behavior.extension/methodProperties.json index cca14bfb0..99386f36e 100644 --- a/repository/Topez-Server-Core.package/Behavior.extension/methodProperties.json +++ b/repository/Topez-Server-Core.package/Behavior.extension/methodProperties.json @@ -2,5 +2,5 @@ "class" : { }, "instance" : { - "asTDClassDefinition" : "dkh 10/05/2013 09:58", + "asTDClassDefinition" : "dkh 09/12/2015 08:15", "pasteTDDefinition:" : "DataCurator 02/05/2013 23:21" } } diff --git a/repository/Topez-Server-Core.package/GsConfirmInteraction.extension/instance/copyAsTodeInteraction.st b/repository/Topez-Server-Core.package/GsConfirmInteraction.extension/instance/copyAsTodeInteraction.st index adf7de3bc..3556d953c 100644 --- a/repository/Topez-Server-Core.package/GsConfirmInteraction.extension/instance/copyAsTodeInteraction.st +++ b/repository/Topez-Server-Core.package/GsConfirmInteraction.extension/instance/copyAsTodeInteraction.st @@ -3,4 +3,5 @@ copyAsTodeInteraction ^ TDConfirm new prompt: prompt; confirm: confirm; - cancel: cancel \ No newline at end of file + cancel: cancel; + abort: abort \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/GsConfirmInteraction.extension/methodProperties.json b/repository/Topez-Server-Core.package/GsConfirmInteraction.extension/methodProperties.json index 551b38118..7a6536539 100644 --- a/repository/Topez-Server-Core.package/GsConfirmInteraction.extension/methodProperties.json +++ b/repository/Topez-Server-Core.package/GsConfirmInteraction.extension/methodProperties.json @@ -2,4 +2,4 @@ "class" : { }, "instance" : { - "copyAsTodeInteraction" : "dkh 11/08/2013 07:14" } } + "copyAsTodeInteraction" : "dkh 01/16/2015 11:02" } } diff --git a/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/README.md b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/addChild..st b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/addChild..st new file mode 100644 index 000000000..5ae408cf9 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/addChild..st @@ -0,0 +1,3 @@ +directory compat +addChild: childName + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/at.ifAbsent..st b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/at.ifAbsent..st new file mode 100644 index 000000000..fcbccab64 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/at.ifAbsent..st @@ -0,0 +1,3 @@ +dictionary compat +at: key ifAbsent: absentBlock + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/at.put..st b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/at.put..st new file mode 100644 index 000000000..5bd0a3cd8 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/at.put..st @@ -0,0 +1,3 @@ +dictionary compat +at: key put: value + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/composedChildrenDo..st b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/composedChildrenDo..st new file mode 100644 index 000000000..072b1a002 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/composedChildrenDo..st @@ -0,0 +1,3 @@ +directory compat +composedChildrenDo: aBlock + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/keys.st b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/keys.st new file mode 100644 index 000000000..269120f54 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/keys.st @@ -0,0 +1,2 @@ +dictionary compat +keys \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/moveDirectoryNode.as..st b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/moveDirectoryNode.as..st new file mode 100644 index 000000000..4750e8e60 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/moveDirectoryNode.as..st @@ -0,0 +1,3 @@ +directory compat +moveDirectoryNode: aDirectoryNode as: newName + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/removeKey..st b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/removeKey..st new file mode 100644 index 000000000..04704e3a0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/removeKey..st @@ -0,0 +1,3 @@ +dictionary compat +removeKey: key + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/topez..st b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/topez..st new file mode 100644 index 000000000..9902005c3 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/topez..st @@ -0,0 +1,3 @@ +accessing +topez: aTopez + topez := aTopez \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/topez.st b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/topez.st new file mode 100644 index 000000000..3d9774d00 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/topez.st @@ -0,0 +1,3 @@ +accessing +topez + ^ topez \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/values.st b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/values.st new file mode 100644 index 000000000..882813ae8 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/instance/values.st @@ -0,0 +1,2 @@ +dictionary compat +values \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/methodProperties.json b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/methodProperties.json new file mode 100644 index 000000000..d24589bc6 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/methodProperties.json @@ -0,0 +1,14 @@ +{ + "class" : { + }, + "instance" : { + "addChild:" : "dkh 11/05/2014 13:55", + "at:ifAbsent:" : "dkh 11/05/2014 11:59", + "at:put:" : "dkh 11/05/2014 11:59", + "composedChildrenDo:" : "dkh 11/21/2014 14:55", + "keys" : "dkh 11/05/2014 11:59", + "moveDirectoryNode:as:" : "dkh 11/07/2014 13:34", + "removeKey:" : "dkh 11/05/2014 11:59", + "topez" : "dkh 11/07/2014 16:10", + "topez:" : "dkh 11/07/2014 16:10", + "values" : "dkh 11/05/2014 11:59" } } diff --git a/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/properties.json b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/properties.json new file mode 100644 index 000000000..47796b3d5 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractComposedDirectoryNodeContents.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "topez" ], + "name" : "TDAbstractComposedDirectoryNodeContents", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/elementCache.st b/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/elementCache.st deleted file mode 100644 index f4d551cb0..000000000 --- a/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/elementCache.st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -elementCache - elementCache ifNil: [ elementCache := RcIdentityBag new: 10 ]. - ^ elementCache \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/objectSerializer.st b/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/objectSerializer.st new file mode 100644 index 000000000..913c3c624 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/objectSerializer.st @@ -0,0 +1,3 @@ +accessing +objectSerializer + ^ self topez objectSerializer \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/storeVersion.inRepository..st b/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/storeVersion.inRepository..st new file mode 100644 index 000000000..6b0bc8a77 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/storeVersion.inRepository..st @@ -0,0 +1,4 @@ +monticello +storeVersion: newVersion inRepository: targetRepo + self validateConsistencyOfMonticelloVersion: newVersion. + ^ targetRepo storeVersion: newVersion \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/validateConsistencyOfMonticelloVersion..st b/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/validateConsistencyOfMonticelloVersion..st new file mode 100644 index 000000000..7b7e05c24 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractDevTool.class/instance/validateConsistencyOfMonticelloVersion..st @@ -0,0 +1,21 @@ +monticello +validateConsistencyOfMonticelloVersion: newVersion + "Make sure that the name of the newVersion when parsed is consistent with the name of package" + + | packageNameFromFileName actualPackageName packageFileName | + packageFileName := newVersion info name. + packageNameFromFileName := (GoferVersionReference name: packageFileName) + packageName. + actualPackageName := newVersion package name. + packageNameFromFileName = actualPackageName + ifFalse: [ + self + error: + 'Package name mismatch - the filename of the package: ' + , packageFileName printString + , + ' is not following the package naming convention: ''packageName.branch-initials.count'' (where `.branch` is optional). The package name derived from the filename: ' + , packageNameFromFileName printString + , 'does not match the actual name of the package: ' + , actualPackageName printString + , 'and could cause trouble, especially in FileTree repositories.' ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractDevTool.class/methodProperties.json b/repository/Topez-Server-Core.package/TDAbstractDevTool.class/methodProperties.json index fefa6574e..60184aa9b 100644 --- a/repository/Topez-Server-Core.package/TDAbstractDevTool.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDAbstractDevTool.class/methodProperties.json @@ -10,7 +10,6 @@ "instance" : { "arguments" : "dkh 11/10/2013 16:49", "doItLiteralArrayFor:" : "dkh 05/05/2014 21:14", - "elementCache" : "DataCurator 11/14/2012 14:39", "error:" : "dkh 04/02/2014 10:20", "getOpts:" : "dkh 11/10/2013 12:12", "getOptsLong:" : "dkh 11/11/2013 16:49", @@ -28,17 +27,18 @@ "modifiedPackagesForProjectSpec:" : "08/31/2013 06:41", "objIn" : "DataCurator 12/09/2012 13:51", "objIn:" : "DataCurator 12/09/2012 13:51", + "objectSerializer" : "dkh 06/25/2015 16:03", "options" : "dkh 01/30/2014 17:19", "packagesForProjectSpec:" : "08/31/2013 05:59", "parseMethodSpec:" : "dkh 05/30/2014 12:56", "performOnServer:" : "dkh 09/04/2013 00:07", - "performOnServer:logging:" : "dkh 09/04/2013 00:07", "primeScriptPathOption" : "dkh 05/28/2014 13:14", "repositoryFromDescription:" : "dkh 08/09/2013 16:49", "resolveAtPathNodeReference:" : "dkh 05/18/2013 07:55", "resolveAtPathReference:" : "dkh 05/18/2013 07:55", "resolveClassReference:" : "dkh 09/22/2013 06:14", "resolveRepositoryReference:" : "dkh 08/09/2013 16:48", + "storeVersion:inRepository:" : "dkh 08/25/2015 17:08", "subArguments" : "dkh 03/30/2014 10:34", "subCommand" : "dkh 03/30/2014 10:33", "subCommandToken" : "dkh 04/18/2014 10:02", @@ -46,4 +46,5 @@ "todeCommand" : "dkh 11/10/2013 08:33", "todeCommand:" : "dkh 11/10/2013 11:48", "topez" : "DataCurator 11/20/2012 11:03", - "topez:" : "DataCurator 11/20/2012 11:03" } } + "topez:" : "DataCurator 11/20/2012 11:03", + "validateConsistencyOfMonticelloVersion:" : "dkh 08/25/2015 17:37" } } diff --git a/repository/Topez-Server-Core.package/TDAbstractDevTool.class/properties.json b/repository/Topez-Server-Core.package/TDAbstractDevTool.class/properties.json index 6ecd738c3..0fccdec44 100644 --- a/repository/Topez-Server-Core.package/TDAbstractDevTool.class/properties.json +++ b/repository/Topez-Server-Core.package/TDAbstractDevTool.class/properties.json @@ -6,7 +6,6 @@ ], "commentStamp" : "", "instvars" : [ - "elementCache", "topez", "objIn", "tokens", diff --git a/repository/Topez-Server-Core.package/TDAbstractMethodDefinition.class/instance/label.st b/repository/Topez-Server-Core.package/TDAbstractMethodDefinition.class/instance/label.st index f7d36e3e4..24147be62 100644 --- a/repository/Topez-Server-Core.package/TDAbstractMethodDefinition.class/instance/label.st +++ b/repository/Topez-Server-Core.package/TDAbstractMethodDefinition.class/instance/label.st @@ -1,5 +1,5 @@ as yet unclassified label ^ self isMeta - ifTrue: [ self theClassName , ' class>>' , self selector ] - ifFalse: [ self theClassName , '>>' , self selector ] \ No newline at end of file + ifTrue: [ self theClassLabel , ' class>>' , self selector ] + ifFalse: [ self theClassLabel , '>>' , self selector ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractMethodDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDAbstractMethodDefinition.class/methodProperties.json index d745079e3..fb3cec3cf 100644 --- a/repository/Topez-Server-Core.package/TDAbstractMethodDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDAbstractMethodDefinition.class/methodProperties.json @@ -3,7 +3,7 @@ }, "instance" : { "isClassInImage" : "dkh 06/24/2014 07:58", - "label" : "dkh 05/28/2013 07:48", + "label" : "dkh 09/09/2015 16:27", "messagePattern" : "dkh 02/10/2013 20:00", "messagePatternIsRegex" : "dkh 02/10/2013 20:00", "methodProtocol" : "dkh 09/22/2013 14:23", diff --git a/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/instance/browseChangesBetween.and..st b/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/instance/browseChangesBetween.and..st index 9e9af5f95..8259c5877 100644 --- a/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/instance/browseChangesBetween.and..st +++ b/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/instance/browseChangesBetween.and..st @@ -2,7 +2,7 @@ actions browseChangesBetween: aWorkingCopy and: versionInfo | stream | stream := TextStream on: Text new. - self mcTool mcDiffForWorkingCopy: self workingCopy and: versionInfo on: stream. + self mcTool mcDiffForWorkingCopy: aWorkingCopy and: versionInfo on: stream. ^ (TDTxtLeafNode new contents: stream contents) editUsing: ((TDEditorSpec topez: self topez editorAspect: #'edit') diff --git a/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/instance/copyObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/instance/copyObjectMenuAction.selectionIndex..st index 8f0a109d4..0474999c4 100644 --- a/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/instance/copyObjectMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/instance/copyObjectMenuAction.selectionIndex..st @@ -6,7 +6,7 @@ copyObjectMenuAction: listElement selectionIndex: selectionIndex def := self definitionForSelection: (self theList at: selectionIndex). self objectClipboard: def. self topez commitTransaction. - ^ STON + ^ self objectSerializer toString: {#'addToClipboard:'. (def label)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/instance/standardMenuActionSpec.st b/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/instance/standardMenuActionSpec.st index 02c82b027..578c02acc 100644 --- a/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/instance/standardMenuActionSpec.st +++ b/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/instance/standardMenuActionSpec.st @@ -5,5 +5,7 @@ standardMenuActionSpec "works in concert with menuActionBlock" ^ {{('Edit' -> self editMenuActionSpec)}. + #('-'). {('Object' -> self objectMenuActionSpec)}. + #('-'). {('Window' -> self windowMenuActionSpec)}} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/methodProperties.json index 1cb7948dd..f08e123e6 100644 --- a/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDAbstractMonticelloToolBuilder.class/methodProperties.json @@ -2,8 +2,8 @@ "class" : { }, "instance" : { - "browseChangesBetween:and:" : "dkh 10/20/2013 12:35", - "copyObjectMenuAction:selectionIndex:" : "dkh 10/13/2013 07:45", + "browseChangesBetween:and:" : "dkh 09/07/2015 14:00", + "copyObjectMenuAction:selectionIndex:" : "dkh 06/25/2015 15:45", "cutObjectMenuAction:selectionIndex:" : "dkh 10/13/2013 09:41", "definitionForSelection:" : "dkh 10/13/2013 07:41", "editMenuActionSpec" : "dkh 10/13/2013 10:09", @@ -12,5 +12,5 @@ "parentBuilder:" : "dkh 10/19/2013 11:50", "pasteObjectMenuAction:selectionIndex:" : "dkh 10/13/2013 09:31", "printObjectMenuAction:selectionIndex:" : "dkh 05/09/2014 12:26", - "standardMenuActionSpec" : "dkh 01/09/2014 21:03", + "standardMenuActionSpec" : "dkh 08/17/2015 17:25", "theList" : "dkh 10/12/2013 15:45" } } diff --git a/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/createTemplateProjectEntry..st b/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/createTemplateProjectEntry..st new file mode 100644 index 000000000..ba6348385 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/createTemplateProjectEntry..st @@ -0,0 +1,3 @@ +project list +createTemplateProjectEntry: anOldTDRegistrationDefinitionOrNil + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/createTemplateProjectEntry.st b/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/createTemplateProjectEntry.st new file mode 100644 index 000000000..8d61398ac --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/createTemplateProjectEntry.st @@ -0,0 +1,3 @@ +project list +createTemplateProjectEntry + ^ self createTemplateProjectEntry: nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/entryNode.projectPath.topez..st b/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/entryNode.projectPath.topez..st new file mode 100644 index 000000000..da44b09f0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/entryNode.projectPath.topez..st @@ -0,0 +1,12 @@ +accessing +entryNode: oldTDRegistrationDefinitionOrNil projectPath: projectPath topez: topez + | newEntry | + (entry isNil or: [ entry projectPath isNil ]) + ifTrue: [ + newEntry := self createTemplateProjectEntry: oldTDRegistrationDefinitionOrNil. + newEntry createProjectEntryNode: projectPath topez: topez. + newEntry + projectPath: projectPath; + projectNodeName: self projectName. + entry := newEntry ]. + ^ topez lookup: entry projectPath , entry projectNodeName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/refreshProjectEntryUsing..st b/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/refreshProjectEntryUsing..st new file mode 100644 index 000000000..014b70447 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/refreshProjectEntryUsing..st @@ -0,0 +1,8 @@ +actions +refreshProjectEntryUsing: refreshSpec + "force registration to be unregistered (and project entry to be reloaded) depending upon + symbols in : + #'loaded', #'unloaded', #'locked', and/or #'unlocked' +" + + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/templateProjectEntryLoads.projectSpec..st b/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/templateProjectEntryLoads.projectSpec..st new file mode 100644 index 000000000..800c9551d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/instance/templateProjectEntryLoads.projectSpec..st @@ -0,0 +1,16 @@ +project list +templateProjectEntryLoads: anOldTDRegistrationDefinitionOrNil projectSpec: aProjectSpecOrNil + | loads | + loads ifNil: [ loads := {} ]. + aProjectSpecOrNil + ifNotNil: [ aProjectSpecOrNil loads ifNotNil: [ :list | loads addAll: list ] ]. + anOldTDRegistrationDefinitionOrNil + ifNotNil: [ + anOldTDRegistrationDefinitionOrNil projectSpec loads + ifNotNil: [ :list | loads addAll: list ]. + anOldTDRegistrationDefinitionOrNil entry + ifNotNil: [ :oldEntry | loads addAll: oldEntry loads ] ]. + loads isEmpty + ifTrue: [ ^ #('default') ]. + loads := loads asSet asArray. + ^ loads \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/methodProperties.json index 55737d481..a3b9b371e 100644 --- a/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDAbstractProjectRegistrationDefinition.class/methodProperties.json @@ -3,9 +3,12 @@ }, "instance" : { "=" : "dkh 05/15/2014 17:54", + "createTemplateProjectEntry" : "dkh 03/13/2015 16:54", + "createTemplateProjectEntry:" : "dkh 03/14/2015 19:13", "emphasis" : "dkh 08/07/2014 10:16", "entry" : "dkh 05/15/2014 17:54", "entry:" : "dkh 05/15/2014 17:54", + "entryNode:projectPath:topez:" : "dkh 03/15/2015 12:47", "fieldOne" : "dkh 05/15/2014 18:07", "fieldThree" : "dkh 05/15/2014 18:02", "fieldTwo" : "dkh 05/15/2014 18:02", @@ -26,5 +29,7 @@ "isMetacelloProject" : "dkh 05/15/2014 18:37", "label" : "dkh 05/15/2014 17:54", "projectName" : "dkh 06/30/2014 21:20", + "refreshProjectEntryUsing:" : "dkh 02/18/2015 13:31", + "templateProjectEntryLoads:projectSpec:" : "dkh 03/14/2015 19:37", "updateRegistrationVersionInfo:" : "dkh 05/15/2014 21:09", "versionString" : "dkh 05/15/2014 17:54" } } diff --git a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/beMultipleSelection.st b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/beMultipleSelection.st new file mode 100644 index 000000000..e7a8985f1 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/beMultipleSelection.st @@ -0,0 +1,3 @@ +accessing +beMultipleSelection + ^ false \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/itemSelected.listElement.selectedIndex.shiftPressed.listSelectionsDictionary..st b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/itemSelected.listElement.selectedIndex.shiftPressed.listSelectionsDictionary..st new file mode 100644 index 000000000..d46cfa7f7 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/itemSelected.listElement.selectedIndex.shiftPressed.listSelectionsDictionary..st @@ -0,0 +1,9 @@ +tools +itemSelected: miniTool listElement: listElement selectedIndex: index shiftPressed: shiftPressed listSelectionsDictionary: listSelectionsDictionary + "multiple selection" + + ^ self + itemSelected: miniTool + listElement: listElement + selectedIndex: index + shiftPressed: shiftPressed \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/itemSelectedBlock.st b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/itemSelectedBlock.st index 18d2c7aca..07de2e8b2 100644 --- a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/itemSelectedBlock.st +++ b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/itemSelectedBlock.st @@ -1,8 +1,9 @@ accessing itemSelectedBlock - ^ [ :miniTool :listElement :index :shiftPressed | + ^ [ :miniTool :listElement :index :shiftPressed :listSelectionsDictionary | self itemSelected: miniTool listElement: listElement selectedIndex: index - shiftPressed: shiftPressed ] \ No newline at end of file + shiftPressed: shiftPressed + listSelectionsDictionary: listSelectionsDictionary ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/menuAction.actionSymbol.listElement.selectedIndex..st b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/menuAction.actionSymbol.listElement.selectedIndex..st index bf987bbab..7bd7e3f31 100644 --- a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/menuAction.actionSymbol.listElement.selectedIndex..st +++ b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/menuAction.actionSymbol.listElement.selectedIndex..st @@ -7,8 +7,11 @@ menuAction: miniTool actionSymbol: actionSymbol listElement: listElement selecte withArguments: {listElement. index} ]. - ^ miniTool builder - perform: actionSymbol - withArguments: - {listElement. - index} \ No newline at end of file + ^ actionSymbol numArgs == 2 + ifTrue: [ + miniTool builder + perform: actionSymbol + withArguments: + {listElement. + index} ] + ifFalse: [ miniTool builder perform: actionSymbol withArguments: {listElement} ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/miniToolSpec.st b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/miniToolSpec.st index 24d2d964f..7159e12ae 100644 --- a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/miniToolSpec.st +++ b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/miniToolSpec.st @@ -16,5 +16,7 @@ miniToolSpec selectionIndex: self selectionIndex; highlightIndex: self highlightIndex; parentList: self parentList; + beMultipleSelection: self beMultipleSelection; + usePersistentClientElementCache: self usePersistentClientElementCache; yourself ]. ^ miniToolSpec \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/objectSerializer.st b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/objectSerializer.st new file mode 100644 index 000000000..913c3c624 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/objectSerializer.st @@ -0,0 +1,3 @@ +accessing +objectSerializer + ^ self topez objectSerializer \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/standardMenuActionSpec.st b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/standardMenuActionSpec.st index b5f4bc1f4..df02dff3c 100644 --- a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/standardMenuActionSpec.st +++ b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/standardMenuActionSpec.st @@ -5,4 +5,5 @@ standardMenuActionSpec "works in concert with menuActionBlock" ^ {{('Object' -> self objectMenuActionSpec)}. + #('-'). {('Window' -> self windowMenuActionSpec)}} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/usePersistentClientElementCache.st b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/usePersistentClientElementCache.st new file mode 100644 index 000000000..304a810cd --- /dev/null +++ b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/instance/usePersistentClientElementCache.st @@ -0,0 +1,3 @@ +accessing +usePersistentClientElementCache + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/methodProperties.json index 91b19b3cf..b91eeb8a8 100644 --- a/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDAbstractToolBuilder.class/methodProperties.json @@ -2,6 +2,7 @@ "class" : { }, "instance" : { + "beMultipleSelection" : "dkh 01/29/2015 15:59", "browseImplementersOf:listElement:" : "dkh 05/11/2014 19:50", "browseSendersOf:listElement:" : "dkh 05/11/2014 19:51", "browseTool" : "dkh 05/11/2014 19:51", @@ -14,26 +15,29 @@ "gitTool" : "dkh 05/15/2014 06:45", "highlightIndex" : "dkh 01/09/2014 18:09", "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 01/09/2014 18:09", - "itemSelectedBlock" : "dkh 01/09/2014 18:09", + "itemSelected:listElement:selectedIndex:shiftPressed:listSelectionsDictionary:" : "dkh 01/29/2015 07:06", + "itemSelectedBlock" : "dkh 01/29/2015 07:06", "mcTool" : "dkh 05/20/2014 10:58", - "menuAction:actionSymbol:listElement:selectedIndex:" : "dkh 01/09/2014 18:09", + "menuAction:actionSymbol:listElement:selectedIndex:" : "dkh 09/12/2015 12:21", "menuActionBlock" : "dkh 06/20/2014 12:06", "menuActionSpec:" : "dkh 01/09/2014 18:09", "menuActionSpecBlock" : "dkh 01/09/2014 18:09", "methodMenuActionSpec" : "dkh 01/09/2014 18:09", - "miniToolSpec" : "dkh 06/18/2014 17:00", + "miniToolSpec" : "dkh 08/18/2015 11:16", "objectClipboard" : "dkh 01/09/2014 18:16", "objectClipboard:" : "dkh 01/09/2014 18:16", "objectMenuActionSpec" : "dkh 01/09/2014 18:09", + "objectSerializer" : "dkh 06/25/2015 15:45", "open" : "dkh 01/09/2014 18:09", "parentBuilder:" : "dkh 01/09/2014 18:09", "parentList" : "dkh 01/09/2014 18:09", "performMenuOrKeyBoardAction:listElement:selectionIndex:" : "dkh 01/09/2014 18:24", "selectionIndex" : "dkh 01/09/2014 18:09", - "standardMenuActionSpec" : "dkh 01/09/2014 21:04", + "standardMenuActionSpec" : "dkh 08/17/2015 17:25", "testTool" : "dkh 06/25/2014 15:42", "topez" : "dkh 01/09/2014 18:09", "topez:" : "dkh 01/09/2014 18:09", + "usePersistentClientElementCache" : "dkh 08/18/2015 11:06", "windowId" : "dkh 01/09/2014 18:09", "windowId:" : "dkh 01/09/2014 18:09", "windowIsClosing:" : "dkh 01/09/2014 18:09", diff --git a/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/class/className.isMeta..st b/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/class/className.isMeta..st index 533003da5..d799778ec 100644 --- a/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/class/className.isMeta..st +++ b/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/class/className.isMeta..st @@ -1,4 +1,4 @@ -as yet unclassified +instance creation className: className isMeta: isMeta ^ self new className: className; diff --git a/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/instance/asTDBehaviorDefinition.st b/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/instance/asTDBehaviorDefinition.st new file mode 100644 index 000000000..c3d7ea56d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/instance/asTDBehaviorDefinition.st @@ -0,0 +1,3 @@ +as yet unclassified +asTDBehaviorDefinition + ^ self \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/instance/asTDClassDefinition.st b/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/instance/asTDClassDefinition.st index 156055681..32335e768 100644 --- a/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/instance/asTDClassDefinition.st +++ b/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/instance/asTDClassDefinition.st @@ -1,5 +1,5 @@ as yet unclassified asTDClassDefinition - ^ (TDClassDefinition className: self theClassName) + ^ (TDBehaviorDefinition className: self className isMeta: false) username: self username; yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/instance/browseClassProtocol..st b/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/instance/browseClassProtocol..st new file mode 100644 index 000000000..be8c360bb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/instance/browseClassProtocol..st @@ -0,0 +1,12 @@ +instance/class button bar support +browseClassProtocol: buttonBarClientElement + (TDBehaviorDefinition className: self className isMeta: true) + editUsing: + ((TDEditorSpec + topez: buttonBarClientElement topez + editorAspect: #'classicProtocolList') + windowName: #'classicProtocolList'; + windowLocation: #'classicProtocol'; + selectionIndex: 1; + yourself). + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/instance/browseInstanceProtocol..st b/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/instance/browseInstanceProtocol..st new file mode 100644 index 000000000..44906e398 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/instance/browseInstanceProtocol..st @@ -0,0 +1,12 @@ +instance/class button bar support +browseInstanceProtocol: buttonBarClientElement + (TDBehaviorDefinition className: self className isMeta: false) + editUsing: + ((TDEditorSpec + topez: buttonBarClientElement topez + editorAspect: #'classicProtocolList') + windowName: #'classicProtocolList'; + windowLocation: #'classicProtocol'; + selectionIndex: 1; + yourself). + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/methodProperties.json index bba5fc554..b04f0315a 100644 --- a/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDBehaviorDefinition.class/methodProperties.json @@ -3,7 +3,10 @@ "className:isMeta:" : "dkh 02/09/2013 10:55" }, "instance" : { "=" : "dkh 06/04/2013 11:14", - "asTDClassDefinition" : "dkh 10/05/2013 08:15", + "asTDBehaviorDefinition" : "dkh 09/10/2015 10:13", + "asTDClassDefinition" : "dkh 09/12/2015 11:11", + "browseClassProtocol:" : "dkh 09/12/2015 07:53", + "browseInstanceProtocol:" : "dkh 09/12/2015 07:53", "hash" : "dkh 06/04/2013 11:03", "isMeta" : "dkh 02/09/2013 10:55", "isMeta:" : "dkh 02/09/2013 10:55", diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/README.md b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/class/className.isMeta.classHistoryIndex..st b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/class/className.isMeta.classHistoryIndex..st new file mode 100644 index 000000000..963925f93 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/class/className.isMeta.classHistoryIndex..st @@ -0,0 +1,5 @@ +instance creation +className: className isMeta: isMeta classHistoryIndex: anInteger + ^ (self className: className classHistoryIndex: anInteger) + isMeta: isMeta; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/class/fromBehavior..st b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/class/fromBehavior..st new file mode 100644 index 000000000..b6c04bd33 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/class/fromBehavior..st @@ -0,0 +1,11 @@ +instance creation +fromBehavior: aBehavior + | cls | + cls := aBehavior theNonMetaClass. + ^ aBehavior classHistory + ifNil: [ self className: cls isMeta: aBehavior isMeta className classHistoryIndex: 1 ] + ifNotNil: [ :ch | + self + className: cls className + isMeta: aBehavior isMeta + classHistoryIndex: (ch indexOf: cls) ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/^equals.st b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/^equals.st new file mode 100644 index 000000000..ca4c1e605 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/^equals.st @@ -0,0 +1,5 @@ +comparing += aTDDefinition + super = aTDDefinition + ifFalse: [ ^ false ]. + ^ self isMeta == aTDDefinition isMeta \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/asTDBehaviorDefinition.st b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/asTDBehaviorDefinition.st new file mode 100644 index 000000000..c2edb4e61 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/asTDBehaviorDefinition.st @@ -0,0 +1,3 @@ +accessing +asTDBehaviorDefinition + ^ self \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/asTDClassDefinition.st b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/asTDClassDefinition.st new file mode 100644 index 000000000..ad99e986d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/asTDClassDefinition.st @@ -0,0 +1,5 @@ +accessing +asTDClassDefinition + ^ TDClassHistoryDefinition + className: self className + classHistoryIndex: self classHIstoryIndex \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/hash.st b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/hash.st new file mode 100644 index 000000000..e787192fa --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/hash.st @@ -0,0 +1,3 @@ +accessing +hash + ^ super hash bitXor: self isMeta hash \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/isMeta..st b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/isMeta..st new file mode 100644 index 000000000..f69a0144e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/isMeta..st @@ -0,0 +1,3 @@ +accessing +isMeta: aBool + isMeta := aBool \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/isMeta.st b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/isMeta.st new file mode 100644 index 000000000..8ecd6b0c3 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/isMeta.st @@ -0,0 +1,3 @@ +accessing +isMeta + ^ isMeta \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/pasteTDDefinition..st b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/pasteTDDefinition..st new file mode 100644 index 000000000..a4ad9eed8 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/pasteTDDefinition..st @@ -0,0 +1,3 @@ +cut copy paste +pasteTDDefinition: def + ^ def pasteIntoBehaviorDefinition: self \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/species.st b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/species.st new file mode 100644 index 000000000..5aa29d6b1 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/species.st @@ -0,0 +1,6 @@ +comparing +species + "Returns a class similar to, or the same as, the receiver's class which + can be used for containing derived copies of the receiver." + + ^ TDBehaviorDefinition \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/theBehavior.st b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/theBehavior.st new file mode 100644 index 000000000..03d693386 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/instance/theBehavior.st @@ -0,0 +1,7 @@ +accessing +theBehavior + | cls | + cls := self theClass. + self isMeta + ifTrue: [ cls := cls class ]. + ^ cls \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/methodProperties.json new file mode 100644 index 000000000..f4f4f3393 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/methodProperties.json @@ -0,0 +1,14 @@ +{ + "class" : { + "className:isMeta:classHistoryIndex:" : "dkh 09/10/2015 01:39", + "fromBehavior:" : "dkh 09/10/2015 14:28" }, + "instance" : { + "=" : "dkh 09/09/2015 18:29", + "asTDBehaviorDefinition" : "dkh 09/10/2015 10:14", + "asTDClassDefinition" : "dkh 09/10/2015 00:24", + "hash" : "dkh 09/09/2015 18:29", + "isMeta" : "dkh 09/09/2015 18:29", + "isMeta:" : "dkh 09/09/2015 18:29", + "pasteTDDefinition:" : "dkh 09/10/2015 09:35", + "species" : "dkh 09/10/2015 14:44", + "theBehavior" : "dkh 09/09/2015 18:29" } } diff --git a/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/properties.json b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/properties.json new file mode 100644 index 000000000..0276ea0f0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorHistoryDefinition.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "isMeta" ], + "name" : "TDBehaviorHistoryDefinition", + "pools" : [ + ], + "super" : "TDClassHistoryDefinition", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/README.md b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/class/behavior..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/class/behavior..st new file mode 100644 index 000000000..94ddf24c7 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/class/behavior..st @@ -0,0 +1,5 @@ +instance creation +behavior: aBehavior + ^ self new + behavior: aBehavior; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/class/className..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/class/className..st new file mode 100644 index 000000000..4d19f9e50 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/class/className..st @@ -0,0 +1,3 @@ +as yet unclassified +className: className + ^ self shouldNotImplement \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/class/className.isMeta..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/class/className.isMeta..st new file mode 100644 index 000000000..723408fe9 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/class/className.isMeta..st @@ -0,0 +1,3 @@ +instance creation +className: className isMeta: isMeta + ^ self shouldNotImplement \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/^equals.st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/^equals.st new file mode 100644 index 000000000..38615fc9f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/^equals.st @@ -0,0 +1,5 @@ +as yet unclassified += aTDDefinition + super = aTDDefinition + ifFalse: [ ^ false ]. + ^ self isMeta == aTDDefinition isMeta \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/asTDClassDefinition.st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/asTDClassDefinition.st new file mode 100644 index 000000000..378de6862 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/asTDClassDefinition.st @@ -0,0 +1,5 @@ +as yet unclassified +asTDClassDefinition + ^ (TDBehaviorReferenceDefinition behavior: self theClass) + username: self username; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/asTDProtocolDefinition..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/asTDProtocolDefinition..st new file mode 100644 index 000000000..930ecee6d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/asTDProtocolDefinition..st @@ -0,0 +1,7 @@ +converting +asTDProtocolDefinition: protocol + ^ (TDBehaviorReferenceProtocolDefinition + behavior: self theBehavior + protocol: protocol) + username: self username; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/behavior..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/behavior..st new file mode 100644 index 000000000..b2730c44d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/behavior..st @@ -0,0 +1,3 @@ +as yet unclassified +behavior: aBehavior + theBehavior := aBehavior \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/browseClassProtocol..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/browseClassProtocol..st new file mode 100644 index 000000000..95fc03aca --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/browseClassProtocol..st @@ -0,0 +1,13 @@ +instance/class button bar support +browseClassProtocol: buttonBarClientElement + (TDBehaviorReferenceDefinition + behavior: self theBehavior theNonMetaClass class) + editUsing: + ((TDEditorSpec + topez: buttonBarClientElement topez + editorAspect: #'classicProtocolList') + windowName: #'classicProtocolList'; + windowLocation: #'classicProtocol'; + selectionIndex: 1; + yourself). + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/browseInstanceProtocol..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/browseInstanceProtocol..st new file mode 100644 index 000000000..ed566dcc9 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/browseInstanceProtocol..st @@ -0,0 +1,12 @@ +instance/class button bar support +browseInstanceProtocol: buttonBarClientElement + (TDBehaviorReferenceDefinition behavior: self theBehavior theNonMetaClass) + editUsing: + ((TDEditorSpec + topez: buttonBarClientElement topez + editorAspect: #'classicProtocolList') + windowName: #'classicProtocolList'; + windowLocation: #'classicProtocol'; + selectionIndex: 1; + yourself). + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/className..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/className..st new file mode 100644 index 000000000..c42db2b7f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/className..st @@ -0,0 +1,3 @@ +as yet unclassified +className: aString + self shouldNotImplement \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/className.st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/className.st new file mode 100644 index 000000000..6023494a5 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/className.st @@ -0,0 +1,3 @@ +as yet unclassified +className + ^ self theClass name \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/hash.st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/hash.st new file mode 100644 index 000000000..2d22c24e6 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/hash.st @@ -0,0 +1,3 @@ +as yet unclassified +hash + ^ self className hash \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/isMeta..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/isMeta..st new file mode 100644 index 000000000..a33fe8ced --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/isMeta..st @@ -0,0 +1,3 @@ +as yet unclassified +isMeta: aBool + isMeta := aBool \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/isMeta.st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/isMeta.st new file mode 100644 index 000000000..9395a9c70 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/isMeta.st @@ -0,0 +1,3 @@ +as yet unclassified +isMeta + ^ self theBehavior isMeta \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/itemSelected..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/itemSelected..st new file mode 100644 index 000000000..d8d33a5e7 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/itemSelected..st @@ -0,0 +1,6 @@ +as yet unclassified +itemSelected: topez + (topez toolInstanceFor: 'browse') + browseClassHierarchy: self asTDClassDefinition + label: 'Hierarchy of ' , self label. + ^ nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/methodDefinitionFor.isMeta..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/methodDefinitionFor.isMeta..st new file mode 100644 index 000000000..e62c25d1b --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/methodDefinitionFor.isMeta..st @@ -0,0 +1,8 @@ +as yet unclassified +methodDefinitionFor: selector isMeta: aBool + ^ (TDMethodHistoryDefinition new + theBehavior: self theBehavior; + isMeta: self theBehavior isMeta; + selector: selector) + username: self username; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/removeFromSystem..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/removeFromSystem..st new file mode 100644 index 000000000..9836bcd3e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/removeFromSystem..st @@ -0,0 +1,11 @@ +as yet unclassified +removeFromSystem: topez + | clsTool | + self classHistory current == self theClass + ifFalse: [ + self + error: + 'Attempting to remove an old version of a class ... use `cls history` browser to remove old versions of classes' ]. + clsTool := topez toolInstanceFor: 'cls'. + clsTool clsremove: self theClass. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/theBehavior.st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/theBehavior.st new file mode 100644 index 000000000..6ae208dc6 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/theBehavior.st @@ -0,0 +1,3 @@ +as yet unclassified +theBehavior + ^ theBehavior \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/theClass.st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/theClass.st new file mode 100644 index 000000000..4e57cd37a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/theClass.st @@ -0,0 +1,3 @@ +as yet unclassified +theClass + ^ self theBehavior theNonMetaClass \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/theClassLabel.st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/theClassLabel.st new file mode 100644 index 000000000..12e352a62 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/theClassLabel.st @@ -0,0 +1,3 @@ +as yet unclassified +theClassLabel + ^ self theClassName , '{' , self theBehavior asOop printString , '}' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/theClassName..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/theClassName..st new file mode 100644 index 000000000..f027670b0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/instance/theClassName..st @@ -0,0 +1,3 @@ +as yet unclassified +theClassName: aString + self shouldNotImplement \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/methodProperties.json new file mode 100644 index 000000000..8cdd2bfcd --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/methodProperties.json @@ -0,0 +1,24 @@ +{ + "class" : { + "behavior:" : "dkh 09/12/2015 08:04", + "className:" : "dkh 09/12/2015 08:04", + "className:isMeta:" : "dkh 09/12/2015 08:05" }, + "instance" : { + "=" : "dkh 09/12/2015 07:48", + "asTDClassDefinition" : "dkh 09/12/2015 08:28", + "asTDProtocolDefinition:" : "dkh 09/12/2015 09:07", + "behavior:" : "dkh 09/12/2015 08:38", + "browseClassProtocol:" : "dkh 09/12/2015 07:52", + "browseInstanceProtocol:" : "dkh 09/12/2015 07:52", + "className" : "dkh 09/12/2015 07:55", + "className:" : "dkh 09/12/2015 07:55", + "hash" : "dkh 09/12/2015 07:55", + "isMeta" : "dkh 09/12/2015 07:56", + "isMeta:" : "dkh 09/12/2015 07:49", + "itemSelected:" : "dkh 09/12/2015 07:56", + "methodDefinitionFor:isMeta:" : "dkh 09/12/2015 08:02", + "removeFromSystem:" : "dkh 09/12/2015 07:58", + "theBehavior" : "dkh 09/12/2015 07:50", + "theClass" : "dkh 09/12/2015 07:54", + "theClassLabel" : "dkh 09/12/2015 08:00", + "theClassName:" : "dkh 09/12/2015 07:59" } } diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/properties.json b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/properties.json new file mode 100644 index 000000000..c1ca3f473 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceDefinition.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "theBehavior" ], + "name" : "TDBehaviorReferenceDefinition", + "pools" : [ + ], + "super" : "TDBehaviorDefinition", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/README.md b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/class/behavior.protocol..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/class/behavior.protocol..st new file mode 100644 index 000000000..b064538ca --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/class/behavior.protocol..st @@ -0,0 +1,6 @@ +instance creation +behavior: aBehavior protocol: protocol + ^ self new + behavior: aBehavior; + protocol: protocol; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/class/className.isMeta.protocol..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/class/className.isMeta.protocol..st new file mode 100644 index 000000000..39de0298a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/class/className.isMeta.protocol..st @@ -0,0 +1,3 @@ +instance creation +className: className isMeta: isMeta protocol: protocol + self shouldNotImplement \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/asTDBehaviorDefinition.st b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/asTDBehaviorDefinition.st new file mode 100644 index 000000000..89f86d640 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/asTDBehaviorDefinition.st @@ -0,0 +1,3 @@ +converting +asTDBehaviorDefinition + ^ (TDBehaviorReferenceDefinition behavior: self theBehavior) yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/asTDClassDefinition.st b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/asTDClassDefinition.st new file mode 100644 index 000000000..10733344d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/asTDClassDefinition.st @@ -0,0 +1,3 @@ +converting +asTDClassDefinition + ^ self asTDBehaviorDefinition \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/behavior..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/behavior..st new file mode 100644 index 000000000..992033b85 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/behavior..st @@ -0,0 +1,3 @@ +accessing +behavior: aBehavior + theBehavior := aBehavior \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/className..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/className..st new file mode 100644 index 000000000..c944139c4 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/className..st @@ -0,0 +1,3 @@ +accessing +className: anObject + self shouldNotImplement \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/isMeta..st b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/isMeta..st new file mode 100644 index 000000000..16e77cf98 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/isMeta..st @@ -0,0 +1,3 @@ +accessing +isMeta: anObject + self shouldNotImplement \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/isMeta.st b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/isMeta.st new file mode 100644 index 000000000..1f5865c1c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/isMeta.st @@ -0,0 +1,3 @@ +accessing +isMeta + ^ self theBehavior isMeta \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/theBehavior.st b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/theBehavior.st new file mode 100644 index 000000000..b37aae119 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/theBehavior.st @@ -0,0 +1,3 @@ +accessing +theBehavior + ^ theBehavior \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/theClass.st b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/theClass.st new file mode 100644 index 000000000..1aa0a0093 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/instance/theClass.st @@ -0,0 +1,3 @@ +accessing +theClass + ^ self theBehavior theNonMetaClass \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/methodProperties.json new file mode 100644 index 000000000..fd3b06d9c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/methodProperties.json @@ -0,0 +1,13 @@ +{ + "class" : { + "behavior:protocol:" : "dkh 09/12/2015 09:07", + "className:isMeta:protocol:" : "dkh 09/12/2015 09:05" }, + "instance" : { + "asTDBehaviorDefinition" : "dkh 09/12/2015 09:03", + "asTDClassDefinition" : "dkh 09/12/2015 09:03", + "behavior:" : "dkh 09/12/2015 09:02", + "className:" : "dkh 09/12/2015 09:09", + "isMeta" : "dkh 09/12/2015 09:09", + "isMeta:" : "dkh 09/12/2015 09:09", + "theBehavior" : "dkh 09/12/2015 09:02", + "theClass" : "dkh 09/12/2015 09:03" } } diff --git a/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/properties.json b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/properties.json new file mode 100644 index 000000000..bd2a66bcb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDBehaviorReferenceProtocolDefinition.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "theBehavior" ], + "name" : "TDBehaviorReferenceProtocolDefinition", + "pools" : [ + ], + "super" : "TDProtocolDefinition", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/instance/objectValueForSpecialElementName.for..st b/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/instance/objectValueForSpecialElementName.for..st index e63d23ed3..bfb305225 100644 --- a/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/instance/objectValueForSpecialElementName.for..st +++ b/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/instance/objectValueForSpecialElementName.for..st @@ -2,6 +2,8 @@ as yet unclassified objectValueForSpecialElementName: elementName for: anObject elementName = '(utf8)' ifTrue: [ ^ anObject encodeAsUTF8 ]. + elementName = '(bytes)' + ifTrue: [ ^ anObject asByteArray ]. elementName = '(size)' ifTrue: [ ^ anObject size ]. ^ super objectValueForSpecialElementName: elementName for: anObject \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/instance/specialChildNames.st b/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/instance/specialChildNames.st index 7dec0d24c..d9c250dbb 100644 --- a/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/instance/specialChildNames.st +++ b/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/instance/specialChildNames.st @@ -1,3 +1,3 @@ as yet unclassified specialChildNames - ^ super specialChildNames , #('(utf8)' '(size)') \ No newline at end of file + ^ super specialChildNames , #('(bytes)' '(utf8)' '(size)') \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/instance/specialChildNodeNameList..st b/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/instance/specialChildNodeNameList..st index 563721faa..e5939e3f7 100644 --- a/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/instance/specialChildNodeNameList..st +++ b/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/instance/specialChildNodeNameList..st @@ -1,3 +1,4 @@ as yet unclassified specialChildNodeNameList: parentNode - ^ (super specialChildNodeNameList: parentNode) , #('(size)' '(utf8)') \ No newline at end of file + ^ (super specialChildNodeNameList: parentNode) + , #('(size)' '(bytes)' '(utf8)') \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/methodProperties.json index 2d9530a53..ea1f5a6b2 100644 --- a/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDCharacterCollectionNodeBuilder.class/methodProperties.json @@ -2,6 +2,6 @@ "class" : { }, "instance" : { - "objectValueForSpecialElementName:for:" : "dkh 03/31/2014 21:23", - "specialChildNames" : "dkh 03/31/2014 21:23", - "specialChildNodeNameList:" : "dkh 03/31/2014 21:23" } } + "objectValueForSpecialElementName:for:" : "dkh 06/15/2015 09:52", + "specialChildNames" : "dkh 06/15/2015 09:51", + "specialChildNodeNameList:" : "dkh 06/15/2015 09:51" } } diff --git a/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st index cdf3633ad..417f647e5 100644 --- a/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st @@ -4,7 +4,7 @@ copyObjectMenuAction: listElement selectionIndex: selectionIndex itemAttribute := listElement itemCache at: selectionIndex. def := itemAttribute object. self objectClipboard: def. - ^ STON + ^ listElement objectSerializer toString: {#'addToClipboard:'. (def label)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st index 220435820..9cb982efc 100644 --- a/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st @@ -5,7 +5,7 @@ cutObjectMenuAction: listElement selectionIndex: selectionIndex def := itemAttribute object. self objectClipboard: def. def removeFromSystem: listElement topez. - ^ STON + ^ listElement objectSerializer toString: {#'refreshList'. nil. diff --git a/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/instance/itemSelected.at.shiftPressed..st b/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/instance/itemSelected.at.shiftPressed..st index 8039c2294..43f980c2e 100644 --- a/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/instance/itemSelected.at.shiftPressed..st +++ b/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/instance/itemSelected.at.shiftPressed..st @@ -7,4 +7,4 @@ itemSelected: listElement at: index shiftPressed: shiftPressed itemAttribute := listElement itemCache at: index. def := itemAttribute object. def itemSelected: listElement topez. - ^ STON toString: (self enableDisableMenuItems: def) \ No newline at end of file + ^ listElement objectSerializer toString: (self enableDisableMenuItems: def) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/methodProperties.json index b38d99a96..ff3092df9 100644 --- a/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDClassAndMethodDefinitionsElementBuilder.class/methodProperties.json @@ -9,11 +9,11 @@ "browseSendersMenuAction:selectionIndex:" : "dkh 04/26/2014 09:08", "classDefinitionList" : "dkh 10/05/2013 08:51", "clientList:" : "dkh 04/20/2014 12:37", - "copyObjectMenuAction:selectionIndex:" : "dkh 06/20/2014 12:10", - "cutObjectMenuAction:selectionIndex:" : "dkh 07/08/2014 09:31", + "copyObjectMenuAction:selectionIndex:" : "dkh 06/25/2015 16:17", + "cutObjectMenuAction:selectionIndex:" : "dkh 06/25/2015 16:17", "defaultEditorWindowLocation" : "dkh 02/05/2013 13:42", "editorWindowLabel" : "dkh 02/05/2013 13:42", - "itemSelected:at:shiftPressed:" : "dkh 06/25/2014 11:01", + "itemSelected:at:shiftPressed:" : "dkh 06/25/2015 16:17", "menuActionSpec" : "dkh 07/08/2014 10:47", "pasteObjectMenuAction:selectionIndex:" : "dkh 06/20/2014 12:10", "selectedDefinition:selectionIndex:" : "DataCurator 02/07/2013 14:18" } } diff --git a/repository/Topez-Server-Core.package/TDClassCategoryDefinition.class/instance/classDefinitions.st b/repository/Topez-Server-Core.package/TDClassCategoryDefinition.class/instance/classDefinitions.st index de13c6ed0..2f8cbdf48 100644 --- a/repository/Topez-Server-Core.package/TDClassCategoryDefinition.class/instance/classDefinitions.st +++ b/repository/Topez-Server-Core.package/TDClassCategoryDefinition.class/instance/classDefinitions.st @@ -3,5 +3,5 @@ classDefinitions | defs categoryDict classes | categoryDict := ClassOrganizer cachedOrganizer categories. classes := categoryDict at: self categoryName ifAbsent: [ ^ #() ]. - defs := classes collect: [ :cl | TDClassDefinition className: cl name ]. + defs := classes collect: [ :cl | cl asTDClassDefinition ]. ^ defs \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassCategoryDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClassCategoryDefinition.class/methodProperties.json index b292c115a..aae38312d 100644 --- a/repository/Topez-Server-Core.package/TDClassCategoryDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDClassCategoryDefinition.class/methodProperties.json @@ -5,6 +5,6 @@ "=" : "dkh 08/29/2013 10:36", "categoryName" : "dkh 08/29/2013 10:35", "categoryName:" : "dkh 08/29/2013 10:35", - "classDefinitions" : "dkh 08/29/2013 11:36", + "classDefinitions" : "dkh 09/12/2015 08:29", "hash" : "dkh 05/20/2014 07:54", "label" : "dkh 08/29/2013 11:53" } } diff --git a/repository/Topez-Server-Core.package/TDClassCommentElementBuilder.class/instance/elementSource.clientSourceElement..st b/repository/Topez-Server-Core.package/TDClassCommentElementBuilder.class/instance/elementSource.clientSourceElement..st index 9d241e2b8..39c5ad9ec 100644 --- a/repository/Topez-Server-Core.package/TDClassCommentElementBuilder.class/instance/elementSource.clientSourceElement..st +++ b/repository/Topez-Server-Core.package/TDClassCommentElementBuilder.class/instance/elementSource.clientSourceElement..st @@ -2,5 +2,5 @@ as yet unclassified elementSource: source clientSourceElement: clientSourceElement "need to transform text objects using ston for transfer over wire" - self object comment: (STON fromString: source) asString. + self object comment: (self objectSerializer fromString: source) asString. ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassCommentElementBuilder.class/instance/elementSource.st b/repository/Topez-Server-Core.package/TDClassCommentElementBuilder.class/instance/elementSource.st index 4fcd0bb80..2836d915d 100644 --- a/repository/Topez-Server-Core.package/TDClassCommentElementBuilder.class/instance/elementSource.st +++ b/repository/Topez-Server-Core.package/TDClassCommentElementBuilder.class/instance/elementSource.st @@ -2,4 +2,4 @@ as yet unclassified elementSource "override as needed" - ^ STON toString: self object comment \ No newline at end of file + ^ self objectSerializer toString: self object comment \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassCommentElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClassCommentElementBuilder.class/methodProperties.json index ffa0280ce..8e7a97cf6 100644 --- a/repository/Topez-Server-Core.package/TDClassCommentElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDClassCommentElementBuilder.class/methodProperties.json @@ -3,5 +3,5 @@ }, "instance" : { "clientSourceElementClass" : "dkh 09/22/2013 05:58", - "elementSource" : "dkh 09/22/2013 06:00", - "elementSource:clientSourceElement:" : "dkh 06/20/2014 12:12" } } + "elementSource" : "dkh 06/25/2015 16:28", + "elementSource:clientSourceElement:" : "dkh 06/25/2015 16:28" } } diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/class/fromClassWithHistory..st b/repository/Topez-Server-Core.package/TDClassDefinition.class/class/fromClassWithHistory..st new file mode 100644 index 000000000..8bce0edb0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/class/fromClassWithHistory..st @@ -0,0 +1,15 @@ +instance creation +fromClassWithHistory: aClass + | ch | + ch := aClass classHistory. + ^ (ch isNil or: [ ch current == aClass ]) + ifTrue: [ + | className | + className := aClass name. + (Smalltalk at: className) == aClass + ifTrue: [ (TDClassDefinition className: className) yourself ] + ifFalse: [ (TDBehaviorReferenceDefinition behavior: aClass) yourself ] ] + ifFalse: [ + (ch includes: aClass) + ifTrue: [ (TDClassHistoryDefinition fromClass: aClass) yourself ] + ifFalse: [ (TDBehaviorReferenceDefinition behavior: aClass) yourself ] ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/class/processClassDefinitionsBlock.elementBlock..st b/repository/Topez-Server-Core.package/TDClassDefinition.class/class/processClassDefinitionsBlock.elementBlock..st index 3fa8e9c45..2d7225dc3 100644 --- a/repository/Topez-Server-Core.package/TDClassDefinition.class/class/processClassDefinitionsBlock.elementBlock..st +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/class/processClassDefinitionsBlock.elementBlock..st @@ -13,9 +13,12 @@ processClassDefinitionsBlock: classDefinitionsBlock elementBlock: elementBlock whileTrue: [ (chain1 at: i) = (chain2 at: i) ifTrue: [ i := i + 1 ] - ifFalse: [ result := (chain1 at: i) name < (chain2 at: i) name ] ]. + ifFalse: [ result := (chain1 at: i) label < (chain2 at: i) label ] ]. result isNil - ifTrue: [ chain1 size < chain2 size ] + ifTrue: [ + chain1 size = chain2 size + ifTrue: [ (chain1 at: 1) label < (chain2 at: 1) label ] + ifFalse: [ chain1 size < chain2 size ] ] ifFalse: [ result ] ]. classDefinitions := classDefinitionsBlock value. classes := (classDefinitions collect: [ :classDef | classDef theClass ]) @@ -25,15 +28,18 @@ processClassDefinitionsBlock: classDefinitionsBlock elementBlock: elementBlock | supersChain | supersChain := {classDef}. classDef theClass - ifNotNil: [ :cl | - supersChain := cl withAllSuperclasses reversed. + ifNotNil: [ :cls | + supersChain := ({cls} , cls allSuperClasses) reversed. supersChain removeAllSuchThat: [ :class | (classes includes: class) not ]. supersChain := supersChain collect: [ :cl | - (TDClassDefinition className: cl name) - username: classDef username; - yourself ] ]. + cls == cl + ifTrue: [ classDef ] + ifFalse: [ + cl asTDClassDefinition + username: classDef username; + yourself ] ] ]. order add: supersChain -> classDef ]. indents := IdentityDictionary new. order do: [ :assoc | indents at: assoc value put: assoc key size - 1 ]. diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/^equals.st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/^equals.st index 2360cc867..97089a1cc 100644 --- a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/^equals.st +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/^equals.st @@ -2,4 +2,4 @@ as yet unclassified = aTDDefinition aTDDefinition species = self species ifFalse: [ ^ false ]. - ^ self className = aTDDefinition className \ No newline at end of file + ^ self label = aTDDefinition label \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st index f469e5c66..99b409625 100644 --- a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st @@ -3,8 +3,6 @@ addToClientListFor: clsDef names: nameList items: items indents: indents aspect: | space | space := ''. (indents at: clsDef) timesRepeat: [ space := space , ' ' ]. - nameList - add: - (Text string: space , clsDef className asString attribute: TextEmphasis bold). + nameList add: (Text string: space , clsDef label attribute: TextEmphasis bold). items add: (TDClientListItemAttributes object: self parent: nil aspect: aspect) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/asTDBehaviorDefinition.st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/asTDBehaviorDefinition.st new file mode 100644 index 000000000..d3f3b4634 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/asTDBehaviorDefinition.st @@ -0,0 +1,4 @@ +converting +asTDBehaviorDefinition + ^ (TDBehaviorDefinition className: self className isMeta: self isMeta) + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/asTDClassDefinition.st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/asTDClassDefinition.st index ddcd6bd2f..0e3347987 100644 --- a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/asTDClassDefinition.st +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/asTDClassDefinition.st @@ -1,3 +1,3 @@ -as yet unclassified +converting asTDClassDefinition ^ self \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/asTDProtocolDefinition..st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/asTDProtocolDefinition..st new file mode 100644 index 000000000..c54889749 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/asTDProtocolDefinition..st @@ -0,0 +1,8 @@ +converting +asTDProtocolDefinition: protocol + ^ (TDProtocolDefinition + className: self className + isMeta: self isMeta + protocol: protocol) + username: self username; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/browseClassProtocol..st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/browseClassProtocol..st new file mode 100644 index 000000000..be8c360bb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/browseClassProtocol..st @@ -0,0 +1,12 @@ +instance/class button bar support +browseClassProtocol: buttonBarClientElement + (TDBehaviorDefinition className: self className isMeta: true) + editUsing: + ((TDEditorSpec + topez: buttonBarClientElement topez + editorAspect: #'classicProtocolList') + windowName: #'classicProtocolList'; + windowLocation: #'classicProtocol'; + selectionIndex: 1; + yourself). + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/browseInstanceProtocol..st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/browseInstanceProtocol..st new file mode 100644 index 000000000..c52980a7f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/browseInstanceProtocol..st @@ -0,0 +1,12 @@ +instance/class button bar support +browseInstanceProtocol: buttonBarClientElement + self + editUsing: + ((TDEditorSpec + topez: buttonBarClientElement topez + editorAspect: #'classicProtocolList') + windowName: #'classicProtocolList'; + windowLocation: #'classicProtocol'; + selectionIndex: 1; + yourself). + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/classHistory.st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/classHistory.st new file mode 100644 index 000000000..5d98f9690 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/classHistory.st @@ -0,0 +1,3 @@ +accessing +classHistory + ^ self theClass classHistory \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/classHistoryIndex.st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/classHistoryIndex.st new file mode 100644 index 000000000..2451c7a48 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/classHistoryIndex.st @@ -0,0 +1,5 @@ +as yet unclassified +classHistoryIndex + ^ self theClass classHistory + ifNil: [ 1 ] + ifNotNil: [ :ch | ch indexOf: self theClass ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/configurationOf.st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/configurationOf.st index bbbda695a..b17aecd79 100644 --- a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/configurationOf.st +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/configurationOf.st @@ -1,3 +1,3 @@ reflection configurationOf - ^ self packageOf configurationOf \ No newline at end of file + ^ self packageOf ifNotNil: [ :pkg | pkg configurationOf ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/isMeta.st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/isMeta.st new file mode 100644 index 000000000..6620b78bf --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/isMeta.st @@ -0,0 +1,3 @@ +as yet unclassified +isMeta + ^ false \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/itemSelected..st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/itemSelected..st index d50358aa6..d8d33a5e7 100644 --- a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/itemSelected..st +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/itemSelected..st @@ -2,5 +2,5 @@ as yet unclassified itemSelected: topez (topez toolInstanceFor: 'browse') browseClassHierarchy: self asTDClassDefinition - label: 'Hierarchy of ' , self className asString. + label: 'Hierarchy of ' , self label. ^ nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/label.st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/label.st index be701d661..ed54e032c 100644 --- a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/label.st +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/label.st @@ -1,3 +1,3 @@ as yet unclassified label - ^ self theClassName \ No newline at end of file + ^ self theClassLabel \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/methodProtocol.st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/methodProtocol.st new file mode 100644 index 000000000..f8eebf047 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/methodProtocol.st @@ -0,0 +1,3 @@ +as yet unclassified +methodProtocol + ^ '' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/pasteIntoPackageDefinition..st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/pasteIntoPackageDefinition..st index 0bae5855f..745698b5e 100644 --- a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/pasteIntoPackageDefinition..st +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/pasteIntoPackageDefinition..st @@ -1,4 +1,4 @@ -as yet unclassified +cut copy paste pasteIntoPackageDefinition: aTDPackageDefinition "add class to package" diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/pasteTDDefinition..st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/pasteTDDefinition..st index 9d3d6bc49..c9ac1e127 100644 --- a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/pasteTDDefinition..st +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/pasteTDDefinition..st @@ -1,3 +1,3 @@ -as yet unclassified +cut copy paste pasteTDDefinition: def ^ def pasteIntoClassDefinition: self \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/removeFromSystem..st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/removeFromSystem..st index 0cc2cc7ed..6220dd4b1 100644 --- a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/removeFromSystem..st +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/removeFromSystem..st @@ -1,6 +1,11 @@ -as yet unclassified +cut copy paste removeFromSystem: topez | clsTool | + self classHistory current == self theClass + ifFalse: [ + self + error: + 'Attempting to remove an old version of a class ... use `cls history` browser to remove old versions of classes' ]. clsTool := topez toolInstanceFor: 'cls'. clsTool clsremove: self theClass. ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/theClassLabel.st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/theClassLabel.st new file mode 100644 index 000000000..1c25f5d0d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/theClassLabel.st @@ -0,0 +1,11 @@ +as yet unclassified +theClassLabel + | ch | + ch := ''. + self theClass + ifNotNil: [ :tc | + tc classHistory + ifNotNil: [ :classHistory | + classHistory size > 1 + ifTrue: [ ch := '[' , (classHistory indexOf: tc) printString , ']' ] ] ]. + ^ self theClassName , ch \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/theClassName.st b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/theClassName.st index 7eead9a06..b252c5f9d 100644 --- a/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/theClassName.st +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/instance/theClassName.st @@ -1,3 +1,3 @@ as yet unclassified theClassName - ^ className \ No newline at end of file + ^ self className \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClassDefinition.class/methodProperties.json index b040c2df8..47f96cd0a 100644 --- a/repository/Topez-Server-Core.package/TDClassDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDClassDefinition.class/methodProperties.json @@ -3,32 +3,42 @@ "category:matches:" : "DataCurator 02/05/2013 11:08", "classHierarchyOrder:" : "dkh 10/05/2013 08:34", "className:" : "DataCurator 02/05/2013 14:09", + "fromClassWithHistory:" : "dkh 09/13/2015 13:48", "fullHierarchyOf:" : "dkh 06/04/2013 07:17", "packageOfClassDefinition:" : "dkh 05/28/2013 07:48", - "processClassDefinitionsBlock:elementBlock:" : "dkh 10/05/2013 08:24", + "processClassDefinitionsBlock:elementBlock:" : "dkh 09/12/2015 08:30", "selectClassNamed:topez:" : "dkh 05/14/2014 10:16", "updateClassCategoryFor:topez:" : "dkh 05/01/2014 02:59", "updatePackageAndConfigFor:topez:" : "dkh 05/24/2014 08:26" }, "instance" : { - "=" : "dkh 06/04/2013 11:14", - "addToClientListFor:names:items:indents:aspect:" : "dkh 10/05/2013 11:45", + "=" : "dkh 09/10/2015 17:31", + "addToClientListFor:names:items:indents:aspect:" : "dkh 09/09/2015 16:23", + "asTDBehaviorDefinition" : "dkh 09/10/2015 10:12", "asTDClassDefinition" : "dkh 10/05/2013 08:14", + "asTDProtocolDefinition:" : "dkh 09/10/2015 01:02", + "browseClassProtocol:" : "dkh 08/31/2015 08:15", + "browseInstanceProtocol:" : "dkh 08/31/2015 08:15", "classCategory" : "dkh 05/20/2014 07:45", + "classHistory" : "dkh 09/11/2015 11:29", + "classHistoryIndex" : "dkh 09/10/2015 14:45", "className" : "DataCurator 02/05/2013 09:26", "className:" : "DataCurator 02/05/2013 09:26", - "configurationOf" : "dkh 05/23/2014 11:14", + "configurationOf" : "dkh 11/22/2014 13:05", "hasClassInImage" : "dkh 06/24/2014 07:56", - "hash" : "dkh 06/04/2013 10:57", + "hash" : "dkh 09/09/2015 18:21", "isClassInImage" : "dkh 06/24/2014 07:56", - "itemSelected:" : "dkh 03/30/2014 15:18", - "label" : "dkh 05/28/2013 07:48", + "isMeta" : "dkh 09/10/2015 01:02", + "itemSelected:" : "dkh 09/10/2015 00:40", + "label" : "dkh 09/09/2015 16:26", "methodDefinitionFor:isMeta:" : "dkh 10/05/2013 10:31", + "methodProtocol" : "dkh 03/18/2015 05:48", "moveToPackageNamed:" : "dkh 07/08/2014 12:15", "packageOf" : "dkh 02/24/2013 11:06", "pasteIntoPackageDefinition:" : "dkh 03/10/2013 12:06", "pasteTDDefinition:" : "DataCurator 02/06/2013 02:05", - "removeFromSystem:" : "dkh 07/08/2014 09:33", + "removeFromSystem:" : "dkh 09/11/2015 11:31", "theBehavior" : "dkh 02/24/2013 11:15", "theClass" : "dkh 01/24/2014 11:05", - "theClassName" : "dkh 05/28/2013 07:46", + "theClassLabel" : "dkh 09/09/2015 16:26", + "theClassName" : "dkh 09/09/2015 21:34", "theClassName:" : "dkh 05/28/2013 07:46" } } diff --git a/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/classDefinitionList.st b/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/classDefinitionList.st index 55011098a..d5d418d45 100644 --- a/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/classDefinitionList.st +++ b/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/classDefinitionList.st @@ -12,7 +12,7 @@ classDefinitionList addAll: (cl allSuperclasses collect: [ :each | - (TDClassDefinition className: each name) + each asTDClassDefinition username: classDef username; yourself ]). classDefs add: classDef. @@ -20,7 +20,7 @@ classDefinitionList addAll: (cl allSubclasses collect: [ :each | - (TDClassDefinition className: each name) + each asTDClassDefinition username: classDef username; yourself ]) ] ]. ^ classDefs \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/clientList..st b/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/clientList..st index ef1c4927a..e4ff28209 100644 --- a/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/clientList..st +++ b/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/clientList..st @@ -14,7 +14,7 @@ clientList: listElement stream := WriteStream on: String new. stream space: (indents at: classDef); - nextPutAll: classDef className asString. + nextPutAll: classDef label. stream contents. ar add: stream contents asText allBold. selectedClass == cl diff --git a/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st index cdf3633ad..417f647e5 100644 --- a/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st @@ -4,7 +4,7 @@ copyObjectMenuAction: listElement selectionIndex: selectionIndex itemAttribute := listElement itemCache at: selectionIndex. def := itemAttribute object. self objectClipboard: def. - ^ STON + ^ listElement objectSerializer toString: {#'addToClipboard:'. (def label)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st index 220435820..9cb982efc 100644 --- a/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st @@ -5,7 +5,7 @@ cutObjectMenuAction: listElement selectionIndex: selectionIndex def := itemAttribute object. self objectClipboard: def. def removeFromSystem: listElement topez. - ^ STON + ^ listElement objectSerializer toString: {#'refreshList'. nil. diff --git a/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/itemSelected.at.shiftPressed..st b/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/itemSelected.at.shiftPressed..st index c2bc7888a..21c1a2ea5 100644 --- a/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/itemSelected.at.shiftPressed..st +++ b/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/instance/itemSelected.at.shiftPressed..st @@ -1,4 +1,4 @@ -as yet unclassified +tools itemSelected: listElement at: index shiftPressed: shiftPressed | aspect classDef itemAttribute classDefClientElement instanceSelClientElement classSelClientElement stonArray | index ifNil: [ ^ nil ]. @@ -45,4 +45,4 @@ itemSelected: listElement at: index shiftPressed: shiftPressed {#'editStonElement:'. hierarchyClientElement} ]. stonArray addAll: (self enableDisableMenuItems: classDef). - ^ STON toString: stonArray \ No newline at end of file + ^ listElement objectSerializer toString: stonArray \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/methodProperties.json index a3dc6e8da..9141d05b5 100644 --- a/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDClassHierarchyListElementBuilder.class/methodProperties.json @@ -4,15 +4,15 @@ "instance" : { "baseClassDefinitionList" : "dkh 10/05/2013 11:34", "browseClassDefinitionMenuAction:selectionIndex:" : "dkh 10/05/2013 11:34", - "classDefinitionList" : "dkh 05/10/2014 08:01", + "classDefinitionList" : "dkh 09/12/2015 08:34", "classHierarchy:" : "dkh 10/05/2013 11:34", - "clientList:" : "dkh 04/20/2014 12:37", - "copyObjectMenuAction:selectionIndex:" : "dkh 06/20/2014 12:09", + "clientList:" : "dkh 09/09/2015 15:55", + "copyObjectMenuAction:selectionIndex:" : "dkh 06/25/2015 16:16", "createAccessorsMenuAction:selectionIndex:" : "dkh 04/27/2014 07:11", - "cutObjectMenuAction:selectionIndex:" : "dkh 07/08/2014 09:31", + "cutObjectMenuAction:selectionIndex:" : "dkh 06/25/2015 16:16", "defaultEditorWindowLocation" : "DataCurator 01/27/2013 21:13", "editorWindowLabel" : "dkh 06/03/2014 13:52", - "itemSelected:at:shiftPressed:" : "dkh 07/08/2014 09:53", + "itemSelected:at:shiftPressed:" : "dkh 08/11/2015 12:11", "menuActionSpec" : "dkh 06/23/2014 19:58", "pasteObjectMenuAction:selectionIndex:" : "dkh 06/20/2014 12:10", "selectedClass:selectionIndex:" : "DataCurator 02/07/2013 14:30", diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/class/className.classHistoryIndex..st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/class/className.classHistoryIndex..st new file mode 100644 index 000000000..fb5131b40 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/class/className.classHistoryIndex..st @@ -0,0 +1,6 @@ +instance creation +className: className classHistoryIndex: anInteger + ^ self new + className: className; + classHistoryIndex: anInteger; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/class/fromBehavior..st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/class/fromBehavior..st new file mode 100644 index 000000000..d844372af --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/class/fromBehavior..st @@ -0,0 +1,3 @@ +instance creation +fromBehavior: aBehavior + ^ self fromClass: aBehavior theNonMetaClass \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/class/fromClass..st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/class/fromClass..st new file mode 100644 index 000000000..b94921005 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/class/fromClass..st @@ -0,0 +1,5 @@ +instance creation +fromClass: aClass + ^ aClass classHistory + ifNil: [ self className: aClass className classHistoryIndex: 1 ] + ifNotNil: [ :ch | self className: aClass className classHistoryIndex: (ch indexOf: aClass) ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/^equals.st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/^equals.st new file mode 100644 index 000000000..951112f3e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/^equals.st @@ -0,0 +1,5 @@ +comparing += aTDDefinition + super = aTDDefinition + ifFalse: [ ^ false ]. + ^ self classHistoryIndex = aTDDefinition classHistoryIndex \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/asTDBehaviorDefinition.st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/asTDBehaviorDefinition.st new file mode 100644 index 000000000..9553e8f5c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/asTDBehaviorDefinition.st @@ -0,0 +1,6 @@ +converting +asTDBehaviorDefinition + ^ (TDBehaviorHistoryDefinition + className: self className + isMeta: self isMeta + classHistoryIndex: self classHistoryIndex) yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/asTDProtocolDefinition..st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/asTDProtocolDefinition..st new file mode 100644 index 000000000..7388a614c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/asTDProtocolDefinition..st @@ -0,0 +1,9 @@ +converting +asTDProtocolDefinition: protocol + ^ (TDClassHistoryProtocolDefinition + className: self className + isMeta: self isMeta + protocol: protocol + classHistoryIndex: self classHistoryIndex) + username: self username; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/browseClassProtocol..st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/browseClassProtocol..st new file mode 100644 index 000000000..f25d9dd49 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/browseClassProtocol..st @@ -0,0 +1,15 @@ +instance/class button bar support +browseClassProtocol: buttonBarClientElement + (TDBehaviorHistoryDefinition + className: self className + isMeta: true + classHistoryIndex: self classHistoryIndex) + editUsing: + ((TDEditorSpec + topez: buttonBarClientElement topez + editorAspect: #'classicProtocolList') + windowName: #'classicProtocolList'; + windowLocation: #'classicProtocol'; + selectionIndex: 1; + yourself). + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/classHistoryIndex..st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/classHistoryIndex..st new file mode 100644 index 000000000..4eda4462e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/classHistoryIndex..st @@ -0,0 +1,4 @@ +accessing +classHistoryIndex: anObject + + classHistoryIndex := anObject diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/classHistoryIndex.st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/classHistoryIndex.st new file mode 100644 index 000000000..3d9480995 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/classHistoryIndex.st @@ -0,0 +1,4 @@ +accessing +classHistoryIndex + + ^classHistoryIndex diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/methodDefinitionFor.isMeta..st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/methodDefinitionFor.isMeta..st new file mode 100644 index 000000000..0851731c2 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/methodDefinitionFor.isMeta..st @@ -0,0 +1,9 @@ +accessing +methodDefinitionFor: selector isMeta: isMeta + ^ (TDClassHistoryMethodDefinition + className: self className + isMeta: isMeta + selector: selector + classHistoryIndex: self classHistoryIndex) + username: self username; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/removeFromSystem..st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/removeFromSystem..st new file mode 100644 index 000000000..850847296 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/removeFromSystem..st @@ -0,0 +1,23 @@ +cut copy paste +removeFromSystem: topez + "for the non-current class, it is sufficient to remove the class from the class history, but for the current version one must remove the class from the system ... if one intends to remove the current version and replace the class with an older version ... that' even harder" + + | clsTool | + clsTool := topez toolInstanceFor: 'cls'. + self classHistory current == self theClass + ifTrue: [ + self classHistory size = 1 + ifTrue: [ + "just remove the class" + self + notify: + 'You are removing the only version of the class ' + , self className asString printString. + ^ super removeFromSystem: topez ]. + self + notify: + 'You are removing the current version of the class ' + , self className asString printString + , + '. Since this class has a previous version, the previous version of the class will be promoted to the current version.' ]. + ^ clsTool clsRemoveClassFromClassHistory: self theClass \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/species.st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/species.st new file mode 100644 index 000000000..0fc7e9aff --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/species.st @@ -0,0 +1,6 @@ +comparing +species + "Returns a class similar to, or the same as, the receiver's class which + can be used for containing derived copies of the receiver." + + ^ TDClassDefinition \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/theClass.st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/theClass.st index a09ee4655..4a1ba3577 100644 --- a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/theClass.st +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/theClass.st @@ -1,3 +1,6 @@ -as yet unclassified +accessing theClass - ^ theClass \ No newline at end of file + | cl | + cl := super theClass. + cl ifNil: [ ^ nil ]. + ^ cl classHistory at: self classHistoryIndex \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/theClassLabel.st b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/theClassLabel.st new file mode 100644 index 000000000..924b448f2 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/theClassLabel.st @@ -0,0 +1,3 @@ +accessing +theClassLabel + ^ self theClassName , '[' , self classHistoryIndex printString , ']' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/methodProperties.json index 2dda9cac5..e56d4b7ab 100644 --- a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/methodProperties.json @@ -1,13 +1,17 @@ { "class" : { - "theClass:className:" : "dkh 09/21/2013 15:32" }, + "className:classHistoryIndex:" : "dkh 09/10/2015 00:20", + "fromBehavior:" : "dkh 09/10/2015 14:26", + "fromClass:" : "dkh 09/10/2015 14:23" }, "instance" : { - "addToClientListFor:names:items:indents:aspect:" : "dkh 10/05/2013 11:47", - "asTDClassDefinition" : "dkh 10/12/2013 15:18", - "className" : "dkh 09/21/2013 15:30", - "className:" : "dkh 09/21/2013 15:30", - "itemSelected:" : "dkh 09/21/2013 15:57", - "label" : "dkh 09/21/2013 16:09", - "theClass" : "dkh 09/21/2013 15:28", - "theClass:" : "dkh 09/21/2013 15:27", - "theClassName" : "dkh 09/21/2013 15:30" } } + "=" : "dkh 09/10/2015 00:21", + "asTDBehaviorDefinition" : "dkh 09/10/2015 10:14", + "asTDProtocolDefinition:" : "dkh 09/10/2015 01:03", + "browseClassProtocol:" : "dkh 09/10/2015 01:35", + "classHistoryIndex" : "dkh 09/10/2015 00:19", + "classHistoryIndex:" : "dkh 09/10/2015 00:19", + "methodDefinitionFor:isMeta:" : "dkh 09/10/2015 01:28", + "removeFromSystem:" : "dkh 09/11/2015 11:08", + "species" : "dkh 09/10/2015 14:43", + "theClass" : "dkh 09/10/2015 00:31", + "theClassLabel" : "dkh 09/10/2015 00:23" } } diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/properties.json b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/properties.json index 508408c3b..c7ca9f70c 100644 --- a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/properties.json +++ b/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/properties.json @@ -6,10 +6,9 @@ ], "commentStamp" : "", "instvars" : [ - "className", - "theClass" ], + "classHistoryIndex" ], "name" : "TDClassHistoryDefinition", "pools" : [ ], - "super" : "TDDefinition", + "super" : "TDClassDefinition", "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/README.md b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/class/className.isMeta.selector.classHistoryIndex..st b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/class/className.isMeta.selector.classHistoryIndex..st new file mode 100644 index 000000000..d50f3afc7 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/class/className.isMeta.selector.classHistoryIndex..st @@ -0,0 +1,5 @@ +instance creation +className: className isMeta: isMeta selector: selector classHistoryIndex: classHistoryIndex + ^ (self className: className isMeta: isMeta selector: selector) + classHistoryIndex: classHistoryIndex; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/^equals.st b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/^equals.st new file mode 100644 index 000000000..f6c08b5a0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/^equals.st @@ -0,0 +1,5 @@ +comparing += aTDDefinition + super = aTDDefinition + ifFalse: [ ^ false ]. + ^ self selector = aTDDefinition selector \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/^less.equals.st b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/^less.equals.st new file mode 100644 index 000000000..3057d3490 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/^less.equals.st @@ -0,0 +1,5 @@ +comparing +<= aTDDefinition + super = aTDDefinition + ifFalse: [ ^ false ]. + ^ self classHistoryIndex <= aTDDefinition classHistoryIndex \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/asTDBehaviorDefinition.st b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/asTDBehaviorDefinition.st new file mode 100644 index 000000000..b8f2142b8 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/asTDBehaviorDefinition.st @@ -0,0 +1,6 @@ +accessing +asTDBehaviorDefinition + ^ (TDBehaviorHistoryDefinition + className: self className + isMeta: self isMeta + classHistoryIndex: self classHistoryIndex) yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/asTDClassDefinition.st b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/asTDClassDefinition.st new file mode 100644 index 000000000..e3c807b63 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/asTDClassDefinition.st @@ -0,0 +1,5 @@ +accessing +asTDClassDefinition + ^ (TDClassHistoryDefinition + className: self className + classHistoryIndex: self classHIstoryIndex) yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/classHistoryIndex..st b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/classHistoryIndex..st new file mode 100644 index 000000000..4eda4462e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/classHistoryIndex..st @@ -0,0 +1,4 @@ +accessing +classHistoryIndex: anObject + + classHistoryIndex := anObject diff --git a/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/classHistoryIndex.st b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/classHistoryIndex.st new file mode 100644 index 000000000..3d9480995 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/classHistoryIndex.st @@ -0,0 +1,4 @@ +accessing +classHistoryIndex + + ^classHistoryIndex diff --git a/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/hash.st b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/hash.st new file mode 100644 index 000000000..dbaabb284 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/hash.st @@ -0,0 +1,3 @@ +comparing +hash + ^ super hash bitXor: self classHistoryIndex hash \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/theClass.st b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/theClass.st new file mode 100644 index 000000000..4a1ba3577 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/theClass.st @@ -0,0 +1,6 @@ +accessing +theClass + | cl | + cl := super theClass. + cl ifNil: [ ^ nil ]. + ^ cl classHistory at: self classHistoryIndex \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/theClassLabel.st b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/theClassLabel.st new file mode 100644 index 000000000..924b448f2 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/instance/theClassLabel.st @@ -0,0 +1,3 @@ +accessing +theClassLabel + ^ self theClassName , '[' , self classHistoryIndex printString , ']' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/methodProperties.json new file mode 100644 index 000000000..7922b4348 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/methodProperties.json @@ -0,0 +1,13 @@ +{ + "class" : { + "className:isMeta:selector:classHistoryIndex:" : "dkh 09/10/2015 01:29" }, + "instance" : { + "<=" : "dkh 09/10/2015 01:18", + "=" : "dkh 09/10/2015 01:17", + "asTDBehaviorDefinition" : "dkh 09/10/2015 10:16", + "asTDClassDefinition" : "dkh 09/10/2015 10:16", + "classHistoryIndex" : "dkh 09/10/2015 01:16", + "classHistoryIndex:" : "dkh 09/10/2015 01:16", + "hash" : "dkh 09/10/2015 01:19", + "theClass" : "dkh 09/10/2015 01:20", + "theClassLabel" : "dkh 09/10/2015 01:21" } } diff --git a/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/properties.json b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/properties.json new file mode 100644 index 000000000..83d0f8a21 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryMethodDefinition.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "classHistoryIndex" ], + "name" : "TDClassHistoryMethodDefinition", + "pools" : [ + ], + "super" : "TDMethodDefinition", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/README.md b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/class/className.isMeta.protocol.classHistoryIndex..st b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/class/className.isMeta.protocol.classHistoryIndex..st new file mode 100644 index 000000000..da8fe75e6 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/class/className.isMeta.protocol.classHistoryIndex..st @@ -0,0 +1,5 @@ +instance creation +className: className isMeta: isMeta protocol: protocol classHistoryIndex: classHistoryIndex + ^ (super className: className isMeta: isMeta protocol: protocol) + classHistoryIndex: classHistoryIndex; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/asTDBehaviorDefinition.st b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/asTDBehaviorDefinition.st new file mode 100644 index 000000000..9553e8f5c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/asTDBehaviorDefinition.st @@ -0,0 +1,6 @@ +converting +asTDBehaviorDefinition + ^ (TDBehaviorHistoryDefinition + className: self className + isMeta: self isMeta + classHistoryIndex: self classHistoryIndex) yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/asTDClassDefinition.st b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/asTDClassDefinition.st new file mode 100644 index 000000000..461dc97ac --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/asTDClassDefinition.st @@ -0,0 +1,5 @@ +converting +asTDClassDefinition + ^ (TDClassHistoryDefinition + className: self className + classHistoryIndex: self classHistoryIndex) yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/classHistoryIndex..st b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/classHistoryIndex..st new file mode 100644 index 000000000..4eda4462e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/classHistoryIndex..st @@ -0,0 +1,4 @@ +accessing +classHistoryIndex: anObject + + classHistoryIndex := anObject diff --git a/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/classHistoryIndex.st b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/classHistoryIndex.st new file mode 100644 index 000000000..3d9480995 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/classHistoryIndex.st @@ -0,0 +1,4 @@ +accessing +classHistoryIndex + + ^classHistoryIndex diff --git a/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/theClass.st b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/theClass.st new file mode 100644 index 000000000..08db0042a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/instance/theClass.st @@ -0,0 +1,3 @@ +accessing +theClass + ^ super theClass classHistory at: self classHistoryIndex \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/methodProperties.json new file mode 100644 index 000000000..84b61e86e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/methodProperties.json @@ -0,0 +1,9 @@ +{ + "class" : { + "className:isMeta:protocol:classHistoryIndex:" : "dkh 09/10/2015 00:48" }, + "instance" : { + "asTDBehaviorDefinition" : "dkh 09/10/2015 10:18", + "asTDClassDefinition" : "dkh 09/10/2015 01:14", + "classHistoryIndex" : "dkh 09/10/2015 00:47", + "classHistoryIndex:" : "dkh 09/10/2015 00:47", + "theClass" : "dkh 09/10/2015 00:50" } } diff --git a/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/properties.json b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/properties.json new file mode 100644 index 000000000..10613f73c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassHistoryProtocolDefinition.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "classHistoryIndex" ], + "name" : "TDClassHistoryProtocolDefinition", + "pools" : [ + ], + "super" : "TDProtocolDefinition", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDClassProtocolListElementBuilder.class/instance/allProtocol.st b/repository/Topez-Server-Core.package/TDClassProtocolListElementBuilder.class/instance/allProtocol.st index 483aa3a60..66d40680a 100644 --- a/repository/Topez-Server-Core.package/TDClassProtocolListElementBuilder.class/instance/allProtocol.st +++ b/repository/Topez-Server-Core.package/TDClassProtocolListElementBuilder.class/instance/allProtocol.st @@ -1,3 +1,3 @@ as yet unclassified allProtocol - ^ '---all---' \ No newline at end of file + ^ TDProtocolDefinition allSelectorsProtocol \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassProtocolListElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClassProtocolListElementBuilder.class/methodProperties.json index e0e2a8ed1..b5a2cc6b8 100644 --- a/repository/Topez-Server-Core.package/TDClassProtocolListElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDClassProtocolListElementBuilder.class/methodProperties.json @@ -2,7 +2,7 @@ "class" : { }, "instance" : { - "allProtocol" : "dkh 07/08/2014 15:16", + "allProtocol" : "dkh 08/20/2015 16:14", "clientList:" : "dkh 07/08/2014 15:26", "defaultEditorWindowLocation" : "dkh 07/08/2014 15:03", "itemSelected:at:shiftPressed:" : "dkh 07/08/2014 15:01", diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/clientList..st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/clientList..st index 5a4d65a67..62aeb99fa 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/clientList..st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/clientList..st @@ -1,4 +1,4 @@ -as yet unclassified +accessing clientList: listElement ^ self enableProtocol ifTrue: [ self clientListCategories: listElement ] diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/clientListAll..st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/clientListAll..st index 3007e6639..b62cd2287 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/clientListAll..st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/clientListAll..st @@ -1,4 +1,4 @@ -as yet unclassified +accessing clientListAll: listElement | items ar beh className | items := OrderedCollection new. diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/clientListCategories..st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/clientListCategories..st index 79ec236e8..5eb268b80 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/clientListCategories..st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/clientListCategories..st @@ -1,4 +1,4 @@ -as yet unclassified +accessing clientListCategories: listElement | items ar beh className | items := OrderedCollection new. @@ -11,12 +11,7 @@ clientListCategories: listElement items add: (TDClientListItemAttributes - object: - (TDProtocolDefinition new - className: className; - isMeta: beh isMeta; - categoryName: category asString; - yourself) + object: (self object asTDProtocolDefinition: category asString) parent: nil aspect: listElement aspect). (beh selectorsIn: category) sorted diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st index c85eedb12..28a8764cc 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st @@ -6,7 +6,7 @@ copyObjectMenuAction: listElement selectionIndex: selectionIndex itemAttribute := listElement itemCache at: selectionIndex. def := itemAttribute object. self objectClipboard: def. - ^ STON + ^ listElement objectSerializer toString: {#'addToClipboard:'. (def label)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st index cfd482313..0bfd7c192 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st @@ -5,7 +5,7 @@ cutObjectMenuAction: listElement selectionIndex: selectionIndex def := itemAttribute object. self objectClipboard: def. def removeFromSystem: listElement topez. - ^ STON + ^ listElement objectSerializer toString: {#'refreshList'. nil. diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/defaultEditorWindowLocation.st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/defaultEditorWindowLocation.st index 02fe63618..7b8213e7b 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/defaultEditorWindowLocation.st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/defaultEditorWindowLocation.st @@ -1,4 +1,4 @@ -as yet unclassified +accessing defaultEditorWindowLocation ^ self isMeta ifTrue: [ 'classSelectors' ] diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/editorWindowLabel.st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/editorWindowLabel.st index eb62f74a2..e320788b3 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/editorWindowLabel.st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/editorWindowLabel.st @@ -1,4 +1,4 @@ -as yet unclassified +accessing editorWindowLabel ^ (self isMeta ifTrue: [ 'class for ' ] diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/enableProtocol..st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/enableProtocol..st index c7f10e538..0bc7a355b 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/enableProtocol..st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/enableProtocol..st @@ -1,3 +1,3 @@ -as yet unclassified +accessing enableProtocol: aBool enableProtocol := aBool \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/enableProtocol.st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/enableProtocol.st index 4992fa04e..68977aa08 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/enableProtocol.st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/enableProtocol.st @@ -1,4 +1,4 @@ -as yet unclassified +accessing enableProtocol enableProtocol ifNil: [ enableProtocol := theEditorSpec topez enableProtocol ]. ^ enableProtocol \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/isMeta.st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/isMeta.st index cdfa65da9..04eb6308f 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/isMeta.st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/isMeta.st @@ -1,3 +1,3 @@ -as yet unclassified +accessing isMeta ^ self theEditorSpec editorAspect == #'classSelectors' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/itemSelected.at.shiftPressed..st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/itemSelected.at.shiftPressed..st index b54d64d18..37a431cdf 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/itemSelected.at.shiftPressed..st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/itemSelected.at.shiftPressed..st @@ -1,4 +1,4 @@ -as yet unclassified +tools itemSelected: listElement at: index shiftPressed: shiftPressed | def itemAttribute | index == nil @@ -6,4 +6,4 @@ itemSelected: listElement at: index shiftPressed: shiftPressed itemAttribute := listElement itemCache at: index. def := itemAttribute object. def itemSelected: listElement topez. - ^ STON toString: (self enableDisableMenuItems: def) \ No newline at end of file + ^ listElement objectSerializer toString: (self enableDisableMenuItems: def) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/methodDefinitionFor..st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/methodDefinitionFor..st index 2ba05e75c..017cfddde 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/methodDefinitionFor..st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/methodDefinitionFor..st @@ -1,4 +1,4 @@ -as yet unclassified +accessing methodDefinitionFor: selector ^ self object asTDClassDefinition methodDefinitionFor: selector diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/theBehavior.st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/theBehavior.st index 1dfd74a8e..22208840d 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/theBehavior.st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/theBehavior.st @@ -1,4 +1,4 @@ -as yet unclassified +accessing theBehavior | cl | cl := self theClass. diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/theClass.st b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/theClass.st index e7a5f3ccb..14d24095d 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/theClass.st +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/instance/theClass.st @@ -1,3 +1,3 @@ -as yet unclassified +accessing theClass ^ self object asTDClassDefinition theClass \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/methodProperties.json index a1c777b45..882557f40 100644 --- a/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDClassSelectorListElementBuilder.class/methodProperties.json @@ -8,15 +8,15 @@ "browseSendersMenuAction:selectionIndex:" : "dkh 04/26/2014 09:14", "clientList:" : "dkh 09/22/2013 11:37", "clientListAll:" : "dkh 03/20/2014 20:37", - "clientListCategories:" : "dkh 05/18/2014 19:36", - "copyObjectMenuAction:selectionIndex:" : "dkh 06/20/2014 12:11", - "cutObjectMenuAction:selectionIndex:" : "dkh 07/08/2014 09:31", + "clientListCategories:" : "dkh 09/10/2015 01:08", + "copyObjectMenuAction:selectionIndex:" : "dkh 06/25/2015 16:17", + "cutObjectMenuAction:selectionIndex:" : "dkh 06/25/2015 16:17", "defaultEditorWindowLocation" : "dkh 10/05/2013 14:49", "editorWindowLabel" : "dkh 06/03/2014 13:55", "enableProtocol" : "dkh 09/22/2013 11:36", "enableProtocol:" : "dkh 09/22/2013 11:37", "isMeta" : "dkh 10/05/2013 10:29", - "itemSelected:at:shiftPressed:" : "dkh 06/25/2014 11:01", + "itemSelected:at:shiftPressed:" : "dkh 06/25/2015 16:17", "menuActionSpec" : "dkh 07/08/2014 10:56", "methodDefinitionFor:" : "dkh 10/05/2013 10:32", "newMethodTemplateMenuAction:selectionIndex:" : "dkh 10/05/2013 14:50", diff --git a/repository/Topez-Server-Core.package/TDClassicClassHierarchyListElementBuilder.class/README.md b/repository/Topez-Server-Core.package/TDClassicClassHierarchyListElementBuilder.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDClassicClassHierarchyListElementBuilder.class/instance/itemSelected.at.shiftPressed..st b/repository/Topez-Server-Core.package/TDClassicClassHierarchyListElementBuilder.class/instance/itemSelected.at.shiftPressed..st new file mode 100644 index 000000000..ee5af6970 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassHierarchyListElementBuilder.class/instance/itemSelected.at.shiftPressed..st @@ -0,0 +1,62 @@ +tools +itemSelected: listElement at: index shiftPressed: shiftPressed + | aspect classDef itemAttribute classDefClientElement stonArray buttonBarClientElement classProtocolClientElement | + index ifNil: [ ^ nil ]. + index > listElement itemCache size + ifTrue: [ ^ nil ]. + itemAttribute := listElement itemCache at: index. + classDef := itemAttribute object. + aspect := itemAttribute aspect. + TDClassDefinition + selectClassNamed: classDef className + topez: listElement topez. + classDefClientElement := classDef + clientElementUsing: + ((TDEditorSpec topez: listElement topez editorAspect: #'classDefinition') + windowName: #'classicClassDef'; + windowLocation: #'classicClassDef'; + yourself). + buttonBarClientElement := {classDef. + {{#'instance'. + #'browseInstanceProtocol:'. + 'instance'. + 'view instance-side methods'. + true}. + {#'class'. + #'browseClassProtocol:'. + 'class'. + 'view class-side methods'. + false}}} + clientElementUsing: + ((TDEditorSpec topez: listElement topez editorAspect: #'buttonBar') + windowName: #'classicClassButtonBar'; + windowLocation: #'classicClassButtonBar'; + yourself). + classProtocolClientElement := classDef + clientElementUsing: + ((TDEditorSpec topez: listElement topez editorAspect: #'classicProtocolList') + windowName: #'classicProtocolList'; + windowLocation: #'classicProtocol'; + selectionIndex: 1; + yourself). + stonArray := {#'editStonElement:'. + classDefClientElement. + #'editStonElement:'. + buttonBarClientElement. + #'editStonElement:'. + classProtocolClientElement}. + (theWindowName ~~ #'hierarchy' or: [ selectedClass ~~ classDef theClass ]) + ifTrue: [ + | hierarchyClientElement | + hierarchyClientElement := classDef + clientElementUsing: + ((TDEditorSpec topez: listElement topez editorAspect: #'classicHierarchyList') + windowName: #'hierarchy'; + yourself). + selectedClass := classDef theClass. + stonArray + addAll: + {#'editStonElement:'. + hierarchyClientElement} ]. + stonArray addAll: (self enableDisableMenuItems: classDef). + ^ listElement objectSerializer toString: stonArray \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassHierarchyListElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClassicClassHierarchyListElementBuilder.class/methodProperties.json new file mode 100644 index 000000000..4f911754d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassHierarchyListElementBuilder.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "itemSelected:at:shiftPressed:" : "dkh 08/31/2015 08:10" } } diff --git a/repository/Topez-Server-Core.package/TDClassicClassHierarchyListElementBuilder.class/properties.json b/repository/Topez-Server-Core.package/TDClassicClassHierarchyListElementBuilder.class/properties.json new file mode 100644 index 000000000..fee97cd5e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassHierarchyListElementBuilder.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDClassicClassHierarchyListElementBuilder", + "pools" : [ + ], + "super" : "TDClassHierarchyListElementBuilder", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/README.md b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/allProtocol.st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/allProtocol.st new file mode 100644 index 000000000..477b898fa --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/allProtocol.st @@ -0,0 +1,3 @@ +accessing +allProtocol + ^ TDProtocolDefinition allSelectorsProtocol \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/browseSelectorListFor.topez..st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/browseSelectorListFor.topez..st new file mode 100644 index 000000000..067fd6e91 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/browseSelectorListFor.topez..st @@ -0,0 +1,7 @@ +private +browseSelectorListFor: protocolDefinition topez: aTopez + protocolDefinition + editUsing: + ((TDEditorSpec topez: aTopez editorAspect: #'classicProtocolSelectors') + windowName: #'classicSelectors'; + yourself) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/clientList..st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/clientList..st new file mode 100644 index 000000000..1b9e5bdcb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/clientList..st @@ -0,0 +1,17 @@ +accessing +clientList: listElement + | items ar className isMeta selectors | + ar := {(self allProtocol)} + , + (self object theBehavior categoryNames do: [ :each | each asString ]) sorted. + className := self object className. + isMeta := self object isMeta. + items := ar + collect: [ :protocol | + | def | + def := self object asTDProtocolDefinition: protocol. + protocol = self allProtocol + ifTrue: [ def syntheticProtocol: true ]. + def ]. + listElement ifNotNil: [ listElement itemCache: items ]. + ^ ar -> nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st new file mode 100644 index 000000000..4567aed50 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st @@ -0,0 +1,12 @@ +menu actions +copyObjectMenuAction: listElement selectionIndex: selectionIndex + | def | + (selectionIndex == 0 + or: [ self isAllProtocolSelected: listElement selection: selectionIndex ]) + ifTrue: [ ^ false ]. + def := listElement itemCache at: selectionIndex. + self objectClipboard: def. + ^ listElement objectSerializer + toString: + {#'addToClipboard:'. + (def label)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st new file mode 100644 index 000000000..ffcdf9609 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st @@ -0,0 +1,12 @@ +menu actions +cutObjectMenuAction: listElement selectionIndex: selectionIndex + | classAttributes className selector isMeta def | + def := listElement itemCache at: selectionIndex. + self objectClipboard: def. + def removeFromSystem: listElement topez. + ^ listElement objectSerializer + toString: + {#'refreshList'. + nil. + #'addToClipboard:'. + (def label)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/defaultEditorWindowLocation.st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/defaultEditorWindowLocation.st new file mode 100644 index 000000000..0c5b5b509 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/defaultEditorWindowLocation.st @@ -0,0 +1,3 @@ +accessing +defaultEditorWindowLocation + ^ #'classicProtocol' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/isAllProtocolSelected.selection..st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/isAllProtocolSelected.selection..st new file mode 100644 index 000000000..3ba1f804d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/isAllProtocolSelected.selection..st @@ -0,0 +1,4 @@ +testing +isAllProtocolSelected: listElement selection: selectionIndex + ^ (self selectedProtocol: listElement selection: selectionIndex) + = self allProtocol \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/isMeta.st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/isMeta.st new file mode 100644 index 000000000..b42825d77 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/isMeta.st @@ -0,0 +1,3 @@ +accessing +isMeta + ^ self object isMeta \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/itemSelected.at.shiftPressed..st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/itemSelected.at.shiftPressed..st new file mode 100644 index 000000000..badf692d3 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/itemSelected.at.shiftPressed..st @@ -0,0 +1,8 @@ +tools +itemSelected: listElement at: index shiftPressed: shiftPressed + | protocolDefinition | + index ifNil: [ ^ nil ]. + protocolDefinition := listElement itemCache at: index. + self browseSelectorListFor: protocolDefinition topez: listElement topez. + ^ listElement objectSerializer + toString: (self enableDisableMenuItems: protocolDefinition) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/menuActionSpec.st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/menuActionSpec.st new file mode 100644 index 000000000..105cf1d65 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/menuActionSpec.st @@ -0,0 +1,12 @@ +menu action specs +menuActionSpec + "label, shortcut character, actionSymbol" + + "works in concert with menuActionBlock" + + ^ self protocolMenuActionSpec + , + {#('-'). + #('new method' $o #'newMethodTemplateMenuAction:selectionIndex:'). + #('-')} + , self standardMenuActionSpec \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/newMethodTemplateMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/newMethodTemplateMenuAction.selectionIndex..st new file mode 100644 index 000000000..fa203aec1 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/newMethodTemplateMenuAction.selectionIndex..st @@ -0,0 +1,16 @@ +menu actions +newMethodTemplateMenuAction: listElement selectionIndex: selectionIndex + | def protocol | + (selectionIndex == 0 + or: [ self isAllProtocolSelected: listElement selection: selectionIndex ]) + ifTrue: [ protocol := nil ] + ifFalse: [ protocol := listElement itemCache at: selectionIndex ]. + def := TDMethodTemplateDefinition + className: self theClass name + protocol: protocol methodProtocol + isMeta: self isMeta. + ^ def + editUsing: + ((TDEditorSpec topez: listElement topez editorAspect: #'method') + windowName: #'method'; + yourself) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/pasteObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/pasteObjectMenuAction.selectionIndex..st new file mode 100644 index 000000000..e7f401da0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/pasteObjectMenuAction.selectionIndex..st @@ -0,0 +1,11 @@ +menu actions +pasteObjectMenuAction: listElement selectionIndex: selectionIndex + | def result | + def := (selectionIndex == 0 + or: [ self isAllProtocolSelected: listElement selection: selectionIndex ]) + ifTrue: [ TDBehaviorDefinition className: self theClass name isMeta: self isMeta ] + ifFalse: [ listElement itemCache at: selectionIndex ]. + result := def pasteTDDefinition: self objectClipboard. + ^ result + ifTrue: [ #'refreshList' ] + ifFalse: [ false ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/protocolMenuActionSpec.st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/protocolMenuActionSpec.st new file mode 100644 index 000000000..39dc90d1c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/protocolMenuActionSpec.st @@ -0,0 +1,7 @@ +menu action specs +protocolMenuActionSpec + ^ {{('Protocol' + -> + {#('add protocol' nil #'addProtocolMenuAction:selectionIndex:'). + #('remove protocol' nil #'removeProtocolMenuAction:selectionIndex:' nil #'forProtocol' false). + #('rename protocol' nil #'renameProtocolMenuAction:selectionIndex:' nil #'forProtocol' false)})}} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/selectedProtocol.selection..st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/selectedProtocol.selection..st new file mode 100644 index 000000000..e93216c4b --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/selectedProtocol.selection..st @@ -0,0 +1,5 @@ +private +selectedProtocol: listElement selection: selectionIndex + | protocol protocolDef | + protocolDef := listElement itemCache at: selectionIndex. + ^ protocolDef methodProtocol \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/theBehavior.st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/theBehavior.st new file mode 100644 index 000000000..22208840d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/theBehavior.st @@ -0,0 +1,7 @@ +accessing +theBehavior + | cl | + cl := self theClass. + self isMeta + ifTrue: [ cl := cl class ]. + ^ cl \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/theClass.st b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/theClass.st new file mode 100644 index 000000000..14d24095d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/instance/theClass.st @@ -0,0 +1,3 @@ +accessing +theClass + ^ self object asTDClassDefinition theClass \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/methodProperties.json new file mode 100644 index 000000000..18224443d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/methodProperties.json @@ -0,0 +1,20 @@ +{ + "class" : { + }, + "instance" : { + "allProtocol" : "dkh 08/20/2015 16:13", + "browseSelectorListFor:topez:" : "dkh 08/26/2015 10:43", + "clientList:" : "dkh 09/10/2015 01:05", + "copyObjectMenuAction:selectionIndex:" : "dkh 08/26/2015 10:55", + "cutObjectMenuAction:selectionIndex:" : "dkh 08/26/2015 10:24", + "defaultEditorWindowLocation" : "dkh 08/20/2015 12:41", + "isAllProtocolSelected:selection:" : "dkh 08/26/2015 10:51", + "isMeta" : "dkh 08/25/2015 14:36", + "itemSelected:at:shiftPressed:" : "dkh 08/26/2015 10:43", + "menuActionSpec" : "dkh 08/20/2015 16:05", + "newMethodTemplateMenuAction:selectionIndex:" : "dkh 08/31/2015 14:42", + "pasteObjectMenuAction:selectionIndex:" : "dkh 08/26/2015 16:09", + "protocolMenuActionSpec" : "dkh 08/20/2015 16:49", + "selectedProtocol:selection:" : "dkh 08/26/2015 10:53", + "theBehavior" : "dkh 08/25/2015 14:36", + "theClass" : "dkh 08/25/2015 14:36" } } diff --git a/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/properties.json b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/properties.json new file mode 100644 index 000000000..7765e9191 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassProtocolListElementBuilder.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDClassicClassProtocolListElementBuilder", + "pools" : [ + ], + "super" : "TDClientListElementBuilder", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/README.md b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/browseClassDefinitionMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/browseClassDefinitionMenuAction.selectionIndex..st new file mode 100644 index 000000000..e5e78349d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/browseClassDefinitionMenuAction.selectionIndex..st @@ -0,0 +1,6 @@ +menu actions +browseClassDefinitionMenuAction: listElement selectionIndex: selectionIndex + {(self object asTDClassDefinition)} + editUsing: + (TDEditorSpec topez: listElement topez editorAspect: #'definitionList'). + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/browseHierarchyImplementorsMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/browseHierarchyImplementorsMenuAction.selectionIndex..st new file mode 100644 index 000000000..c9e7c30ae --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/browseHierarchyImplementorsMenuAction.selectionIndex..st @@ -0,0 +1,19 @@ +menu actions +browseHierarchyImplementorsMenuAction: listElement selectionIndex: selectionIndex + | itemAttribute def block selector findTool browseTool theClass classes | + selectionIndex == 0 + ifTrue: [ ^ false ]. + itemAttribute := listElement itemCache at: selectionIndex. + def := itemAttribute object. + theClass := def theClass. + classes := theClass allSuperClasses. + classes add: theClass. + classes addAll: theClass allSubclasses. + selector := def selector asString. + findTool := self findTool: listElement. + block := [ + (findTool findMethod: selector) + select: [ :each | classes includes: each theClass ] ]. + browseTool := self browseTool: listElement. + browseTool browseMethodsBlock: block label: 'Implementors of ' , selector. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/browseImplementorsMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/browseImplementorsMenuAction.selectionIndex..st new file mode 100644 index 000000000..c2f3e4a21 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/browseImplementorsMenuAction.selectionIndex..st @@ -0,0 +1,13 @@ +menu actions +browseImplementorsMenuAction: listElement selectionIndex: selectionIndex + | itemAttribute def block selector findTool browseTool | + selectionIndex == 0 + ifTrue: [ ^ false ]. + itemAttribute := listElement itemCache at: selectionIndex. + def := itemAttribute object. + selector := def selector asString. + findTool := self findTool: listElement. + block := [ findTool findMethod: selector ]. + browseTool := self browseTool: listElement. + browseTool browseMethodsBlock: block label: 'Implementors of ' , selector. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/browseSendersMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/browseSendersMenuAction.selectionIndex..st new file mode 100644 index 000000000..5d2511b3c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/browseSendersMenuAction.selectionIndex..st @@ -0,0 +1,13 @@ +menu actions +browseSendersMenuAction: listElement selectionIndex: selectionIndex + | itemAttribute def block selector findTool browseTool | + selectionIndex == 0 + ifTrue: [ ^ false ]. + itemAttribute := listElement itemCache at: selectionIndex. + def := itemAttribute object. + selector := def selector asString. + findTool := self findTool: listElement. + block := [ findTool findSender: selector ]. + browseTool := self browseTool: listElement. + browseTool browseMethodsBlock: block label: 'Senders of ' , selector. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/clientList..st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/clientList..st new file mode 100644 index 000000000..6ed99545c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/clientList..st @@ -0,0 +1,21 @@ +accessing +clientList: listElement + | items ar beh selectors | + items := OrderedCollection new. + ar := OrderedCollection new. + beh := self theBehavior. + selectors := self object protocol = TDProtocolDefinition allSelectorsProtocol + ifTrue: [ beh selectors ] + ifFalse: [ beh selectorsIn: self object protocol ]. + selectors sorted + do: [ :selector | + ar add: selector asString. + items + add: + (TDClientListItemAttributes + object: (self methodDefinitionFor: selector) + parent: nil + aspect: listElement aspect) ]. + listElement ~~ nil + ifTrue: [ listElement itemCache: items ]. + ^ ar asArray -> nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st new file mode 100644 index 000000000..28a8764cc --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st @@ -0,0 +1,12 @@ +menu actions +copyObjectMenuAction: listElement selectionIndex: selectionIndex + | itemAttribute def | + selectionIndex == 0 + ifTrue: [ ^ false ]. + itemAttribute := listElement itemCache at: selectionIndex. + def := itemAttribute object. + self objectClipboard: def. + ^ listElement objectSerializer + toString: + {#'addToClipboard:'. + (def label)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st new file mode 100644 index 000000000..0bfd7c192 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/cutObjectMenuAction.selectionIndex..st @@ -0,0 +1,13 @@ +menu actions +cutObjectMenuAction: listElement selectionIndex: selectionIndex + | itemAttribute classAttributes className selector isMeta def | + itemAttribute := listElement itemCache at: selectionIndex. + def := itemAttribute object. + self objectClipboard: def. + def removeFromSystem: listElement topez. + ^ listElement objectSerializer + toString: + {#'refreshList'. + nil. + #'addToClipboard:'. + (def label)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/defaultEditorWindowLocation.st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/defaultEditorWindowLocation.st new file mode 100644 index 000000000..f11467718 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/defaultEditorWindowLocation.st @@ -0,0 +1,3 @@ +accessing +defaultEditorWindowLocation + ^ 'classSelectors' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/editorWindowLabel.st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/editorWindowLabel.st new file mode 100644 index 000000000..deab035bd --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/editorWindowLabel.st @@ -0,0 +1,6 @@ +accessing +editorWindowLabel + ^ (self isMeta + ifTrue: [ 'class for ' ] + ifFalse: [ 'instance for ' ]) , self theClass name asString , '--' + , self object protocol asString \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/isMeta.st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/isMeta.st new file mode 100644 index 000000000..b42825d77 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/isMeta.st @@ -0,0 +1,3 @@ +accessing +isMeta + ^ self object isMeta \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/itemSelected.at.shiftPressed..st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/itemSelected.at.shiftPressed..st new file mode 100644 index 000000000..37a431cdf --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/itemSelected.at.shiftPressed..st @@ -0,0 +1,9 @@ +tools +itemSelected: listElement at: index shiftPressed: shiftPressed + | def itemAttribute | + index == nil + ifTrue: [ ^ nil ]. + itemAttribute := listElement itemCache at: index. + def := itemAttribute object. + def itemSelected: listElement topez. + ^ listElement objectSerializer toString: (self enableDisableMenuItems: def) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/menuActionSpec.st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/menuActionSpec.st new file mode 100644 index 000000000..24eb66c76 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/menuActionSpec.st @@ -0,0 +1,8 @@ +menu action specs +menuActionSpec + "label, shortcut character, actionSymbol" + + "works in concert with menuActionBlock" + + ^ self classMenuActionSpec , {#('-')} , self methodMenuActionSpec , {#('-')} + , self standardMenuActionSpec \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/methodDefinitionFor..st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/methodDefinitionFor..st new file mode 100644 index 000000000..017cfddde --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/methodDefinitionFor..st @@ -0,0 +1,5 @@ +accessing +methodDefinitionFor: selector + ^ self object asTDClassDefinition + methodDefinitionFor: selector + isMeta: self isMeta \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/pasteObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/pasteObjectMenuAction.selectionIndex..st new file mode 100644 index 000000000..2f24eeebf --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/pasteObjectMenuAction.selectionIndex..st @@ -0,0 +1,10 @@ +menu actions +pasteObjectMenuAction: listElement selectionIndex: selectionIndex + | def result | + self object protocol = TDProtocolDefinition allSelectorsProtocol + ifTrue: [ def := self object asTDBehaviorDefinition ] + ifFalse: [ def := self object ]. + result := def pasteTDDefinition: self objectClipboard. + ^ result + ifTrue: [ #'refreshList' ] + ifFalse: [ false ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/theBehavior.st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/theBehavior.st new file mode 100644 index 000000000..22208840d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/theBehavior.st @@ -0,0 +1,7 @@ +accessing +theBehavior + | cl | + cl := self theClass. + self isMeta + ifTrue: [ cl := cl class ]. + ^ cl \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/theClass.st b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/theClass.st new file mode 100644 index 000000000..8014eb5e6 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/instance/theClass.st @@ -0,0 +1,3 @@ +accessing +theClass + ^ self object theClass \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/methodProperties.json new file mode 100644 index 000000000..7b7e22e7f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/methodProperties.json @@ -0,0 +1,20 @@ +{ + "class" : { + }, + "instance" : { + "browseClassDefinitionMenuAction:selectionIndex:" : "dkh 08/20/2015 12:49", + "browseHierarchyImplementorsMenuAction:selectionIndex:" : "dkh 08/20/2015 12:49", + "browseImplementorsMenuAction:selectionIndex:" : "dkh 08/20/2015 12:49", + "browseSendersMenuAction:selectionIndex:" : "dkh 08/20/2015 12:49", + "clientList:" : "dkh 09/10/2015 01:12", + "copyObjectMenuAction:selectionIndex:" : "dkh 08/20/2015 12:49", + "cutObjectMenuAction:selectionIndex:" : "dkh 08/20/2015 12:49", + "defaultEditorWindowLocation" : "dkh 08/20/2015 12:53", + "editorWindowLabel" : "dkh 08/20/2015 13:05", + "isMeta" : "dkh 08/20/2015 12:54", + "itemSelected:at:shiftPressed:" : "dkh 08/20/2015 12:49", + "menuActionSpec" : "dkh 08/20/2015 15:38", + "methodDefinitionFor:" : "dkh 09/10/2015 01:26", + "pasteObjectMenuAction:selectionIndex:" : "dkh 09/10/2015 10:17", + "theBehavior" : "dkh 08/20/2015 12:49", + "theClass" : "dkh 09/10/2015 01:12" } } diff --git a/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/properties.json b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/properties.json new file mode 100644 index 000000000..864a3cb3b --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClassicClassSelectorListElementBuilder.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDClassicClassSelectorListElementBuilder", + "pools" : [ + ], + "super" : "TDClientListElementBuilder", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/README.md b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/buildClientElementUsing.editorAspect..st b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/buildClientElementUsing.editorAspect..st new file mode 100644 index 000000000..70f232c89 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/buildClientElementUsing.editorAspect..st @@ -0,0 +1,9 @@ +tools +buildClientElementUsing: aTDEditorSpec editorAspect: editorAspect + | clientButtonBarElement | + clientButtonBarElement := super + buildClientElementUsing: aTDEditorSpec + editorAspect: editorAspect. + ^ clientButtonBarElement + editorAspectSelector: #'activateButtonBarEditor'; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/clientButtonBarElement.st b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/clientButtonBarElement.st new file mode 100644 index 000000000..08e765aaa --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/clientButtonBarElement.st @@ -0,0 +1,10 @@ +accessing +clientButtonBarElement + ^ TodeClientButtonBarElement new + theObject: self object; + switchSpecs: self switchSpecs; + switchActionBlock: self switchActionBlock; + usePersistentClientElementCache: self usePersistentClientElementCache; + windowBuilder: self; + timestamp; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/clientElement.st b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/clientElement.st new file mode 100644 index 000000000..e62549071 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/clientElement.st @@ -0,0 +1,3 @@ +accessing +clientElement + ^ self clientButtonBarElement \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/menuActionBlock.st b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/menuActionBlock.st new file mode 100644 index 000000000..4c1955a6d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/menuActionBlock.st @@ -0,0 +1,3 @@ +accessing +menuActionBlock + ^ nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/menuActionSpec.st b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/menuActionSpec.st new file mode 100644 index 000000000..c0837d884 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/menuActionSpec.st @@ -0,0 +1,3 @@ +menu action specs +menuActionSpec + ^ #() \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/object.st b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/object.st new file mode 100644 index 000000000..bc5597d56 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/object.st @@ -0,0 +1,3 @@ +accessing +object + ^ super object at: 1 \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/switchActionBlock.st b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/switchActionBlock.st new file mode 100644 index 000000000..81ddd083e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/switchActionBlock.st @@ -0,0 +1,3 @@ +switch actions +switchActionBlock + ^ [ :clientButtonBarElement :selector | self object perform: selector with: clientButtonBarElement ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/switchSpecs.st b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/switchSpecs.st new file mode 100644 index 000000000..19d0d5e93 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/instance/switchSpecs.st @@ -0,0 +1,3 @@ +switch action spec +switchSpecs + ^ super object at: 2 \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/methodProperties.json new file mode 100644 index 000000000..e03dc1ab1 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/methodProperties.json @@ -0,0 +1,12 @@ +{ + "class" : { + }, + "instance" : { + "buildClientElementUsing:editorAspect:" : "dkh 08/19/2015 13:14", + "clientButtonBarElement" : "dkh 08/19/2015 14:58", + "clientElement" : "dkh 08/19/2015 13:13", + "menuActionBlock" : "dkh 08/19/2015 15:00", + "menuActionSpec" : "dkh 08/19/2015 14:59", + "object" : "dkh 08/19/2015 16:17", + "switchActionBlock" : "dkh 08/20/2015 13:17", + "switchSpecs" : "dkh 08/19/2015 16:17" } } diff --git a/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/properties.json b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/properties.json new file mode 100644 index 000000000..244b61a9c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientButtonBarElementBuilder.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDClientButtonBarElementBuilder", + "pools" : [ + ], + "super" : "TDWindowBuilder", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/basicMenuActionSpec.st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/basicMenuActionSpec.st index 1da353162..eb30aeb19 100644 --- a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/basicMenuActionSpec.st +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/basicMenuActionSpec.st @@ -5,4 +5,5 @@ basicMenuActionSpec "works in concert with menuActionBlock" ^ {{('Object' -> self objectMenuActionSpec)}. + #('-'). {('Window' -> self windowMenuActionSpec)}} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/browseClassHistoryMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/browseClassHistoryMenuAction.selectionIndex..st new file mode 100644 index 000000000..a2faeabcf --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/browseClassHistoryMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +browseClassHistoryMenuAction: listElement selectionIndex: selectionIndex + | cls clsTool | + clsTool := self clsTool: listElement. + cls := self selectedClass: listElement selectionIndex: selectionIndex. + clsTool clsBrowseClassHistoryFor: cls. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/browseProtocolMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/browseProtocolMenuAction.selectionIndex..st index 63b9c39d0..6b3de5e9e 100644 --- a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/browseProtocolMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/browseProtocolMenuAction.selectionIndex..st @@ -19,7 +19,7 @@ browseProtocolMenuAction: listElement selectionIndex: selectionIndex windowLocation: #'classSelectors'; windowLabel: 'class protocol for ' , self theClass printString; yourself). - ^ STON + ^ listElement objectSerializer toString: {#'editStonElement:'. instanceProtocolClientElement. diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/buildClientElementUsing.editorAspect..st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/buildClientElementUsing.editorAspect..st index e0b2cd122..aed6e7c85 100644 --- a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/buildClientElementUsing.editorAspect..st +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/buildClientElementUsing.editorAspect..st @@ -1,33 +1,17 @@ tools buildClientElementUsing: aTDEditorSpec editorAspect: editorAspect | clientListElement theWindowLabel theWindowIsClosingBlock | - self - theEditorSpec: aTDEditorSpec; - theWindowName: aTDEditorSpec windowName; - theWindowLocation: aTDEditorSpec windowLocation. - clientListElement := self clientListElement. + clientListElement := super + buildClientElementUsing: aTDEditorSpec + editorAspect: editorAspect. aTDEditorSpec selectionIndex ~~ nil ifTrue: [ clientListElement selectedIndex: aTDEditorSpec selectionIndex ]. aTDEditorSpec highlightIndex ~~ nil ifTrue: [ clientListElement highlightedIndex: aTDEditorSpec highlightIndex ]. aTDEditorSpec parentList ~~ nil ifTrue: [ clientListElement parentList: aTDEditorSpec parentList ]. - theWindowLabel := aTDEditorSpec windowLabel. - theWindowLabel ifNil: [ theWindowLabel := self editorWindowLabel ]. - theWindowIsClosingBlock := aTDEditorSpec windowIsClosingBlock. - theWindowIsClosingBlock - ifNil: [ theWindowIsClosingBlock := self windowIsClosingBlock ]. ^ clientListElement - topez: aTDEditorSpec topez; - aspect: editorAspect; parent: aTDEditorSpec parentObject; - windowIsClosingBlock: theWindowIsClosingBlock; - menuActionSpec: self menuActionSpec; - menuActionBlock: self menuActionBlock; - editorWindowLabel: theWindowLabel; - editorWindowId: aTDEditorSpec windowId; - editorWindowName: self editorWindowName; - editorWindowLocation: self editorWindowLocation; editorAspectSelector: #'activateListEditor'; firstList: (self firstList: clientListElement); yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/classMenuActionSpec.st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/classMenuActionSpec.st index 339812b46..2621db452 100644 --- a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/classMenuActionSpec.st +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/classMenuActionSpec.st @@ -6,8 +6,10 @@ classMenuActionSpec #('add subClass' nil #'addSubClassMenuAction:selectionIndex:' nil #'hasClass' false). #('-'). #('browse class' $b #'browseClassDefinitionMenuAction:selectionIndex:' nil #'hasClass' false). + #('browse class history' nil #'browseClassHistoryMenuAction:selectionIndex:' nil #'hasClass' false). #('browse full' $B #'browseFullClassMenuAction:selectionIndex:' nil #'hasClass' false). #('browse protocol' $F #'browseProtocolMenuAction:selectionIndex:' nil #'hasClass' false). + #('-'). #('comment' nil #'commentClassMenuAction:selectionIndex:' nil #'hasClass' false). #('copy to' nil #'copyClassMenuAction:selectionIndex:' nil #'forClass' false). #('create accessors' nil #'createAccessorsMenuAction:selectionIndex:' nil #'hasClass' false). diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/clientElement.st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/clientElement.st new file mode 100644 index 000000000..89ff45e00 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/clientElement.st @@ -0,0 +1,3 @@ +accessing +clientElement + ^ self clientListElement \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/clientListElement.st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/clientListElement.st index 9eb01a05f..1a0f979d2 100644 --- a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/clientListElement.st +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/clientListElement.st @@ -5,5 +5,7 @@ clientListElement listBlock: self listBlock; itemSelectedBlock: self itemSelectedBlock; selectedIndex: self selectedIndex; + usePersistentClientElementCache: self usePersistentClientElementCache; windowBuilder: self; + timestamp; yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/itemSelected.at.shiftPressed.listSelectionsDictionary..st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/itemSelected.at.shiftPressed.listSelectionsDictionary..st new file mode 100644 index 000000000..8a47061fc --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/itemSelected.at.shiftPressed.listSelectionsDictionary..st @@ -0,0 +1,5 @@ +tools +itemSelected: listElement at: index shiftPressed: shiftPressed listSelectionsDictionary: listSelectionsDictionary + "override for multi-selection" + + ^ self itemSelected: listElement at: index shiftPressed: shiftPressed \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/itemSelectedBlock.st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/itemSelectedBlock.st index 4ad0c9b78..027d773c9 100644 --- a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/itemSelectedBlock.st +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/itemSelectedBlock.st @@ -1,3 +1,12 @@ accessing itemSelectedBlock - ^ [ :listElement :index :shiftPressed | self itemSelected: listElement at: index shiftPressed: shiftPressed ] \ No newline at end of file + ^ [ :listElement :index :shiftPressed :listSelectionsDictionary | + listSelectionsDictionary isNil + ifTrue: [ self itemSelected: listElement at: index shiftPressed: shiftPressed ] + ifFalse: [ + self + itemSelected: listElement + at: index + shiftPressed: shiftPressed + listSelectionsDictionary: + (listElement objectSerializer fromString: listSelectionsDictionary) ] ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/listBlock.st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/listBlock.st index c48f686be..353849e95 100644 --- a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/listBlock.st +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/listBlock.st @@ -1,3 +1,3 @@ accessing listBlock - ^ [ :listElement | STON toString: (self clientList: listElement) ] \ No newline at end of file + ^ [ :listElement | listElement objectSerializer toString: (self clientList: listElement) ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/removeProtocolMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/removeProtocolMenuAction.selectionIndex..st index b08316f81..d8017ca0e 100644 --- a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/removeProtocolMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/removeProtocolMenuAction.selectionIndex..st @@ -1,8 +1,7 @@ menu actions removeProtocolMenuAction: listElement selectionIndex: selectionIndex - | beh clsTool newProtoName itemAttribute protocolDef protoName | - itemAttribute := listElement itemCache at: selectionIndex. - protocolDef := itemAttribute object. + | beh clsTool newProtoName protocolDef protoName | + protocolDef := listElement itemCache at: selectionIndex. protoName := protocolDef categoryName. beh := self theBehavior. clsTool := listElement topez toolInstanceFor: 'cls'. diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/renameProtocolMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/renameProtocolMenuAction.selectionIndex..st index aad6795a8..79ce62b05 100644 --- a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/renameProtocolMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/renameProtocolMenuAction.selectionIndex..st @@ -1,8 +1,7 @@ menu actions renameProtocolMenuAction: listElement selectionIndex: selectionIndex - | beh clsTool newProtoName itemAttribute protocolDef protoName | - itemAttribute := listElement itemCache at: selectionIndex. - protocolDef := itemAttribute object. + | beh clsTool newProtoName protocolDef protoName | + protocolDef := listElement itemCache at: selectionIndex. protoName := protocolDef categoryName. beh := self theBehavior. newProtoName := (GsTextInteraction diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/standardMenuActionSpec.st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/standardMenuActionSpec.st index 2c5452c36..157b4441c 100644 --- a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/standardMenuActionSpec.st +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/standardMenuActionSpec.st @@ -5,5 +5,7 @@ standardMenuActionSpec "works in concert with menuActionBlock" ^ {{('Edit' -> self editMenuActionSpec)}. + #('-'). {('Object' -> self objectMenuActionSpec)}. + #('-'). {('Window' -> self windowMenuActionSpec)}} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/windowMenuActionSpec.st b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/windowMenuActionSpec.st index a85fcb6b1..dcdfce4b1 100644 --- a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/windowMenuActionSpec.st +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/instance/windowMenuActionSpec.st @@ -1,9 +1,13 @@ menu action specs windowMenuActionSpec ^ {#('clone window' $C #'cloneWindowMenuAction:selectionIndex:'). + #('-'). #('inspect builder' nil #'inspectBuilderMenuAction:selectionIndex:'). #('inspect client element' nil #'inspectWindowModelMenuAction:selectionIndex:'). + #('-'). + #('history' nil #'clientElementHistoryWindowMenuAction:'). #('list windows' $L #'listWindowsMenuAction:selectionIndex:'). #('print window' $P #'printClientListMenuAction:selectionIndex:'). #('refresh window' $l #'refreshListMenuAction:selectionIndex:'). + #('-'). #('open workspace' 'esc' #'openWorkspaceMenuAction:selectionIndex:')} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/methodProperties.json index 0e905f09d..299b21f3b 100644 --- a/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDClientListElementBuilder.class/methodProperties.json @@ -5,8 +5,9 @@ "addClassMenuAction:selectionIndex:" : "dkh 07/08/2014 14:09", "addProtocolMenuAction:selectionIndex:" : "dkh 07/08/2014 12:33", "addSubClassMenuAction:selectionIndex:" : "dkh 07/07/2014 22:03", - "basicMenuActionSpec" : "dkh 09/29/2013 13:47", + "basicMenuActionSpec" : "dkh 08/17/2015 17:25", "browseClassDefinitionMenuAction:selectionIndex:" : "dkh 06/24/2014 12:05", + "browseClassHistoryMenuAction:selectionIndex:" : "dkh 09/10/2015 09:42", "browseClassTestsMenuAction:selectionIndex:" : "dkh 07/08/2014 10:13", "browseFullClassMenuAction:selectionIndex:" : "dkh 02/23/2014 18:36", "browseGitClassHistoryMenuAction:selectionIndex:" : "dkh 05/29/2014 20:52", @@ -14,15 +15,16 @@ "browseHierarchyImplementorsMenuAction:selectionIndex:" : "dkh 07/08/2014 11:54", "browseImplementorsMenuAction:selectionIndex:" : "dkh 10/01/2013 06:40", "browseMethodVersionsMenuAction:selectionIndex:" : "dkh 06/03/2014 14:08", - "browseProtocolMenuAction:selectionIndex:" : "dkh 07/08/2014 15:30", + "browseProtocolMenuAction:selectionIndex:" : "dkh 06/25/2015 16:15", "browseReferencesMenuAction:selectionIndex:" : "dkh 02/23/2014 18:25", "browseSendersMenuAction:selectionIndex:" : "dkh 10/01/2013 06:40", - "buildClientElementUsing:editorAspect:" : "dkh 06/18/2014 16:53", + "buildClientElementUsing:editorAspect:" : "dkh 08/19/2015 13:31", "classInstanceVariableReferencesMenuAction:selectionIndex:" : "dkh 07/08/2014 09:17", - "classMenuActionSpec" : "dkh 07/08/2014 15:04", + "classMenuActionSpec" : "dkh 09/10/2015 01:55", "classVariableReferencesMenuAction:selectionIndex:" : "dkh 07/08/2014 09:17", + "clientElement" : "dkh 08/19/2015 13:15", "clientList:" : "DataCurator 01/16/2013 07:43", - "clientListElement" : "dkh 06/11/2013 18:06", + "clientListElement" : "dkh 08/18/2015 14:48", "commentClassMenuAction:selectionIndex:" : "dkh 07/07/2014 23:02", "copyClassMenuAction:selectionIndex:" : "dkh 07/07/2014 23:09", "copyObjectMenuAction:selectionIndex:" : "dkh 10/01/2013 06:41", @@ -34,8 +36,9 @@ "firstList:" : "DataCurator 01/11/2013 15:36", "instanceVariableReferencesMenuAction:selectionIndex:" : "dkh 07/08/2014 09:17", "itemSelected:at:shiftPressed:" : "DataCurator 01/25/2013 15:08", - "itemSelectedBlock" : "DataCurator 01/25/2013 15:08", - "listBlock" : "DataCurator 01/11/2013 15:36", + "itemSelected:at:shiftPressed:listSelectionsDictionary:" : "dkh 01/29/2015 07:01", + "itemSelectedBlock" : "dkh 06/25/2015 16:16", + "listBlock" : "dkh 06/25/2015 16:16", "menuActionBlock" : "dkh 06/20/2014 12:07", "menuActionSpec" : "dkh 09/29/2013 13:47", "methodMenuActionSpec" : "dkh 07/08/2014 12:52", @@ -50,12 +53,12 @@ "printObjectMenuAction:selectionIndex:" : "dkh 01/06/2014 20:44", "protocolMenuActionSpec" : "dkh 09/05/2014 11:55", "removeClassMenuAction:selectionIndex:" : "dkh 07/08/2014 09:56", - "removeProtocolMenuAction:selectionIndex:" : "dkh 07/08/2014 12:37", + "removeProtocolMenuAction:selectionIndex:" : "dkh 09/01/2015 09:45", "renameClassMenuAction:selectionIndex:" : "dkh 07/08/2014 10:01", - "renameProtocolMenuAction:selectionIndex:" : "dkh 07/08/2014 12:36", + "renameProtocolMenuAction:selectionIndex:" : "dkh 09/01/2015 09:45", "selectedClass:selectionIndex:" : "DataCurator 02/07/2013 14:28", "selectedIndex" : "DataCurator 01/11/2013 14:26", - "standardMenuActionSpec" : "dkh 09/29/2013 13:47", + "standardMenuActionSpec" : "dkh 08/17/2015 17:25", "theBehavior" : "DataCurator 02/07/2013 14:10", "theClass" : "DataCurator 02/07/2013 14:11", - "windowMenuActionSpec" : "dkh 04/27/2014 20:00" } } + "windowMenuActionSpec" : "dkh 08/17/2015 17:22" } } diff --git a/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/instance/editorWindowLabel.st b/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/instance/editorWindowLabel.st index df802e9e5..db6204c36 100644 --- a/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/instance/editorWindowLabel.st +++ b/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/instance/editorWindowLabel.st @@ -1,3 +1,4 @@ as yet unclassified editorWindowLabel - ^ self inClass printString , '>>' , self selector asString \ No newline at end of file + ^ self inClass printString , '>>' , self selector asString , ' [' + , self methodProtocol , ']' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/instance/methodProtocol.st b/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/instance/methodProtocol.st index 579200422..632c60142 100644 --- a/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/instance/methodProtocol.st +++ b/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/instance/methodProtocol.st @@ -1,6 +1,7 @@ as yet unclassified methodProtocol | protocol | + self theBehavior ifNil: [ ^ '' ]. protocol := self theBehavior categoryOfSelector: self selector asSymbol. protocol ifNil: [ protocol := self defaultProtocol ]. ^ protocol \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/instance/setBreakpointMenuAction.selectionInterval.dirty..st b/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/instance/setBreakpointMenuAction.selectionInterval.dirty..st index fd4da5dcf..27a187934 100644 --- a/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/instance/setBreakpointMenuAction.selectionInterval.dirty..st +++ b/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/instance/setBreakpointMenuAction.selectionInterval.dirty..st @@ -17,7 +17,7 @@ setBreakpointMenuAction: sourceElement selectionInterval: selectionInterval dirt sourceElement spawnCopyBlock: self spawnCopyBlock. spawnedElement := sourceElement copyForSpawn ] ensure: [ self formatOnDisplay: nil ]. - ^ STON + ^ self objectSerializer toString: {#'spawnWindow:'. spawnedElement} ]. diff --git a/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/methodProperties.json index 0a020e42c..e39bee3a7 100644 --- a/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDClientMethodElementBuilder.class/methodProperties.json @@ -22,7 +22,7 @@ "defaultProtocol" : "dkh 09/22/2013 14:16", "differentMethodCreated:" : "DataCurator 02/09/2013 09:36", "disableAllBreakpointMenuAction:" : "dkh 03/26/2014 21:36", - "editorWindowLabel" : "dkh 03/25/2013 08:02", + "editorWindowLabel" : "dkh 03/13/2015 10:36", "elementSource:clientSourceElement:" : "dkh 06/20/2014 12:12", "enableAllBreakpointMenuAction:" : "dkh 03/26/2014 21:35", "findStepPoint:" : "DataCurator 02/05/2013 22:08", @@ -32,12 +32,12 @@ "method" : "DataCurator 02/05/2013 22:07", "methodDefinition" : "dkh 03/26/2014 21:43", "methodMenuActionSpec" : "dkh 07/08/2014 11:04", - "methodProtocol" : "dkh 09/22/2013 14:19", + "methodProtocol" : "dkh 03/16/2015 21:00", "methodVersionsMenuAction:" : "dkh 06/03/2014 14:09", "referencesTo:editorSource:selectionInterval:" : "dkh 06/03/2014 14:07", "searchMenuActionSpec" : "dkh 06/22/2014 13:16", "setBreakPoint:selectionInterval:" : "dkh 06/05/2014 14:49", - "setBreakpointMenuAction:selectionInterval:dirty:" : "dkh 07/29/2014 15:30", + "setBreakpointMenuAction:selectionInterval:dirty:" : "dkh 06/25/2015 16:28", "sourceRange" : "DataCurator 01/11/2013 15:48", "spawnCopyBlock" : "dkh 07/29/2014 12:50", "standardMenuActionSpec" : "dkh 04/18/2014 07:19", diff --git a/repository/Topez-Server-Core.package/TDClientObjectElementBuilder.class/instance/usePersistentClientElementCache.st b/repository/Topez-Server-Core.package/TDClientObjectElementBuilder.class/instance/usePersistentClientElementCache.st new file mode 100644 index 000000000..425fefe34 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientObjectElementBuilder.class/instance/usePersistentClientElementCache.st @@ -0,0 +1,3 @@ +accessing +usePersistentClientElementCache + ^ false \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientObjectElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClientObjectElementBuilder.class/methodProperties.json index 93f7ae99e..8e9ab5f90 100644 --- a/repository/Topez-Server-Core.package/TDClientObjectElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDClientObjectElementBuilder.class/methodProperties.json @@ -3,4 +3,5 @@ }, "instance" : { "buildClientElementUsing:editorAspect:" : "dkh 06/05/2013 23:05", - "editorWindowLabel" : "dkh 06/18/2014 13:40" } } + "editorWindowLabel" : "dkh 06/18/2014 13:40", + "usePersistentClientElementCache" : "dkh 08/18/2015 13:46" } } diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/browseItMenuAction.selectedText..st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/browseItMenuAction.selectedText..st index 8842c6ddd..c3f62e868 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/browseItMenuAction.selectedText..st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/browseItMenuAction.selectedText..st @@ -6,7 +6,7 @@ browseItMenuAction: sourceElement selectedText: selection regex := RxParser preferredMatcherClass for: parser ignoreCase: true. classes := Smalltalk systemNavigation allClasses asArray select: [ :cls | regex search: cls name asString ]. - defs := classes collect: [ :cl | TDClassDefinition className: cl name ]. + defs := classes collect: [ :cl | cl asTDClassDefinition ]. defs editUsing: ((TDEditorSpec topez: sourceElement topez editorAspect: #'definitionList') diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/buildClientElementUsing.editorAspect..st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/buildClientElementUsing.editorAspect..st index f57a86ff6..041980979 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/buildClientElementUsing.editorAspect..st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/buildClientElementUsing.editorAspect..st @@ -1,29 +1,13 @@ -as yet unclassified +tools buildClientElementUsing: aTDEditorSpec editorAspect: editorAspect - | theWindowLabel theWindowIsClosingBlock | - self - theEditorSpec: aTDEditorSpec; - theWindowName: aTDEditorSpec windowName; - theWindowLocation: aTDEditorSpec windowLocation. - theWindowLabel := aTDEditorSpec windowLabel. - theWindowLabel ifNil: [ theWindowLabel := self editorWindowLabel ]. - theWindowIsClosingBlock := aTDEditorSpec windowIsClosingBlock. - theWindowIsClosingBlock - ifNil: [ theWindowIsClosingBlock := self windowIsClosingBlock ]. - ^ self clientSourceElement - theObject: self object; + | clientSourceElement | + clientSourceElement := super + buildClientElementUsing: aTDEditorSpec + editorAspect: editorAspect. + ^ clientSourceElement aspect: aTDEditorSpec editorAspect; - topez: aTDEditorSpec topez; firstSource: self firstSource; getBlock: self getBlock; setBlock: self setBlock; - menuActionSpec: self menuActionSpec; - menuActionBlock: self menuActionBlock; - editorWindowLabel: theWindowLabel; - editorWindowId: aTDEditorSpec windowId; - editorWindowName: self editorWindowName; - editorWindowLocation: self editorWindowLocation; editorAspectSelector: #'activateCodeEditor'; - windowIsClosingBlock: theWindowIsClosingBlock; - windowBuilder: self; yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/clientElement.st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/clientElement.st new file mode 100644 index 000000000..43ffdc29e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/clientElement.st @@ -0,0 +1,3 @@ +accessing +clientElement + ^ self clientSourceElement \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/clientSourceElement.st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/clientSourceElement.st index 125054217..674b2b37a 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/clientSourceElement.st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/clientSourceElement.st @@ -1,3 +1,8 @@ -as yet unclassified +accessing clientSourceElement - ^ self clientSourceElementClass new \ No newline at end of file + ^ self clientSourceElementClass new + theObject: self object; + usePersistentClientElementCache: self usePersistentClientElementCache; + windowBuilder: self; + timestamp; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/clientSourceElementClass.st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/clientSourceElementClass.st index b674dc462..4758b7153 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/clientSourceElementClass.st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/clientSourceElementClass.st @@ -1,3 +1,3 @@ -as yet unclassified +accessing clientSourceElementClass ^ TodeClientSourceElement \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/debugString..st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/debugString..st index 36667ec17..bdca46248 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/debugString..st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/debugString..st @@ -1,3 +1,3 @@ -as yet unclassified +accessing debugString: aString ^ aString debugItIn: self doItContext literalVars: self doItLiteralArray \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/defaultEditorWindowLocation.st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/defaultEditorWindowLocation.st index 0f97b0a2a..3c234b50f 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/defaultEditorWindowLocation.st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/defaultEditorWindowLocation.st @@ -1,3 +1,3 @@ -as yet unclassified +accessing defaultEditorWindowLocation ^ #'method' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/editItMenuAction.selectedText..st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/editItMenuAction.selectedText..st new file mode 100644 index 000000000..11d42b666 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/editItMenuAction.selectedText..st @@ -0,0 +1,6 @@ +menu actions +editItMenuAction: listElement selectedText: selectedString + | result | + result := self evaluateString: selectedString. + result edit: listElement topez. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/elementSource.clientSourceElement..st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/elementSource.clientSourceElement..st index c146fed7a..fc7ea9e83 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/elementSource.clientSourceElement..st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/elementSource.clientSourceElement..st @@ -1,3 +1,3 @@ -as yet unclassified +accessing elementSource: source clientSourceElement: clientSourceElement ^ self object elementSource: source \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/elementSource.st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/elementSource.st index c5ec78bce..cbc8f9a3c 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/elementSource.st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/elementSource.st @@ -1,4 +1,4 @@ -as yet unclassified +accessing elementSource "override as needed" diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/evaluateString..st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/evaluateString..st index d653add01..f9aeb61a1 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/evaluateString..st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/evaluateString..st @@ -1,4 +1,4 @@ -as yet unclassified +accessing evaluateString: aString ^ aString evaluateIn: self doItContext diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/firstSource.st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/firstSource.st index 87ee69efb..426cf40cd 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/firstSource.st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/firstSource.st @@ -1,3 +1,3 @@ -as yet unclassified +accessing firstSource ^ self formattedElementSource \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/formattedElementSource..st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/formattedElementSource..st index ee78a3663..fd4330d0f 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/formattedElementSource..st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/formattedElementSource..st @@ -1,3 +1,3 @@ -as yet unclassified +accessing formattedElementSource: elementSource ^ elementSource \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/formattedElementSource.st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/formattedElementSource.st index a68c5e48f..c81bbc918 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/formattedElementSource.st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/formattedElementSource.st @@ -1,3 +1,3 @@ -as yet unclassified +accessing formattedElementSource ^ self elementSource \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/getBlock.st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/getBlock.st index f8c11b4ee..e13bd7f57 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/getBlock.st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/getBlock.st @@ -1,3 +1,3 @@ -as yet unclassified +accessing getBlock ^ [ self formattedElementSource ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/printItMenuAction.selectedText..st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/printItMenuAction.selectedText..st index 39bbca677..f2387bfa2 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/printItMenuAction.selectedText..st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/printItMenuAction.selectedText..st @@ -2,7 +2,7 @@ menu actions printItMenuAction: listElement selectedText: selectedString | result | result := self evaluateString: selectedString. - ^ STON + ^ listElement objectSerializer toString: {#'insertAfterSelection:'. (result printString)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/setBlock.st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/setBlock.st index 5278eb042..08d164373 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/setBlock.st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/setBlock.st @@ -1,4 +1,4 @@ -as yet unclassified +accessing setBlock ^ [ :source :clientSourceElement | | result | diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/smalltalkMenuActionSpec.st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/smalltalkMenuActionSpec.st index 6ac607dbc..ba4119e6d 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/smalltalkMenuActionSpec.st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/smalltalkMenuActionSpec.st @@ -3,6 +3,7 @@ smalltalkMenuActionSpec ^ {#('do it' $d #'doItMenuAction:selectedText:'). #('print it' $p #'printItMenuAction:selectedText:'). #('inspect it' $i #'inspectItMenuAction:selectedText:'). + #('edit it' nil #'editItMenuAction:selectedText:'). #('debug it' $D #'debugItMenuAction:selectedText:'). #('profile it' nil #'profileItMenuAction:selectedText:'). #('tode it' $t #'todeItMenuAction:selectedText:')} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/theBehavior.st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/theBehavior.st index 3ad6f282b..c278b6158 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/theBehavior.st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/theBehavior.st @@ -1,3 +1,3 @@ -as yet unclassified +accessing theBehavior self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/windowMenuActionSpec.st b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/windowMenuActionSpec.st index 015da9b41..b76f6afd1 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/windowMenuActionSpec.st +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/instance/windowMenuActionSpec.st @@ -1,8 +1,12 @@ menu action specs windowMenuActionSpec ^ {#('clone window' $C #'cloneWindowMenuAction:'). + #('-'). #('inspect builder' nil #'inspectBuilderMenuAction:'). #('inspect client element' nil #'inspectWindowModelMenuAction:'). + #('-'). + #('history' nil #'clientElementHistoryWindowMenuAction:'). #('list windows' $L #'listWindowsMenuAction:'). #('refresh window' $l #'refreshListMenuAction:'). + #('-'). #('open workspace' 'esc' #'openWorkspaceMenuAction:selectionIndex:')} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/methodProperties.json index 83c80d55b..2a21dda00 100644 --- a/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDClientSourceElementBuilder.class/methodProperties.json @@ -6,7 +6,7 @@ "browseClassReferencesMenuAction:" : "dkh 02/23/2014 18:42", "browseFullClassMenuAction:" : "dkh 03/26/2014 18:54", "browseItFullMenuAction:selectedText:" : "dkh 03/29/2014 17:18", - "browseItMenuAction:selectedText:" : "dkh 03/26/2014 21:51", + "browseItMenuAction:selectedText:" : "dkh 09/12/2015 08:35", "browseMyCategoryMenuAction:" : "dkh 06/22/2014 13:18", "browseMyPackageMenuAction:" : "dkh 06/22/2014 13:18", "browseMyProjectMenuAction:" : "dkh 06/22/2014 13:18", @@ -15,8 +15,9 @@ "browseReferencesMenuAction:" : "dkh 06/22/2014 12:11", "browseReferencesToItMenuAction:selectedText:" : "dkh 03/29/2014 17:25", "browseReferencesToMyClassMenuAction:" : "dkh 06/22/2014 13:16", - "buildClientElementUsing:editorAspect:" : "dkh 06/18/2014 14:46", - "clientSourceElement" : "DataCurator 01/11/2013 15:41", + "buildClientElementUsing:editorAspect:" : "dkh 08/19/2015 13:30", + "clientElement" : "dkh 08/19/2015 13:20", + "clientSourceElement" : "dkh 08/19/2015 20:59", "clientSourceElementClass" : "DataCurator 01/11/2013 15:41", "debugItMenuAction:selectedText:" : "dkh 03/26/2014 14:40", "debugString:" : "dkh 04/28/2014 17:43", @@ -25,6 +26,7 @@ "doItLiteralArray" : "dkh 04/28/2014 17:37", "doItMenuAction:selectedText:" : "dkh 03/30/2014 08:00", "doItSymbolList" : "dkh 03/24/2014 19:11", + "editItMenuAction:selectedText:" : "dkh 02/07/2015 09:18", "editMenuActionSpec" : "dkh 03/26/2014 14:23", "elementSource" : "dkh 12/06/2013 10:52", "elementSource:clientSourceElement:" : "dkh 06/20/2014 12:12", @@ -39,7 +41,7 @@ "menuActionBlock" : "dkh 03/26/2014 09:57", "menuActionSpec" : "dkh 02/23/2014 09:37", "objectMenuActionSpec" : "dkh 06/25/2014 07:53", - "printItMenuAction:selectedText:" : "dkh 03/24/2014 21:03", + "printItMenuAction:selectedText:" : "dkh 06/25/2015 16:18", "profileItMenuAction:selectedText:" : "dkh 03/30/2014 08:01", "pureSendersMenuAction:selectedText:" : "dkh 06/22/2014 11:56", "regexImplementorsMenuAction:selectedText:" : "dkh 06/03/2014 14:23", @@ -48,9 +50,9 @@ "searchMenuActionSpec" : "dkh 06/22/2014 12:06", "sendersOfItMenuAction:selectedText:" : "dkh 06/03/2014 14:23", "setBlock" : "dkh 06/29/2014 10:16", - "smalltalkMenuActionSpec" : "dkh 08/07/2014 18:15", + "smalltalkMenuActionSpec" : "dkh 02/07/2015 11:33", "standardMenuActionSpec" : "dkh 04/18/2014 07:18", "textMenuActionSpec" : "dkh 03/29/2014 12:18", "theBehavior" : "dkh 02/23/2014 18:42", "todeItMenuAction:selectedText:" : "dkh 03/30/2014 08:01", - "windowMenuActionSpec" : "dkh 04/27/2014 20:07" } } + "windowMenuActionSpec" : "dkh 08/17/2015 17:23" } } diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/README.md b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/gatewayServerDiskPath.topez..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/gatewayServerDiskPath.topez..st new file mode 100644 index 000000000..86aada5fe --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/gatewayServerDiskPath.topez..st @@ -0,0 +1,10 @@ +instance creation-simple +gatewayServerDiskPath: diskPath topez: topez + | path | + path := diskPath findTokens: '/'. + ^ self + link: + (TDObjectGatewayNode new + name: path last; + contents: 'ServerFileDirectory on: ' , diskPath printString) + topez: topez \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/link.topez..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/link.topez..st new file mode 100644 index 000000000..ed8fe25f7 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/link.topez..st @@ -0,0 +1,5 @@ +instance creation-simple +link: aNode topez: topez + ^ (self simpleComposedDirectoryNodeNamed: aNode name topez: topez) + addSimpleNode: aNode; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/linkPath.topez..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/linkPath.topez..st new file mode 100644 index 000000000..24d21cfb3 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/linkPath.topez..st @@ -0,0 +1,3 @@ +instance creation-simple +linkPath: childPath topez: topez + ^ self link: (topez lookup: childPath) topez: topez \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/objPath.topez..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/objPath.topez..st new file mode 100644 index 000000000..281177d12 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/objPath.topez..st @@ -0,0 +1,3 @@ +instance creation-simple +objPath: objPath topez: topez + ^ self link: (topez lookup: objPath) topez: topez \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/pathComposedDirectoryNodeNamed.topez..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/pathComposedDirectoryNodeNamed.topez..st new file mode 100644 index 000000000..4380c2736 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/pathComposedDirectoryNodeNamed.topez..st @@ -0,0 +1,7 @@ +instance creation +pathComposedDirectoryNodeNamed: nodeName topez: topez + ^ self new + name: nodeName; + contents: TDPathComposedDirectoryNodeContents new; + topez: topez; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/serverDiskPath.topez..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/serverDiskPath.topez..st new file mode 100644 index 000000000..a87e43c65 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/serverDiskPath.topez..st @@ -0,0 +1,7 @@ +instance creation-simple +serverDiskPath: diskPath topez: topez + | dir | + dir := ServerFileDirectory on: diskPath. + ^ self + link: (dir asTDObjectNode: nil topez: topez aspect: #'view') + topez: topez \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/simpleComposedDirectoryNodeNamed.topez..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/simpleComposedDirectoryNodeNamed.topez..st new file mode 100644 index 000000000..ee16e6a29 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/class/simpleComposedDirectoryNodeNamed.topez..st @@ -0,0 +1,7 @@ +instance creation +simpleComposedDirectoryNodeNamed: nodeName topez: topez + ^ self new + name: nodeName; + contents: TDSimpleComposedDirectoryNodeContents new; + topez: topez; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addAsChildOfFileSystemDirectoryNode..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addAsChildOfFileSystemDirectoryNode..st new file mode 100644 index 000000000..b64b79e44 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addAsChildOfFileSystemDirectoryNode..st @@ -0,0 +1,3 @@ +as yet unclassified +addAsChildOfFileSystemDirectoryNode: aTDFileSystemDirectoryNode + ^ aTDFileSystemDirectoryNode addChildLeafNode: self \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addChild..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addChild..st new file mode 100644 index 000000000..7ae0544ed --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addChild..st @@ -0,0 +1,3 @@ +as yet unclassified +addChild: childName + ^ self contents addChild: childName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode..st new file mode 100644 index 000000000..2671209ed --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode..st @@ -0,0 +1,3 @@ +directory-composed +addPathNode: nodePath + ^ self contents addPathNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode.excludes..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode.excludes..st new file mode 100644 index 000000000..7c8eb83b4 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode.excludes..st @@ -0,0 +1,3 @@ +directory-composed +addPathNode: nodePath excludes: excludes + ^ self contents addPathNode: nodePath excludes: excludes \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode.excludes.includes..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode.excludes.includes..st new file mode 100644 index 000000000..5a7c2d1d0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode.excludes.includes..st @@ -0,0 +1,3 @@ +directory-composed +addPathNode: nodePath excludes: excludes includes: includes + ^ self contents addPathNode: nodePath excludes: excludes includes: includes \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode.includes..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode.includes..st new file mode 100644 index 000000000..cdde375a5 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode.includes..st @@ -0,0 +1,3 @@ +directory-composed +addPathNode: nodePath includes: includes + ^ self contents addPathNode: nodePath includes: includes \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode.selectBlock..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode.selectBlock..st new file mode 100644 index 000000000..09b9cfaaa --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addPathNode.selectBlock..st @@ -0,0 +1,3 @@ +directory-composed +addPathNode: nodePath selectBlock: selectBlock + ^ self contents addPathNode: nodePath selectBlock: selectBlock \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addSimpleNode..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addSimpleNode..st new file mode 100644 index 000000000..269c6aa21 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/addSimpleNode..st @@ -0,0 +1,3 @@ +directory-simple +addSimpleNode: aNode + ^ self contents node: aNode \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/composedChildrenDo..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/composedChildrenDo..st new file mode 100644 index 000000000..0b69a5799 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/composedChildrenDo..st @@ -0,0 +1,4 @@ +as yet unclassified +composedChildrenDo: aBlock + ^ self contents + composedChildrenDo: [ :composedNode :child | aBlock value: composedNode value: child ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/contents..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/contents..st new file mode 100644 index 000000000..57a3e0c52 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/contents..st @@ -0,0 +1,3 @@ +as yet unclassified +contents: aTDAbstractDirectoryNodeContents + contents := aTDAbstractDirectoryNodeContents \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/moveDirectoryNode.as..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/moveDirectoryNode.as..st new file mode 100644 index 000000000..982b15f20 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/moveDirectoryNode.as..st @@ -0,0 +1,3 @@ +as yet unclassified +moveDirectoryNode: aDirectoryNode as: newName + ^ self contents moveDirectoryNode: aDirectoryNode as: newName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/parent..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/parent..st new file mode 100644 index 000000000..38b80baac --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/parent..st @@ -0,0 +1,4 @@ +as yet unclassified +parent: aNode + parent := aNode. + contents ifNotNil: [ contents parent: aNode ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/stonSetChildParents.st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/stonSetChildParents.st new file mode 100644 index 000000000..839ea4d58 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/stonSetChildParents.st @@ -0,0 +1,3 @@ +ston +stonSetChildParents + self contents stonSetChildParents \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/topez..st b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/topez..st new file mode 100644 index 000000000..b52a11538 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/instance/topez..st @@ -0,0 +1,4 @@ +as yet unclassified +topez: aTopez + topez := aTopez. + contents ifNotNil: [ contents topez: aTopez ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/methodProperties.json b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/methodProperties.json new file mode 100644 index 000000000..e99856c1b --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/methodProperties.json @@ -0,0 +1,24 @@ +{ + "class" : { + "gatewayServerDiskPath:topez:" : "dkh 11/06/2014 14:44", + "link:topez:" : "dkh 11/16/2014 15:53", + "linkPath:topez:" : "dkh 10/30/2014 17:22", + "objPath:topez:" : "dkh 11/06/2014 14:57", + "pathComposedDirectoryNodeNamed:topez:" : "dkh 11/16/2014 15:40", + "serverDiskPath:topez:" : "dkh 11/05/2014 17:44", + "simpleComposedDirectoryNodeNamed:topez:" : "dkh 11/16/2014 15:40" }, + "instance" : { + "addAsChildOfFileSystemDirectoryNode:" : "dkh 10/30/2014 15:46", + "addChild:" : "dkh 11/05/2014 13:54", + "addPathNode:" : "dkh 11/16/2014 15:47", + "addPathNode:excludes:" : "dkh 11/16/2014 15:48", + "addPathNode:excludes:includes:" : "dkh 11/16/2014 15:49", + "addPathNode:includes:" : "dkh 11/16/2014 15:49", + "addPathNode:selectBlock:" : "dkh 11/16/2014 15:49", + "addSimpleNode:" : "dkh 11/16/2014 15:45", + "composedChildrenDo:" : "dkh 11/21/2014 14:57", + "contents:" : "dkh 10/30/2014 15:40", + "moveDirectoryNode:as:" : "dkh 11/07/2014 13:35", + "parent:" : "dkh 11/06/2014 14:17", + "stonSetChildParents" : "dkh 11/05/2014 17:18", + "topez:" : "dkh 11/05/2014 16:48" } } diff --git a/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/properties.json b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/properties.json new file mode 100644 index 000000000..0f6d9fd1f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedDirectoryNode.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDComposedDirectoryNode", + "pools" : [ + ], + "super" : "TDDirectoryNode", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDComposedProjectEntryNode.class/README.md b/repository/Topez-Server-Core.package/TDComposedProjectEntryNode.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDComposedProjectEntryNode.class/class/pathComposedDirectoryNodeNamed.topez..st b/repository/Topez-Server-Core.package/TDComposedProjectEntryNode.class/class/pathComposedDirectoryNodeNamed.topez..st new file mode 100644 index 000000000..a6147688f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedProjectEntryNode.class/class/pathComposedDirectoryNodeNamed.topez..st @@ -0,0 +1,7 @@ +instance creation +pathComposedDirectoryNodeNamed: nodeName topez: topez + ^ self new + name: nodeName; + contents: TDPathComposedProjectEntryNodeContents new; + topez: topez; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDComposedProjectEntryNode.class/methodProperties.json b/repository/Topez-Server-Core.package/TDComposedProjectEntryNode.class/methodProperties.json new file mode 100644 index 000000000..a335cb05c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedProjectEntryNode.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + "pathComposedDirectoryNodeNamed:topez:" : "dkh 03/14/2015 15:25" }, + "instance" : { + } } diff --git a/repository/Topez-Server-Core.package/TDComposedProjectEntryNode.class/properties.json b/repository/Topez-Server-Core.package/TDComposedProjectEntryNode.class/properties.json new file mode 100644 index 000000000..70bc1a401 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDComposedProjectEntryNode.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDComposedProjectEntryNode", + "pools" : [ + ], + "super" : "TDComposedDirectoryNode", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDConfigurationAndPackageDefinitionsElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDConfigurationAndPackageDefinitionsElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st index cdf3633ad..417f647e5 100644 --- a/repository/Topez-Server-Core.package/TDConfigurationAndPackageDefinitionsElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDConfigurationAndPackageDefinitionsElementBuilder.class/instance/copyObjectMenuAction.selectionIndex..st @@ -4,7 +4,7 @@ copyObjectMenuAction: listElement selectionIndex: selectionIndex itemAttribute := listElement itemCache at: selectionIndex. def := itemAttribute object. self objectClipboard: def. - ^ STON + ^ listElement objectSerializer toString: {#'addToClipboard:'. (def label)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDConfigurationAndPackageDefinitionsElementBuilder.class/instance/itemSelected.at.shiftPressed..st b/repository/Topez-Server-Core.package/TDConfigurationAndPackageDefinitionsElementBuilder.class/instance/itemSelected.at.shiftPressed..st index 89768b3bd..87c1972ef 100644 --- a/repository/Topez-Server-Core.package/TDConfigurationAndPackageDefinitionsElementBuilder.class/instance/itemSelected.at.shiftPressed..st +++ b/repository/Topez-Server-Core.package/TDConfigurationAndPackageDefinitionsElementBuilder.class/instance/itemSelected.at.shiftPressed..st @@ -9,4 +9,4 @@ itemSelected: listElement at: index shiftPressed: shiftPressed itemAttribute := listElement itemCache at: index. def := itemAttribute object. self editClassDefinitions: def listElement: listElement. - ^ STON toString: (self enableDisableMenuItems: def) \ No newline at end of file + ^ listElement objectSerializer toString: (self enableDisableMenuItems: def) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDConfigurationAndPackageDefinitionsElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDConfigurationAndPackageDefinitionsElementBuilder.class/methodProperties.json index a3b8c6133..7bdcd72ef 100644 --- a/repository/Topez-Server-Core.package/TDConfigurationAndPackageDefinitionsElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDConfigurationAndPackageDefinitionsElementBuilder.class/methodProperties.json @@ -7,13 +7,13 @@ "browsePackageOrConfigurationTestsMenuAction:selectionIndex:" : "dkh 10/01/2013 07:13", "browseReferencesMenuAction:selectionIndex:" : "dkh 10/01/2013 07:11", "clientList:" : "dkh 03/20/2014 16:24", - "copyObjectMenuAction:selectionIndex:" : "dkh 06/20/2014 12:11", + "copyObjectMenuAction:selectionIndex:" : "dkh 06/25/2015 16:17", "editClassDefinitions:listElement:" : "dkh 05/14/2014 10:11", "editMenuActionSpec" : "dkh 09/30/2013 21:13", "editorWindowLabel" : "dkh 02/05/2013 13:43", "editorWindowLocation" : "dkh 02/05/2013 13:43", "editorWindowName" : "dkh 02/05/2013 13:43", - "itemSelected:at:shiftPressed:" : "dkh 06/25/2014 11:01", + "itemSelected:at:shiftPressed:" : "dkh 06/25/2015 16:17", "menuActionSpec" : "dkh 10/01/2013 07:12", "pasteObjectMenuAction:selectionIndex:" : "dkh 06/20/2014 12:11", "refreshListMenuAction:selectionIndex:" : "dkh 04/29/2014 07:38" } } diff --git a/repository/Topez-Server-Core.package/TDDictionaryNodeBuilder.class/instance/childNamed.parent.ifAbsent..st b/repository/Topez-Server-Core.package/TDDictionaryNodeBuilder.class/instance/childNamed.parent.ifAbsent..st index dbf907814..8f9daed41 100644 --- a/repository/Topez-Server-Core.package/TDDictionaryNodeBuilder.class/instance/childNamed.parent.ifAbsent..st +++ b/repository/Topez-Server-Core.package/TDDictionaryNodeBuilder.class/instance/childNamed.parent.ifAbsent..st @@ -1,7 +1,7 @@ as yet unclassified childNamed: elementName parent: parentNode ifAbsent: absentBlock | obj | - (#('(class)' '(oop)') includes: elementName) + (#('(class)' '(oop)' '(committed)' '(notTranlogged)') includes: elementName) ifTrue: [ obj := self objectValueForSpecialElementName: elementName diff --git a/repository/Topez-Server-Core.package/TDDictionaryNodeBuilder.class/instance/childNodeNameList..st b/repository/Topez-Server-Core.package/TDDictionaryNodeBuilder.class/instance/childNodeNameList..st index e47a07a75..3ba88686a 100644 --- a/repository/Topez-Server-Core.package/TDDictionaryNodeBuilder.class/instance/childNodeNameList..st +++ b/repository/Topez-Server-Core.package/TDDictionaryNodeBuilder.class/instance/childNodeNameList..st @@ -2,6 +2,7 @@ as yet unclassified childNodeNameList: parentNode | specialElements | specialElements := parentNode topez displayOops - ifTrue: [ #('(class)' '(oop)') ] - ifFalse: [ #('(class)') ]. - ^ specialElements , (1 to: self associations size) collect: [ :each | each asString ] \ No newline at end of file + ifTrue: [ #('(class)' '(oop)' '(committed)' '(notTranlogged)') ] + ifFalse: [ #('(class)' '(committed)' '(notTranlogged)') ]. + ^ specialElements , (1 to: self associations size) + collect: [ :each | each asString ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDDictionaryNodeBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDDictionaryNodeBuilder.class/methodProperties.json index 7cddcc07b..e655237cd 100644 --- a/repository/Topez-Server-Core.package/TDDictionaryNodeBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDDictionaryNodeBuilder.class/methodProperties.json @@ -3,5 +3,5 @@ }, "instance" : { "associations" : "dkh 11/14/2013 16:59", - "childNamed:parent:ifAbsent:" : "dkh 04/10/2013 08:31", - "childNodeNameList:" : "DataCurator 02/04/2013 11:03" } } + "childNamed:parent:ifAbsent:" : "dkh 09/07/2015 17:24", + "childNodeNameList:" : "dkh 09/07/2015 17:24" } } diff --git a/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/addChildIfAbsent..st b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/addChildIfAbsent..st index 9a5615f4a..1092c578b 100644 --- a/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/addChildIfAbsent..st +++ b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/addChildIfAbsent..st @@ -1,10 +1,3 @@ as yet unclassified addChildIfAbsent: childName - ^ self - childNamed: childName - ifAbsent: [ - self - addChildNode: - (self class new - name: childName; - yourself) ] \ No newline at end of file + ^ self childNamed: childName ifAbsent: [ self addChild: childName ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/childNamed.addIfAbsent..st b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/childNamed.addIfAbsent..st index 8d79e2fdd..e8530da3e 100644 --- a/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/childNamed.addIfAbsent..st +++ b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/childNamed.addIfAbsent..st @@ -1,8 +1,8 @@ as yet unclassified childNamed: childName addIfAbsent: addIfAbsent - ^ self - childNamed: childName - ifAbsent: [ - addIfAbsent - ifFalse: [ ^ nil ]. - self addChildNode: (self class new name: childName) ] \ No newline at end of file + ^ self + childNamed: childName + ifAbsent: [ + addIfAbsent + ifFalse: [ ^ nil ]. + self addChild: childName ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/findMatchingPathFor.with..st b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/findMatchingPathFor.with..st index 9fca60f16..8b2216a6b 100644 --- a/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/findMatchingPathFor.with..st +++ b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/findMatchingPathFor.with..st @@ -1,19 +1,54 @@ as yet unclassified -findMatchingPathFor: aPath with: aTopez - | node elementName matches path | +findMatchingPathFor: aPathString with: aTopez + | matches prefix postfix longestMatch | self topez: aTopez. - path := aPath findTokens: '/'. - node := self path size > 1 - ifTrue: [ - node := self - lookupPath: (path copyFrom: 1 to: path size - 1) - ifAbsent: [ ^ aPath ] ]. - elementName := path last. matches := OrderedCollection new. - node - childrenDo: [ :child | - (child name beginsWith: elementName) - ifTrue: [ matches add: child ] ]. - matches size ~~ 1 - ifTrue: [ ^ aPath ]. - ^ matches first printName \ No newline at end of file + longestMatch := prefix := postfix := ''. + aPathString isEmpty + ifTrue: [ self childrenDo: [ :child | matches add: child name asString ] ] + ifFalse: [ + | node elementName path | + path := aPathString findTokens: '/'. + path size = 0 + ifTrue: [ + prefix := aPathString. + node := self ] + ifFalse: [ + | end nodePath | + end := (aPathString endsWith: '/') + ifTrue: [ path size ] + ifFalse: [ path size - 1 ]. + nodePath := path copyFrom: 1 to: end. + prefix := (aPathString beginsWith: '/') + ifTrue: [ '/' ] + ifFalse: [ '' ]. + nodePath do: [ :each | prefix := prefix , each , '/' ]. + node := self + lookupPath: nodePath + ifAbsent: [ + ^ {prefix. + matches. + postfix. + longestMatch} ]. + node isLeaf + ifFalse: [ postfix := '/' ] ]. + node isLeaf + ifFalse: [ + (aPathString endsWith: '/') + ifTrue: [ + node childrenDo: [ :child | matches add: child name asString ]. + postfix := ''. + longestMatch := aTopez shortestMatchFor: '' from: matches ] + ifFalse: [ + elementName := path last. + node + childrenDo: [ :child | + (child name beginsWith: elementName) + ifTrue: [ matches add: child name asString ] ]. + longestMatch := aTopez shortestMatchFor: elementName from: matches. + matches size > 1 + ifTrue: [ postfix := '' ] ] ] ]. + ^ {prefix. + matches. + postfix. + longestMatch} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/fromSton..st b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/fromSton..st index 8422302ac..9cce31ac5 100644 --- a/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/fromSton..st +++ b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/fromSton..st @@ -1,4 +1,4 @@ ston fromSton: stonReader super fromSton: stonReader. - self contents values do: [ :child | child parent: self ] \ No newline at end of file + self stonSetChildParents \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/moveDirectoryNode.as..st b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/moveDirectoryNode.as..st index aa4814df4..02f436bdd 100644 --- a/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/moveDirectoryNode.as..st +++ b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/moveDirectoryNode.as..st @@ -1,5 +1,3 @@ as yet unclassified moveDirectoryNode: aDirectoryNode as: newName - aDirectoryNode parent removeChildNode: aDirectoryNode. - aDirectoryNode name: newName. - ^ self addChildNode: aDirectoryNode \ No newline at end of file + ^ aDirectoryNode moveSelfDirectoryNodeTo: self as: newName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/moveSelfDirectoryNodeTo.as..st b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/moveSelfDirectoryNodeTo.as..st new file mode 100644 index 000000000..53cfd3c65 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/moveSelfDirectoryNodeTo.as..st @@ -0,0 +1,5 @@ +as yet unclassified +moveSelfDirectoryNodeTo: aDirectoryNode as: newName + self parent removeChildNode: self. + self name: newName. + ^ aDirectoryNode addChildNode: self \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/moveSelfFileSystemDirectoryNodeTo.as..st b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/moveSelfFileSystemDirectoryNodeTo.as..st new file mode 100644 index 000000000..f34604ce1 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/moveSelfFileSystemDirectoryNodeTo.as..st @@ -0,0 +1,6 @@ +as yet unclassified +moveSelfFileSystemDirectoryNodeTo: aFileSystemDirectoryNode as: newName + | childDirectory | + childDirectory := aFileSystemDirectoryNode copyDirectoryNode: self as: newName. + self parent removeChildNode: self. + ^ childDirectory \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/stonSetChildParents.st b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/stonSetChildParents.st new file mode 100644 index 000000000..0a72df2c8 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDDirectoryNode.class/instance/stonSetChildParents.st @@ -0,0 +1,3 @@ +ston +stonSetChildParents + self contents values do: [ :child | child parent: self ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDDirectoryNode.class/methodProperties.json b/repository/Topez-Server-Core.package/TDDirectoryNode.class/methodProperties.json index 008108a3d..63e45a0bc 100644 --- a/repository/Topez-Server-Core.package/TDDirectoryNode.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDDirectoryNode.class/methodProperties.json @@ -5,7 +5,7 @@ "acceptVisitor:" : "dkh 01/30/2014 12:32", "addAsChildOfFileSystemDirectoryNode:" : "dkh 11/27/2013 10:33", "addChild:" : "dkh 11/28/2012 05:31", - "addChildIfAbsent:" : "dkh 12/01/2013 19:55", + "addChildIfAbsent:" : "dkh 11/05/2014 13:57", "addChildNode:" : "DataCurator 01/23/2013 18:23", "addTempValueTo:" : "07/12/2013 08:47", "asTDNode:" : "DataCurator 01/26/2013 23:22", @@ -13,7 +13,7 @@ "block" : "dkh 04/02/2014 10:22", "cat" : "dkh 05/17/2013 06:34", "childNamed:" : "dkh 06/05/2013 11:42", - "childNamed:addIfAbsent:" : "dkh 11/28/2012 05:31", + "childNamed:addIfAbsent:" : "dkh 11/05/2014 13:58", "childNamed:ifAbsent:" : "DataCurator 12/12/2012 14:42", "contents" : "dkh 11/28/2012 05:31", "copyDirectoryNode:as:" : "dkh 12/22/2013 09:10", @@ -22,12 +22,14 @@ "copyTo:as:" : "dkh 12/22/2013 08:59", "elementExtension:" : "DataCurator 12/15/2012 11:09", "elementRenderNameTextAttributes:" : "DataCurator 12/15/2012 11:10", - "findMatchingPathFor:with:" : "dkh 05/28/2013 14:02", - "fromSton:" : "dkh 07/31/2013 16:24", + "findMatchingPathFor:with:" : "dkh 12/19/2014 15:59", + "fromSton:" : "dkh 11/05/2014 15:31", "lookupPath:ifAbsent:" : "DataCurator 12/12/2012 14:43", - "moveDirectoryNode:as:" : "dkh 12/22/2013 15:37", + "moveDirectoryNode:as:" : "dkh 11/07/2014 11:55", "moveLeafNode:as:" : "dkh 12/23/2013 09:31", "moveProxyLeafNode:as:" : "dkh 06/06/2014 15:15", + "moveSelfDirectoryNodeTo:as:" : "dkh 11/07/2014 11:54", + "moveSelfFileSystemDirectoryNodeTo:as:" : "dkh 11/07/2014 12:35", "moveTo:as:" : "dkh 12/22/2013 15:34", "objectNamed:" : "dkh 06/05/2013 11:41", "postCopy" : "dkh 09/25/2013 17:11", @@ -45,4 +47,5 @@ "rsyncCopyNodeUsing:" : "dkh 11/26/2013 11:00", "stonExportUsing:to:" : "dkh 09/14/2013 23:11", "stonOn:" : "dkh 05/17/2013 18:24", - "stonProcessSubObjects:" : "dkh 12/05/2013 21:54" } } + "stonProcessSubObjects:" : "dkh 12/05/2013 21:54", + "stonSetChildParents" : "dkh 11/05/2014 15:31" } } diff --git a/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/browseClassDefinitionMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/browseClassDefinitionMenuAction.selectionIndex..st index aa5a323af..e3ad77582 100644 --- a/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/browseClassDefinitionMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/browseClassDefinitionMenuAction.selectionIndex..st @@ -1,7 +1,6 @@ menu actions browseClassDefinitionMenuAction: listElement selectionIndex: selectionIndex - {(TDClassDefinition - className: self object dotSelfObject class theNonMetaClass name)} + {(self object dotSelfObject class asTDClassDefinition)} editUsing: (TDEditorSpec topez: listElement topez editorAspect: #'definitionList'). ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/findReferencePathsMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/findReferencePathsMenuAction.selectionIndex..st new file mode 100644 index 000000000..d12be9a79 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/findReferencePathsMenuAction.selectionIndex..st @@ -0,0 +1,19 @@ +menu actions +findReferencePathsMenuAction: listElement selectionIndex: selectionIndex + | gs dict | + gs := self gemstoneTool: listElement. + dict := Dictionary new. + gs + gsReferencesTo: {(self object)} + into: dict + inMemory: false + max: 5. + dict + editUsing: + ((TDEditorSpec topez: listElement topez editorAspect: #'inspect') + builderAspect: #'view'; + windowLocation: #'debugger'; + windowName: #'referencePaths'; + windowLabel: 'Reference paths for: ' , self object printString; + yourself). + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/findReferencesInMemoryMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/findReferencesInMemoryMenuAction.selectionIndex..st new file mode 100644 index 000000000..4d3d5d9a4 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/findReferencesInMemoryMenuAction.selectionIndex..st @@ -0,0 +1,19 @@ +menu actions +findReferencesInMemoryMenuAction: listElement selectionIndex: selectionIndex + | gs dict | + gs := self gemstoneTool: listElement. + dict := Dictionary new. + gs + gsReferencesTo: {(self object)} + into: dict + inMemory: true + max: 5. + dict + editUsing: + ((TDEditorSpec topez: listElement topez editorAspect: #'inspect') + builderAspect: #'view'; + windowLocation: #'debugger'; + windowName: #'references'; + windowLabel: 'In memory references to: ' , self object printString; + yourself). + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/objectMenuActionSpec.st b/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/objectMenuActionSpec.st index 976c9d20e..80a9b371b 100644 --- a/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/objectMenuActionSpec.st +++ b/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/instance/objectMenuActionSpec.st @@ -4,5 +4,8 @@ objectMenuActionSpec #('browse full' $B #'browseFullClassMenuAction:selectionIndex:'). #('class references' $N #'browseReferencesMenuAction:selectionIndex:'). #('-'). + #('object references in session' nil #'findReferencesInMemoryMenuAction:selectionIndex:'). + #('object reference paths in repository' nil #'findReferencePathsMenuAction:selectionIndex:'). + #('-'). #('inspect' nil #'inspectObjectMenuAction:selectionIndex:'). #('print' $p #'printObjectMenuAction:selectionIndex:')} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/methodProperties.json index fe1f78308..f0e72803f 100644 --- a/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDDirectoryNodeClientListElementBuilder.class/methodProperties.json @@ -2,15 +2,17 @@ "class" : { }, "instance" : { - "browseClassDefinitionMenuAction:selectionIndex:" : "dkh 10/01/2013 07:43", + "browseClassDefinitionMenuAction:selectionIndex:" : "dkh 09/12/2015 08:36", "clientList:" : "dkh 03/20/2014 20:37", "defaultEditorWindowLocation" : "DataCurator 01/27/2013 21:11", "defaultEditorWindowName" : "DataCurator 01/24/2013 13:44", "enableDisableMenuItems:" : "dkh 07/08/2014 10:18", + "findReferencePathsMenuAction:selectionIndex:" : "dkh 07/05/2015 13:40", + "findReferencesInMemoryMenuAction:selectionIndex:" : "dkh 07/05/2015 13:38", "itemSelected:at:shiftPressed:" : "dkh 04/19/2014 09:35", "menuActionBlock" : "dkh 06/20/2014 12:08", "menuActionSpec" : "dkh 08/07/2014 22:11", - "objectMenuActionSpec" : "dkh 07/08/2014 08:56", + "objectMenuActionSpec" : "dkh 07/05/2015 13:23", "objectParents" : "dkh 02/19/2014 18:25", "setIndexableWindowMenuAction:" : "dkh 08/07/2014 22:14", "setInspectBuilderAspectMenuAction:selectionIndex:" : "dkh 02/18/2014 11:18", diff --git a/repository/Topez-Server-Core.package/TDExtensionClassDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st b/repository/Topez-Server-Core.package/TDExtensionClassDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st index f8e7d3c62..d83835146 100644 --- a/repository/Topez-Server-Core.package/TDExtensionClassDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st +++ b/repository/Topez-Server-Core.package/TDExtensionClassDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st @@ -4,8 +4,7 @@ addToClientListFor: clsDef names: nameList items: items indents: indents aspect: space := ''. (indents at: clsDef) timesRepeat: [ space := space , ' ' ]. nameList - add: - (Text string: space , clsDef className asString attribute: TextEmphasis italic). + add: (Text string: space , clsDef label attribute: TextEmphasis italic). items add: (TDClientListItemAttributes object: self parent: nil aspect: aspect). space := space , ' '. diff --git a/repository/Topez-Server-Core.package/TDExtensionClassDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDExtensionClassDefinition.class/methodProperties.json index 1f48febb2..044328e69 100644 --- a/repository/Topez-Server-Core.package/TDExtensionClassDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDExtensionClassDefinition.class/methodProperties.json @@ -3,7 +3,7 @@ }, "instance" : { "=" : "dkh 06/04/2013 11:17", - "addToClientListFor:names:items:indents:aspect:" : "dkh 10/05/2013 11:45", + "addToClientListFor:names:items:indents:aspect:" : "dkh 09/09/2015 16:23", "classMethods" : "dkh 05/28/2013 13:59", "hash" : "dkh 06/04/2013 11:32", "instanceMethods" : "dkh 05/28/2013 13:59", diff --git a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/class/directoryEntry..st b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/class/directoryEntry..st index a252b9390..d96af22c2 100644 --- a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/class/directoryEntry..st +++ b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/class/directoryEntry..st @@ -1,4 +1,4 @@ -as yet unclassified +instance creation directoryEntry: aDirectoryEntry ^ self new name: aDirectoryEntry name; diff --git a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/addAsChildOfFileSystemDirectoryNode..st b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/addAsChildOfFileSystemDirectoryNode..st new file mode 100644 index 000000000..15bcdbf15 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/addAsChildOfFileSystemDirectoryNode..st @@ -0,0 +1,3 @@ +as yet unclassified +addAsChildOfFileSystemDirectoryNode: aTDFileSystemDirectoryNode + ^ aTDFileSystemDirectoryNode addChildFileSystemDirectoryNode: self \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/addChildFileSystemDirectoryNode..st b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/addChildFileSystemDirectoryNode..st new file mode 100644 index 000000000..6ba75cfe8 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/addChildFileSystemDirectoryNode..st @@ -0,0 +1,13 @@ +as yet unclassified +addChildFileSystemDirectoryNode: aTDFileSystemDirectoryNode + "don't transfer big files this way:)" + + | parentDir childParentNode | + parentDir := aTDFileSystemDirectoryNode containingDirectory. + (parentDir notNil + and: [ parentDir directoryExists: aTDFileSystemDirectoryNode name ]) + ifFalse: [ self addChild: aTDFileSystemDirectoryNode name ]. + childParentNode := self _childNodeFor: aTDFileSystemDirectoryNode name. + aTDFileSystemDirectoryNode + childrenDo: [ :child | child copyTo: childParentNode as: child name ]. + ^ self _childNodeFor: aTDFileSystemDirectoryNode name \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/addChildLeafNode..st b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/addChildLeafNode..st index dd30c0e7a..de59ba4a5 100644 --- a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/addChildLeafNode..st +++ b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/addChildLeafNode..st @@ -2,5 +2,7 @@ as yet unclassified addChildLeafNode: aNode self fileDirectory forceNewFileNamed: aNode name , self stonFileExtension - do: [ :fileStream | STONWriter plainTextNewlinesDuring: [ STON put: aNode onStream: fileStream ] ]. + do: [ :fileStream | + STONWriter + plainTextNewlinesDuring: [ fileStream nextPutAll: (self objectSerializer toString: aNode) ] ]. ^ self _childNodeFor: aNode name , self stonFileExtension \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/containingDirectory.st b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/containingDirectory.st new file mode 100644 index 000000000..f7b43dbcc --- /dev/null +++ b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/containingDirectory.st @@ -0,0 +1,3 @@ +as yet unclassified +containingDirectory + ^ self directoryEntry sourceDirectory containingDirectory \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/moveDirectoryNode.as..st b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/moveDirectoryNode.as..st index 77713658b..5b352a24d 100644 --- a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/moveDirectoryNode.as..st +++ b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/moveDirectoryNode.as..st @@ -1,6 +1,3 @@ as yet unclassified moveDirectoryNode: aDirectoryNode as: newName - | childDirectory | - childDirectory := self copyDirectoryNode: aDirectoryNode as: newName. - aDirectoryNode parent removeChildNode: aDirectoryNode. - ^ childDirectory \ No newline at end of file + ^ aDirectoryNode moveSelfFileSystemDirectoryNodeTo: self as: newName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/moveSelfDirectoryNodeTo.as..st b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/moveSelfDirectoryNodeTo.as..st new file mode 100644 index 000000000..0498bbf1a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/moveSelfDirectoryNodeTo.as..st @@ -0,0 +1,6 @@ +as yet unclassified +moveSelfDirectoryNodeTo: aDirectoryNode as: newName + | childDirectory | + childDirectory := aDirectoryNode copyDirectoryNode: self as: newName. + self parent removeChildNode: self. + ^ childDirectory \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/rsyncChildNamed.ifAbsent..st b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/rsyncChildNamed.ifAbsent..st index 7523950c8..6343140cd 100644 --- a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/rsyncChildNamed.ifAbsent..st +++ b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/instance/rsyncChildNamed.ifAbsent..st @@ -9,5 +9,5 @@ rsyncChildNamed: childName ifAbsent: absentBlock ifFalse: [ ^ absentBlock value ]. dir readOnlyFileNamed: fileName - do: [ :fileStream | newNode := STON fromStream: fileStream ]. + do: [ :fileStream | newNode := self objectSerializer fromString: fileStream contents ]. ^ newNode \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/methodProperties.json b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/methodProperties.json index 216565b06..a375469a3 100644 --- a/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDFileSystemDirectoryNode.class/methodProperties.json @@ -4,28 +4,32 @@ "instance" : { "_childNodeFor:" : "dkh 11/27/2013 10:26", "acceptVisitor:" : "dkh 01/30/2014 12:30", + "addAsChildOfFileSystemDirectoryNode:" : "dkh 11/06/2014 17:49", "addChild:" : "dkh 12/01/2013 19:48", + "addChildFileSystemDirectoryNode:" : "dkh 11/07/2014 11:30", "addChildFileSystemLeafNode:" : "dkh 12/21/2013 08:20", - "addChildLeafNode:" : "dkh 12/06/2013 17:29", + "addChildLeafNode:" : "dkh 06/25/2015 15:47", "addChildNode:" : "dkh 11/27/2013 10:23", "addChildObjectNode:" : "dkh 12/07/2013 09:35", "asTDFileSystemNode" : "08/07/2013 16:55", "childNamed:ifAbsent:" : "dkh 08/10/2014 17:20", "childrenAndNamesDo:" : "08/07/2013 05:59", "childrenDo:" : "08/07/2013 06:04", + "containingDirectory" : "dkh 11/07/2014 11:23", "directoryEntries" : "dkh 11/27/2013 10:13", "directoryEntry" : "08/07/2013 06:55", "directoryEntry:" : "08/06/2013 08:15", "dotSelfObject" : "dkh 11/27/2013 10:13", "fileDirectory" : "dkh 11/27/2013 10:13", "listContents:" : "dkh 12/06/2013 15:18", - "moveDirectoryNode:as:" : "dkh 12/22/2013 19:49", + "moveDirectoryNode:as:" : "dkh 11/07/2014 12:30", + "moveSelfDirectoryNodeTo:as:" : "dkh 11/07/2014 11:57", "removeAsChildOfFileSystemDirectoryNode:" : "dkh 12/06/2013 18:49", "removeChildFileSystemLeafNode:" : "dkh 11/27/2013 10:40", "removeChildNamed:" : "dkh 12/20/2013 14:28", "removeChildNode:" : "dkh 11/27/2013 10:35", "renderNameTextAttributes" : "dkh 11/28/2013 07:39", "resolveSpecialChildNamed:ifAbsent:" : "dkh 01/11/2014 17:25", - "rsyncChildNamed:ifAbsent:" : "dkh 12/06/2013 14:41", + "rsyncChildNamed:ifAbsent:" : "dkh 06/25/2015 15:47", "rsyncCopyLeafNode:preserveTimes:" : "dkh 12/06/2013 14:44", "stonOn:" : "08/07/2013 06:05" } } diff --git a/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/asTDLeafNode.st b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/asTDLeafNode.st index 264dd8ab1..4c1261632 100644 --- a/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/asTDLeafNode.st +++ b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/asTDLeafNode.st @@ -1,6 +1,6 @@ as yet unclassified asTDLeafNode - ^ (STON fromString: self fileContents) + ^ (self objectSerializer fromString: self fileContents) parent: self parent; topez: self topez; yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/childrenDo..st b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/childrenDo..st new file mode 100644 index 000000000..1c4c97394 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/childrenDo..st @@ -0,0 +1,5 @@ +accessing +childrenDo: aBlock + (self name endsWith: self stonFileExtension) + ifTrue: [ self asTDLeafNode childrenDo: aBlock ] + ifFalse: [ super childrenDo: aBlock ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/composedChildrenDo..st b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/composedChildrenDo..st new file mode 100644 index 000000000..ab3ae30e0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/composedChildrenDo..st @@ -0,0 +1,5 @@ +accessing +composedChildrenDo: aBlock + (self name endsWith: self stonFileExtension) + ifTrue: [ self asTDLeafNode composedChildrenDo: aBlock ] + ifFalse: [ super composedChildrenDo: aBlock ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/findMatchingPathFor.with..st b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/findMatchingPathFor.with..st new file mode 100644 index 000000000..910b71d5f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/findMatchingPathFor.with..st @@ -0,0 +1,5 @@ +accessing +findMatchingPathFor: aPath with: aTopez + ^ (self name endsWith: self stonFileExtension) + ifTrue: [ self asTDLeafNode findMatchingPathFor: aPath with: aTopez ] + ifFalse: [ super findMatchingPathFor: aPath with: aTopez ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/name..st b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/name..st index 12758835a..7807f3ea5 100644 --- a/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/name..st +++ b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/name..st @@ -9,5 +9,7 @@ name: aString super name: aString , self stonFileExtension. self fileDirectory forceNewFileNamed: aNode name , self stonFileExtension - do: [ :fileStream | STONWriter plainTextNewlinesDuring: [ STON put: aNode onStream: fileStream ] ] ] + do: [ :fileStream | + STONWriter + plainTextNewlinesDuring: [ fileStream nextPutAll: (self objectSerializer toString: aNode) ] ] ] ifFalse: [ super name: aString ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/saveContents.asElementSource..st b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/saveContents.asElementSource..st index 4c29680ef..aca6d4f2e 100644 --- a/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/saveContents.asElementSource..st +++ b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/instance/saveContents.asElementSource..st @@ -10,7 +10,7 @@ saveContents: anObject asElementSource: asElementSource ifFalse: [ aNode contents: anObject ]. filename := aNode name , self stonFileExtension. STONWriter - plainTextNewlinesDuring: [ fileContents := STON toString: aNode ] ] + plainTextNewlinesDuring: [ fileContents := self objectSerializer toString: aNode ] ] ifFalse: [ filename := self name. fileContents := anObject withGemstoneLineEndings ]. diff --git a/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/methodProperties.json b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/methodProperties.json index 386a116e0..386f6f574 100644 --- a/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDFileSystemLeafNode.class/methodProperties.json @@ -9,13 +9,15 @@ "acceptVisitor:proxiedBy:" : "dkh 01/31/2014 10:52", "addAsChildOfFileSystemDirectoryNode:" : "dkh 12/20/2013 13:51", "addChildNode:" : "dkh 06/06/2014 15:00", - "asTDLeafNode" : "dkh 12/06/2013 16:06", + "asTDLeafNode" : "dkh 06/25/2015 15:47", "block" : "dkh 12/06/2013 15:02", "canMove" : "dkh 12/20/2013 13:39", "cat" : "dkh 12/06/2013 11:04", "childNamed:ifAbsent:" : "dkh 12/23/2013 12:32", "childrenAndNamesDo:" : "dkh 12/07/2013 08:44", + "childrenDo:" : "dkh 11/13/2014 14:05", "classForEditorNodeLookup" : "dkh 12/06/2013 10:38", + "composedChildrenDo:" : "dkh 11/21/2014 15:05", "contents" : "dkh 12/06/2013 16:18", "contents:" : "dkh 12/06/2013 16:21", "copyDirectoryNode:as:" : "dkh 05/28/2014 14:10", @@ -30,6 +32,7 @@ "extension" : "dkh 12/06/2013 15:05", "fileContents" : "dkh 12/13/2013 17:29", "fileDirectory" : "dkh 12/05/2013 23:06", + "findMatchingPathFor:with:" : "dkh 12/17/2014 22:01", "isLeaf" : "dkh 12/06/2013 21:21", "listContents:" : "dkh 12/19/2013 07:24", "lookup:with:" : "dkh 12/07/2013 08:46", @@ -38,12 +41,12 @@ "modificationTime" : "dkh 11/30/2013 21:46", "modified" : "dkh 11/10/2013 21:03", "moveProxyLeafNode:as:" : "dkh 06/06/2014 15:10", - "name:" : "dkh 12/20/2013 14:12", + "name:" : "dkh 06/25/2015 15:47", "removeAsChildOfFileSystemDirectoryNode:" : "dkh 12/06/2013 12:03", "renderNameText" : "dkh 12/06/2013 15:10", "renderNameTextAttributes" : "dkh 12/06/2013 10:57", "rsyncCopyNodeUsing:" : "dkh 12/01/2013 11:47", "rsyncEquals:with:" : "dkh 11/30/2013 21:33", "rsyncSize" : "dkh 12/06/2013 11:15", - "saveContents:asElementSource:" : "dkh 12/18/2013 13:24", + "saveContents:asElementSource:" : "dkh 06/25/2015 15:47", "stonOn:" : "dkh 12/09/2013 16:04" } } diff --git a/repository/Topez-Server-Core.package/TDFileTreeDiffBrowser.class/instance/enableDisableMenuItems..st b/repository/Topez-Server-Core.package/TDFileTreeDiffBrowser.class/instance/enableDisableMenuItems..st index ab4f34dd7..c6a855b5e 100644 --- a/repository/Topez-Server-Core.package/TDFileTreeDiffBrowser.class/instance/enableDisableMenuItems..st +++ b/repository/Topez-Server-Core.package/TDFileTreeDiffBrowser.class/instance/enableDisableMenuItems..st @@ -14,7 +14,7 @@ enableDisableMenuItems: selectedOperation ifTrue: [ enable value: #'fileHistory' ]. selectedOperation hasFileTreeSmalltalkSource ifTrue: [ enable value: #'stMenuItem' ]. - ^ STON + ^ self objectSerializer toString: {#'setMenuCategories:'. enabled. diff --git a/repository/Topez-Server-Core.package/TDFileTreeDiffBrowser.class/methodProperties.json b/repository/Topez-Server-Core.package/TDFileTreeDiffBrowser.class/methodProperties.json index 36ce9e06d..a6b33112c 100644 --- a/repository/Topez-Server-Core.package/TDFileTreeDiffBrowser.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDFileTreeDiffBrowser.class/methodProperties.json @@ -2,7 +2,7 @@ "class" : { }, "instance" : { - "enableDisableMenuItems:" : "dkh 05/30/2014 11:15", + "enableDisableMenuItems:" : "dkh 06/25/2015 15:48", "installDestinationMenuAction:selectionIndex:" : "dkh 05/30/2014 10:43", "installSourceMenuAction:selectionIndex:" : "dkh 05/29/2014 21:18", "menuActionSpec:" : "dkh 05/21/2014 10:36", diff --git a/repository/Topez-Server-Core.package/TDGatewayNode.class/instance/childNamed..st b/repository/Topez-Server-Core.package/TDGatewayNode.class/instance/childNamed..st new file mode 100644 index 000000000..2c9ef0db4 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDGatewayNode.class/instance/childNamed..st @@ -0,0 +1,5 @@ +as yet unclassified +childNamed: childName + ^ self + childNamed: childName + ifAbsent: [ self error: 'No node named: ' , childName printString , ' found.' ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDGatewayNode.class/instance/composedChildrenDo..st b/repository/Topez-Server-Core.package/TDGatewayNode.class/instance/composedChildrenDo..st new file mode 100644 index 000000000..a10d8f7bf --- /dev/null +++ b/repository/Topez-Server-Core.package/TDGatewayNode.class/instance/composedChildrenDo..st @@ -0,0 +1,3 @@ +as yet unclassified +composedChildrenDo: aBlock + ^ self gatewayNode composedChildrenDo: aBlock \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDGatewayNode.class/instance/findMatchingPathFor.with..st b/repository/Topez-Server-Core.package/TDGatewayNode.class/instance/findMatchingPathFor.with..st new file mode 100644 index 000000000..a8c74c646 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDGatewayNode.class/instance/findMatchingPathFor.with..st @@ -0,0 +1,3 @@ +as yet unclassified +findMatchingPathFor: aPath with: aTopez + ^ self gatewayNode findMatchingPathFor: aPath with: aTopez \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDGatewayNode.class/instance/visitAsLeafNode..st b/repository/Topez-Server-Core.package/TDGatewayNode.class/instance/visitAsLeafNode..st index 513b18255..d701688ed 100644 --- a/repository/Topez-Server-Core.package/TDGatewayNode.class/instance/visitAsLeafNode..st +++ b/repository/Topez-Server-Core.package/TDGatewayNode.class/instance/visitAsLeafNode..st @@ -1,4 +1,5 @@ accessing -visitAsLeafNode: anObject +visitAsLeafNode: aBool + "if true, the source of the receiver will be scanned. Otherwise scan continues through children." - visitAsLeafNode := anObject \ No newline at end of file + visitAsLeafNode := aBool \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDGatewayNode.class/methodProperties.json b/repository/Topez-Server-Core.package/TDGatewayNode.class/methodProperties.json index f2043251a..09e3f7b2a 100644 --- a/repository/Topez-Server-Core.package/TDGatewayNode.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDGatewayNode.class/methodProperties.json @@ -9,10 +9,12 @@ "addChildNode:" : "dkh 12/05/2013 07:35", "addTempValueTo:" : "07/12/2013 08:48", "block" : "dkh 11/10/2013 10:57", + "childNamed:" : "dkh 11/07/2014 15:37", "childNamed:addIfAbsent:" : "dkh 07/12/2014 15:42", "childNamed:ifAbsent:" : "dkh 05/17/2013 06:51", "childrenAndNamesDo:" : "dkh 05/17/2013 07:10", "childrenDo:" : "dkh 05/17/2013 07:10", + "composedChildrenDo:" : "dkh 11/21/2014 15:04", "contents:" : "dkh 05/17/2013 07:18", "copyDirectoryNode:as:" : "dkh 12/23/2013 12:51", "copyLeafNode:as:" : "dkh 12/23/2013 09:52", @@ -22,6 +24,7 @@ "creationTime" : "dkh 12/06/2013 16:43", "creationTime:" : "dkh 12/06/2013 16:43", "dotSelfObject" : "dkh 05/17/2013 06:41", + "findMatchingPathFor:with:" : "dkh 12/17/2014 22:03", "gateway" : "dkh 01/31/2014 06:45", "gatewayNode" : "dkh 05/17/2013 16:09", "initialize" : "dkh 12/06/2013 16:43", @@ -52,4 +55,4 @@ "stonOn:" : "dkh 05/17/2013 07:40", "stonProcessSubObjects:" : "dkh 12/05/2013 21:54", "visitAsLeafNode" : "dkh 05/28/2014 10:46", - "visitAsLeafNode:" : "dkh 05/28/2014 10:43" } } + "visitAsLeafNode:" : "dkh 12/19/2014 16:34" } } diff --git a/repository/Topez-Server-Core.package/TDGitDiffBrowser.class/instance/enableDisableMenuItems..st b/repository/Topez-Server-Core.package/TDGitDiffBrowser.class/instance/enableDisableMenuItems..st index 7fe525522..2089c21b3 100644 --- a/repository/Topez-Server-Core.package/TDGitDiffBrowser.class/instance/enableDisableMenuItems..st +++ b/repository/Topez-Server-Core.package/TDGitDiffBrowser.class/instance/enableDisableMenuItems..st @@ -11,7 +11,7 @@ enableDisableMenuItems: selectedOperation ifTrue: [ enable value: #'fullHistory' ]. (source notNil and: [ destination notNil ]) ifTrue: [ enable value: #'fileHistory' ]. - ^ STON + ^ self objectSerializer toString: {#'setMenuCategories:'. enabled. diff --git a/repository/Topez-Server-Core.package/TDGitDiffBrowser.class/methodProperties.json b/repository/Topez-Server-Core.package/TDGitDiffBrowser.class/methodProperties.json index ab4f05545..fc95d171f 100644 --- a/repository/Topez-Server-Core.package/TDGitDiffBrowser.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDGitDiffBrowser.class/methodProperties.json @@ -2,7 +2,7 @@ "class" : { }, "instance" : { - "enableDisableMenuItems:" : "dkh 05/30/2014 11:13", + "enableDisableMenuItems:" : "dkh 06/25/2015 15:48", "operations" : "dkh 05/09/2014 14:53", "operations:" : "dkh 05/09/2014 14:53", "operationsMenuActionSpec" : "dkh 05/29/2014 21:08" } } diff --git a/repository/Topez-Server-Core.package/TDGitProjectRegistrationDefinition.class/instance/createTemplateProjectEntry..st b/repository/Topez-Server-Core.package/TDGitProjectRegistrationDefinition.class/instance/createTemplateProjectEntry..st new file mode 100644 index 000000000..9760d31ab --- /dev/null +++ b/repository/Topez-Server-Core.package/TDGitProjectRegistrationDefinition.class/instance/createTemplateProjectEntry..st @@ -0,0 +1,6 @@ +project list +createTemplateProjectEntry: ignored + ^ entry := TDGitRepositoryEntryDefinition new + projectName: self projectName; + gitRepoDirectoryPath: self gitRepoDirectoryPath; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDGitProjectRegistrationDefinition.class/instance/gitRootDirectory.st b/repository/Topez-Server-Core.package/TDGitProjectRegistrationDefinition.class/instance/gitRootDirectory.st new file mode 100644 index 000000000..cb6de8a87 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDGitProjectRegistrationDefinition.class/instance/gitRootDirectory.st @@ -0,0 +1,3 @@ +accessing +gitRootDirectory + ^ self gitRepoDirectory \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDGitProjectRegistrationDefinition.class/instance/refreshProjectEntryUsing..st b/repository/Topez-Server-Core.package/TDGitProjectRegistrationDefinition.class/instance/refreshProjectEntryUsing..st new file mode 100644 index 000000000..164a6137f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDGitProjectRegistrationDefinition.class/instance/refreshProjectEntryUsing..st @@ -0,0 +1,10 @@ +actions +refreshProjectEntryUsing: refreshSpec + "force registration to be unregistered (and project entry to be reloaded) depending upon + symbols in : + #'loaded', #'unloaded', #'locked', and/or #'unlocked' +" + + "noop" + + ^ false \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDGitProjectRegistrationDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDGitProjectRegistrationDefinition.class/methodProperties.json index 8fe98c315..8879b01fe 100644 --- a/repository/Topez-Server-Core.package/TDGitProjectRegistrationDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDGitProjectRegistrationDefinition.class/methodProperties.json @@ -3,6 +3,7 @@ }, "instance" : { "commitMessageUsing:" : "dkh 05/15/2014 18:49", + "createTemplateProjectEntry:" : "dkh 03/13/2015 17:00", "currentBranchName" : "dkh 08/10/2014 16:54", "diffProjectUsing:" : "dkh 05/15/2014 18:49", "emphasis" : "dkh 05/15/2014 18:24", @@ -11,8 +12,10 @@ "fieldTwo" : "dkh 05/15/2014 20:54", "gitRepoDirectory" : "dkh 05/15/2014 18:11", "gitRepoDirectoryPath" : "dkh 08/10/2014 17:01", + "gitRootDirectory" : "dkh 12/19/2014 16:44", "hasGitRepository" : "dkh 05/15/2014 18:28", "isDirty" : "dkh 05/30/2014 07:27", "isExternalGitProject" : "dkh 05/16/2014 06:49", + "refreshProjectEntryUsing:" : "dkh 02/18/2015 14:48", "saveProjectUsing:commitMessage:" : "dkh 05/15/2014 18:50", "versionString" : "dkh 08/10/2014 16:41" } } diff --git a/repository/Topez-Server-Core.package/TDGsNMethodElementBuilder.class/instance/elementSource.st b/repository/Topez-Server-Core.package/TDGsNMethodElementBuilder.class/instance/elementSource.st index 34c6f8508..a40c4c347 100644 --- a/repository/Topez-Server-Core.package/TDGsNMethodElementBuilder.class/instance/elementSource.st +++ b/repository/Topez-Server-Core.package/TDGsNMethodElementBuilder.class/instance/elementSource.st @@ -1,5 +1,3 @@ as yet unclassified elementSource - ^ self isMethodForBlock - ifTrue: [ self object sourceString ] - ifFalse: [ self theBehavior sourceCodeAt: self selector ] \ No newline at end of file + ^ self object sourceString \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDGsNMethodElementBuilder.class/instance/selector.st b/repository/Topez-Server-Core.package/TDGsNMethodElementBuilder.class/instance/selector.st index fcd4082ae..f61e74083 100644 --- a/repository/Topez-Server-Core.package/TDGsNMethodElementBuilder.class/instance/selector.st +++ b/repository/Topez-Server-Core.package/TDGsNMethodElementBuilder.class/instance/selector.st @@ -1,3 +1,5 @@ as yet unclassified selector + self isMethodForBlock + ifTrue: [ ^ self object homeMethod selector ]. ^ self object selector \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDGsNMethodElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDGsNMethodElementBuilder.class/methodProperties.json index d266f6bee..e212964f3 100644 --- a/repository/Topez-Server-Core.package/TDGsNMethodElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDGsNMethodElementBuilder.class/methodProperties.json @@ -3,10 +3,10 @@ }, "instance" : { "differentMethodCreated:" : "DataCurator 02/09/2013 09:40", - "elementSource" : "dkh 09/28/2013 13:41", + "elementSource" : "dkh 06/11/2015 11:54", "inClass" : "DataCurator 01/27/2013 02:03", "isMethodForBlock" : "dkh 09/28/2013 13:40", "method" : "DataCurator 02/05/2013 22:08", - "selector" : "DataCurator 01/27/2013 02:08", + "selector" : "dkh 06/11/2015 11:31", "theBehavior" : "DataCurator 02/07/2013 11:50", "theClass" : "DataCurator 01/27/2013 02:06" } } diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/README.md b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/beMultipleSelection.st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/beMultipleSelection.st new file mode 100644 index 000000000..f47b9741e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/beMultipleSelection.st @@ -0,0 +1,3 @@ +accessing +beMultipleSelection + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/doMergeMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/doMergeMenuAction.selectionIndex..st new file mode 100644 index 000000000..18cf42290 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/doMergeMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +doMergeMenuAction: listElement selectionIndex: selectionIndex + "load merger" + + self merger doMerge + ifTrue: [ ^ #'close' ] + ifFalse: [ ^ true ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/enableDisableMenuItems..st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/enableDisableMenuItems..st new file mode 100644 index 000000000..967b15a08 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/enableDisableMenuItems..st @@ -0,0 +1,22 @@ +tools +enableDisableMenuItems: mergeOperation + | enabled disabled enable | + enabled := {}. + disabled := {#'stOperation'. + #'stMethodOperation'}. + self selectedOperations size <= 0 + ifTrue: [ + enable := [ :symbol | + enabled add: symbol. + disabled remove: symbol ]. + mergeOperation hasSmalltalkDefinition + ifTrue: [ + enable value: #'stOperation'. + mergeOperation hasSmalltalkMethodDefinition + ifTrue: [ enable value: #'stMethodOperation' ] ] ]. + ^ self objectSerializer + toString: + {#'setMenuCategories:'. + enabled. + #'clearMenuCategories:'. + disabled} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st new file mode 100644 index 000000000..a306915a1 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st @@ -0,0 +1,8 @@ +tools +itemSelected: miniTool listElement: listElement selectedIndex: index shiftPressed: shiftPressed + ^ self + itemSelected: miniTool + listElement: listElement + selectedIndex: index + shiftPressed: shiftPressed + listSelectionsDictionary: nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed.listSelectionsDictionary..st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed.listSelectionsDictionary..st new file mode 100644 index 000000000..e73b343cb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed.listSelectionsDictionary..st @@ -0,0 +1,17 @@ +tools +itemSelected: miniTool listElement: listElement selectedIndex: index shiftPressed: shiftPressed listSelectionsDictionary: listSelectionsDictionary + | operation | + theMiniTool := miniTool. + selectedOperations := Set new. + listSelectionsDictionary + ifNotNil: [ + listSelectionsDictionary + keysAndValuesDo: [ :selectionIndex :selectionBoolean | + selectionBoolean + ifTrue: [ selectedOperations add: (self operations at: selectionIndex) ] ] ]. + index == 0 + ifTrue: [ ^ false ]. + operation := self operations at: index. + selectedOperations add: operation. + self editOperation: operation listElement: listElement. + ^ self enableDisableMenuItems: operation \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/menuActionSpec..st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/menuActionSpec..st new file mode 100644 index 000000000..b8da712c3 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/menuActionSpec..st @@ -0,0 +1,6 @@ +menu action specs +menuActionSpec: miniTool + theMiniTool := miniTool. + ^ self operationsMenuActionSpec , {#('-')} + , {{('Method' -> self methodMenuActionSpec)}} , {#('-')} + , self standardMenuActionSpec \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/merger..st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/merger..st new file mode 100644 index 000000000..f8ae9458f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/merger..st @@ -0,0 +1,3 @@ +initialization +merger: aTDMerger + self merger: aTDMerger mergerCompletionBlock: [ ] mergerAbortBlock: [ ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/merger.mergerCompletionBlock.mergerAbortBlock..st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/merger.mergerCompletionBlock.mergerAbortBlock..st new file mode 100644 index 000000000..965f2d0c0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/merger.mergerCompletionBlock.mergerAbortBlock..st @@ -0,0 +1,8 @@ +initialization +merger: aTDMerger mergerCompletionBlock: aMergerCompletionBlock mergerAbortBlock: aMergerAbortBlock + selectedOperations := Set new. + aTDMerger mergeTool: self. + merger := aTDMerger + mergerCompletionBlock: [ aMergerCompletionBlock value ]; + mergerAbortBlock: aMergerAbortBlock; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/merger.st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/merger.st new file mode 100644 index 000000000..0dbbd1d03 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/merger.st @@ -0,0 +1,4 @@ +accessing +merger + + ^merger \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/methodMenuActionSpec.st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/methodMenuActionSpec.st new file mode 100644 index 000000000..38c749e55 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/methodMenuActionSpec.st @@ -0,0 +1,10 @@ +menu action specs +methodMenuActionSpec + ^ {#('browse full' $B #'browseFullClassMenuAction:selectionIndex:' nil #'stOperation' false). + #('browse method' nil #'browseFullMethodMenuAction:selectionIndex:' nil #'stOperation' false). + #('-'). + #('implementors' $m #'browseImplementorsMenuAction:selectionIndex:' nil #'stMethodOperation' false). + #('senders' $n #'browseSendersMenuAction:selectionIndex:' nil #'stMethodOperation' false). + #('-'). + #('install source' nil #'installSourceMenuAction:selectionIndex:' nil #'stOperation' false). + #('install destination' nil #'installDestinationMenuAction:selectionIndex:' nil #'stOperation' false)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/operations.st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/operations.st new file mode 100644 index 000000000..27ad1b0cb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/operations.st @@ -0,0 +1,10 @@ +accessing +operations + | ops | + ops := self merger operations select: self stFilterBlock. + ops isEmpty + ifTrue: [ + "if the filtered list is empty, ignore the filter ... for now ... could be disturbing to see an empty list" + self inform: 'Filtered list is empty, showing ALL!'. + ^ self merger operations ]. + ^ ops \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/operationsMenuActionSpec.st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/operationsMenuActionSpec.st new file mode 100644 index 000000000..b2c769669 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/operationsMenuActionSpec.st @@ -0,0 +1,12 @@ +menu action specs +operationsMenuActionSpec + ^ {#('source def' $d #'selectSourceDefinitionMenuAction:selectionIndex:'). + #('edit def' $e #'selectEditDefinitionMenuAction:selectionIndex:'). + #('destination def' $r #'selectDestinationDefinitionMenuAction:selectionIndex:'). + #('-'). + #('do merge' $j #'doMergeMenuAction:selectionIndex:'). + #('-'). + #('toggle diff' $t #'toggleDiffMenuAction:selectionIndex:'). + #('toggle view same source' nil #'toggleViewSameSource:selectionIndex:'). + #('-'). + #('set (clear) class filter' nil #'selectClassOperations:selectionIndex:')} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectClassOperations.selectionIndex..st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/selectClassOperations.selectionIndex..st similarity index 100% rename from repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectClassOperations.selectionIndex..st rename to repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/selectClassOperations.selectionIndex..st diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/selectEditDefinitionMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/selectEditDefinitionMenuAction.selectionIndex..st new file mode 100644 index 000000000..4cb76ce5e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/selectEditDefinitionMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +selectEditDefinitionMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation selectEdit. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/selectedOperations.st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/selectedOperations.st new file mode 100644 index 000000000..742628dc0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/selectedOperations.st @@ -0,0 +1,3 @@ +accessing +selectedOperations + ^ selectedOperations \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/showAll.st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/showAll.st new file mode 100644 index 000000000..e36541c55 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/showAll.st @@ -0,0 +1,3 @@ +private +showAll + stFilterBlock := nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/showRaw.st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/showRaw.st new file mode 100644 index 000000000..9326e2403 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/showRaw.st @@ -0,0 +1,3 @@ +private +showRaw + stFilterBlock := [ :op | true ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/showTagged.st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/showTagged.st new file mode 100644 index 000000000..bd52b9a72 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/showTagged.st @@ -0,0 +1,3 @@ +private +showTagged + stFilterBlock := [ :op | op hasTag and: [ op tag isEmpty not ] ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/showUnresolved.st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/showUnresolved.st new file mode 100644 index 000000000..bf4332a51 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/showUnresolved.st @@ -0,0 +1,3 @@ +private +showUnresolved + stFilterBlock := [ :op | op resolved not ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/stFilterBlock..st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/stFilterBlock..st new file mode 100644 index 000000000..10cdda5c5 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/stFilterBlock..st @@ -0,0 +1,4 @@ +accessing +stFilterBlock: anObject + + stFilterBlock := anObject \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/stFilterBlock.st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/stFilterBlock.st new file mode 100644 index 000000000..398fc2a06 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/stFilterBlock.st @@ -0,0 +1,4 @@ +accessing +stFilterBlock + stFilterBlock ifNil: [ stFilterBlock := [ :op | op safeToIgnore not ] ]. + ^ stFilterBlock \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/toggleViewSameSource.selectionIndex..st b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/toggleViewSameSource.selectionIndex..st similarity index 100% rename from repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/toggleViewSameSource.selectionIndex..st rename to repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/instance/toggleViewSameSource.selectionIndex..st diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/methodProperties.json new file mode 100644 index 000000000..b8ae41a89 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/methodProperties.json @@ -0,0 +1,26 @@ +{ + "class" : { + }, + "instance" : { + "beMultipleSelection" : "dkh 03/10/2015 15:42", + "doMergeMenuAction:selectionIndex:" : "dkh 03/10/2015 15:32", + "enableDisableMenuItems:" : "dkh 06/25/2015 15:48", + "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 03/10/2015 15:32", + "itemSelected:listElement:selectedIndex:shiftPressed:listSelectionsDictionary:" : "dkh 03/10/2015 15:32", + "menuActionSpec:" : "dkh 03/10/2015 15:32", + "merger" : "dkh 03/10/2015 15:32", + "merger:" : "dkh 03/10/2015 15:32", + "merger:mergerCompletionBlock:mergerAbortBlock:" : "dkh 03/10/2015 15:32", + "methodMenuActionSpec" : "dkh 03/10/2015 15:32", + "operations" : "dkh 03/10/2015 15:32", + "operationsMenuActionSpec" : "dkh 03/10/2015 15:32", + "selectClassOperations:selectionIndex:" : "dkh 03/10/2015 15:38", + "selectEditDefinitionMenuAction:selectionIndex:" : "dkh 03/10/2015 15:32", + "selectedOperations" : "dkh 03/10/2015 15:32", + "showAll" : "dkh 03/10/2015 15:32", + "showRaw" : "dkh 03/10/2015 15:32", + "showTagged" : "dkh 03/10/2015 15:32", + "showUnresolved" : "dkh 03/10/2015 15:32", + "stFilterBlock" : "dkh 03/10/2015 15:32", + "stFilterBlock:" : "dkh 03/10/2015 15:32", + "toggleViewSameSource:selectionIndex:" : "dkh 03/10/2015 15:38" } } diff --git a/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/properties.json b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/properties.json new file mode 100644 index 000000000..135fe3ed3 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMCMergeDiffBrowser.class/properties.json @@ -0,0 +1,16 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "merger", + "stFilterBlock", + "selectedOperations" ], + "name" : "TDMCMergeDiffBrowser", + "pools" : [ + ], + "super" : "TDAbstractMergeBrowser", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDManPage.class/instance/seeAlso.st b/repository/Topez-Server-Core.package/TDManPage.class/instance/seeAlso.st index 3080e12d5..3f28a0b7f 100644 --- a/repository/Topez-Server-Core.package/TDManPage.class/instance/seeAlso.st +++ b/repository/Topez-Server-Core.package/TDManPage.class/instance/seeAlso.st @@ -5,5 +5,6 @@ seeAlso ifTrue: [ seeAlso := '' ]. result := seeAlso. commandPath ifNotNil: [ result := result , self commandPath , String lf ]. - sourceMethod ifNotNil: [ result := result , self sourceMethod , String lf ]. + sourceMethod + ifNotNil: [ result := result , ' ' , self sourceMethod , String lf ]. ^ result \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDManPage.class/instance/writeMdOn..st b/repository/Topez-Server-Core.package/TDManPage.class/instance/writeMdOn..st index 205e00e23..c490861f6 100644 --- a/repository/Topez-Server-Core.package/TDManPage.class/instance/writeMdOn..st +++ b/repository/Topez-Server-Core.package/TDManPage.class/instance/writeMdOn..st @@ -45,6 +45,7 @@ writeMdOn: aStream lf; nextPutAll: ' '; nextPutAll: self commandPath; + lf; nextPutAll: ' '; nextPutAll: self sourceMethod; lf \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDManPage.class/methodProperties.json b/repository/Topez-Server-Core.package/TDManPage.class/methodProperties.json index 9e95c386b..4146f23f7 100644 --- a/repository/Topez-Server-Core.package/TDManPage.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDManPage.class/methodProperties.json @@ -23,7 +23,7 @@ "options:" : "dkh 04/17/2014 19:37", "printOn:" : "dkh 11/11/2013 16:12", "regexSearch:" : "dkh 04/20/2014 13:38", - "seeAlso" : "dkh 07/15/2014 11:08", + "seeAlso" : "dkh 02/07/2015 08:57", "seeAlso:" : "dkh 04/20/2014 16:06", "sourceMethod" : "dkh 06/05/2013 11:07", "sourceMethod:" : "dkh 04/28/2014 20:33", @@ -34,4 +34,4 @@ "synopsis:" : "dkh 04/06/2013 09:06", "todeItNote:" : "dkh 07/14/2014 10:42", "view:" : "dkh 04/17/2014 21:00", - "writeMdOn:" : "dkh 04/18/2014 08:02" } } + "writeMdOn:" : "dkh 02/07/2015 08:53" } } diff --git a/repository/Topez-Server-Core.package/TDMcClassDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st b/repository/Topez-Server-Core.package/TDMcClassDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st index 1d0d9b215..d5bd5f4a4 100644 --- a/repository/Topez-Server-Core.package/TDMcClassDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st +++ b/repository/Topez-Server-Core.package/TDMcClassDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st @@ -5,7 +5,6 @@ addToClientListFor: clsDef names: nameList items: items indents: indents aspect: (indents at: clsDef) timesRepeat: [ space := space , ' ' ]. attributes := {(TextEmphasis italic)}. clsDef theClass ifNil: [ attributes add: TextEmphasis underlined ]. - nameList - add: (Text string: space , clsDef className asString attributes: attributes). + nameList add: (Text string: space , clsDef label attributes: attributes). items add: (TDClientListItemAttributes object: self parent: nil aspect: aspect) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMcClassDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMcClassDefinition.class/methodProperties.json index 07ba9ae49..a212f55cd 100644 --- a/repository/Topez-Server-Core.package/TDMcClassDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMcClassDefinition.class/methodProperties.json @@ -3,7 +3,7 @@ }, "instance" : { "=" : "dkh 06/04/2013 11:15", - "addToClientListFor:names:items:indents:aspect:" : "dkh 10/05/2013 11:47", + "addToClientListFor:names:items:indents:aspect:" : "dkh 09/09/2015 16:23", "classDefinition" : "dkh 03/24/2013 06:56", "classDefinition:" : "dkh 03/24/2013 06:56", "className" : "dkh 08/30/2013 17:17", diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/beMultipleSelection.st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/beMultipleSelection.st new file mode 100644 index 000000000..f47b9741e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/beMultipleSelection.st @@ -0,0 +1,3 @@ +accessing +beMultipleSelection + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/copyMergeOperation..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/copyMergeOperation..st new file mode 100644 index 000000000..a92e59cfc --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/copyMergeOperation..st @@ -0,0 +1,16 @@ +private +copyMergeOperation: mergeOperation + | copiedOperation filePath | + copiedOperation := mergeOperation copy. + filePath := (GsTextInteraction + prompt: 'Enter new file path' + template: copiedOperation filePath) signal. + filePath + ifNil: [ + "abort operation" + ^ nil ]. + copiedOperation filePath: filePath. + (#(#'added' #'modified' #'deleted') includes: copiedOperation stage) + ifFalse: [ copiedOperation resolved: false ]. + copiedOperation tag: 'copied'. + ^ copiedOperation \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/copyOperationToMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/copyOperationToMenuAction.selectionIndex..st new file mode 100644 index 000000000..f513e0ab6 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/copyOperationToMenuAction.selectionIndex..st @@ -0,0 +1,11 @@ +menu actions +copyOperationToMenuAction: listElement selectionIndex: selectionIndex + | mergeOperation copiedOperation filePath | + self selectedOperations + do: [ :mergeOperation | + copiedOperation := self copyMergeOperation: mergeOperation. + self merger conflicts add: copiedOperation ]. + self merger + conflicts: + (self merger conflicts sorted: [ :a :b | a filePath <= b filePath ]). + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/enableDisableMenuItems..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/enableDisableMenuItems..st index c7dcd6392..967b15a08 100644 --- a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/enableDisableMenuItems..st +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/enableDisableMenuItems..st @@ -4,15 +4,17 @@ enableDisableMenuItems: mergeOperation enabled := {}. disabled := {#'stOperation'. #'stMethodOperation'}. - enable := [ :symbol | - enabled add: symbol. - disabled remove: symbol ]. - mergeOperation hasSmalltalkDefinition + self selectedOperations size <= 0 ifTrue: [ - enable value: #'stOperation'. - mergeOperation hasSmalltalkMethodDefinition - ifTrue: [ enable value: #'stMethodOperation' ] ]. - ^ STON + enable := [ :symbol | + enabled add: symbol. + disabled remove: symbol ]. + mergeOperation hasSmalltalkDefinition + ifTrue: [ + enable value: #'stOperation'. + mergeOperation hasSmalltalkMethodDefinition + ifTrue: [ enable value: #'stMethodOperation' ] ] ]. + ^ self objectSerializer toString: {#'setMenuCategories:'. enabled. diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st new file mode 100644 index 000000000..a306915a1 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st @@ -0,0 +1,8 @@ +tools +itemSelected: miniTool listElement: listElement selectedIndex: index shiftPressed: shiftPressed + ^ self + itemSelected: miniTool + listElement: listElement + selectedIndex: index + shiftPressed: shiftPressed + listSelectionsDictionary: nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed.listSelectionsDictionary..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed.listSelectionsDictionary..st new file mode 100644 index 000000000..e73b343cb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed.listSelectionsDictionary..st @@ -0,0 +1,17 @@ +tools +itemSelected: miniTool listElement: listElement selectedIndex: index shiftPressed: shiftPressed listSelectionsDictionary: listSelectionsDictionary + | operation | + theMiniTool := miniTool. + selectedOperations := Set new. + listSelectionsDictionary + ifNotNil: [ + listSelectionsDictionary + keysAndValuesDo: [ :selectionIndex :selectionBoolean | + selectionBoolean + ifTrue: [ selectedOperations add: (self operations at: selectionIndex) ] ] ]. + index == 0 + ifTrue: [ ^ false ]. + operation := self operations at: index. + selectedOperations add: operation. + self editOperation: operation listElement: listElement. + ^ self enableDisableMenuItems: operation \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/merger.mergerCompletionBlock.mergerAbortBlock..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/merger.mergerCompletionBlock.mergerAbortBlock..st index 5d587b157..965f2d0c0 100644 --- a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/merger.mergerCompletionBlock.mergerAbortBlock..st +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/merger.mergerCompletionBlock.mergerAbortBlock..st @@ -1,5 +1,6 @@ initialization merger: aTDMerger mergerCompletionBlock: aMergerCompletionBlock mergerAbortBlock: aMergerAbortBlock + selectedOperations := Set new. aTDMerger mergeTool: self. merger := aTDMerger mergerCompletionBlock: [ aMergerCompletionBlock value ]; diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/moveOperationToMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/moveOperationToMenuAction.selectionIndex..st new file mode 100644 index 000000000..4866f81c8 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/moveOperationToMenuAction.selectionIndex..st @@ -0,0 +1,14 @@ +menu actions +moveOperationToMenuAction: listElement selectionIndex: selectionIndex + | mergeOperation copiedOperation filePath | + self selectedOperations + do: [ :mergeOperation | + copiedOperation := self copyMergeOperation: mergeOperation. + self merger conflicts add: copiedOperation. + mergeOperation + selectDeletion; + tag: 'deleted by move' ]. + self merger + conflicts: + (self merger conflicts sorted: [ :a :b | a filePath <= b filePath ]). + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/operations.st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/operations.st index f0c9ab81c..27ad1b0cb 100644 --- a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/operations.st +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/operations.st @@ -1,4 +1,10 @@ accessing operations - stFilterBlock ifNil: [ ^ self merger operations ]. - ^ self merger operations select: stFilterBlock \ No newline at end of file + | ops | + ops := self merger operations select: self stFilterBlock. + ops isEmpty + ifTrue: [ + "if the filtered list is empty, ignore the filter ... for now ... could be disturbing to see an empty list" + self inform: 'Filtered list is empty, showing ALL!'. + ^ self merger operations ]. + ^ ops \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/operationsMenuActionSpec.st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/operationsMenuActionSpec.st index b2c769669..8f52fdd8f 100644 --- a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/operationsMenuActionSpec.st +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/operationsMenuActionSpec.st @@ -1,12 +1,41 @@ menu action specs operationsMenuActionSpec - ^ {#('source def' $d #'selectSourceDefinitionMenuAction:selectionIndex:'). - #('edit def' $e #'selectEditDefinitionMenuAction:selectionIndex:'). - #('destination def' $r #'selectDestinationDefinitionMenuAction:selectionIndex:'). + ^ {#('copy to' nil #'copyOperationToMenuAction:selectionIndex:'). + #('move to' nil #'moveOperationToMenuAction:selectionIndex:'). #('-'). - #('do merge' $j #'doMergeMenuAction:selectionIndex:'). + #('view default' nil #'viewDefaultMenuAction:selectionIndex:'). #('-'). - #('toggle diff' $t #'toggleDiffMenuAction:selectionIndex:'). - #('toggle view same source' nil #'toggleViewSameSource:selectionIndex:'). + #('view ancestor' nil #'viewAncestorMenuAction:selectionIndex:'). + #('view us' nil #'viewUsMenuAction:selectionIndex:'). + #('view them' nil #'viewThemMenuAction:selectionIndex:'). + #('view custom' nil #'viewCustomMenuAction:selectionIndex:'). #('-'). - #('set (clear) class filter' nil #'selectClassOperations:selectionIndex:')} \ No newline at end of file + #('view ancestor vs us' nil #'viewAncestorVsUsMenuAction:selectionIndex:'). + #('view ancestor vs them' nil #'viewAncestorVsThemMenuAction:selectionIndex:'). + #('view ancestor vs custom' nil #'viewAncestorVsCustomMenuAction:selectionIndex:'). + #('-'). + #('view us vs them' nil #'viewUsVsThemMenuAction:selectionIndex:'). + #('view us vs custom' nil #'viewUsVsCustomMenuAction:selectionIndex:'). + #('-'). + #('view them vs us' nil #'viewThemVsUsMenuAction:selectionIndex:'). + #('view them vs custom' nil #'viewThemVsCustomMenuAction:selectionIndex:'). + #('-'). + #('view image vs us' nil #'viewImageVsUsMenuAction:selectionIndex:'). + #('view image vs them' nil #'viewImageVsThemMenuAction:selectionIndex:'). + #('view image vs custom' nil #'viewImageVsCustomMenuAction:selectionIndex:'). + #('-'). + #('show unresolved' nil #'showUnresolvedMenuAction:selectionIndex:'). + #('show all' nil #'showAllMenuAction:selectionIndex:'). + #('show raw' nil #'showRawMenuAction:selectionIndex:'). + #('-'). + #('tag' nil #'tagMenuAction:selectionIndex:'). + #('untag' nil #'untagMenuAction:selectionIndex:'). + #('show tagged' nil #'showTagsMenuAction:selectionIndex:'). + #('-'). + #('choose ancestor' $a #'selectAncestorMenuAction:selectionIndex:'). + #('choose us' $u #'selectUsMenuAction:selectionIndex:'). + #('choose them' $t #'selectThemMenuAction:selectionIndex:'). + #('choose custom' $c #'selectCustomMenuAction:selectionIndex:'). + #('choose delete' $d #'selectDeleteMenuAction:selectionIndex:'). + #('-'). + #('do merge' $j #'doMergeMenuAction:selectionIndex:')} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectAncestorMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectAncestorMenuAction.selectionIndex..st new file mode 100644 index 000000000..1ea91f780 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectAncestorMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +selectAncestorMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation selectAncestor. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectCustomMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectCustomMenuAction.selectionIndex..st new file mode 100644 index 000000000..091b9728d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectCustomMenuAction.selectionIndex..st @@ -0,0 +1,8 @@ +menu actions +selectCustomMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation initEditDefinition. + mergeOperation selectCustom. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectDeleteMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectDeleteMenuAction.selectionIndex..st new file mode 100644 index 000000000..dcd48b444 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectDeleteMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +selectDeleteMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation selectDeletion. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectEditDefinitionMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectEditDefinitionMenuAction.selectionIndex..st index 804209694..4cb76ce5e 100644 --- a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectEditDefinitionMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectEditDefinitionMenuAction.selectionIndex..st @@ -1,11 +1,7 @@ menu actions selectEditDefinitionMenuAction: listElement selectionIndex: selectionIndex - "select edit definition" - - | mergeOperation | - selectionIndex = 0 - ifTrue: [ ^ false ]. - mergeOperation := self operations at: selectionIndex. - mergeOperation selectEdit. - self editOperation: mergeOperation listElement: listElement. + self selectedOperations + do: [ :mergeOperation | + mergeOperation selectEdit. + self editOperation: mergeOperation listElement: listElement ]. ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectThemMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectThemMenuAction.selectionIndex..st new file mode 100644 index 000000000..82b449d3f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectThemMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +selectThemMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation selectThem. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectUsMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectUsMenuAction.selectionIndex..st new file mode 100644 index 000000000..10bcd4c41 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectUsMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +selectUsMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation selectUs. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectedOperations.st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectedOperations.st new file mode 100644 index 000000000..742628dc0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/selectedOperations.st @@ -0,0 +1,3 @@ +accessing +selectedOperations + ^ selectedOperations \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showAll.st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showAll.st new file mode 100644 index 000000000..e36541c55 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showAll.st @@ -0,0 +1,3 @@ +private +showAll + stFilterBlock := nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showAllMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showAllMenuAction.selectionIndex..st new file mode 100644 index 000000000..a34f7959d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showAllMenuAction.selectionIndex..st @@ -0,0 +1,4 @@ +menu actions +showAllMenuAction: listElement selectionIndex: selectionIndex + self showAll. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showRaw.st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showRaw.st new file mode 100644 index 000000000..9326e2403 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showRaw.st @@ -0,0 +1,3 @@ +private +showRaw + stFilterBlock := [ :op | true ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showRawMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showRawMenuAction.selectionIndex..st new file mode 100644 index 000000000..78273a34f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showRawMenuAction.selectionIndex..st @@ -0,0 +1,4 @@ +menu actions +showRawMenuAction: listElement selectionIndex: selectionIndex + self showRaw. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showTagged.st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showTagged.st new file mode 100644 index 000000000..bd52b9a72 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showTagged.st @@ -0,0 +1,3 @@ +private +showTagged + stFilterBlock := [ :op | op hasTag and: [ op tag isEmpty not ] ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showTagsMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showTagsMenuAction.selectionIndex..st new file mode 100644 index 000000000..39ad33480 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showTagsMenuAction.selectionIndex..st @@ -0,0 +1,4 @@ +menu actions +showTagsMenuAction: listElement selectionIndex: selectionIndex + self showTagged. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showUnresolved.st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showUnresolved.st new file mode 100644 index 000000000..bf4332a51 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showUnresolved.st @@ -0,0 +1,3 @@ +private +showUnresolved + stFilterBlock := [ :op | op resolved not ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showUnresolvedMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showUnresolvedMenuAction.selectionIndex..st new file mode 100644 index 000000000..8a8a8ada9 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/showUnresolvedMenuAction.selectionIndex..st @@ -0,0 +1,4 @@ +menu actions +showUnresolvedMenuAction: listElement selectionIndex: selectionIndex + self showUnresolved. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/stFilterBlock.st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/stFilterBlock.st index d2cd979ac..398fc2a06 100644 --- a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/stFilterBlock.st +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/stFilterBlock.st @@ -1,4 +1,4 @@ accessing stFilterBlock - - ^stFilterBlock \ No newline at end of file + stFilterBlock ifNil: [ stFilterBlock := [ :op | op safeToIgnore not ] ]. + ^ stFilterBlock \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/tagMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/tagMenuAction.selectionIndex..st new file mode 100644 index 000000000..686c0d737 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/tagMenuAction.selectionIndex..st @@ -0,0 +1,10 @@ +menu actions +tagMenuAction: listElement selectionIndex: selectionIndex + | theTag aMergeOperation oldTag | + selectionIndex = 0 + ifTrue: [ ^ false ]. + aMergeOperation := self operations at: selectionIndex. + oldTag := aMergeOperation tag ifNotNil: [ :aTag | aTag ] ifNil: [ '' ]. + theTag := (GsTextInteraction prompt: 'Enter tag' template: oldTag) signal. + self selectedOperations do: [ :mergeOperation | mergeOperation tag: theTag ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/untagMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/untagMenuAction.selectionIndex..st new file mode 100644 index 000000000..b1acf09b0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/untagMenuAction.selectionIndex..st @@ -0,0 +1,4 @@ +menu actions +untagMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations do: [ :mergeOperation | mergeOperation tag: nil ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewAncestorMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewAncestorMenuAction.selectionIndex..st new file mode 100644 index 000000000..dd8803e35 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewAncestorMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewAncestorMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation viewAncestor. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewAncestorVsCustomMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewAncestorVsCustomMenuAction.selectionIndex..st new file mode 100644 index 000000000..19b8d76df --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewAncestorVsCustomMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewAncestorVsCustomMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation viewAncestorVsCustom. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewAncestorVsThemMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewAncestorVsThemMenuAction.selectionIndex..st new file mode 100644 index 000000000..744210a77 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewAncestorVsThemMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewAncestorVsThemMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation viewAncestorVsThem. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewAncestorVsUsMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewAncestorVsUsMenuAction.selectionIndex..st new file mode 100644 index 000000000..fd92e5b0c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewAncestorVsUsMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewAncestorVsUsMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation viewAncestorVsUs. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewCustomMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewCustomMenuAction.selectionIndex..st new file mode 100644 index 000000000..c118fb23b --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewCustomMenuAction.selectionIndex..st @@ -0,0 +1,8 @@ +menu actions +viewCustomMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation initEditDefinition. + mergeOperation viewCustom. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewDefaultMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewDefaultMenuAction.selectionIndex..st new file mode 100644 index 000000000..07573ae87 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewDefaultMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewDefaultMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation view: nil. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewImageVsCustomMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewImageVsCustomMenuAction.selectionIndex..st new file mode 100644 index 000000000..ee7c86c70 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewImageVsCustomMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewImageVsCustomMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation viewImageVsCustom. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewImageVsThemMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewImageVsThemMenuAction.selectionIndex..st new file mode 100644 index 000000000..6a9937ce1 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewImageVsThemMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewImageVsThemMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation viewImageVsThem. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewImageVsUsMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewImageVsUsMenuAction.selectionIndex..st new file mode 100644 index 000000000..32a1d1939 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewImageVsUsMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewImageVsUsMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation viewImageVsUs. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewThemMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewThemMenuAction.selectionIndex..st new file mode 100644 index 000000000..ce6bb6762 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewThemMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewThemMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation viewThem. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewThemVsCustomMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewThemVsCustomMenuAction.selectionIndex..st new file mode 100644 index 000000000..ce8e336ae --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewThemVsCustomMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewThemVsCustomMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation viewThemVsCustom. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewThemVsUsMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewThemVsUsMenuAction.selectionIndex..st new file mode 100644 index 000000000..87aed3caa --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewThemVsUsMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewThemVsUsMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation viewThemVsUs. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewUsMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewUsMenuAction.selectionIndex..st new file mode 100644 index 000000000..f7025fc40 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewUsMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewUsMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation viewUs. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewUsVsCustomMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewUsVsCustomMenuAction.selectionIndex..st new file mode 100644 index 000000000..8a3f07627 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewUsVsCustomMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewUsVsCustomMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation viewUsVsCustom. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewUsVsThemMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewUsVsThemMenuAction.selectionIndex..st new file mode 100644 index 000000000..2ce4ba65b --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/instance/viewUsVsThemMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +viewUsVsThemMenuAction: listElement selectionIndex: selectionIndex + self selectedOperations + do: [ :mergeOperation | + mergeOperation viewUsVsThem. + self editOperation: mergeOperation listElement: listElement ]. + ^ #'refreshList' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/methodProperties.json index 05c88873b..f3ab7dede 100644 --- a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/methodProperties.json @@ -2,17 +2,52 @@ "class" : { }, "instance" : { + "beMultipleSelection" : "dkh 01/29/2015 15:59", + "copyMergeOperation:" : "dkh 01/30/2015 20:54", + "copyOperationToMenuAction:selectionIndex:" : "dkh 01/30/2015 20:54", "doMergeMenuAction:selectionIndex:" : "dkh 05/23/2014 13:40", - "enableDisableMenuItems:" : "dkh 05/30/2014 11:25", + "enableDisableMenuItems:" : "dkh 06/25/2015 15:48", + "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 01/29/2015 07:21", + "itemSelected:listElement:selectedIndex:shiftPressed:listSelectionsDictionary:" : "dkh 01/29/2015 07:19", "menuActionSpec:" : "dkh 05/30/2014 11:18", "merger" : "dkh 05/09/2014 14:54", "merger:" : "dkh 05/28/2014 21:07", - "merger:mergerCompletionBlock:mergerAbortBlock:" : "dkh 05/28/2014 21:07", + "merger:mergerCompletionBlock:mergerAbortBlock:" : "dkh 01/29/2015 07:20", "methodMenuActionSpec" : "dkh 07/08/2014 11:03", - "operations" : "dkh 10/07/2014 14:56", - "operationsMenuActionSpec" : "dkh 05/30/2014 10:53", - "selectClassOperations:selectionIndex:" : "dkh 05/30/2014 10:54", - "selectEditDefinitionMenuAction:selectionIndex:" : "dkh 05/09/2014 15:09", - "stFilterBlock" : "dkh 10/07/2014 14:57", + "moveOperationToMenuAction:selectionIndex:" : "dkh 01/30/2015 20:55", + "operations" : "dkh 01/26/2015 16:55", + "operationsMenuActionSpec" : "dkh 01/30/2015 14:32", + "selectAncestorMenuAction:selectionIndex:" : "dkh 01/29/2015 16:52", + "selectCustomMenuAction:selectionIndex:" : "dkh 01/30/2015 14:37", + "selectDeleteMenuAction:selectionIndex:" : "dkh 01/30/2015 14:36", + "selectEditDefinitionMenuAction:selectionIndex:" : "dkh 01/29/2015 16:54", + "selectThemMenuAction:selectionIndex:" : "dkh 01/29/2015 16:55", + "selectUsMenuAction:selectionIndex:" : "dkh 01/29/2015 16:55", + "selectedOperations" : "dkh 01/29/2015 07:20", + "showAll" : "dkh 01/26/2015 16:50", + "showAllMenuAction:selectionIndex:" : "dkh 01/25/2015 14:47", + "showRaw" : "dkh 01/26/2015 16:49", + "showRawMenuAction:selectionIndex:" : "dkh 01/26/2015 16:52", + "showTagged" : "dkh 01/26/2015 13:34", + "showTagsMenuAction:selectionIndex:" : "dkh 01/26/2015 13:28", + "showUnresolved" : "dkh 01/25/2015 14:46", + "showUnresolvedMenuAction:selectionIndex:" : "dkh 01/25/2015 14:47", + "stFilterBlock" : "dkh 01/26/2015 16:51", "stFilterBlock:" : "dkh 10/07/2014 14:57", - "toggleViewSameSource:selectionIndex:" : "dkh 05/30/2014 10:53" } } + "tagMenuAction:selectionIndex:" : "dkh 01/29/2015 16:56", + "untagMenuAction:selectionIndex:" : "dkh 01/29/2015 16:56", + "viewAncestorMenuAction:selectionIndex:" : "dkh 01/29/2015 16:56", + "viewAncestorVsCustomMenuAction:selectionIndex:" : "dkh 01/29/2015 16:57", + "viewAncestorVsThemMenuAction:selectionIndex:" : "dkh 01/29/2015 16:57", + "viewAncestorVsUsMenuAction:selectionIndex:" : "dkh 01/29/2015 16:57", + "viewCustomMenuAction:selectionIndex:" : "dkh 01/30/2015 14:40", + "viewDefaultMenuAction:selectionIndex:" : "dkh 01/29/2015 16:57", + "viewImageVsCustomMenuAction:selectionIndex:" : "dkh 01/30/2015 11:17", + "viewImageVsThemMenuAction:selectionIndex:" : "dkh 01/30/2015 10:42", + "viewImageVsUsMenuAction:selectionIndex:" : "dkh 01/30/2015 11:18", + "viewThemMenuAction:selectionIndex:" : "dkh 01/29/2015 16:57", + "viewThemVsCustomMenuAction:selectionIndex:" : "dkh 01/29/2015 16:58", + "viewThemVsUsMenuAction:selectionIndex:" : "dkh 01/29/2015 16:58", + "viewUsMenuAction:selectionIndex:" : "dkh 01/29/2015 16:58", + "viewUsVsCustomMenuAction:selectionIndex:" : "dkh 01/29/2015 16:58", + "viewUsVsThemMenuAction:selectionIndex:" : "dkh 01/29/2015 16:58" } } diff --git a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/properties.json b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/properties.json index 182a618f3..0c5adf50a 100644 --- a/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/properties.json +++ b/repository/Topez-Server-Core.package/TDMergeDiffBrowser.class/properties.json @@ -7,7 +7,8 @@ "commentStamp" : "", "instvars" : [ "merger", - "stFilterBlock" ], + "stFilterBlock", + "selectedOperations" ], "name" : "TDMergeDiffBrowser", "pools" : [ ], diff --git a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/defaultSelection.st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/defaultSelection.st new file mode 100644 index 000000000..d9bdc9a1c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/defaultSelection.st @@ -0,0 +1,3 @@ +as yet unclassified +defaultSelection + ^ #'destination' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/elementSource..st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/elementSource..st index ede3a22cc..5acb9bac7 100644 --- a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/elementSource..st +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/elementSource..st @@ -6,5 +6,5 @@ elementSource: aSTONString inform: 'Disable diffs and try again. Diff introduces unwanted leading characters'. ^ false ]. - self mergeSource: (STON fromString: aSTONString). + self mergeSource: (self objectSerializer fromString: aSTONString). ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/elementSource.st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/elementSource.st index a83b76be0..da4fd2556 100644 --- a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/elementSource.st +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/elementSource.st @@ -1,3 +1,3 @@ as yet unclassified elementSource - ^ STON toString: self mergeSource \ No newline at end of file + ^ self objectSerializer toString: self mergeSource asText \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDGitDiff.class/instance/hasFileTreeSmalltalkSource.st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/hasFileTreeSmalltalkSource.st similarity index 100% rename from repository/Tode-GemStone-Server-Core.package/TDGitDiff.class/instance/hasFileTreeSmalltalkSource.st rename to repository/Topez-Server-Core.package/TDMergeOperation.class/instance/hasFileTreeSmalltalkSource.st diff --git a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodBehavior.st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodBehavior.st index 6981dde89..e16a90236 100644 --- a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodBehavior.st +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodBehavior.st @@ -1,5 +1,17 @@ -accessing +smalltalk source methodBehavior - "return behavior or nil" - - ^ nil \ No newline at end of file + | tokens sz class ext cls isMeta | + self hasFileTreeSmalltalkSource + ifFalse: [ ^ nil ]. + tokens := self filePath findTokens: '/'. + sz := tokens size. + class := tokens at: sz - 2. + (class endsWith: '.class') + ifTrue: [ ext := '.class' ] + ifFalse: [ ext := '.extension' ]. + class := class copyFrom: 1 to: class size - ext size. + isMeta := (tokens at: sz - 1) = 'class'. + cls := Smalltalk at: class asSymbol. + isMeta + ifTrue: [ cls := cls class ]. + ^ cls \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodClass.st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodClass.st index 6feba4880..333edb71c 100644 --- a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodClass.st +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodClass.st @@ -1,5 +1,13 @@ -accessing +smalltalk source methodClass - "return class or nil" - - ^ nil \ No newline at end of file + | tokens sz class ext | + self hasFileTreeSmalltalkSource + ifFalse: [ ^ nil ]. + tokens := self filePath findTokens: '/'. + sz := tokens size. + class := tokens at: sz - 2. + (class endsWith: '.class') + ifTrue: [ ext := '.class' ] + ifFalse: [ ext := '.extension' ]. + class := class copyFrom: 1 to: class size - ext size. + ^ Smalltalk at: class asSymbol \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodSelector.st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodSelector.st index 25969b81c..57816e17c 100644 --- a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodSelector.st +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodSelector.st @@ -1,5 +1,3 @@ -accessing +smalltalk source methodSelector - "return method selector or nil" - - ^ nil \ No newline at end of file + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodSpec.st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodSpec.st index b7d9950a1..d33157271 100644 --- a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodSpec.st +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/methodSpec.st @@ -1,5 +1,19 @@ -accessing +smalltalk source methodSpec - "return method spec or nil. method spec in form of class>>selector." - - ^ nil \ No newline at end of file + | tokens sz meta class ext | + self hasFileTreeSmalltalkSource + ifFalse: [ ^ self filePath ]. + ((self filePath includesSubstring: '.class') + or: [ self filePath includesSubstring: '.extension' ]) not + ifTrue: [ ^ self filePath ]. + tokens := self filePath findTokens: '/'. + sz := tokens size. + meta := ''. + (tokens at: sz - 1) = 'class' + ifTrue: [ meta := ' class' ]. + class := tokens at: sz - 2. + (class endsWith: 'class') + ifTrue: [ ext := '.class' ] + ifFalse: [ ext := '.extension' ]. + class := class copyFrom: 1 to: class size - ext size. + ^ class , meta , '>>' , self methodSelector asString \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/objectSerializer.st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/objectSerializer.st new file mode 100644 index 000000000..7e7a28248 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/objectSerializer.st @@ -0,0 +1,3 @@ +as yet unclassified +objectSerializer + ^ TodeObjectSerializer preferredSerializer \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/safeToIgnore.st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/safeToIgnore.st new file mode 100644 index 000000000..bc3bc41f0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/safeToIgnore.st @@ -0,0 +1,3 @@ +testing +safeToIgnore + ^ false \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/selection.st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/selection.st index 1f62efff1..dc9ea3846 100644 --- a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/selection.st +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/selection.st @@ -1,4 +1,4 @@ as yet unclassified selection - selection ifNil: [ selection := #'destination' ]. + selection ifNil: [ selection := self defaultSelection ]. ^ selection \ No newline at end of file diff --git a/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/stSource..st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/stSource..st similarity index 84% rename from repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/stSource..st rename to repository/Topez-Server-Core.package/TDMergeOperation.class/instance/stSource..st index 4c2bf7263..99188653e 100644 --- a/repository/Tode-GemStone-Server-Core.package/TDFileTreeDiff.class/instance/stSource..st +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/stSource..st @@ -1,5 +1,7 @@ as yet unclassified stSource: methodSource + "assume that first line of source is the method category" + | stSource cr firstLine | stSource := String new. cr := String cr. diff --git a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/stonContents..st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/stonContents..st index 4c7c1bee4..66f08156e 100644 --- a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/stonContents..st +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/stonContents..st @@ -1,3 +1,3 @@ as yet unclassified stonContents: aSTONString - self mergeSource: (STON fromString: aSTONString) \ No newline at end of file + self mergeSource: (self objectSerializer fromString: aSTONString) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/stonContents.st b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/stonContents.st index 8cf5211d8..513eb78d6 100644 --- a/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/stonContents.st +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/instance/stonContents.st @@ -1,3 +1,3 @@ as yet unclassified stonContents - ^ STON toString: self mergeSource \ No newline at end of file + ^ self objectSerializer toString: self mergeSource asText \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMergeOperation.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMergeOperation.class/methodProperties.json index 3141e1e36..dbce3a421 100644 --- a/repository/Topez-Server-Core.package/TDMergeOperation.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMergeOperation.class/methodProperties.json @@ -3,14 +3,16 @@ }, "instance" : { "applyTo:" : "dkh 09/03/2013 16:02", + "defaultSelection" : "dkh 01/24/2015 19:45", "destination" : "dkh 05/30/2014 14:48", "displayDiffs" : "09/03/2013 07:57", "displayDiffs:" : "dkh 09/03/2013 09:24", "editDefinition" : "09/03/2013 07:45", "editDefinition:" : "dkh 05/11/2014 19:41", - "elementSource" : "dkh 12/09/2013 15:26", - "elementSource:" : "dkh 06/02/2014 11:46", + "elementSource" : "dkh 06/25/2015 15:49", + "elementSource:" : "dkh 06/25/2015 15:49", "formatSource:" : "dkh 09/03/2013 20:23", + "hasFileTreeSmalltalkSource" : "dkh 01/30/2015 10:47", "hasSmalltalkDefinition" : "dkh 05/30/2014 11:23", "hasSmalltalkMethodDefinition" : "dkh 05/30/2014 11:23", "labelString" : "dkh 05/11/2014 19:41", @@ -19,21 +21,24 @@ "mergeSource:" : "dkh 09/02/2013 16:17", "merger" : "dkh 09/02/2013 17:30", "merger:" : "dkh 09/02/2013 17:30", - "methodBehavior" : "dkh 05/30/2014 14:41", - "methodClass" : "dkh 05/30/2014 11:21", - "methodSelector" : "dkh 05/30/2014 11:53", - "methodSpec" : "dkh 05/30/2014 11:46", + "methodBehavior" : "dkh 01/30/2015 10:51", + "methodClass" : "dkh 01/30/2015 10:51", + "methodSelector" : "dkh 01/30/2015 11:05", + "methodSpec" : "dkh 01/30/2015 10:52", + "objectSerializer" : "dkh 06/25/2015 16:00", "printText" : "dkh 09/02/2013 15:58", "resolved" : "dkh 09/03/2013 15:52", + "safeToIgnore" : "dkh 03/10/2015 15:25", "selectDestination" : "dkh 05/29/2014 21:06", "selectEdit" : "09/03/2013 07:50", "selectSource" : "dkh 05/29/2014 21:06", "selectedDefinition" : "09/03/2013 07:35", - "selection" : "dkh 05/29/2014 21:14", + "selection" : "dkh 01/25/2015 08:44", "selection:" : "09/03/2013 06:04", "selectionAttribute" : "dkh 05/29/2014 21:11", "source" : "dkh 05/30/2014 14:47", - "stonContents" : "dkh 09/02/2013 16:14", - "stonContents:" : "dkh 09/02/2013 16:17", + "stSource:" : "dkh 01/25/2015 10:02", + "stonContents" : "dkh 06/25/2015 15:49", + "stonContents:" : "dkh 06/25/2015 15:50", "toggleDisplayDiffs" : "09/03/2013 07:58", "windowLabel" : "dkh 09/03/2013 09:26" } } diff --git a/repository/Topez-Server-Core.package/TDMetacelloBaselineRegistrationDefinition.class/instance/createTemplateProjectEntry..st b/repository/Topez-Server-Core.package/TDMetacelloBaselineRegistrationDefinition.class/instance/createTemplateProjectEntry..st new file mode 100644 index 000000000..be78debff --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloBaselineRegistrationDefinition.class/instance/createTemplateProjectEntry..st @@ -0,0 +1,10 @@ +project list +createTemplateProjectEntry: anOldTDRegistrationDefinitionOrNil + ^ entry := TDProjectSpecEntryDefinition new + baseline: self projectName + repository: self repositoryDescription + loads: + (self + templateProjectEntryLoads: anOldTDRegistrationDefinitionOrNil + projectSpec: self projectSpec); + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloBaselineRegistrationDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMetacelloBaselineRegistrationDefinition.class/methodProperties.json index 19c2e546e..ea143d7ca 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloBaselineRegistrationDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMetacelloBaselineRegistrationDefinition.class/methodProperties.json @@ -4,6 +4,7 @@ "instance" : { "applyVersionStringToMetacello:" : "dkh 06/19/2014 17:49", "baselineClassName" : "dkh 06/20/2014 10:14", + "createTemplateProjectEntry:" : "dkh 03/14/2015 19:28", "currentVersionString" : "dkh 10/07/2014 09:59", "isBaselineBased" : "dkh 06/19/2014 17:39", "projectSelector" : "dkh 06/19/2014 18:06" } } diff --git a/repository/Topez-Server-Core.package/TDMetacelloConfigurationRegistrationDefinition.class/instance/createTemplateProjectEntry..st b/repository/Topez-Server-Core.package/TDMetacelloConfigurationRegistrationDefinition.class/instance/createTemplateProjectEntry..st new file mode 100644 index 000000000..e3a3a0924 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloConfigurationRegistrationDefinition.class/instance/createTemplateProjectEntry..st @@ -0,0 +1,12 @@ +project list +createTemplateProjectEntry: anOldTDRegistrationDefinitionOrNil + ^ entry := TDProjectSpecEntryDefinition new + configuration: self projectName + className: self configurationClassName + version: self currentVersionString + repository: self repositoryDescription + loads: + (self + templateProjectEntryLoads: anOldTDRegistrationDefinitionOrNil + projectSpec: self projectSpec); + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloConfigurationRegistrationDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMetacelloConfigurationRegistrationDefinition.class/methodProperties.json index 5aa219044..ecf129b92 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloConfigurationRegistrationDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMetacelloConfigurationRegistrationDefinition.class/methodProperties.json @@ -4,6 +4,7 @@ "instance" : { "applyVersionStringToMetacello:" : "dkh 06/19/2014 17:49", "configurationClassName" : "dkh 06/20/2014 10:14", + "createTemplateProjectEntry:" : "dkh 03/14/2015 19:28", "currentVersionString" : "dkh 08/10/2014 16:37", "isConfigurationBased" : "dkh 06/19/2014 17:39", "projectSelector" : "dkh 06/19/2014 18:06" } } diff --git a/repository/Topez-Server-Core.package/TDMetacelloHybridRegistrationDefinition.class/instance/createTemplateProjectEntry..st b/repository/Topez-Server-Core.package/TDMetacelloHybridRegistrationDefinition.class/instance/createTemplateProjectEntry..st new file mode 100644 index 000000000..a0163e89d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloHybridRegistrationDefinition.class/instance/createTemplateProjectEntry..st @@ -0,0 +1,15 @@ +project list +createTemplateProjectEntry: anOldTDRegistrationDefinitionOrNil + | newEntry | + newEntry := TDProjectSpecEntryDefinition new + configuration: self projectName + className: self configurationClassName + version: self currentVersionString + repository: self repositoryDescription + loads: + (self + templateProjectEntryLoads: anOldTDRegistrationDefinitionOrNil + projectSpec: self projectSpec); + yourself. + entry := newEntry. + ^ entry \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloHybridRegistrationDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMetacelloHybridRegistrationDefinition.class/methodProperties.json index 74f85ebd9..41f030a01 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloHybridRegistrationDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMetacelloHybridRegistrationDefinition.class/methodProperties.json @@ -7,6 +7,7 @@ "baselineProjectSpec" : "dkh 07/06/2014 08:59", "cloneProjectSpec" : "dkh 06/30/2014 21:01", "configurationClassName" : "dkh 06/20/2014 10:14", + "createTemplateProjectEntry:" : "dkh 03/14/2015 20:52", "currentVersionString" : "dkh 08/10/2014 16:37", "hasGitBasedRepo" : "dkh 09/29/2014 12:45", "hybridBaselineProjectSpec" : "dkh 06/30/2014 21:02", diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/cloneProjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/cloneProjectMenuAction.selectionIndex..st index e8efaf8a6..311e5a4fc 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/cloneProjectMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/cloneProjectMenuAction.selectionIndex..st @@ -1,9 +1,29 @@ menu actions (baseline) cloneProjectMenuAction: listElement selectionIndex: selectionIndex - | registration | + | registration cloneWithSSH projectEntryPath gitRootPath | selectionIndex = 0 ifTrue: [ ^ false ]. registration := self projects at: selectionIndex. - projectTool projectClone: registration. + (GsConfirmInteraction + prompt: 'Use clone to /sys/stone or /sys/local?' + confirm: '/sys/stone' + cancel: '/sys/local') signal + ifTrue: [ + gitRootPath := '$GS_HOME/gemstone/stones/' , self topez serverStoneName , '/git'. + projectEntryPath := '/sys/stone/projects/' ] + ifFalse: [ + gitRootPath := registration gitRootPath. + projectEntryPath := '/sys/local/projects/' ]. + cloneWithSSH := true. + cloneWithSSH := (GsConfirmInteraction + prompt: + 'Use SSH (git@github.com:) or HTTPS (https://github.com/) to clone repository?' + confirm: 'git@github.com (recommended)' + cancel: 'https://github.com/') signal. + projectTool + projectClone: registration + cloneWithSSH: cloneWithSSH + projectEntryPath: projectEntryPath + gitRootPath: gitRootPath. listElement topez commitTransaction. ^ #'refreshView' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/editProjectFileMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/editProjectFileMenuAction.selectionIndex..st index 6ccd47981..8bbbf9af2 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/editProjectFileMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/editProjectFileMenuAction.selectionIndex..st @@ -1,14 +1,18 @@ menu actions editProjectFileMenuAction: listElement selectionIndex: selectionIndex - | registration entry node | + | registration entryNode entry | selectionIndex = 0 ifTrue: [ ^ false ]. registration := self projects at: selectionIndex. + entryNode := registration + entryNode: nil + projectPath: '/sys/stone/projects/' + topez: topez. entry := registration entry. - (entry isNil or: [ entry projectPath isNil ]) - ifTrue: [ - self inform: 'No project file exists for ' , registration projectName. - ^ false ]. - node := self topez lookup: entry projectPath , '/project'. - self editTool editObjects: {node}. + entryNode + editUsing: + ((TDEditorSpec topez: topez editorAspect: #'edit') + windowLabel: + entryNode printString , ' (' , entry baseProjectPath , entryNode name , ')'; + yourself). ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findClass.selectedIndex..st b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findClass.selectedIndex..st new file mode 100644 index 000000000..92fa2f2a2 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findClass.selectedIndex..st @@ -0,0 +1,12 @@ +menu actions +findClass: listElement selectedIndex: index + | browseTool block clsNamePattern | + browseTool := self topez toolInstanceFor: 'browse'. + clsNamePattern := (GsTextInteraction + prompt: 'Class Name Pattern (regex)' + template: 'Object') signal. + block := [ browseTool findClass: clsNamePattern ]. + browseTool + browseClassesBlock: block + label: 'Find class ' , clsNamePattern printString. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findClassHierarchy.selectedIndex..st b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findClassHierarchy.selectedIndex..st new file mode 100644 index 000000000..e7462ab8f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findClassHierarchy.selectedIndex..st @@ -0,0 +1,16 @@ +menu actions +findClassHierarchy: listElement selectedIndex: index + | browseTool block clsNamePattern | + browseTool := self topez toolInstanceFor: 'browse'. + clsNamePattern := (GsTextInteraction + prompt: 'Class Name Pattern (regex)' + template: 'Object') signal. + block := [ + | list classNames | + list := browseTool findClass: clsNamePattern. + classNames := list collect: [ :cls | cls className asString ]. + browseTool findClassHierarchy: classNames ]. + browseTool + browseClassesBlock: block + label: 'Find class hierarchy' , clsNamePattern printString. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findClassReferences.selectedIndex..st b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findClassReferences.selectedIndex..st new file mode 100644 index 000000000..4846ac5ec --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findClassReferences.selectedIndex..st @@ -0,0 +1,19 @@ +menu actions +findClassReferences: listElement selectedIndex: index + | browseTool block clsNamePattern list classNames className | + browseTool := self topez toolInstanceFor: 'browse'. + clsNamePattern := (GsTextInteraction + prompt: 'Class Name Pattern (regex):' + template: 'Object') signal. + list := browseTool findClass: clsNamePattern. + classNames := list collect: [ :cls | cls className asString ]. + className := (GsChoiceInteraction + prompt: 'Choose a class' + labels: classNames + values: classNames) signal. + className ifNil: [ ^ false ]. + block := [ browseTool findReferences: className inClass: nil searchScriptRoot: nil ]. + browseTool + browseMethodsBlock: block + label: 'Browse references to class ' , className printString. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findMethodImplementors.selectedIndex..st b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findMethodImplementors.selectedIndex..st new file mode 100644 index 000000000..9e08dd979 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findMethodImplementors.selectedIndex..st @@ -0,0 +1,23 @@ +menu actions +findMethodImplementors: listElement selectedIndex: index + | browseTool block methodPattern matches selectors selector | + browseTool := self topez toolInstanceFor: 'browse'. + methodPattern := (GsTextInteraction + prompt: 'Method Name Fragment:' + template: '') signal. + matches := browseTool findMethodNamesMatching: methodPattern. + selectors := (matches + asSortedCollection: [ :match1 :match2 | match1 moreRelevantThan: match2 ]) + collect: [ :match | match name asString ]. + selectors isEmpty + ifTrue: [ ^ false ]. + selector := (GsChoiceInteraction + prompt: 'Choose a method' + labels: selectors + values: selectors) signal. + selector ifNil: [ ^ false ]. + block := [ browseTool findMethod: selector ]. + browseTool + browseMethodsBlock: block + label: 'Find method ' , methodPattern printString. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findMethodSenders.selectedIndex..st b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findMethodSenders.selectedIndex..st new file mode 100644 index 000000000..f4e6528be --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findMethodSenders.selectedIndex..st @@ -0,0 +1,10 @@ +menu actions +findMethodSenders: listElement selectedIndex: index + | browseTool block selector | + browseTool := self topez toolInstanceFor: 'browse'. + selector := (GsTextInteraction prompt: 'Enter Selector:' template: '') signal. + block := [ browseTool findSender: selector ]. + browseTool + browseMethodsBlock: block + label: 'Find sender ' , selector printString. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findStringNoCase.selectedIndex..st b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findStringNoCase.selectedIndex..st new file mode 100644 index 000000000..998a26885 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/findStringNoCase.selectedIndex..st @@ -0,0 +1,10 @@ +menu actions +findStringNoCase: listElement selectedIndex: index + | browseTool block substring | + browseTool := self topez toolInstanceFor: 'browse'. + substring := (GsTextInteraction prompt: 'Enter Substring' template: '') signal. + block := [ browseTool findSourceExact: substring ignoreCase: true ]. + browseTool + browseMethodsBlock: block + label: 'Find string ' , substring printString. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st index 6d2d8d9f1..1382946c4 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st @@ -60,7 +60,7 @@ itemSelected: miniTool listElement: listElement selectedIndex: index shiftPresse (registration isConfigurationBased or: [ registration isHybridBased ]) ifTrue: [ enable value: #'configurationProject' ]. enable value: #'project'. - ^ STON + ^ self objectSerializer toString: {#'setMenuCategories:'. enabled. diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/menuActionSpec..st b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/menuActionSpec..st index 76cbc52f5..8adc38e5a 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/menuActionSpec..st +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/menuActionSpec..st @@ -15,6 +15,14 @@ menuActionSpec: miniTool #('repositories' nil #'browseProjectRepositoriesMenuAction:selectionIndex:' nil #'metacelloProject' false). #('-'). #('tests' nil #'testProjectMenuAction:selectionIndex:' nil #'loadedProject' false)})}. + {('Find' + -> + {#('Class...' nil #'findClass:selectedIndex:'). + #('Hierarchy Browser...' nil #'findClassHierarchy:selectedIndex:'). + #('Class References...' nil #'findClassReferences:selectedIndex:'). + #('Method...' nil #'findMethodImplementors:selectedIndex:'). + #('String...' nil #'findStringNoCase:selectedIndex:'). + #('Senders...' nil #'findMethodSenders:selectedIndex:')})}. #('-'). {('Git' -> @@ -33,6 +41,7 @@ menuActionSpec: miniTool #('log' nil #'commitLogMenuAction:selectionIndex:' nil #'loggableProject' false). #('merge' nil #'gitMergeProjectMenuAction:selectionIndex:' nil #'nonDirtyGitProject' false). #('push' nil #'gitPushProjectMenuAction:selectionIndex:' nil #'nonDirtyGitProject' false). + #('refresh (unloaded)' nil #'refreshProjectEntriesMenuAction:selectionIndex:'). #('revert' nil #'revertProjectMenuAction:selectionIndex:' nil #'dirtyProject' false). #('save' nil #'commitProjectMenuAction:selectionIndex:' nil #'writableRepoBasedProject' false). #('skew diff' nil #'gitVersionSkewDiffMenuAction:selectionIndex:' nil #'versionSkew' false). diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/refreshProjectEntriesMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/refreshProjectEntriesMenuAction.selectionIndex..st new file mode 100644 index 000000000..f5c31e088 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/refreshProjectEntriesMenuAction.selectionIndex..st @@ -0,0 +1,7 @@ +menu actions +refreshProjectEntriesMenuAction: listElement selectionIndex: selectionIndex + "refresh the unloaded project entries" + + projectTool projectRefresh: #(#'locked' #'unlocked' #'unloaded'). + listElement topez commitTransaction. + ^ #'refreshView' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/windowLocation.st b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/windowLocation.st index 594097722..9563fc996 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/windowLocation.st +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/instance/windowLocation.st @@ -1,4 +1,4 @@ accessing windowLocation - windowLocation ifNil: [ windowLocation := #'app1' ]. + windowLocation ifNil: [ windowLocation := #'projectList' ]. ^ windowLocation \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/methodProperties.json index f92b83250..59eace26a 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectBrowser.class/methodProperties.json @@ -8,7 +8,7 @@ "browseProjectPackagesMenuAction:selectionIndex:" : "dkh 05/23/2014 10:21", "browseProjectRepositoriesMenuAction:selectionIndex:" : "dkh 05/29/2014 15:50", "clientList:listElement:" : "dkh 05/23/2014 12:00", - "cloneProjectMenuAction:selectionIndex:" : "dkh 06/13/2014 01:11", + "cloneProjectMenuAction:selectionIndex:" : "dkh 03/15/2015 13:54", "commitLogMenuAction:selectionIndex:" : "dkh 06/02/2014 10:28", "commitProjectMenuAction:selectionIndex:" : "dkh 06/02/2014 10:17", "configuration:newVersion:" : "dkh 06/02/2014 10:20", @@ -21,7 +21,13 @@ "diffMenuAction:selectionIndex:" : "dkh 05/23/2014 12:17", "editProjectBaselineMenuAction:selectionIndex:" : "dkh 07/01/2014 14:38", "editProjectConfigurationMenuAction:selectionIndex:" : "dkh 06/30/2014 20:29", - "editProjectFileMenuAction:selectionIndex:" : "dkh 05/20/2014 11:56", + "editProjectFileMenuAction:selectionIndex:" : "dkh 03/15/2015 13:16", + "findClass:selectedIndex:" : "dkh 02/16/2015 20:22", + "findClassHierarchy:selectedIndex:" : "dkh 02/16/2015 20:22", + "findClassReferences:selectedIndex:" : "dkh 02/16/2015 20:23", + "findMethodImplementors:selectedIndex:" : "dkh 02/16/2015 20:25", + "findMethodSenders:selectedIndex:" : "dkh 02/16/2015 20:20", + "findStringNoCase:selectedIndex:" : "dkh 02/16/2015 20:20", "getProjectMenuAction:selectionIndex:" : "dkh 06/02/2014 10:17", "gitBranchesMenuAction:selectionIndex:" : "dkh 06/02/2014 11:04", "gitCheckoutMenuAction:selectionIndex:" : "dkh 05/29/2014 16:58", @@ -37,11 +43,11 @@ "gitVersionSkewDiffMenuAction:selectionIndex:" : "dkh 05/29/2014 20:57", "gitVersionSkewSaveProjectMenuAction:selectionIndex:" : "dkh 06/18/2014 20:52", "hasGitRepository:" : "dkh 05/12/2014 17:05", - "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 09/29/2014 12:43", + "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 06/25/2015 16:00", "loadConfigurationVersionMenuAction:selectionIndex:" : "dkh 07/01/2014 15:49", "loadProjectMenuAction:selectionIndex:" : "dkh 06/02/2014 10:17", "lockProjectMenuAction:selectionIndex:" : "dkh 06/13/2014 01:03", - "menuActionSpec:" : "dkh 09/29/2014 12:40", + "menuActionSpec:" : "dkh 02/18/2015 14:51", "projectBlock" : "dkh 05/07/2014 11:19", "projectBlock:" : "dkh 05/07/2014 11:19", "projectTool" : "dkh 05/12/2014 17:02", @@ -49,10 +55,11 @@ "projects" : "dkh 05/07/2014 11:20", "projects:" : "dkh 05/07/2014 11:19", "refreshListMenuAction:selectionIndex:" : "dkh 05/23/2014 12:23", + "refreshProjectEntriesMenuAction:selectionIndex:" : "dkh 02/18/2015 13:21", "revertProjectMenuAction:selectionIndex:" : "dkh 06/02/2014 10:17", "switchConfigurationVersionMenuAction:selectionIndex:" : "dkh 06/02/2014 10:22", "testProjectMenuAction:selectionIndex:" : "dkh 06/25/2014 15:41", "unlockProjectMenuAction:selectionIndex:" : "dkh 06/17/2014 12:44", "unregisterProjectMenuAction:selectionIndex:" : "dkh 06/02/2014 10:17", - "windowLocation" : "dkh 05/23/2014 10:16", + "windowLocation" : "dkh 03/19/2015 09:59", "windowName" : "dkh 05/07/2014 11:37" } } diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/instance/loads.st b/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/instance/loads.st index ccfe5f6d5..ed00bb529 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/instance/loads.st +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/instance/loads.st @@ -1,3 +1,12 @@ accessing loads - ^ self projectSpec loads \ No newline at end of file + | loads | + self projectSpec loads + ifNotNil: [ :loadList | loads := loadList ] + ifNil: [ loads := 'default' ]. + self entry ifNil: [ ^ loads ]. + self entry loads + ifNotNil: [ :entryLoads | + entryLoads = loads + ifFalse: [ loads := entryLoads ] ]. + ^ loads \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/instance/refreshProjectEntryUsing..st b/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/instance/refreshProjectEntryUsing..st new file mode 100644 index 000000000..3053c8949 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/instance/refreshProjectEntryUsing..st @@ -0,0 +1,23 @@ +actions +refreshProjectEntryUsing: refreshSpec + "force registration to be unregistered (and project entry to be reloaded) depending upon + symbols in : + #'loaded', #'unloaded', #'locked', and/or #'unlocked' +" + + self isLoadedInImage + ifTrue: [ + (refreshSpec includes: #'loaded') + ifFalse: [ ^ false ] ] + ifFalse: [ + (refreshSpec includes: #'unloaded') + ifFalse: [ ^ false ] ]. + self isLocked + ifTrue: [ + (refreshSpec includes: #'locked') + ifFalse: [ ^ false ] ] + ifFalse: [ + (refreshSpec includes: #'unlocked') + ifFalse: [ ^ false ] ]. + self unregister. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/instance/workingCopies.st b/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/instance/workingCopies.st index 24bf52b64..9575545f7 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/instance/workingCopies.st +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/instance/workingCopies.st @@ -1,16 +1,24 @@ accessing workingCopies - | version workingCopies | + | configWorkingCopy workingCopies | + configWorkingCopy := self projectSpec projectPackage workingCopy. + configWorkingCopy ifNil: [ ^ #() ]. self isLoadedInImage ifTrue: [ + | version | version := self registration projectVersion. version ifNil: [ "project has been unloaded from image" ^ #() ]. + configWorkingCopy modified + ifTrue: [ + | configProject "use the projectSpec from the config, if the config has been modified" | + configProject := self projectSpec projectClassProject. + version := configProject version: version versionString ]. workingCopies := version packages collect: [ :pkg | pkg workingCopy ] ] ifFalse: [ workingCopies := {} ]. - workingCopies add: self projectSpec projectPackage workingCopy. + workingCopies add: configWorkingCopy. self hybridBaselineProjectSpec ifNotNil: [ :baselineProjectSpec | workingCopies add: baselineProjectSpec projectPackage workingCopy ]. ^ workingCopies reject: [ :each | each isNil ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/methodProperties.json index ed60b258b..cdeac7ba3 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/methodProperties.json @@ -23,7 +23,7 @@ "isConfigurationBased" : "dkh 05/16/2014 15:54", "isMetacelloProject" : "dkh 05/15/2014 18:37", "loadProjectUsing:" : "dkh 05/16/2014 06:45", - "loads" : "dkh 05/16/2014 06:56", + "loads" : "dkh 11/21/2014 10:25", "projectClassProject" : "dkh 06/20/2014 10:08", "projectPackage" : "dkh 06/20/2014 07:05", "projectSelector" : "dkh 05/16/2014 06:52", @@ -31,11 +31,12 @@ "projectSpecClassName" : "dkh 06/20/2014 07:11", "projectVersion" : "dkh 08/20/2014 07:02", "projectVersionString" : "dkh 08/20/2014 07:02", + "refreshProjectEntryUsing:" : "dkh 02/18/2015 13:36", "repositories" : "dkh 05/15/2014 18:04", "repository" : "dkh 05/22/2014 07:36", "repositoryDescription" : "dkh 05/15/2014 18:04", "repositorySpec" : "dkh 05/15/2014 18:05", "repositorySpecs" : "dkh 05/15/2014 18:05", "unregister" : "dkh 05/23/2014 11:44", - "workingCopies" : "dkh 08/10/2014 17:52", + "workingCopies" : "dkh 12/02/2014 15:15", "workingCopiesForCommit" : "dkh 07/06/2014 08:59" } } diff --git a/repository/Topez-Server-Core.package/TDMetacelloRegistrationDefinition.class/instance/unregister.st b/repository/Topez-Server-Core.package/TDMetacelloRegistrationDefinition.class/instance/unregister.st index 534b0b325..9bcc4038f 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloRegistrationDefinition.class/instance/unregister.st +++ b/repository/Topez-Server-Core.package/TDMetacelloRegistrationDefinition.class/instance/unregister.st @@ -1,7 +1,3 @@ actions unregister - [ self registration unregisterProject ] - on: Error - do: [ :ignore | - "error signalled if registration does not exist ... that is cool" - ] \ No newline at end of file + self registration ifNotNil: [ self registration unregisterProject ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloRegistrationDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMetacelloRegistrationDefinition.class/methodProperties.json index a8615601a..4f0189593 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloRegistrationDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMetacelloRegistrationDefinition.class/methodProperties.json @@ -25,7 +25,7 @@ "registration:" : "dkh 05/08/2014 14:52", "revertProjectUsing:" : "dkh 05/15/2014 17:41", "saveProjectUsing:commitMessage:" : "dkh 05/15/2014 17:41", - "unregister" : "dkh 07/24/2014 16:46", + "unregister" : "dkh 02/18/2015 13:32", "updateRegistrationVersionInfo:" : "dkh 05/15/2014 21:08", "versionInfo" : "dkh 05/14/2014 21:14", "versionString" : "dkh 08/10/2014 16:46" } } diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectManPage.st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectManPage.st index 811de8b5e..3dd12bfa9 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectManPage.st +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectManPage.st @@ -27,8 +27,10 @@ DESCRIPTION push (git only) registry Inspect the project registry rehome Point package repository groups for project to new repository + refresh Refresh project entries in project list revert (see revert in project tool ... just dirty or reload ALL as options) status + summary View report of changed packages and methods test validate Validate the project registrations workdir Create working directory for project @@ -56,8 +58,10 @@ EXAMPLES at: 'compare' put: self projectcompareManPage; at: 'log' put: self projectlogManPage; at: 'rehome' put: self projectrehomeManPage; + at: 'refresh' put: self projectrefreshManPage; at: 'lock' put: self projectlockManPage; at: 'clone' put: self projectcloneManPage; at: 'entry' put: self projectentryManPage; + at: 'summary' put: self projectsummaryManPage; yourself. ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectcloneManPage.st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectcloneManPage.st index 88b7040eb..80c3612f4 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectcloneManPage.st +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectcloneManPage.st @@ -8,14 +8,40 @@ projectcloneManPage project clone - Clone repository (github only) SYNOPSIS - project clone ( | @ ) - + project clone [--https] [--local|--stone] [--gitRoot=] ( | @ ) DESCRIPTION + With no options, the github project is cloned using an SSH url + (git@github.com) into the $GS_HOME/gemstone/stones//git directory. A + new project entry is created in the /sys/stone/projects directory node. OPTIONS + --https + With the `--https option, use an HTTPS url (https://github.com/) when cloning the + repository. If you choose this option, many of the git-based `project list` menu + items may not work, unless you arrange for credentials to be automatically supplied (See + https://github.com/dalehenrich/tode/blob/master/docs/releaseNotes/releaseNotes0.1.0.md#git-credentials-and-tode + for more information). -EXAMPLES - project clone Zinc + --gitRoot= + Clone the github repository into the given (overriding the + --local|--stone defaults). Project entry is still saved based on + --local|--stone option. + + --local|--stone + The `--stone` option is the defaul. Clone the project into the + $GS_HOME/gemstone/stones//git directory and save project entry in + /sys/stone/projects directory node. + With the `--local` option set, save the project entry into the /sys/local/projects + directory node. The repository is cloned into the $GS_HOME/tode/sys/local/git + directory by default, but the default can be changed on a stone by stone basis by + setting the `serverGitRoot` field in the stone session description. + +EXAMPLES + project clone Seaside3 + project clone --https Seaside3 + project clone --gitRoot=/opt/git Seaside3 + project clone --local Seaside3 + project clone --stone Seaside3 '. ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectentryManPage.st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectentryManPage.st index c5198faa7..3f0c99737 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectentryManPage.st +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectentryManPage.st @@ -10,9 +10,10 @@ projectentryManPage project entry - Create a new project entry SYNOPSIS - project entry --baseline= --repo= - entry --config= [--version=] - --repo= + project entry --baseline= --repo= [--loads=] \ + + entry --config= [--version=] \ + --repo= [--loads=] entry --git= [--repo=] DESCRIPTION @@ -30,20 +31,21 @@ DESCRIPTION For Metacello project entries you define the name of the project, the type of the project (baseline or configuration), the repository where the baseline or - configuration may be found. For configurations, you also specify the version of - the project to be loaded. For example: + configuration may be found, and (optionally) the package/project/groups to be loaded. + For configurations, you also specify the version of the project to be loaded. For example: - project entry --config=External - --version=1.0.0 - --repo=http://ss3.gemstone.com/ss/external + project entry --config=External \ + --version=1.0.0 \ + --repo=http://ss3.gemstone.com/ss/external \ + --loads=`#(''Core'')` \ /home/external - project entry --baseline=External - --repo=github://dalehenrich/external:master/repository + project entry --baseline=External \ + --repo=github://dalehenrich/external:master/repository \ /home/external - Once you have created a project entry, you may change or add attributes. For - example, you may want to change the list of packages/groups/projects loaded or + If you don''t specify a `--loads` option, the ''default'' group is loaded. Once you have + created a project entry, you may change or add attributes. For example, you may want to change the status to #inactive. Once a project is loaded, only changes to the loads specification, locked @@ -76,9 +78,11 @@ Project Entry Attributes OPTIONS EXAMPLES - project entry --config=External --version=1.0.0 --repo=http://ss3.gemstone.com/ss/external /home/external + project entry --config=External --version=1.0.0 --repo=http://ss3.gemstone.com/ss/external \ + --loads=`#(''Core'')` /home/external - project entry --baseline=External --repo=github://dalehenrich/external:master/repository /home/external + project entry --baseline=External --repo=github://dalehenrich/external:master/repository \ + --loads=`#(''Core'')` /home/external project entry --git=projectHome --repo=$GS_HOME /home/external diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectrefreshManPage.st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectrefreshManPage.st new file mode 100644 index 000000000..bf45764de --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectrefreshManPage.st @@ -0,0 +1,39 @@ +project +projectrefreshManPage + "self install" + + | manPage | + manPage := TDManPage + commandName: 'refresh' + fromString: + 'NAME + project refresh - Refresh project entries in project list + +SYNOPSIS + project refresh ( [--locked] [--loaded] ) | ( [--all] ) + +DESCRIPTION + With no options, all unlocked and unloaded project entries are unregistered and then + refreshed from the `/sys/*/projects` directory nodes. + + With the --locked option specified all locked and unloaded project entries are unregistered + and then refreshed from the `/sys/*/projects` directory nodes. + + With the --loaded option specified all unlocked and loaded project entries are unregistered + and then refreshed from the `/sys/*/projects` directory nodes. + + With the --locked and --loaded options specified all locked and loaded project entries are + unregistred and then refreshed from the `/sys/*/projects` directory nodes. + + With the --all option specified all project entries are unregistered and then refreshed + from the `/sys/*/projects` directory nodes. + +EXAMPLES + project refresh --help + project refresh + project refresh --locked + project refresh --loaded + project refresh --loaded --locked + project refresh --all +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectsummaryManPage.st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectsummaryManPage.st new file mode 100644 index 000000000..bb722284a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/class/projectsummaryManPage.st @@ -0,0 +1,19 @@ +project +projectsummaryManPage + | manPage | + manPage := TDManPage + commandName: 'summary' + fromString: + 'NAME + project summary - View report of changed packages and methods + +SYNOPSIS + project summary + +DESCRIPTION + The `project summary` command brings up a list of changed packages and methods. + +EXAMPLES + project summary +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectClone..st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectClone.cloneWithSSH.projectEntryPath.gitRootPath..st similarity index 77% rename from repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectClone..st rename to repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectClone.cloneWithSSH.projectEntryPath.gitRootPath..st index 2d03158b4..bef0c86dc 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectClone..st +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectClone.cloneWithSSH.projectEntryPath.gitRootPath..st @@ -1,7 +1,6 @@ project api -projectClone: registration - | gitRootPath gitRootDir githubRepo repositoryDirPath projectDir projectDirPath githubPath pathElements versionElement versionComponents githubSha gitTool response projectPathElements newRegistration gitRepoDirectory gitRepoDirName metacello | - gitRootPath := registration gitRootPath. +projectClone: registration cloneWithSSH: cloneWithSSH projectEntryPath: projectEntryPath gitRootPath: gitRootPath + | gitRootDir githubRepo repositoryDirPath projectDir projectDirPath githubPath pathElements versionElement versionComponents githubSha gitTool response projectPathElements newRegistration gitRepoDirectory gitRepoDirName cloneUrl | gitRootDir := ServerFileDirectory on: gitRootPath. githubRepo := registration cloneProjectSpec repository createRepository. repositoryDirPath := githubRepo directory fullName. @@ -18,9 +17,12 @@ projectClone: registration versionComponents := versionElement findTokens: '-'. githubSha := versionComponents last. gitTool := topez toolInstanceFor: 'git'. + cloneUrl := cloneWithSSH + ifTrue: [ 'git@github.com:' ] + ifFalse: [ 'https://github.com/' ]. response := gitTool gitcloneIn: gitRootDir - with: '--no-checkout git@github.com:' , githubRepo projectPath , '.git'. + with: '--no-checkout ' , cloneUrl , githubRepo projectPath , '.git'. (response beginsWith: 'fatal:') ifTrue: [ self error: response ]. response @@ -54,16 +56,19 @@ If you cancel, a branch name can be specified at a later date.' response := gitTool gitcheckoutIn: gitRepoDirectory with: '-b ' , newBranchName. (response beginsWith: 'fatal:') ifTrue: [ self error: response ] ] ]. - metacello := Metacello new + Metacello new baseline: registration projectName; repository: - 'filetree://' , gitRootPath , '/' , gitRepoDirName , '/' , githubRepo repoPath. - metacello copy register. - metacello lock. + 'filetree://' , gitRootPath , '/' , gitRepoDirName , '/' , githubRepo repoPath; + register; + lock. newRegistration := self projectRegistrationFor: registration projectName. (self topez toolInstanceFor: 'project') projectMap: registration from: githubRepo toRepository: newRegistration repository. + newRegistration + entry: nil; + entryNode: registration projectPath: projectEntryPath topez: self topez. "force creation of a /sys/stone/projects project entry with cloned information" registration isLoadedInImage ifTrue: [ registration versionInfo versionString: githubSha ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectLoad..st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectLoad..st new file mode 100644 index 000000000..94e9b9cd5 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectLoad..st @@ -0,0 +1,5 @@ +project api +projectLoad: projectName + | registration | + registration := self resolveProjectRegistrationReference: projectName. + registration loadProjectUsing: self \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectRefresh..st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectRefresh..st new file mode 100644 index 000000000..9fabb8259 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectRefresh..st @@ -0,0 +1,6 @@ +project api +projectRefresh: refreshSpec + "return list of registrations unregistered" + + ^ self projectRegistrationDefinitionMap values + select: [ :registration | registration refreshProjectEntryUsing: refreshSpec ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectRegistrationDefinitionMap.st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectRegistrationDefinitionMap.st index 2ab303c7b..971bc8554 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectRegistrationDefinitionMap.st +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectRegistrationDefinitionMap.st @@ -6,7 +6,7 @@ projectRegistrationDefinitionMap (findTool findProjectRegistrationDefinitions: '') do: [ :reg | map at: reg projectName put: reg ]. self - scanHomeDirForProjects: [ :projectEntry | + scanForProjects: [ :projectEntry | | registration | (map at: projectEntry projectName ifAbsent: [ ]) ifNil: [ diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectclone.st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectclone.st index 28209dfbe..a0478baf6 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectclone.st +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectclone.st @@ -1,11 +1,34 @@ project projectclone " - project clone ( | @ ) + project clone [--https] [--local|--stone] [--gitRoot=] ( | @ ) " - | registration projectName | - self getSubcommandOptsMixedLongShort: {}. + | registration projectName cloneWithSSH projectEntryPath gitRootPath | + self + getSubcommandOptsMixedLongShort: + {#('https' nil #'none'). + #('gitRoot' nil #'required'). + #('local' nil #'required'). + #('stone' nil #'required')}. + options + at: 'https' + ifPresent: [ :ingored | cloneWithSSH := false ] + ifAbsent: [ cloneWithSSH := true ]. projectName := subArguments at: 1. registration := self resolveProjectRegistrationReference: projectName. - ^ self projectClone: registration \ No newline at end of file + options + at: 'local' + ifPresent: [ :ignored | + projectEntryPath := '/sys/local/projects/'. + gitRootPath := '$GS_HOME/tode/sys/local/git' ] + ifAbsent: [ + projectEntryPath := '/sys/stone/projects/'. + gitRootPath := '$GS_HOME/gemstone/stones/' , self topez serverStoneName + , '/git' ]. + options at: 'gitRoot' ifPresent: [ :dirPath | gitRootPath := dirPath ]. + ^ self + projectClone: registration + cloneWithSSH: cloneWithSSH + projectEntryPath: projectEntryPath + gitRootPath: gitRootPath \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectentry.st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectentry.st index 2a48023ef..45596f4d7 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectentry.st +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectentry.st @@ -1,21 +1,27 @@ project projectentry " - project entry --baseline= --repo= - entry --config= [--version=] - --repo= + project entry --baseline= --repo= [--loads=] \ + + entry --config= [--version=] \ + --repo= [--loads=] entry --git= [--repo=] " - | repo projectEntry projectNode projectPath | + | repo projectEntry projectNode projectPath loads | self getSubcommandOptsMixedLongShort: {#('config' nil #'required'). + #('loads' nil #'required'). #('version' nil #'required'). #('repo' nil #'required'). #('baseline' nil #'required')}. projectPath := subArguments at: 1. subOptions at: 'repo' ifPresent: [ :arg | repo := arg ]. + subOptions + at: 'loads' + ifPresent: [ :arg | loads := arg evaluate ] + ifAbsent: [ loads := 'default' ]. subOptions at: 'config' ifPresent: [ :arg | @@ -30,14 +36,14 @@ projectentry configuration: arg version: version repository: repo - loads: 'default' ] + loads: loads ] ifAbsent: [ subOptions at: 'baseline' ifPresent: [ :baselineName | projectEntry := TDProjectSpecEntryDefinition new. repo ifNil: [ self error: '--repo required' ]. - projectEntry baseline: baselineName repository: repo loads: 'default' ] + projectEntry baseline: baselineName repository: repo loads: loads ] ifAbsent: [ subOptions at: 'git' diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectload.st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectload.st index bd2797a05..0896f7048 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectload.st +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectload.st @@ -8,7 +8,7 @@ projectload [--repository=] [--onConflict=useIncoming|useLoaded] [--onDowngrade=useIncoming|useLoaded] - [--onLock=break|honor] + [--onLock=break|honor] [--onUpgrade=useIncoming|useLoaded] [--ignoreImage] [--silently] [--cacheRepository=@] @@ -93,13 +93,13 @@ projectload at: 'className' ifPresent: [ :arg | projectClassName := arg ] ifAbsent: [ projectClassName := nil ]. - subOptions - at: 'loads' - ifPresent: [ :arg | loads := arg evaluate ] - ifAbsent: [ - registration loads - ifNotNil: [ :loadList | loads := loadList ] - ifNil: [ loads := 'default' ] ]. + registration loads + ifNotNil: [ :loadList | + loads := loadList. + loads isArray + ifFalse: [ loads := loads asArray ] ] + ifNil: [ loads := {'default'} ]. + subOptions at: 'loads' ifPresent: [ :arg | loads := loads , arg evaluate ]. subOptions at: 'no-get' ifPresent: [ :ignored | doGet := false ] diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectrefresh.st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectrefresh.st new file mode 100644 index 000000000..493298f15 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectrefresh.st @@ -0,0 +1,26 @@ +project +projectrefresh + " + project refresh ( [--locked] [--loaded] ) | ( [--all] ) +" + + | refreshSpec | + self + getSubcommandOptsMixedLongShort: + {#('all' nil #'none'). + #('loaded' nil #'none'). + #('locked' nil #'none')}. + refreshSpec := {}. + subOptions + at: 'all' + ifPresent: [ :ignored | refreshSpec := #(#'loaded' #'unloaded' #'locked' #'unlocked') ] + ifAbsent: [ + subOptions + at: 'loaded' + ifPresent: [ :ignored | refreshSpec add: #'loaded' ] + ifAbsent: [ refreshSpec add: #'unloaded' ]. + subOptions + at: 'locked' + ifPresent: [ :ignored | refreshSpec add: #'locked' ] + ifAbsent: [ refreshSpec add: #'unlocked' ] ]. + ^ self projectRefresh: refreshSpec \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectrehome.st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectrehome.st index 249ff41ab..60225cd36 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectrehome.st +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectrehome.st @@ -6,7 +6,10 @@ projectrehome " | projectName registration description newRepo skipConfig | - self getSubcommandOptsMixedLongShort: {#('repo' $i #'none')}. + self + getSubcommandOptsMixedLongShort: + {#('repo' nil #'required'). + #('no-config' nil #'none')}. projectName := subArguments at: 1. registration := self projectRegistrationFor: projectName. subOptions @@ -14,7 +17,7 @@ projectrehome ifPresent: [ :arg | description := arg ] ifAbsent: [ description := registration repositoryDescription ]. subOptions - at: 'no-Config' + at: 'no-config' ifPresent: [ :ignored | skipConfig := true ] ifAbsent: [ skipConfig := false ]. newRepo := self repositoryFromDescription: description. diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectsummary.st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectsummary.st new file mode 100644 index 000000000..aa230deee --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/projectsummary.st @@ -0,0 +1,36 @@ +project +projectsummary + " + project summary +" + + | stream report | + stream := WriteStream on: String new. + (MCWorkingCopy allManagers select: [ :ea | ea modified ]) + do: [ :each | + | patch repo allRepos | + allRepos := each repositoryGroup repositories. + repo := allRepos + detect: [ :each | each isKindOf: MCHttpRepository ] + ifNone: [ nil ]. + repo isNil + ifTrue: [ + repo := allRepos + detect: [ :each | each isKindOf: MCFileBasedRepository ] + ifNone: [ nil ] ]. + repo isNil + ifFalse: [ + stream + nextPutAll: 'Package: ' , each ancestry ancestorString; + cr. + patch := each changesRelativeToRepository: repo. + patch operations + do: [ :op | + stream + tab; + nextPutAll: op summary; + cr ]. + stream cr ] ]. + report := stream contents. + report edit: self topez. + ^ report \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/scanForProjects..st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/scanForProjects..st new file mode 100644 index 000000000..6bc9d4614 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/scanForProjects..st @@ -0,0 +1,5 @@ +private +scanForProjects: projectBlock + (self topez lookup: '/projects' ifAbsent: [ ]) + ifNotNil: [ :projectNode | self scanProjectDir: projectNode forProjects: projectBlock ] + ifNil: [ self scanHomeDirForProjects: projectBlock ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/scanNode.forProjects..st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/scanNode.forProjects..st index 5c12bc471..be6e4fa1b 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/scanNode.forProjects..st +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/scanNode.forProjects..st @@ -1,7 +1,7 @@ private scanNode: dirNode forProjects: projectBlock dirNode - childrenAndNamesDo: [ :node :nodeName | + childrenDo: [ :node | node isLeaf ifFalse: [ (node childNamed: 'project' ifAbsent: [ ]) diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/scanProjectDir.forProjects..st b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/scanProjectDir.forProjects..st new file mode 100644 index 000000000..a0b3cce59 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/instance/scanProjectDir.forProjects..st @@ -0,0 +1,17 @@ +private +scanProjectDir: projectDirNode forProjects: projectBlock + projectDirNode + composedChildrenDo: [ :composedParentNode :projectNode | + | composedParentPath | + composedParentPath := composedParentNode + ifNotNil: [ composedParentNode printString ]. + projectNode isLeaf + ifFalse: [ + | entry | + entry := projectNode dotSelfObject. + entry + baseProjectPath: composedParentPath; + projectPath: projectDirNode printString; + projectNodeName: projectNode name; + yourself. + projectBlock value: entry ] ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloTool.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMetacelloTool.class/methodProperties.json index 4638867ba..983ecb6d3 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloTool.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMetacelloTool.class/methodProperties.json @@ -6,19 +6,21 @@ "packageManPage" : "dkh 05/08/2014 10:26", "priority" : "dkh 05/10/2014 10:56", "project" : "dkh 05/08/2014 10:21", - "projectManPage" : "dkh 07/14/2014 09:17", - "projectcloneManPage" : "dkh 06/13/2014 01:05", + "projectManPage" : "dkh 02/18/2015 12:43", + "projectcloneManPage" : "dkh 03/15/2015 13:14", "projectcommitManPage" : "dkh 05/16/2014 07:34", "projectcompareManPage" : "dkh 05/09/2014 08:19", "projectdiffManPage" : "dkh 05/09/2014 07:20", - "projectentryManPage" : "dkh 07/26/2014 12:43", + "projectentryManPage" : "dkh 12/28/2014 13:54", "projectlistManPage" : "dkh 05/08/2014 10:23", "projectloadManPage" : "dkh 07/30/2014 11:22", "projectlockManPage" : "dkh 06/13/2014 01:00", "projectlogManPage" : "dkh 05/12/2014 16:14", "projectprimeManPage" : "dkh 05/09/2014 08:21", + "projectrefreshManPage" : "dkh 02/18/2015 13:08", "projectregistryManPage" : "dkh 05/08/2014 10:24", "projectrehomeManPage" : "dkh 06/04/2014 13:42", + "projectsummaryManPage" : "dkh 02/07/2015 09:36", "projectvalidateManPage" : "dkh 05/08/2014 10:24", "projectworkdirManPage" : "dkh 05/08/2014 10:24", "repository" : "dkh 05/08/2014 10:25", @@ -26,7 +28,7 @@ "toolName" : "dkh 05/08/2014 10:27", "toolReadMe" : "dkh 05/08/2014 10:27" }, "instance" : { - "projectClone:" : "dkh 08/11/2014 07:54", + "projectClone:cloneWithSSH:projectEntryPath:gitRootPath:" : "dkh 03/15/2015 12:49", "projectCommit:commitMessage:" : "dkh 05/16/2014 07:49", "projectCommit:configCommit:gitCommit:commitMessage:" : "dkh 05/20/2014 11:32", "projectCommitConfiguration:configuration:commitMessage:" : "dkh 05/20/2014 11:30", @@ -37,6 +39,7 @@ "projectGet:className:selector:repositoryDescription:" : "dkh 07/01/2014 15:47", "projectGet:className:selector:version:repositoryDescription:" : "dkh 07/01/2014 15:31", "projectGetConfiguration:version:repositoryDescription:" : "dkh 07/01/2014 15:50", + "projectLoad:" : "dkh 02/11/2015 15:30", "projectLoad:doGet:gsDeployer:selector:description:className:loads:version:onConflict:onDowngrade:onLock:onUpgrade:ignoreImage:silently:cacheRepository:overrides:" : "dkh 10/10/2014 14:32", "projectLoad:doGet:gsDeployer:selector:repositoryDescription:loads:version:onConflict:onDowngrade:onLock:onUpgrade:ignoreImage:silently:cacheRepository:repositoryOverrides:" : "dkh 07/22/2014 15:47", "projectLoad:selector:repositoryDescription:className:loads:version:" : "dkh 10/10/2014 14:33", @@ -45,34 +48,39 @@ "projectLoadBaseline:repositoryDescription:loads:" : "dkh 05/13/2014 15:48", "projectLoadConfiguration:version:repositoryDescription:className:loads:" : "dkh 10/10/2014 14:34", "projectLock:" : "dkh 06/20/2014 07:13", - "projectMap:from:toRepository:" : "dkh 07/01/2014 11:31", + "projectMap:from:toRepository:" : "dkh 10/18/2014 09:30", "projectMerge:commitish:gitRepoDirectory:" : "dkh 05/30/2014 06:57", + "projectRefresh:" : "dkh 02/18/2015 13:37", "projectRegisterConfiguration:version:" : "dkh 05/16/2014 17:14", "projectRegistrationDefinitionList" : "dkh 05/22/2014 07:27", - "projectRegistrationDefinitionMap" : "dkh 07/24/2014 20:44", + "projectRegistrationDefinitionMap" : "dkh 11/13/2014 13:59", "projectRegistrationDefinitionNamed:" : "dkh 05/22/2014 07:29", "projectRegistrationFor:" : "dkh 07/24/2014 16:54", "projectStatus:" : "dkh 05/16/2014 08:14", "projectStatus:args:" : "dkh 05/16/2014 08:13", "projectUnlock:" : "dkh 06/20/2014 07:13", "projectUpdateAndCommit:configuration:commitMessage:" : "dkh 05/20/2014 11:30", - "projectclone" : "dkh 06/13/2014 01:06", + "projectclone" : "dkh 03/15/2015 13:54", "projectcommit" : "dkh 05/16/2014 07:48", "projectcompare" : "dkh 05/29/2014 20:59", "projectdiff" : "dkh 05/13/2014 13:31", - "projectentry" : "dkh 10/01/2014 09:54", + "projectentry" : "dkh 12/28/2014 13:56", "projectlist" : "dkh 05/22/2014 07:27", - "projectload" : "dkh 10/10/2014 14:33", + "projectload" : "dkh 02/26/2015 13:24", "projectlock" : "dkh 06/13/2014 01:02", "projectlog" : "dkh 07/11/2014 21:50", "projectprime" : "dkh 05/09/2014 08:22", + "projectrefresh" : "dkh 02/18/2015 13:19", "projectregistry" : "dkh 05/08/2014 10:28", - "projectrehome" : "dkh 06/04/2014 14:41", + "projectrehome" : "dkh 02/18/2015 13:13", + "projectsummary" : "dkh 02/07/2015 09:37", "projectvalidate" : "dkh 05/08/2014 10:28", "repositoryFlush" : "dkh 05/13/2014 13:40", "repositoryflush" : "dkh 05/13/2014 13:40", "resolveProjectRegistrationReference:" : "dkh 06/13/2014 01:56", + "scanForProjects:" : "dkh 11/13/2014 15:06", "scanHomeDirForProjects:" : "dkh 08/07/2014 16:00", - "scanNode:forProjects:" : "dkh 08/07/2014 15:58", + "scanNode:forProjects:" : "dkh 12/19/2014 15:59", + "scanProjectDir:forProjects:" : "dkh 11/21/2014 14:54", "sortRegistrationList:" : "dkh 05/21/2014 15:25", "validateGitRepoExistsFor:" : "dkh 05/15/2014 18:39" } } diff --git a/repository/Topez-Server-Core.package/TDMetacelloUnloadedProjectRegistrationDefinition.class/instance/createTemplateProjectEntry..st b/repository/Topez-Server-Core.package/TDMetacelloUnloadedProjectRegistrationDefinition.class/instance/createTemplateProjectEntry..st new file mode 100644 index 000000000..ca247ee7c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMetacelloUnloadedProjectRegistrationDefinition.class/instance/createTemplateProjectEntry..st @@ -0,0 +1,26 @@ +project list +createTemplateProjectEntry: anOldTDRegistrationDefinitionOrNil + self registration + baselineProjectSpecIfPresent: [ :baselineProjectSpec | + entry := TDProjectSpecEntryDefinition new + baseline: self projectName + repository: self repositoryDescription + loads: + (self + templateProjectEntryLoads: anOldTDRegistrationDefinitionOrNil + projectSpec: baselineProjectSpec); + yourself ] + ifAbsent: [ + | configurationProjectSpec | + configurationProjectSpec := self registration configurationProjectSpec. + entry := TDProjectSpecEntryDefinition new + configuration: self projectName + className: configurationProjectSpec className + version: configurationProjectSpec versionString + repository: self repositoryDescription + loads: + (self + templateProjectEntryLoads: anOldTDRegistrationDefinitionOrNil + projectSpec: configurationProjectSpec); + yourself ]. + ^ entry \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMetacelloUnloadedProjectRegistrationDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMetacelloUnloadedProjectRegistrationDefinition.class/methodProperties.json index 5087b06c8..0e1b04ffe 100644 --- a/repository/Topez-Server-Core.package/TDMetacelloUnloadedProjectRegistrationDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMetacelloUnloadedProjectRegistrationDefinition.class/methodProperties.json @@ -6,6 +6,7 @@ "cloneProjectSpec" : "dkh 06/30/2014 21:01", "configurationClassName" : "dkh 06/30/2014 19:55", "configurationVersionString" : "dkh 05/23/2014 11:53", + "createTemplateProjectEntry:" : "dkh 03/14/2015 19:59", "emphasis" : "dkh 05/15/2014 17:57", "hasGitBasedRepo" : "dkh 09/29/2014 12:45", "hybridBaselineProjectSpec" : "dkh 07/02/2014 14:41", diff --git a/repository/Topez-Server-Core.package/TDMethodDefinition.class/instance/removeFromSystem..st b/repository/Topez-Server-Core.package/TDMethodDefinition.class/instance/removeFromSystem..st index f0a2c3576..a08c561c2 100644 --- a/repository/Topez-Server-Core.package/TDMethodDefinition.class/instance/removeFromSystem..st +++ b/repository/Topez-Server-Core.package/TDMethodDefinition.class/instance/removeFromSystem..st @@ -1,6 +1,8 @@ as yet unclassified removeFromSystem: topez + | methTool | + methTool := topez toolInstanceFor: 'cls'. self methodCategory. "https://github.com/dalehenrich/tode/issues/57" deletedMethod := self method. - self theBehavior removeSelector: self selector. + methTool methodremove: self. "perhaps some refactoring is called for?" ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMethodDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMethodDefinition.class/methodProperties.json index e31807453..3f2d202f3 100644 --- a/repository/Topez-Server-Core.package/TDMethodDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMethodDefinition.class/methodProperties.json @@ -10,7 +10,7 @@ "referencesTo:isMeta:in:" : "dkh 02/05/2014 15:30", "selectMethod:topez:" : "dkh 05/15/2014 09:53" }, "instance" : { - "<=" : "dkh 10/30/2013 02:56", + "<=" : "dkh 09/10/2015 01:17", "=" : "dkh 06/04/2013 11:31", "addToClientListFor:names:items:indents:aspect:" : "dkh 10/05/2013 11:47", "classIsMeta" : "dkh 05/22/2014 12:32", @@ -33,7 +33,7 @@ "pasteIntoPackageDefinition:" : "dkh 03/20/2013 20:51", "pasteIntoProtocolDefinition:" : "dkh 10/10/2013 05:02", "pasteTDDefinition:" : "DataCurator 02/09/2013 10:35", - "removeFromSystem:" : "dkh 07/08/2014 09:32", + "removeFromSystem:" : "dkh 09/11/2015 11:24", "selector" : "DataCurator 02/05/2013 09:26", "selector:" : "DataCurator 02/05/2013 09:26", "sends:" : "dkh 02/23/2013 15:20", diff --git a/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/instance/beMultipleSelection.st b/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/instance/beMultipleSelection.st new file mode 100644 index 000000000..fe1e53ca1 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/instance/beMultipleSelection.st @@ -0,0 +1,3 @@ +interaction +beMultipleSelection + ^ self theEditorSpec beMultipleSelection \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/instance/clientListElement.st b/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/instance/clientListElement.st new file mode 100644 index 000000000..4e302596d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/instance/clientListElement.st @@ -0,0 +1,5 @@ +accessing +clientListElement + ^ super clientListElement + beMultipleSelection: self beMultipleSelection; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/instance/itemSelected.at.shiftPressed.listSelectionsDictionary..st b/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/instance/itemSelected.at.shiftPressed.listSelectionsDictionary..st new file mode 100644 index 000000000..ecd324441 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/instance/itemSelected.at.shiftPressed.listSelectionsDictionary..st @@ -0,0 +1,9 @@ +interaction +itemSelected: listElement at: index shiftPressed: shiftPressed listSelectionsDictionary: listSelectionsDictionary + index ifNil: [ ^ nil ]. + ^ self theEditorSpec + itemSelected: self + listElement: listElement + at: index + shiftPressed: shiftPressed + listSelectionsDictionary: listSelectionsDictionary \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/instance/usePersistentClientElementCache.st b/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/instance/usePersistentClientElementCache.st new file mode 100644 index 000000000..2f750e316 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/instance/usePersistentClientElementCache.st @@ -0,0 +1,3 @@ +accessing +usePersistentClientElementCache + ^ self theEditorSpec usePersistentClientElementCache \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/methodProperties.json index 6ec572e3d..1ad0ef126 100644 --- a/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMiniToolClientListElementBuilder.class/methodProperties.json @@ -2,10 +2,14 @@ "class" : { }, "instance" : { + "beMultipleSelection" : "dkh 01/29/2015 16:02", "clientList:" : "10/07/2013 10:50", + "clientListElement" : "dkh 01/29/2015 15:56", "defaultEditorWindowLocation" : "10/07/2013 10:55", "inspectBuilderMenuAction:selectionIndex:" : "dkh 06/24/2014 12:09", "itemSelected:at:shiftPressed:" : "dkh 04/19/2014 09:36", + "itemSelected:at:shiftPressed:listSelectionsDictionary:" : "dkh 01/29/2015 06:54", "menuActionBlock" : "dkh 06/20/2014 12:08", "menuActionSpec" : "10/07/2013 10:12", + "usePersistentClientElementCache" : "dkh 08/18/2015 11:02", "windowIsClosingBlock" : "dkh 10/20/2013 10:39" } } diff --git a/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/beMultipleSelection..st b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/beMultipleSelection..st new file mode 100644 index 000000000..4b09c22bd --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/beMultipleSelection..st @@ -0,0 +1,3 @@ +accessing +beMultipleSelection: aBool + beMultipleSelection := aBool \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/beMultipleSelection.st b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/beMultipleSelection.st new file mode 100644 index 000000000..86fbcf183 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/beMultipleSelection.st @@ -0,0 +1,4 @@ +accessing +beMultipleSelection + beMultipleSelection ifNil: [ beMultipleSelection := false ]. + ^ beMultipleSelection \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/itemSelected.listElement.at.shiftPressed..st b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/itemSelected.listElement.at.shiftPressed..st index 265568f4c..21c473857 100644 --- a/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/itemSelected.listElement.at.shiftPressed..st +++ b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/itemSelected.listElement.at.shiftPressed..st @@ -5,4 +5,5 @@ itemSelected: miniToolClientListElementBuilder listElement: listElement at: inde value: self value: listElement value: index - value: shiftPressed \ No newline at end of file + value: shiftPressed + value: nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/itemSelected.listElement.at.shiftPressed.listSelectionsDictionary..st b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/itemSelected.listElement.at.shiftPressed.listSelectionsDictionary..st new file mode 100644 index 000000000..8c47839d0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/itemSelected.listElement.at.shiftPressed.listSelectionsDictionary..st @@ -0,0 +1,11 @@ +interaction +itemSelected: miniToolClientListElementBuilder listElement: listElement at: index shiftPressed: shiftPressed listSelectionsDictionary: listSelectionsDictionary + "multiple selection" + + builder := miniToolClientListElementBuilder. + ^ self itemSelectedBlock + value: self + value: listElement + value: index + value: shiftPressed + value: listSelectionsDictionary \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/usePersistentClientElementCache..st b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/usePersistentClientElementCache..st new file mode 100644 index 000000000..7c286b6fd --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/usePersistentClientElementCache..st @@ -0,0 +1,3 @@ +accessing +usePersistentClientElementCache: aBool + usePersistentClientElementCache := aBool \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/usePersistentClientElementCache.st b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/usePersistentClientElementCache.st new file mode 100644 index 000000000..54de69fba --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/instance/usePersistentClientElementCache.st @@ -0,0 +1,5 @@ +accessing +usePersistentClientElementCache + usePersistentClientElementCache + ifNil: [ usePersistentClientElementCache := true ]. + ^ usePersistentClientElementCache \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMiniToolSpec.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/methodProperties.json index faf85dcc3..4fa9aa2ca 100644 --- a/repository/Topez-Server-Core.package/TDMiniToolSpec.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/methodProperties.json @@ -3,12 +3,15 @@ "topez:clientListBlock:menuActionSpecBlock:menuActionBlock:itemSelectedBlock:" : "dkh 06/18/2014 17:00", "topez:clientListBlock:menuActionSpecBlock:menuActionBlock:itemSelectedBlock:windowIsClosingBlock:" : "dkh 06/18/2014 17:00" }, "instance" : { + "beMultipleSelection" : "dkh 01/29/2015 15:53", + "beMultipleSelection:" : "dkh 01/29/2015 15:53", "builder" : "10/07/2013 10:34", "builder:" : "10/07/2013 10:34", "clientList:listElement:" : "10/07/2013 10:48", "clientListBlock" : "10/07/2013 10:42", "clientListBlock:" : "10/07/2013 10:42", - "itemSelected:listElement:at:shiftPressed:" : "10/07/2013 10:48", + "itemSelected:listElement:at:shiftPressed:" : "dkh 01/29/2015 09:40", + "itemSelected:listElement:at:shiftPressed:listSelectionsDictionary:" : "dkh 01/29/2015 07:04", "itemSelectedBlock" : "10/07/2013 10:23", "itemSelectedBlock:" : "10/07/2013 10:23", "menuAction:actionSymbol:listElement:selectedIndex:" : "10/07/2013 10:57", @@ -17,4 +20,6 @@ "menuActionSpec:" : "10/07/2013 10:35", "menuActionSpecBlock" : "10/07/2013 10:23", "menuActionSpecBlock:" : "10/07/2013 10:23", + "usePersistentClientElementCache" : "dkh 08/18/2015 11:06", + "usePersistentClientElementCache:" : "dkh 08/18/2015 10:31", "windowIsClosing:" : "dkh 10/30/2013 03:02" } } diff --git a/repository/Topez-Server-Core.package/TDMiniToolSpec.class/properties.json b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/properties.json index b28a247ce..e2fe0d480 100644 --- a/repository/Topez-Server-Core.package/TDMiniToolSpec.class/properties.json +++ b/repository/Topez-Server-Core.package/TDMiniToolSpec.class/properties.json @@ -10,7 +10,9 @@ "clientListBlock", "itemSelectedBlock", "menuActionBlock", - "menuActionSpecBlock" ], + "menuActionSpecBlock", + "beMultipleSelection", + "usePersistentClientElementCache" ], "name" : "TDMiniToolSpec", "pools" : [ ], diff --git a/repository/Topez-Server-Core.package/TDMonticelloSupport.class/instance/commitWorkingCopy.repos.commitMessage..st b/repository/Topez-Server-Core.package/TDMonticelloSupport.class/instance/commitWorkingCopy.repos.commitMessage..st index 3740cd5cf..59d04add1 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloSupport.class/instance/commitWorkingCopy.repos.commitMessage..st +++ b/repository/Topez-Server-Core.package/TDMonticelloSupport.class/instance/commitWorkingCopy.repos.commitMessage..st @@ -6,5 +6,6 @@ commitWorkingCopy: aWorkingCopy repos: targetRepos commitMessage: commitMessage do: [ :notification | notification resume: (Array with: notification suggestedName with: commitMessage) ]. - targetRepos do: [ :repository | repository storeVersion: newVersion ]. + targetRepos + do: [ :repository | self storeVersion: newVersion inRepository: repository ]. ^ newVersion \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloSupport.class/instance/gitCommit.commitMessage..st b/repository/Topez-Server-Core.package/TDMonticelloSupport.class/instance/gitCommit.commitMessage..st index 2584817af..b3b11e6ff 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloSupport.class/instance/gitCommit.commitMessage..st +++ b/repository/Topez-Server-Core.package/TDMonticelloSupport.class/instance/gitCommit.commitMessage..st @@ -1,12 +1,15 @@ git gitCommit: projectRegistration commitMessage: messageString - | status gitRepoDir gitTool commitMessageFileName | + | status gitRepoDir gitTool commitMessageFileName result | gitRepoDir := self gitRepoDirForRegistration: projectRegistration. gitTool := topez toolInstanceFor: 'git'. commitMessageFileName := gitTool createTmpFileWith: messageString. - gitTool - gitaddIn: gitRepoDir with: '.'; - gitcommitIn: gitRepoDir with: '-a --file=' , commitMessageFileName. + gitTool gitaddIn: gitRepoDir with: '.'. + result := gitTool + gitcommitIn: gitRepoDir + with: '-a --file=' , commitMessageFileName. + (result lines last beginsWith: 'fatal:') + ifTrue: [ ^ self error: 'Git commit failed (after data written to disk): ' , result ]. self gitUpdateRegistrationVersionInfo: projectRegistration. status := gitTool gitlogIn: gitRepoDir with: '-1'. Transcript diff --git a/repository/Topez-Server-Core.package/TDMonticelloSupport.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMonticelloSupport.class/methodProperties.json index bb25c5259..5b755588e 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloSupport.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMonticelloSupport.class/methodProperties.json @@ -3,11 +3,11 @@ }, "instance" : { "commitWorkingCopies:repos:commitMessage:" : "dkh 05/09/2014 06:59", - "commitWorkingCopy:repos:commitMessage:" : "dkh 05/09/2014 06:59", + "commitWorkingCopy:repos:commitMessage:" : "dkh 08/25/2015 17:17", "diffForWorkingCopies:on:" : "dkh 05/09/2014 07:05", "diffForWorkingCopy:on:" : "dkh 05/29/2014 19:28", "diffPatch:forWorkingCopy:on:" : "dkh 05/09/2014 07:12", - "gitCommit:commitMessage:" : "dkh 05/13/2014 16:03", + "gitCommit:commitMessage:" : "dkh 03/13/2015 11:48", "gitDiff:" : "dkh 05/15/2014 19:19", "gitDiffCached:" : "dkh 05/30/2014 08:10", "gitRepoDirForRegistration:" : "dkh 05/15/2014 18:42", diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/class/mcManPage.st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/class/mcManPage.st index 375b8e621..bee7405f9 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/class/mcManPage.st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/class/mcManPage.st @@ -16,8 +16,8 @@ SYNOPSIS browse browse @ mc bump - mc commit - commit @ + mc commit + commit @ mc compare compare @ @ compare @ @@ -71,4 +71,9 @@ DESCRIPTION - fully qualified name, e.g., ''Topez-Server-Core-dkh.100'' - path to an MCVersion instance - path to an MCWorkingCopy or TDMonticelloWorkingCopy instance + +EXAMPLES + mc ancestors @/sys/stone/packages/Utf8Encoding + mc browse @/sys/stone/packages/Topez-Server-Core + mc compare image BaselineOfSton @/sys/stone/repos/Ston/BaselineOfSton/BaselineOfSton-dkh.2 ' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/class/mrManPage.st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/class/mrManPage.st index 2b1bf55f9..02bbf8d52 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/class/mrManPage.st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/class/mrManPage.st @@ -25,7 +25,6 @@ SYNOPSIS versions [-g|--git][-m--monticello] @ DESCRIPTION - - package base name, e.g., ''Topez-Server-Core'' path to an MCRepository instance @@ -33,4 +32,7 @@ DESCRIPTION filetree:///opt/git/topez/packages github://dalehenrich/rb:dev/packages - path to an MCWorkingCopy or TDMonticelloWorkingCopy instance + +EXAMPLES + mr packages @/sys/stone/repos/Tode ' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/commitVersion.baseVersionNumber.branch.author.into.repositoryGroup.commitMessage..st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/commitVersion.baseVersionNumber.branch.author.into.repositoryGroup.commitMessage..st index d700f6bd1..7c1ef2ba1 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/commitVersion.baseVersionNumber.branch.author.into.repositoryGroup.commitMessage..st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/commitVersion.baseVersionNumber.branch.author.into.repositoryGroup.commitMessage..st @@ -15,5 +15,6 @@ commitVersion: version baseVersionNumber: baseVersionNumber branch: branch autho info: newInfo snapshot: version snapshot dependencies: version dependencies. - targetRepos do: [ :targetRepo | targetRepo storeVersion: newVersion ]. + targetRepos + do: [ :targetRepo | self storeVersion: newVersion inRepository: targetRepo ]. ^ newVersion \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/commitWorkingCopy.repos.commitMessage..st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/commitWorkingCopy.repos.commitMessage..st index ea4329e3b..0f598a2df 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/commitWorkingCopy.repos.commitMessage..st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/commitWorkingCopy.repos.commitMessage..st @@ -6,5 +6,6 @@ commitWorkingCopy: aWorkingCopy repos: targetRepos commitMessage: commitMessage do: [ :notification | notification resume: (Array with: notification suggestedName with: commitMessage) ]. - targetRepos do: [ :repository | repository storeVersion: newVersion ]. + targetRepos + do: [ :repository | self storeVersion: newVersion inRepository: repository ]. ^ newVersion \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/commitWorkingCopyPrompting.repos..st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/commitWorkingCopyPrompting.repos..st index 4b24f8cdb..fd8b3ede3 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/commitWorkingCopyPrompting.repos..st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/commitWorkingCopyPrompting.repos..st @@ -21,7 +21,7 @@ commitWorkingCopyPrompting: aWorkingCopy repos: targetRepos ifNotNil: [ targetRepos do: [ :repository | - repository storeVersion: newVersion. + self storeVersion: newVersion inRepository: repository. Transcript cr; show: diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcbump.st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcbump.st index e46ad8d5f..6fb55a5d0 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcbump.st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcbump.st @@ -27,4 +27,4 @@ mcbump Transcript cr; show: 'Bumped: ' , newVersionName printString , ' --' , repo description. - ^ repo storeVersion: newVersion \ No newline at end of file + ^ self storeVersion: newVersion inRepository: repo \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccommit.commitMessage..st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccommit.commitMessage..st new file mode 100644 index 000000000..4b070d3bc --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccommit.commitMessage..st @@ -0,0 +1,4 @@ +as yet unclassified +mccommit: workingCopies commitMessage: commitMessage + self commitWorkingCopies: workingCopies commitMessage: commitMessage. + self topez commitTransaction \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccommit.st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccommit.st index 391dc7e2e..217c209ca 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccommit.st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccommit.st @@ -1,17 +1,12 @@ as yet unclassified mccommit - "mc commit - commit @ + " + mc commit + commit @ " - | workingCopy packageName | + | workingCopy packageName commitMessage | packageName := tokens at: 2. workingCopy := self resolveWorkingCopyReference: packageName. - topez - accumulateTextAndDo: [ :commitMessage :accumulateObjIn | - self commitWorkingCopies: {workingCopy} commitMessage: commitMessage. - self topez commitTransaction ]. - ^ TDCommandResult new - displayText: 'Please enter commit comment' asText allBold; - resultObject: 'Please enter commit comment'; - yourself \ No newline at end of file + commitMessage := tokens at: 3. + self mccommit: {workingCopy} commitMessage: commitMessage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccopy.fromRepository.to..st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccopy.fromRepository.to..st new file mode 100644 index 000000000..c880882dd --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccopy.fromRepository.to..st @@ -0,0 +1,15 @@ +as yet unclassified +mccopy: versionName fromRepository: sourcRepository to: destinationRepoDescriptions + "destinationRepoDescriptions may include repository descriptions or object references (@xxx)" + + | version repo repositoryList | + version := self versionFor: versionName inRepository: sourcRepository. + repositoryList := OrderedCollection new. + destinationRepoDescriptions + do: [ :repoSpec | + | repoOrList | + repoOrList := self resolveRepositoryReference: repoSpec. + repoOrList isCollection + ifTrue: [ repositoryList addAll: repoOrList ] + ifFalse: [ repositoryList add: repoOrList ] ]. + ^ self mccopyVersion: version to: repositoryList \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccopy.st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccopy.st index 12c8dbfcf..7ea8f8e2e 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccopy.st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccopy.st @@ -22,10 +22,10 @@ mccopy cr; show: 'Copied: ' , version info name printString , ' --' , repo description. - repo storeVersion: version ] ] + self storeVersion: version inRepository: repo ] ] ifFalse: [ Transcript cr; show: 'Copied: ' , version info name printString , ' --' , repoOrList description. - repoOrList storeVersion: version ] ] \ No newline at end of file + self storeVersion: version inRepository: repoOrList ] ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccopyVersion.to..st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccopyVersion.to..st index 29bb95337..747a210bd 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccopyVersion.to..st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mccopyVersion.to..st @@ -1,3 +1,4 @@ as yet unclassified mccopyVersion: version to: repositoryList - ^ repositoryList collect: [ :repo | repo storeVersion: version ] \ No newline at end of file + ^ repositoryList + collect: [ :repo | self storeVersion: version inRepository: repo ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcfileout.packageNames.definitionsFilename.methodsFilename.classToFilenameMap.defaultHeader..st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcfileout.packageNames.definitionsFilename.methodsFilename.classToFilenameMap.defaultHeader..st index 48897c8af..400a9b876 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcfileout.packageNames.definitionsFilename.methodsFilename.classToFilenameMap.defaultHeader..st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcfileout.packageNames.definitionsFilename.methodsFilename.classToFilenameMap.defaultHeader..st @@ -23,7 +23,7 @@ mcfileout: directoryPath packageNames: packageNames definitionsFilename: definit externalMethodMap: externalMethodMap classToFilenameMap: classToFilenameMap defaultHeader: defaultHeader ]. - classDefs := classes collect: [ :cls | TDClassDefinition className: cls name ]. + classDefs := classes collect: [ :cls | cls asTDClassDefinition ]. classDefs := TDClassDefinition classHierarchyOrder: classDefs. classNameList := classDefs collect: [ :def | def className ]. classNameList isEmpty not diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcmerge.and.in..st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcmerge.and.in..st index 88d2893d7..4f74f96bc 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcmerge.and.in..st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcmerge.and.in..st @@ -22,7 +22,7 @@ mcmerge: wc and: version in: repo target: versionSnapshot ancestor: commonAncestorSnapshot. merger := TDMerger new merger: merger. - (TDMergeDiffBrowser new + (TDMCMergeDiffBrowser new merger: merger mergerCompletionBlock: [ | imagePatch | diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcmove.st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcmove.st index 0b6d7fc70..e244c5f5d 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcmove.st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcmove.st @@ -21,4 +21,4 @@ mcmove Transcript cr; show: 'Moved: ' , newVersionName printString , ' --' , repo description. - ^ repo storeVersion: newVersion \ No newline at end of file + ^ self storeVersion: newVersion inRepository: repo \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcsave.st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcsave.st index a0b1f1b97..5194bdb16 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcsave.st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mcsave.st @@ -17,5 +17,5 @@ mcsave newVersion := [ wc newVersion ] on: MCVersionNameAndMessageRequest do: [ :notification | notification resume: (Array with: versionName with: commitMessage) ]. - repo storeVersion: newVersion. + self storeVersion: newVersion inRepository: repo. ^ newVersion \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mradd.st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mradd.st index a48adfc4e..ee7c7f99b 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mradd.st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mradd.st @@ -10,5 +10,4 @@ mradd packageName := tokens at: 3. workingCopy := self resolveWorkingCopyReference: packageName. repo := self resolveRepositoryReference: (tokens at: 2). - workingCopy repositoryGroup addRepository: repo. - ^ workingCopy \ No newline at end of file + ^ self mradd: repo to: workingCopy \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mradd.to..st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mradd.to..st new file mode 100644 index 000000000..5236ddc3f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/mradd.to..st @@ -0,0 +1,4 @@ +as yet unclassified +mradd: repo to: workingCopy + workingCopy repositoryGroup addRepository: repo. + ^ workingCopy \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/resolvedReferencesForRepository..st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/resolvedReferencesForRepository..st index e2e3fba98..774aae05a 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/resolvedReferencesForRepository..st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/resolvedReferencesForRepository..st @@ -2,8 +2,12 @@ as yet unclassified resolvedReferencesForRepository: aRepository | allVersionNames references resolvedReferences | allVersionNames := aRepository allVersionNames. - references := allVersionNames - collect: [ :versionName | GoferResolvedReference name: versionName repository: aRepository ]. + references := (allVersionNames + collect: [ :versionName | + [ GoferResolvedReference name: versionName repository: aRepository ] + on: Error + do: [ :ex | nil ] ]) + reject: [ :each | each == nil ]. resolvedReferences := Dictionary new. references do: [ :reference | diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/versionFor.in..st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/versionFor.in..st index 630eab3df..06a7bc46d 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/versionFor.in..st +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/versionFor.in..st @@ -1,6 +1,5 @@ as yet unclassified versionFor: versionName in: repoSpecOrObjRef - | repo reference version | + | repo | repo := self resolveRepositoryReference: repoSpecOrObjRef. - reference := GoferResolvedReference name: versionName repository: repo. - ^ reference version \ No newline at end of file + ^ self versionFor: versionName inRepository: repo \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/versionFor.inRepository..st b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/versionFor.inRepository..st new file mode 100644 index 000000000..33706fe29 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/instance/versionFor.inRepository..st @@ -0,0 +1,5 @@ +as yet unclassified +versionFor: versionName inRepository: repo + | reference version | + reference := GoferResolvedReference name: versionName repository: repo. + ^ reference version \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDMonticelloTool.class/methodProperties.json b/repository/Topez-Server-Core.package/TDMonticelloTool.class/methodProperties.json index ac10eee15..1dad12049 100644 --- a/repository/Topez-Server-Core.package/TDMonticelloTool.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDMonticelloTool.class/methodProperties.json @@ -9,7 +9,7 @@ "filesNode:" : "DataCurator 01/25/2013 10:09", "installOn:" : "dkh 04/26/2014 09:21", "mc" : "dkh 11/10/2013 10:30", - "mcManPage" : "dkh 04/26/2014 09:22", + "mcManPage" : "dkh 08/25/2015 14:05", "mcRepositoryNode:" : "dkh 03/10/2013 09:30", "mcWorkingCopiesNode:" : "dkh 05/27/2013 19:24", "mm" : "dkh 11/10/2013 10:30", @@ -17,7 +17,7 @@ "mmb" : "dkh 11/10/2013 10:31", "mmbManPage" : "dkh 05/15/2013 17:20", "mr" : "dkh 11/10/2013 10:31", - "mrManPage" : "dkh 12/11/2013 06:54", + "mrManPage" : "dkh 12/19/2014 13:11", "packagesNode:" : "DataCurator 12/24/2012 13:25", "priority" : "DataCurator 12/24/2012 08:05", "readMeMonticello" : "DataCurator 12/25/2012 06:46", @@ -31,12 +31,12 @@ "workingCopyNode:" : "DataCurator 01/25/2013 10:09" }, "instance" : { "commitProject:repos:commitMessage:" : "dkh 05/13/2014 11:51", - "commitVersion:baseVersionNumber:branch:author:into:repositoryGroup:commitMessage:" : "dkh 07/25/2013 09:52", + "commitVersion:baseVersionNumber:branch:author:into:repositoryGroup:commitMessage:" : "dkh 08/25/2015 17:14", "commitWorkingCopies:commitMessage:" : "dkh 07/25/2013 11:27", "commitWorkingCopies:repos:commitMessage:" : "dkh 07/25/2013 11:30", - "commitWorkingCopy:repos:commitMessage:" : "dkh 07/25/2013 10:11", + "commitWorkingCopy:repos:commitMessage:" : "dkh 08/25/2015 17:14", "commitWorkingCopyPrompting:" : "dkh 10/20/2013 20:23", - "commitWorkingCopyPrompting:repos:" : "dkh 05/13/2014 11:54", + "commitWorkingCopyPrompting:repos:" : "dkh 08/25/2015 17:14", "diffPatch:forWorkingCopy:on:" : "dkh 05/18/2013 11:44", "diffPatch:on:" : "dkh 10/12/2013 17:09", "findMatchingPackages:topez:" : "dkh 05/15/2013 19:01", @@ -55,16 +55,18 @@ "mcancestors" : "dkh 10/12/2013 17:24", "mcbrowse" : "dkh 06/03/2014 14:13", "mcbrowseSnapshot:label:" : "dkh 06/03/2014 14:11", - "mcbump" : "dkh 07/12/2013 12:19", - "mccommit" : "dkh 05/13/2014 11:49", + "mcbump" : "dkh 08/25/2015 17:15", + "mccommit" : "dkh 08/25/2015 14:07", + "mccommit:commitMessage:" : "dkh 04/02/2015 19:59", "mccompare" : "dkh 10/25/2013 19:37", "mccompare:to:on:" : "dkh 10/25/2013 19:31", "mccompareimage" : "dkh 10/25/2013 19:36", "mccompareimage:" : "dkh 10/25/2013 19:35", "mccomparerimage" : "dkh 10/25/2013 19:37", - "mccopy" : "dkh 07/10/2013 10:56", + "mccopy" : "dkh 08/25/2015 17:16", "mccopy:from:to:" : "dkh 11/08/2013 06:26", - "mccopyVersion:to:" : "dkh 11/08/2013 06:23", + "mccopy:fromRepository:to:" : "dkh 06/18/2015 11:55", + "mccopyVersion:to:" : "dkh 08/25/2015 17:16", "mccreate" : "dkh 10/13/2013 09:35", "mccreate:" : "dkh 10/13/2013 09:35", "mcdelete" : "dkh 10/12/2013 21:17", @@ -75,20 +77,20 @@ "mcfileout:packageNames:" : "dkh 09/30/2013 12:50", "mcfileout:packageNames:classToFilenameMap:defaultHeader:" : "dkh 10/01/2013 16:48", "mcfileout:packageNames:defaultHeader:" : "dkh 10/01/2013 16:48", - "mcfileout:packageNames:definitionsFilename:methodsFilename:classToFilenameMap:defaultHeader:" : "dkh 10/07/2013 14:12", + "mcfileout:packageNames:definitionsFilename:methodsFilename:classToFilenameMap:defaultHeader:" : "dkh 09/12/2015 08:31", "mclist" : "dkh 09/10/2014 15:12", "mclist:" : "dkh 09/10/2014 15:12", "mcload" : "dkh 10/15/2013 13:40", "mcload:from:" : "dkh 10/15/2013 13:40", "mcmerge" : "dkh 10/20/2013 12:45", - "mcmerge:and:in:" : "dkh 05/30/2014 10:08", - "mcmove" : "dkh 07/10/2013 10:56", + "mcmerge:and:in:" : "dkh 03/10/2015 15:33", + "mcmove" : "dkh 08/25/2015 17:16", "mcrecompile" : "dkh 10/12/2013 21:15", "mcrecompileWorkingCopy:" : "dkh 10/12/2013 21:14", "mcrevert" : "dkh 10/12/2013 20:25", "mcrevertMethod:workingCopy:" : "dkh 10/12/2013 20:24", "mcrevertWorkingCopy:" : "dkh 10/12/2013 20:19", - "mcsave" : "dkh 09/03/2013 11:00", + "mcsave" : "dkh 08/25/2015 17:16", "mcsnapshot" : "dkh 09/17/2013 03:59", "mcunload" : "dkh 11/17/2013 18:06", "mcunloadPackageNamed:" : "dkh 11/17/2013 18:05", @@ -121,7 +123,8 @@ "mrBrowseRepositoryVersions:in:workingCopy:label:" : "dkh 10/20/2013 12:08", "mrBrowseRepositoryVersions:in:workingCopy:parentBuilder:windowId:label:" : "dkh 10/20/2013 12:09", "mrVersionsFor:in:ifAbsent:" : "dkh 10/13/2013 11:06", - "mradd" : "dkh 05/15/2013 18:24", + "mradd" : "dkh 04/02/2015 19:51", + "mradd:to:" : "dkh 04/02/2015 19:51", "mrcreate" : "dkh 10/13/2013 09:37", "mrcreate:" : "dkh 06/10/2014 19:59", "mrcreds" : "dkh 11/09/2013 11:53", @@ -143,8 +146,9 @@ "resolveVersionReferenceStartingAt:inTokens:" : "dkh 11/17/2013 16:34", "resolveWorkingCopyReference:" : "dkh 11/17/2013 18:12", "resolveWorkingCopyReference:ifAbsent:" : "dkh 12/23/2013 16:09", - "resolvedReferencesForRepository:" : "dkh 03/23/2013 19:08", + "resolvedReferencesForRepository:" : "dkh 12/03/2014 14:03", "rootPath" : "DataCurator 12/25/2012 06:16", "snapshotFor:in:" : "dkh 03/24/2013 13:33", "uniqueVersionName:baseVersionNumber:repositoryGroup:" : "dkh 07/01/2013 09:31", - "versionFor:in:" : "dkh 07/01/2013 16:23" } } + "versionFor:in:" : "dkh 06/18/2015 11:52", + "versionFor:inRepository:" : "dkh 06/18/2015 11:51" } } diff --git a/repository/Topez-Server-Core.package/TDNode.class/class/touch.destinationPath.topez..st b/repository/Topez-Server-Core.package/TDNode.class/class/touch.destinationPath.topez..st new file mode 100644 index 000000000..9b619151b --- /dev/null +++ b/repository/Topez-Server-Core.package/TDNode.class/class/touch.destinationPath.topez..st @@ -0,0 +1,6 @@ +touch +touch: signature destinationPath: destinationPath topez: topez + ^ topez currentNode + touch: destinationPath + nodeClass: self + in: (topez baseNodeFor: destinationPath) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDNode.class/class/typeSignature.st b/repository/Topez-Server-Core.package/TDNode.class/class/typeSignature.st new file mode 100644 index 000000000..e0a4b5cf2 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDNode.class/class/typeSignature.st @@ -0,0 +1,3 @@ +as yet unclassified +typeSignature + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDNode.class/instance/composedChildrenDo..st b/repository/Topez-Server-Core.package/TDNode.class/instance/composedChildrenDo..st new file mode 100644 index 000000000..57109852f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDNode.class/instance/composedChildrenDo..st @@ -0,0 +1,3 @@ +as yet unclassified +composedChildrenDo: aBlock + ^ self childrenDo: [ :child | aBlock value: nil value: child ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDNode.class/instance/findMatchingPathFor.with..st b/repository/Topez-Server-Core.package/TDNode.class/instance/findMatchingPathFor.with..st index bd37dbf22..35adb76f9 100644 --- a/repository/Topez-Server-Core.package/TDNode.class/instance/findMatchingPathFor.with..st +++ b/repository/Topez-Server-Core.package/TDNode.class/instance/findMatchingPathFor.with..st @@ -1,3 +1,3 @@ as yet unclassified findMatchingPathFor: aPath with: aTopez - ^ aPath \ No newline at end of file + ^ {aPath} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDNode.class/instance/objectSerializer.st b/repository/Topez-Server-Core.package/TDNode.class/instance/objectSerializer.st new file mode 100644 index 000000000..ae64950bd --- /dev/null +++ b/repository/Topez-Server-Core.package/TDNode.class/instance/objectSerializer.st @@ -0,0 +1,3 @@ +accessing +objectSerializer + ^ TodeObjectSerializer preferredSerializer \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDNode.class/instance/printOn..st b/repository/Topez-Server-Core.package/TDNode.class/instance/printOn..st index 87dd7b155..54d2d9656 100644 --- a/repository/Topez-Server-Core.package/TDNode.class/instance/printOn..st +++ b/repository/Topez-Server-Core.package/TDNode.class/instance/printOn..st @@ -4,7 +4,10 @@ printOn: aStream ifTrue: [ self name ~= nil ifTrue: [ aStream nextPutAll: self name ]. - aStream nextPut: $/. + self isLeaf + ifFalse: [ aStream nextPut: $/ ]. ^ self ]. self parent printOn: aStream. - aStream nextPutAll: self name , '/' \ No newline at end of file + aStream nextPutAll: self name. + self isLeaf + ifFalse: [ aStream nextPut: $/ ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDNode.class/instance/touch.node.in..st b/repository/Topez-Server-Core.package/TDNode.class/instance/touch.node.in..st new file mode 100644 index 000000000..ef0224631 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDNode.class/instance/touch.node.in..st @@ -0,0 +1,11 @@ +as yet unclassified +touch: destinationPath node: aNode in: baseNode + | path destinationNode | + path := destinationPath findTokens: '/'. + path := path copyFrom: 1 to: path size - 1. + destinationNode := baseNode + lookupPath: path + ifAbsent: [ ^ self error: 'Node does not exist: ' , destinationPath ]. + destinationNode canEnter + ifFalse: [ self error: 'Cannot touch: ' , destinationNode printString ]. + ^ destinationNode addChildNode: aNode \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDNode.class/instance/touch.nodeClass.in..st b/repository/Topez-Server-Core.package/TDNode.class/instance/touch.nodeClass.in..st index 9c392933c..a6455af04 100644 --- a/repository/Topez-Server-Core.package/TDNode.class/instance/touch.nodeClass.in..st +++ b/repository/Topez-Server-Core.package/TDNode.class/instance/touch.nodeClass.in..st @@ -3,14 +3,10 @@ touch: destinationPath nodeClass: nodeClass in: baseNode | path newName destinationNode | path := destinationPath findTokens: '/'. newName := path last. - path := path copyFrom: 1 to: path size - 1. - destinationNode := baseNode - lookupPath: path - ifAbsent: [ ^ self error: 'Node does not exist: ' , destinationPath ]. - destinationNode canEnter - ifFalse: [ self error: 'Cannot touch: ' , destinationNode printString ]. - ^ destinationNode - addChildNode: + ^ self + touch: destinationPath + node: (nodeClass new name: newName; - yourself) \ No newline at end of file + yourself) + in: baseNode \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDNode.class/methodProperties.json b/repository/Topez-Server-Core.package/TDNode.class/methodProperties.json index 217929a7b..d4b7ac85a 100644 --- a/repository/Topez-Server-Core.package/TDNode.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDNode.class/methodProperties.json @@ -1,6 +1,6 @@ { "class" : { - "concreteClassForTypeSignature:" : "dkh 05/17/2013 07:00", + "concreteClassForTypeSignature:" : "dkh 10/30/2014 14:21", "directoryExtension" : "DataCurator 11/30/2012 12:13", "directoryTextAttributes" : "DataCurator 11/29/2012 18:20", "executableExtension" : "DataCurator 11/30/2012 10:56", @@ -14,7 +14,9 @@ "smalltalkTextAttributes" : "DataCurator 12/21/2012 18:09", "smalltalkTextColor" : "DataCurator 12/21/2012 18:09", "stonFileExtension" : "dkh 11/29/2013 09:21", - "topezTextAttributes" : "DataCurator 11/29/2012 20:36" }, + "topezTextAttributes" : "DataCurator 11/29/2012 20:36", + "touch:destinationPath:topez:" : "dkh 10/30/2014 13:37", + "typeSignature" : "dkh 10/30/2014 13:39" }, "instance" : { "acceptVisitor:" : "dkh 01/30/2014 12:32", "addAsChildOfFileSystemDirectoryNode:" : "dkh 11/27/2013 10:20", @@ -30,12 +32,13 @@ "childrenAndNamesDo:" : "dkh 08/28/2013 12:47", "childrenDo:" : "DataCurator 12/12/2012 15:16", "compileHandlingUndeclaredSymbols:with:" : "dkh 05/09/2014 21:10", + "composedChildrenDo:" : "dkh 11/21/2014 14:52", "contents" : "dkh 11/30/2013 08:38", "copyTo:as:" : "dkh 12/22/2013 08:51", "cp:in:" : "dkh 12/22/2013 15:51", "error:" : "dkh 04/02/2014 10:21", "extension" : "dkh 12/27/2012 16:40", - "findMatchingPathFor:with:" : "dkh 03/28/2013 08:21", + "findMatchingPathFor:with:" : "dkh 12/17/2014 21:31", "isLeaf" : "dkh 11/28/2012 05:31", "isRoot" : "dkh 11/28/2012 05:31", "listContents:" : "dkh 11/30/2013 08:43", @@ -47,10 +50,11 @@ "mv:in:" : "dkh 12/22/2013 15:51", "name" : "dkh 11/28/2012 05:31", "name:" : "dkh 11/28/2012 05:31", + "objectSerializer" : "dkh 06/25/2015 16:30", "parent" : "dkh 11/28/2012 05:31", "parent:" : "DataCurator 01/24/2013 13:15", "printName" : "DataCurator 01/24/2013 19:45", - "printOn:" : "DataCurator 01/24/2013 19:46", + "printOn:" : "dkh 12/18/2014 16:55", "removeAsChildOfFileSystemDirectoryNode:" : "dkh 11/27/2013 10:35", "renderNameText" : "DataCurator 11/29/2012 18:48", "renderNameText:textAttributes:" : "DataCurator 11/29/2012 18:26", @@ -69,5 +73,6 @@ "tempSymbolList" : "dkh 10/24/2013 15:59", "topez" : "dkh 11/28/2012 05:31", "topez:" : "dkh 11/28/2012 05:31", - "touch:nodeClass:in:" : "dkh 05/17/2013 07:05", + "touch:node:in:" : "dkh 10/30/2014 13:41", + "touch:nodeClass:in:" : "dkh 10/30/2014 13:42", "validate:for:in:andDo:" : "dkh 06/06/2014 12:28" } } diff --git a/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/instance/objectValueForSpecialElementName.for..st b/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/instance/objectValueForSpecialElementName.for..st index 808787374..2aaf8e9d4 100644 --- a/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/instance/objectValueForSpecialElementName.for..st +++ b/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/instance/objectValueForSpecialElementName.for..st @@ -8,6 +8,13 @@ objectValueForSpecialElementName: elementName for: anObject ifTrue: [ ^ anObject asString ]. elementName = '(invariant)' ifTrue: [ ^ anObject isInvariant ]. + elementName = '(notTranlogged)' + ifTrue: [ + ^ (anObject respondsTo: #'isTranlogged') + ifTrue: [ (anObject perform: #'isTranlogged') not ] + ifFalse: [ nil ] ]. + elementName = '(committed)' + ifTrue: [ ^ anObject isCommitted ]. elementName = '(dependents)' ifTrue: [ ^ DependencyList for: anObject ]. elementName = '<>' diff --git a/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/instance/specialChildNames.st b/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/instance/specialChildNames.st index feeac8baf..bb1291101 100644 --- a/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/instance/specialChildNames.st +++ b/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/instance/specialChildNames.st @@ -1,3 +1,3 @@ as yet unclassified specialChildNames - ^ #('(class)' '(invariant)' '(oop)' '(value)' '(dependents)' '<>') \ No newline at end of file + ^ #('(class)' '(committed)' '(notTranlogged)' '(invariant)' '(oop)' '(value)' '(dependents)' '<>') \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/instance/specialChildNodeNameList..st b/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/instance/specialChildNodeNameList..st index 35964fcad..a5b2c2202 100644 --- a/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/instance/specialChildNodeNameList..st +++ b/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/instance/specialChildNodeNameList..st @@ -6,6 +6,12 @@ specialChildNodeNameList: parentNode ifFalse: [ #('(class)') ]. parentNode basicContents isInvariant ifTrue: [ specialList := specialList , #('(invariant)') ]. + (parentNode basicContents respondsTo: #'isTranlogged') + ifTrue: [ + (parentNode basicContents perform: #'isTranlogged') + ifFalse: [ specialList := specialList , #('(notTranlogged)') ] ]. + parentNode basicContents isCommitted + ifTrue: [ specialList := specialList , #('(committed)') ]. (DependencyList for: parentNode basicContents) ifNotNil: [ specialList := specialList , #('(dependents)') ]. ^ specialList \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/methodProperties.json index b6f1e76d1..ac8f87534 100644 --- a/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDObjectNodeBuilder.class/methodProperties.json @@ -20,9 +20,9 @@ "indexableWindowSize" : "dkh 08/07/2014 22:15", "indexableWindowSize:" : "dkh 07/29/2014 14:22", "listBlock" : "DataCurator 01/11/2013 15:24", - "objectValueForSpecialElementName:for:" : "dkh 08/07/2014 22:17", + "objectValueForSpecialElementName:for:" : "dkh 09/11/2015 21:04", "readmeString" : "dkh 01/11/2013 14:01", "removeBlock" : "DataCurator 01/11/2013 15:30", "renderAttributeBlock" : "DataCurator 01/11/2013 15:31", - "specialChildNames" : "dkh 07/29/2014 14:59", - "specialChildNodeNameList:" : "dkh 12/20/2013 16:28" } } + "specialChildNames" : "dkh 09/07/2015 17:23", + "specialChildNodeNameList:" : "dkh 09/07/2015 17:26" } } diff --git a/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/README.md b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/class/theClass.className..st b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/class/theClass.className..st similarity index 100% rename from repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/class/theClass.className..st rename to repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/class/theClass.className..st diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st similarity index 72% rename from repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st rename to repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st index f469e5c66..99b409625 100644 --- a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st +++ b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/addToClientListFor.names.items.indents.aspect..st @@ -3,8 +3,6 @@ addToClientListFor: clsDef names: nameList items: items indents: indents aspect: | space | space := ''. (indents at: clsDef) timesRepeat: [ space := space , ' ' ]. - nameList - add: - (Text string: space , clsDef className asString attribute: TextEmphasis bold). + nameList add: (Text string: space , clsDef label attribute: TextEmphasis bold). items add: (TDClientListItemAttributes object: self parent: nil aspect: aspect) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/asTDClassDefinition.st b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/asTDClassDefinition.st similarity index 100% rename from repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/asTDClassDefinition.st rename to repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/asTDClassDefinition.st diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/className..st b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/className..st similarity index 100% rename from repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/className..st rename to repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/className..st diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/className.st b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/className.st similarity index 100% rename from repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/className.st rename to repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/className.st diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/itemSelected..st b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/itemSelected..st similarity index 85% rename from repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/itemSelected..st rename to repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/itemSelected..st index 9a8700e25..59f793f7e 100644 --- a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/itemSelected..st +++ b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/itemSelected..st @@ -8,10 +8,12 @@ itemSelected: topez editUsing: ((TDEditorSpec topez: topez editorAspect: #'historyInstanceSelectors') windowName: #'instanceSelectors'; + windowLocation: #'instanceSelectors'; yourself). self theClass class editUsing: ((TDEditorSpec topez: topez editorAspect: #'historyClassSelectors') windowName: #'classSelectors'; + windowLocation: #'classSelectors'; yourself). ^ nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/label.st b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/label.st similarity index 54% rename from repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/label.st rename to repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/label.st index be701d661..ed54e032c 100644 --- a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/label.st +++ b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/label.st @@ -1,3 +1,3 @@ as yet unclassified label - ^ self theClassName \ No newline at end of file + ^ self theClassLabel \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/theClass..st b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/theClass..st similarity index 100% rename from repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/theClass..st rename to repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/theClass..st diff --git a/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/theClass.st b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/theClass.st new file mode 100644 index 000000000..a09ee4655 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/theClass.st @@ -0,0 +1,3 @@ +as yet unclassified +theClass + ^ theClass \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/theClassLabel.st b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/theClassLabel.st new file mode 100644 index 000000000..1c25f5d0d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/theClassLabel.st @@ -0,0 +1,11 @@ +as yet unclassified +theClassLabel + | ch | + ch := ''. + self theClass + ifNotNil: [ :tc | + tc classHistory + ifNotNil: [ :classHistory | + classHistory size > 1 + ifTrue: [ ch := '[' , (classHistory indexOf: tc) printString , ']' ] ] ]. + ^ self theClassName , ch \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/theClassName.st b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/theClassName.st similarity index 100% rename from repository/Topez-Server-Core.package/TDClassHistoryDefinition.class/instance/theClassName.st rename to repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/instance/theClassName.st diff --git a/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/methodProperties.json new file mode 100644 index 000000000..e049ec76c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/methodProperties.json @@ -0,0 +1,14 @@ +{ + "class" : { + "theClass:className:" : "dkh 09/09/2015 18:12" }, + "instance" : { + "addToClientListFor:names:items:indents:aspect:" : "dkh 09/09/2015 18:12", + "asTDClassDefinition" : "dkh 09/09/2015 18:12", + "className" : "dkh 09/09/2015 18:12", + "className:" : "dkh 09/09/2015 18:12", + "itemSelected:" : "dkh 09/09/2015 18:12", + "label" : "dkh 09/09/2015 18:12", + "theClass" : "dkh 09/09/2015 18:12", + "theClass:" : "dkh 09/09/2015 18:12", + "theClassLabel" : "dkh 09/09/2015 18:12", + "theClassName" : "dkh 09/09/2015 18:12" } } diff --git a/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/properties.json b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/properties.json new file mode 100644 index 000000000..3a8cb48c6 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDOldClassHistoryDefinition.class/properties.json @@ -0,0 +1,15 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "className", + "theClass" ], + "name" : "TDOldClassHistoryDefinition", + "pools" : [ + ], + "super" : "TDDefinition", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDPackageBasedDefinition.class/instance/classDefinitionsFor.definitions.extensionDefinitions..st b/repository/Topez-Server-Core.package/TDPackageBasedDefinition.class/instance/classDefinitionsFor.definitions.extensionDefinitions..st index 85c3c1f65..f8c01d9e4 100644 --- a/repository/Topez-Server-Core.package/TDPackageBasedDefinition.class/instance/classDefinitionsFor.definitions.extensionDefinitions..st +++ b/repository/Topez-Server-Core.package/TDPackageBasedDefinition.class/instance/classDefinitionsFor.definitions.extensionDefinitions..st @@ -1,7 +1,6 @@ as yet unclassified classDefinitionsFor: packageInfo definitions: defs extensionDefinitions: extensionDefinitions - packageInfo classes - do: [ :cl | defs add: (TDClassDefinition className: cl name) ]. + packageInfo classes do: [ :cl | defs add: cl asTDClassDefinition ]. packageInfo extensionMethods do: [ :methodRef | | extensionClassName classDef methodDef mDefs | diff --git a/repository/Topez-Server-Core.package/TDPackageBasedDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDPackageBasedDefinition.class/methodProperties.json index ec61822c7..c0f871199 100644 --- a/repository/Topez-Server-Core.package/TDPackageBasedDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDPackageBasedDefinition.class/methodProperties.json @@ -3,4 +3,4 @@ }, "instance" : { "classDefinitions" : "DataCurator 02/05/2013 15:58", - "classDefinitionsFor:definitions:extensionDefinitions:" : "dkh 05/16/2014 14:21" } } + "classDefinitionsFor:definitions:extensionDefinitions:" : "dkh 09/12/2015 08:31" } } diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/README.md b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/childrenDo..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/childrenDo..st new file mode 100644 index 000000000..5bc41254c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/childrenDo..st @@ -0,0 +1,6 @@ +querying +childrenDo: aBlock + self node + childrenDo: [ :childNode | + (self selectBlock value: childNode) + ifTrue: [ aBlock value: childNode ] ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/excludes..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/excludes..st new file mode 100644 index 000000000..0be409d09 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/excludes..st @@ -0,0 +1,4 @@ +accessing +excludes: anObject + + excludes := anObject \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/excludes.st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/excludes.st new file mode 100644 index 000000000..c82814e90 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/excludes.st @@ -0,0 +1,4 @@ +accessing +excludes + excludes ifNil: [ excludes := #() ]. + ^ excludes \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/hasChildNamed..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/hasChildNamed..st new file mode 100644 index 000000000..1c6f3f99a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/hasChildNamed..st @@ -0,0 +1,5 @@ +querying +hasChildNamed: aNodeName + | childNode | + childNode := self node childNamed: aNodeName ifAbsent: [ ^ false ]. + ^ self selectBlock value: childNode \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/includes..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/includes..st new file mode 100644 index 000000000..603ea8bbb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/includes..st @@ -0,0 +1,4 @@ +accessing +includes: anObject + + includes := anObject \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/includes.st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/includes.st new file mode 100644 index 000000000..362fc2d95 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/includes.st @@ -0,0 +1,4 @@ +accessing +includes + includes ifNil: [ includes := #() ]. + ^ includes \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/node.st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/node.st new file mode 100644 index 000000000..d84b9acb3 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/node.st @@ -0,0 +1,3 @@ +accessing +node + ^ self topez lookup: self path \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/path..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/path..st new file mode 100644 index 000000000..dcd0a5eb5 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/path..st @@ -0,0 +1,3 @@ +accessing +path: anObject + path := anObject \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/path.st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/path.st new file mode 100644 index 000000000..daaedb47e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/path.st @@ -0,0 +1,3 @@ +accessing +path + ^ path \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/selectBlock..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/selectBlock..st new file mode 100644 index 000000000..4c376b22b --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/selectBlock..st @@ -0,0 +1,4 @@ +accessing +selectBlock: anObject + + selectBlock := anObject \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/selectBlock.st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/selectBlock.st new file mode 100644 index 000000000..6fd1579ca --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/selectBlock.st @@ -0,0 +1,24 @@ +accessing +selectBlock + selectBlock + ifNil: [ + selectBlock := self includes isEmpty + ifTrue: [ + self excludes isEmpty + ifTrue: [ [ :node | true ] ] + ifFalse: [ + "excludes defined" + [ :node | (self excludes includes: node name) not ] ] ] + ifFalse: [ + self excludes isEmpty + ifTrue: [ + "includes defined" + [ :node | self includes includes: node name ] ] + ifFalse: [ + "includes and excludes defined" + [ :node | + | nodeName | + nodeName := node name. + (self includes includes: nodeName) + and: [ (self excludes includes: nodeName) not ] ] ] ] ]. + ^ selectBlock \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/topez..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/topez..st new file mode 100644 index 000000000..8e3a1a991 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/topez..st @@ -0,0 +1,4 @@ +accessing +topez: anObject + + topez := anObject \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/topez.st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/topez.st new file mode 100644 index 000000000..428784c4c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/instance/topez.st @@ -0,0 +1,4 @@ +accessing +topez + + ^topez \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/methodProperties.json b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/methodProperties.json new file mode 100644 index 000000000..95eb07594 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/methodProperties.json @@ -0,0 +1,17 @@ +{ + "class" : { + }, + "instance" : { + "childrenDo:" : "dkh 11/07/2014 16:01", + "excludes" : "dkh 11/07/2014 15:53", + "excludes:" : "dkh 11/07/2014 15:50", + "hasChildNamed:" : "dkh 11/07/2014 15:57", + "includes" : "dkh 11/07/2014 15:53", + "includes:" : "dkh 11/07/2014 15:50", + "node" : "dkh 11/07/2014 16:14", + "path" : "dkh 11/07/2014 16:13", + "path:" : "dkh 11/07/2014 16:14", + "selectBlock" : "dkh 11/17/2014 09:26", + "selectBlock:" : "dkh 11/07/2014 15:50", + "topez" : "dkh 11/07/2014 16:14", + "topez:" : "dkh 11/07/2014 16:14" } } diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/properties.json b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/properties.json new file mode 100644 index 000000000..35a099485 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryEntry.class/properties.json @@ -0,0 +1,18 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "path", + "includes", + "excludes", + "selectBlock", + "topez" ], + "name" : "TDPathComposedDirectoryEntry", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/README.md b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addChild..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addChild..st new file mode 100644 index 000000000..5e46d1a1b --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addChild..st @@ -0,0 +1,3 @@ +directory compat +addChild: childName + ^ self primaryNode addChild: childName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode..st new file mode 100644 index 000000000..cbc8194e9 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode..st @@ -0,0 +1,9 @@ +entry updating +addPathNode: nodePath + | node | + node := TDPathComposedDirectoryEntry new + path: nodePath; + topez: self topez; + yourself. + self entryList add: node. + ^ node \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode.excludes..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode.excludes..st new file mode 100644 index 000000000..135b54ef7 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode.excludes..st @@ -0,0 +1,5 @@ +entry updating +addPathNode: nodePath excludes: excludes + ^ (self addPathNode: nodePath) + excludes: excludes; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode.excludes.includes..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode.excludes.includes..st new file mode 100644 index 000000000..9c80cd359 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode.excludes.includes..st @@ -0,0 +1,6 @@ +entry updating +addPathNode: nodePath excludes: excludes includes: includes + ^ (self addPathNode: nodePath) + excludes: excludes; + includes: includes; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode.includes..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode.includes..st new file mode 100644 index 000000000..d6bb212fb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode.includes..st @@ -0,0 +1,5 @@ +entry updating +addPathNode: nodePath includes: includes + ^ (self addPathNode: nodePath) + includes: includes; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode.selectBlock..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode.selectBlock..st new file mode 100644 index 000000000..374ec8cdc --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/addPathNode.selectBlock..st @@ -0,0 +1,5 @@ +entry updating +addPathNode: nodePath selectBlock: selectBlock + ^ (self addPathNode: nodePath) + selectBlock: selectBlock; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/at.ifAbsent..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/at.ifAbsent..st new file mode 100644 index 000000000..ecdefc7e0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/at.ifAbsent..st @@ -0,0 +1,5 @@ +dictionary compat +at: aNodeName ifAbsent: absentBlock + | theNode | + theNode := self parentOf: aNodeName ifAbsent: [ ^ absentBlock value ]. + ^ theNode childNamed: aNodeName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/at.put..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/at.put..st new file mode 100644 index 000000000..e7ce448be --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/at.put..st @@ -0,0 +1,3 @@ +dictionary compat +at: aNodeName put: aNode + ^ self primaryNode addChildNode: aNode \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/childMap.st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/childMap.st new file mode 100644 index 000000000..0bf9085df --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/childMap.st @@ -0,0 +1,3 @@ +private +childMap + ^ self childMapForComposition: false \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/childMapForComposition..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/childMapForComposition..st new file mode 100644 index 000000000..9352ff5fc --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/childMapForComposition..st @@ -0,0 +1,14 @@ +private +childMapForComposition: forComposition + | children | + children := Dictionary new. + self entryList reversed + do: [ :entry | + entry + childrenDo: [ :childNode | + | value | + value := forComposition + ifTrue: [ entry -> childNode ] + ifFalse: [ childNode ]. + children at: childNode name put: value ] ]. + ^ children \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/composedChildrenDo..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/composedChildrenDo..st new file mode 100644 index 000000000..f15f90374 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/composedChildrenDo..st @@ -0,0 +1,6 @@ +directory compat +composedChildrenDo: aBlock + | composedMap | + composedMap := self childMapForComposition: true. + ^ composedMap values + do: [ :assoc | aBlock value: assoc key node value: assoc value ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/entryList..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/entryList..st new file mode 100644 index 000000000..e389b85a3 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/entryList..st @@ -0,0 +1,3 @@ +accessing +entryList: aCollection + entryList := aCollection \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/entryList.st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/entryList.st new file mode 100644 index 000000000..b1b6b9aa5 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/entryList.st @@ -0,0 +1,4 @@ +accessing +entryList + entryList ifNil: [ entryList := OrderedCollection new ]. + ^ entryList \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/keys.st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/keys.st new file mode 100644 index 000000000..e32c049f9 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/keys.st @@ -0,0 +1,3 @@ +dictionary compat +keys + ^ self childMap values \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/moveDirectoryNode.as..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/moveDirectoryNode.as..st new file mode 100644 index 000000000..8871e487f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/moveDirectoryNode.as..st @@ -0,0 +1,3 @@ +directory compat +moveDirectoryNode: aDirectoryNode as: newName + ^ self primaryNode moveDirectoryNode: aDirectoryNode as: newName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/parent..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/parent..st new file mode 100644 index 000000000..80c11d491 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/parent..st @@ -0,0 +1,3 @@ +accessing +parent: aNode + parent := aNode \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/parent.st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/parent.st new file mode 100644 index 000000000..cde064f80 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/parent.st @@ -0,0 +1,3 @@ +accessing +parent + ^ parent \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/parentOf.ifAbsent..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/parentOf.ifAbsent..st new file mode 100644 index 000000000..a34b87322 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/parentOf.ifAbsent..st @@ -0,0 +1,7 @@ +private +parentOf: aNodeName ifAbsent: absentBlock + | entry | + entry := self entryList + detect: [ :entry | entry hasChildNamed: aNodeName ] + ifNone: [ ^ absentBlock value ]. + ^ entry node \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/primaryNode.st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/primaryNode.st new file mode 100644 index 000000000..2dba33a23 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/primaryNode.st @@ -0,0 +1,3 @@ +accessing +primaryNode + ^ self entryList first node \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/removeKey..st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/removeKey..st new file mode 100644 index 000000000..d0d256f63 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/removeKey..st @@ -0,0 +1,7 @@ +dictionary compat +removeKey: aNodeName + | theNode | + theNode := self + parentOf: aNodeName + ifAbsent: [ self error: 'No child named: ' , aNodeName printString ]. + ^ theNode removeChildNamed: aNodeName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/values.st b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/values.st new file mode 100644 index 000000000..c9dd0d7f4 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/instance/values.st @@ -0,0 +1,3 @@ +dictionary compat +values + ^ self childMap values \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/methodProperties.json b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/methodProperties.json new file mode 100644 index 000000000..3810041f1 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/methodProperties.json @@ -0,0 +1,25 @@ +{ + "class" : { + }, + "instance" : { + "addChild:" : "dkh 11/07/2014 14:34", + "addPathNode:" : "dkh 11/16/2014 15:46", + "addPathNode:excludes:" : "dkh 11/16/2014 15:48", + "addPathNode:excludes:includes:" : "dkh 11/16/2014 15:48", + "addPathNode:includes:" : "dkh 11/16/2014 15:48", + "addPathNode:selectBlock:" : "dkh 11/16/2014 15:48", + "at:ifAbsent:" : "dkh 11/07/2014 14:28", + "at:put:" : "dkh 11/07/2014 14:34", + "childMap" : "dkh 03/14/2015 15:40", + "childMapForComposition:" : "dkh 03/14/2015 15:39", + "composedChildrenDo:" : "dkh 03/14/2015 15:40", + "entryList" : "dkh 11/16/2014 15:55", + "entryList:" : "dkh 11/07/2014 15:58", + "keys" : "dkh 11/07/2014 14:32", + "moveDirectoryNode:as:" : "dkh 11/07/2014 14:34", + "parent" : "dkh 11/07/2014 14:22", + "parent:" : "dkh 11/07/2014 14:22", + "parentOf:ifAbsent:" : "dkh 11/07/2014 16:39", + "primaryNode" : "dkh 11/07/2014 15:58", + "removeKey:" : "dkh 11/07/2014 14:30", + "values" : "dkh 11/07/2014 14:32" } } diff --git a/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/properties.json b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/properties.json new file mode 100644 index 000000000..197aad130 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedDirectoryNodeContents.class/properties.json @@ -0,0 +1,15 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "entryList", + "parent" ], + "name" : "TDPathComposedDirectoryNodeContents", + "pools" : [ + ], + "super" : "TDAbstractComposedDirectoryNodeContents", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDPathComposedProjectEntryNodeContents.class/README.md b/repository/Topez-Server-Core.package/TDPathComposedProjectEntryNodeContents.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDPathComposedProjectEntryNodeContents.class/instance/childMapForComposition..st b/repository/Topez-Server-Core.package/TDPathComposedProjectEntryNodeContents.class/instance/childMapForComposition..st new file mode 100644 index 000000000..40a237a80 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedProjectEntryNodeContents.class/instance/childMapForComposition..st @@ -0,0 +1,19 @@ +private +childMapForComposition: forComposition + | children | + children := Dictionary new. + self entryList reversed + do: [ :entry | + entry + childrenDo: [ :childNode | + "skip leaf nodes" + childNode isLeaf + ifFalse: [ + | projectEntry value | + "compose childNodes by projectEntry projectName" + projectEntry := childNode dotSelfObject. + value := forComposition + ifTrue: [ entry -> childNode ] + ifFalse: [ childNode ]. + children at: projectEntry projectName put: value ] ] ]. + ^ children \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDPathComposedProjectEntryNodeContents.class/methodProperties.json b/repository/Topez-Server-Core.package/TDPathComposedProjectEntryNodeContents.class/methodProperties.json new file mode 100644 index 000000000..548032301 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedProjectEntryNodeContents.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "childMapForComposition:" : "dkh 03/14/2015 15:47" } } diff --git a/repository/Topez-Server-Core.package/TDPathComposedProjectEntryNodeContents.class/properties.json b/repository/Topez-Server-Core.package/TDPathComposedProjectEntryNodeContents.class/properties.json new file mode 100644 index 000000000..c8ad4e84c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDPathComposedProjectEntryNodeContents.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDPathComposedProjectEntryNodeContents", + "pools" : [ + ], + "super" : "TDPathComposedDirectoryNodeContents", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/class/defaultGitRootPath..st b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/class/defaultGitRootPath..st index 9dbefd380..6e3d4d853 100644 --- a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/class/defaultGitRootPath..st +++ b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/class/defaultGitRootPath..st @@ -1,3 +1,5 @@ accessing defaultGitRootPath: aString - DefaultGitRootPath := aString \ No newline at end of file + "self defaultGitRootPath: '$GS_HOME/tode/sys/local/git'" + + SessionTemps current at: #'TDProjectEntry_DEFAULT_GitRootPath' put: aString \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/class/defaultGitRootPath.st b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/class/defaultGitRootPath.st index 60557aa6d..5e551eb5c 100644 --- a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/class/defaultGitRootPath.st +++ b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/class/defaultGitRootPath.st @@ -1,4 +1,5 @@ accessing defaultGitRootPath - DefaultGitRootPath ifNil: [ DefaultGitRootPath := '/opt/git' ]. - ^ DefaultGitRootPath \ No newline at end of file + ^ SessionTemps current + at: #'TDProjectEntry_DEFAULT_GitRootPath' + ifAbsent: [ DefaultGitRootPath ifNil: [ '$GS_HOME/tode/sys/local/git' ] ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/baseProjectPath..st b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/baseProjectPath..st new file mode 100644 index 000000000..b6a7457e7 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/baseProjectPath..st @@ -0,0 +1,4 @@ +accessing +baseProjectPath: anObject + + baseProjectPath := anObject \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/baseProjectPath.st b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/baseProjectPath.st new file mode 100644 index 000000000..9ee0203db --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/baseProjectPath.st @@ -0,0 +1,4 @@ +accessing +baseProjectPath + baseProjectPath ifNil: [ ^ self projectPath ]. + ^ baseProjectPath \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/createProjectEntryNode.topez..st b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/createProjectEntryNode.topez..st index fe47c1023..253cef75d 100644 --- a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/createProjectEntryNode.topez..st +++ b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/createProjectEntryNode.topez..st @@ -2,7 +2,7 @@ actions createProjectEntryNode: nodePath topez: topez | projectNode parentNode | projectNode := TDObjectGatewayNode new - name: 'project'; + name: self projectName; contents: self printString; yourself. parentNode := topez ensureChildrenExistIn: nodePath. diff --git a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/projectNodeName..st b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/projectNodeName..st new file mode 100644 index 000000000..5581401ac --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/projectNodeName..st @@ -0,0 +1,3 @@ +accessing +projectNodeName: anObject + projectNodeName := anObject \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/projectNodeName.st b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/projectNodeName.st new file mode 100644 index 000000000..61a223ee8 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/instance/projectNodeName.st @@ -0,0 +1,4 @@ +accessing +projectNodeName + projectNodeName ifNil: [ ^ 'project' ]. + ^ projectNodeName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/methodProperties.json index c951f43fd..9df14ad54 100644 --- a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/methodProperties.json @@ -1,8 +1,10 @@ { "class" : { - "defaultGitRootPath" : "dkh 05/20/2014 14:15", - "defaultGitRootPath:" : "dkh 05/20/2014 14:16" }, + "defaultGitRootPath" : "dkh 03/14/2015 17:13", + "defaultGitRootPath:" : "dkh 03/14/2015 17:13" }, "instance" : { + "baseProjectPath" : "dkh 11/21/2014 14:42", + "baseProjectPath:" : "dkh 11/21/2014 14:41", "commandMap" : "dkh 05/15/2014 17:13", "commandMap:" : "dkh 05/15/2014 17:13", "commitMessage:registration:" : "dkh 05/15/2014 17:13", @@ -10,7 +12,7 @@ "concreteDiffProject:registration:" : "dkh 05/30/2014 08:25", "concreteSaveProject:registration:commitMessage:" : "dkh 05/15/2014 17:13", "createProjectEntryNode:" : "dkh 07/26/2014 12:20", - "createProjectEntryNode:topez:" : "dkh 07/26/2014 12:12", + "createProjectEntryNode:topez:" : "dkh 11/21/2014 12:48", "createProjectListRegistration" : "dkh 05/15/2014 18:15", "diffProject:registration:" : "dkh 05/15/2014 17:13", "gitRootPath" : "dkh 05/20/2014 14:16", @@ -25,6 +27,8 @@ "projectName:projectPath:" : "dkh 05/15/2014 17:13", "projectName:projectPath:status:" : "dkh 05/15/2014 17:13", "projectName:status:" : "dkh 07/25/2014 20:20", + "projectNodeName" : "dkh 11/13/2014 14:11", + "projectNodeName:" : "dkh 11/13/2014 14:11", "projectPath" : "dkh 05/15/2014 17:13", "projectPath:" : "dkh 05/15/2014 17:13", "saveProject:registration:commitMessage:" : "dkh 05/15/2014 17:13", diff --git a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/properties.json b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/properties.json index ee7cc1053..d849dcd57 100644 --- a/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/properties.json +++ b/repository/Topez-Server-Core.package/TDProjectEntryDefinition.class/properties.json @@ -8,6 +8,8 @@ "instvars" : [ "projectName", "projectPath", + "baseProjectPath", + "projectNodeName", "commandMap", "status", "gitRootPath" ], diff --git a/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/instance/concreteLoadProjectUsing.registration..st b/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/instance/concreteLoadProjectUsing.registration..st index 9ad6279b7..bd77eb4d9 100644 --- a/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/instance/concreteLoadProjectUsing.registration..st +++ b/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/instance/concreteLoadProjectUsing.registration..st @@ -1,12 +1,14 @@ actions-concrete concreteLoadProjectUsing: aProjectTool registration: aProjectRegistration - | loads | + | loads | aProjectRegistration loads ifNotNil: [ :loadList | loads := loadList ] - ifNil: [ loads := 'default' ]. - self loads ifNotNil: [:entryLoads | - entryLoads = loads - ifFalse: [ loads := entryLoads ]]. + ifNil: [ loads := {'default'} ]. + self loads + ifNotNil: [ :entryLoads | + entryLoads isArray + ifTrue: [ loads := loads , entryLoads ] + ifFalse: [ loads := loads , {entryLoads} ] ]. ^ aProjectTool projectLoad: self projectName selector: aProjectRegistration projectSelector diff --git a/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/instance/primaryProjectSpec..st b/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/instance/primaryProjectSpec..st new file mode 100644 index 000000000..773874091 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/instance/primaryProjectSpec..st @@ -0,0 +1,4 @@ +accessing +primaryProjectSpec: anObject + + primaryProjectSpec := anObject \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/instance/primaryProjectSpec.st b/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/instance/primaryProjectSpec.st new file mode 100644 index 000000000..1c354f3e4 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/instance/primaryProjectSpec.st @@ -0,0 +1,4 @@ +accessing +primaryProjectSpec + primaryProjectSpec ifNil: [ ^ self projectSpec ]. + ^ primaryProjectSpec \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/methodProperties.json index 5ecaee1b0..f3a82f640 100644 --- a/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/methodProperties.json @@ -4,7 +4,7 @@ "instance" : { "baseline:repository:loads:" : "dkh 05/15/2014 17:14", "concreteGetProjectUsing:registration:" : "dkh 08/20/2014 07:02", - "concreteLoadProjectUsing:registration:" : "dkh 06/20/2014 13:58", + "concreteLoadProjectUsing:registration:" : "dkh 02/26/2015 13:26", "concreteRevertProjectUsing:registration:" : "dkh 10/10/2014 14:34", "configuration:className:version:repository:loads:" : "dkh 06/16/2014 17:13", "configuration:version:repository:loads:" : "dkh 05/30/2014 12:01", @@ -14,6 +14,8 @@ "loadProjectUsing:registration:" : "dkh 05/15/2014 17:18", "loads" : "dkh 05/21/2014 14:49", "locked:" : "dkh 07/11/2014 20:16", + "primaryProjectSpec" : "dkh 11/21/2014 14:01", + "primaryProjectSpec:" : "dkh 11/21/2014 14:00", "printBodyOn:" : "dkh 07/25/2014 22:11", "printInstanceCreationOn:" : "dkh 07/25/2014 22:08", "projectSpec" : "dkh 05/15/2014 17:14", diff --git a/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/properties.json b/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/properties.json index 5efbab978..a710121fa 100644 --- a/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/properties.json +++ b/repository/Topez-Server-Core.package/TDProjectSpecEntryDefinition.class/properties.json @@ -7,7 +7,8 @@ "commentStamp" : "", "instvars" : [ "projectSpec", - "isLocked" ], + "isLocked", + "primaryProjectSpec" ], "name" : "TDProjectSpecEntryDefinition", "pools" : [ ], diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/class/allSelectorsProtocol.st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/class/allSelectorsProtocol.st new file mode 100644 index 000000000..ef4aa74cb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/class/allSelectorsProtocol.st @@ -0,0 +1,3 @@ +accessing +allSelectorsProtocol + ^ '---all---' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/class/className.isMeta.protocol..st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/class/className.isMeta.protocol..st new file mode 100644 index 000000000..1368394f1 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/class/className.isMeta.protocol..st @@ -0,0 +1,7 @@ +instance creation +className: className isMeta: isMeta protocol: protocol + ^ self new + className: className; + isMeta: isMeta; + protocol: protocol; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/asTDBehaviorDefinition.st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/asTDBehaviorDefinition.st new file mode 100644 index 000000000..d3f3b4634 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/asTDBehaviorDefinition.st @@ -0,0 +1,4 @@ +converting +asTDBehaviorDefinition + ^ (TDBehaviorDefinition className: self className isMeta: self isMeta) + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/asTDClassDefinition.st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/asTDClassDefinition.st new file mode 100644 index 000000000..76da97557 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/asTDClassDefinition.st @@ -0,0 +1,3 @@ +converting +asTDClassDefinition + ^ self theClass asTDClassDefinition \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/isProtocolInImage.st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/isProtocolInImage.st index d9dde1bf0..4917c7aaf 100644 --- a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/isProtocolInImage.st +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/isProtocolInImage.st @@ -1,3 +1,3 @@ testing isProtocolInImage - ^ true \ No newline at end of file + ^ self syntheticProtocol not \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/itemSelected..st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/itemSelected..st index 7e0e8c762..2326676d6 100644 --- a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/itemSelected..st +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/itemSelected..st @@ -1,4 +1,4 @@ -as yet unclassified +tools itemSelected: topez "select the protocol" diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/pasteIntoBehaviorDefinition..st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/pasteIntoBehaviorDefinition..st index a24831ead..dd8387956 100644 --- a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/pasteIntoBehaviorDefinition..st +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/pasteIntoBehaviorDefinition..st @@ -1,4 +1,4 @@ -as yet unclassified +cut copy paste pasteIntoBehaviorDefinition: aBehaviorDefinition (aBehaviorDefinition theBehavior includesCategory: self categoryName) ifFalse: [ aBehaviorDefinition theBehavior addCategory: self categoryName ]. diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/pasteIntoProtocolDefinition..st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/pasteIntoProtocolDefinition..st index 09b069175..2e862e447 100644 --- a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/pasteIntoProtocolDefinition..st +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/pasteIntoProtocolDefinition..st @@ -1,4 +1,4 @@ -as yet unclassified +cut copy paste pasteIntoProtocolDefinition: aProtocolDefinition (aProtocolDefinition theBehavior includesCategory: self categoryName) ifFalse: [ aProtocolDefinition theBehavior addCategory: self categoryName ]. diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/pasteTDDefinition..st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/pasteTDDefinition..st index f4847d9c3..e2348316b 100644 --- a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/pasteTDDefinition..st +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/pasteTDDefinition..st @@ -1,3 +1,3 @@ -as yet unclassified +cut copy paste pasteTDDefinition: def ^ def pasteIntoProtocolDefinition: self \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/protocol..st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/protocol..st new file mode 100644 index 000000000..d6264a540 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/protocol..st @@ -0,0 +1,3 @@ +accessing +protocol: aString + self categoryName: aString \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/protocol.st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/protocol.st new file mode 100644 index 000000000..c776d88cb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/protocol.st @@ -0,0 +1,3 @@ +accessing +protocol + ^ self categoryName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/removeFromSystem..st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/removeFromSystem..st index ea31c9f2e..950fddcfe 100644 --- a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/removeFromSystem..st +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/removeFromSystem..st @@ -1,5 +1,6 @@ -as yet unclassified +cut copy paste removeFromSystem: topez - (self theBehavior includesCategory: self categoryName) - ifTrue: [ self theBehavior removeCategory: self categoryName ]. + | clsTool | + clsTool := topez toolInstanceFor: 'cls'. + clsTool protocol: self theBehavior remove: {(self categoryName)}. ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/syntheticProtocol..st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/syntheticProtocol..st new file mode 100644 index 000000000..a9e2ae8ec --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/syntheticProtocol..st @@ -0,0 +1,3 @@ +accessing +syntheticProtocol: aBool + syntheticProtocol := aBool \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/syntheticProtocol.st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/syntheticProtocol.st new file mode 100644 index 000000000..41889eee6 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/syntheticProtocol.st @@ -0,0 +1,4 @@ +accessing +syntheticProtocol + syntheticProtocol ifNil: [ syntheticProtocol := false ]. + ^ syntheticProtocol \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/theBehavior.st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/theBehavior.st index 31914df13..03d693386 100644 --- a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/theBehavior.st +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/theBehavior.st @@ -1,4 +1,4 @@ -as yet unclassified +accessing theBehavior | cls | cls := self theClass. diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/theClass.st b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/theClass.st index ea5c4f7df..200d4435a 100644 --- a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/theClass.st +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/instance/theClass.st @@ -1,3 +1,3 @@ -as yet unclassified +accessing theClass ^ Smalltalk classNamed: self className \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/methodProperties.json index ed7ad74bc..eca284b90 100644 --- a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/methodProperties.json @@ -1,20 +1,27 @@ { "class" : { - }, + "allSelectorsProtocol" : "dkh 08/20/2015 16:11", + "className:isMeta:protocol:" : "dkh 08/20/2015 16:11" }, "instance" : { + "asTDBehaviorDefinition" : "dkh 09/10/2015 10:12", + "asTDClassDefinition" : "dkh 09/12/2015 08:32", "categoryName" : "dkh 09/22/2013 10:28", "categoryName:" : "dkh 09/22/2013 10:28", "className" : "dkh 09/22/2013 10:28", "className:" : "dkh 09/22/2013 10:28", "isMeta" : "dkh 09/22/2013 11:02", "isMeta:" : "dkh 09/22/2013 11:02", - "isProtocolInImage" : "dkh 07/08/2014 10:53", + "isProtocolInImage" : "dkh 08/20/2015 16:45", "itemSelected:" : "dkh 09/22/2013 10:53", "label" : "dkh 09/22/2013 11:25", "methodProtocol" : "dkh 09/22/2013 14:31", "pasteIntoBehaviorDefinition:" : "dkh 09/22/2013 12:03", "pasteIntoProtocolDefinition:" : "dkh 09/22/2013 14:41", "pasteTDDefinition:" : "dkh 09/22/2013 11:16", - "removeFromSystem:" : "dkh 07/08/2014 09:32", + "protocol" : "dkh 08/20/2015 16:12", + "protocol:" : "dkh 08/20/2015 16:12", + "removeFromSystem:" : "dkh 09/11/2015 11:13", + "syntheticProtocol" : "dkh 08/20/2015 16:44", + "syntheticProtocol:" : "dkh 08/20/2015 16:44", "theBehavior" : "dkh 09/22/2013 11:03", "theClass" : "dkh 09/22/2013 11:59" } } diff --git a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/properties.json b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/properties.json index c40d06847..875019560 100644 --- a/repository/Topez-Server-Core.package/TDProtocolDefinition.class/properties.json +++ b/repository/Topez-Server-Core.package/TDProtocolDefinition.class/properties.json @@ -8,7 +8,8 @@ "instvars" : [ "categoryName", "className", - "isMeta" ], + "isMeta", + "syntheticProtocol" ], "name" : "TDProtocolDefinition", "pools" : [ ], diff --git a/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/addChildNode..st b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/addChildNode..st new file mode 100644 index 000000000..e25f45d4f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/addChildNode..st @@ -0,0 +1,3 @@ +as yet unclassified +addChildNode: aNode + self basicContents addChildNode: aNode \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/childNamed.addIfAbsent..st b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/childNamed.addIfAbsent..st new file mode 100644 index 000000000..019eff318 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/childNamed.addIfAbsent..st @@ -0,0 +1,8 @@ +as yet unclassified +childNamed: childName addIfAbsent: addIfAbsent + ^ self + childNamed: childName + ifAbsent: [ + addIfAbsent + ifFalse: [ ^ nil ]. + self error: 'cannot add a child to a proxy leaf node' ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/childrenDo..st b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/childrenDo..st new file mode 100644 index 000000000..9d186e210 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/childrenDo..st @@ -0,0 +1,6 @@ +as yet unclassified +childrenDo: aBlock + self basicContents + childrenDo: [ :child | + child parent: self. + aBlock value: child ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/composedChildrenDo..st b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/composedChildrenDo..st new file mode 100644 index 000000000..cd9ee53d3 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/composedChildrenDo..st @@ -0,0 +1,6 @@ +as yet unclassified +composedChildrenDo: aBlock + self basicContents + composedChildrenDo: [ :composedParentNode :child | + child parent: self. + aBlock value: composedParentNode value: child ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/findMatchingPathFor.with..st b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/findMatchingPathFor.with..st new file mode 100644 index 000000000..ce60f3055 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/findMatchingPathFor.with..st @@ -0,0 +1,3 @@ +as yet unclassified +findMatchingPathFor: aPath with: aTopez + ^ self basicContents findMatchingPathFor: aPath with: aTopez \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/removeChildNamed..st b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/removeChildNamed..st new file mode 100644 index 000000000..0e524b52c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/instance/removeChildNamed..st @@ -0,0 +1,4 @@ +as yet unclassified +removeChildNamed: childName + | child | + ^ self basicContents removeChildNamed: childName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDProxyLeafNode.class/methodProperties.json b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/methodProperties.json index 87d5fbfea..45fe25b1c 100644 --- a/repository/Topez-Server-Core.package/TDProxyLeafNode.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDProxyLeafNode.class/methodProperties.json @@ -5,14 +5,18 @@ "acceptVisitor:" : "dkh 01/30/2014 12:35", "acceptVisitor:proxiedBy:" : "dkh 01/31/2014 10:53", "addAsChildOfFileSystemDirectoryNode:" : "dkh 12/20/2013 13:47", + "addChildNode:" : "dkh 12/04/2014 09:38", "asTDLeafNode" : "dkh 12/22/2013 20:35", "basicContents:" : "dkh 11/30/2013 14:48", "block" : "dkh 11/30/2013 14:50", "canMove" : "dkh 12/20/2013 13:38", "cat" : "dkh 11/30/2013 14:50", + "childNamed:addIfAbsent:" : "dkh 02/11/2015 11:10", "childNamed:ifAbsent:" : "dkh 06/12/2014 13:20", "childrenAndNamesDo:" : "dkh 06/12/2014 13:16", + "childrenDo:" : "dkh 11/13/2014 14:04", "classForEditorNodeLookup" : "dkh 12/06/2013 10:26", + "composedChildrenDo:" : "dkh 11/21/2014 15:09", "contents" : "dkh 11/30/2013 14:51", "contents:" : "dkh 11/30/2013 14:51", "copyDirectoryNode:as:" : "dkh 05/28/2014 14:07", @@ -26,6 +30,7 @@ "elementSource" : "dkh 12/05/2013 22:54", "elementSource:" : "dkh 06/03/2014 06:24", "extension" : "dkh 11/30/2013 14:52", + "findMatchingPathFor:with:" : "dkh 12/17/2014 22:05", "isLeaf" : "dkh 12/06/2013 21:21", "listContents:" : "dkh 12/19/2013 07:22", "lookup:with:" : "dkh 12/07/2013 08:46", @@ -39,6 +44,7 @@ "parent" : "dkh 12/06/2013 15:43", "parent:" : "dkh 12/06/2013 15:27", "removeAsChildOfFileSystemDirectoryNode:" : "dkh 12/06/2013 11:56", + "removeChildNamed:" : "dkh 12/13/2014 10:24", "renderNameText" : "dkh 12/06/2013 15:10", "renderNameTextAttributes" : "dkh 11/30/2013 14:53", "rsyncCopyNodeUsing:" : "dkh 11/30/2013 14:54", diff --git a/repository/Topez-Server-Core.package/TDRawGatewayNode.class/README.md b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDRawGatewayNode.class/class/objectExtension.st b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/class/objectExtension.st new file mode 100644 index 000000000..d3fb63c5c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/class/objectExtension.st @@ -0,0 +1,3 @@ +as yet unclassified +objectExtension + ^ '@/' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDRawGatewayNode.class/class/typeSignature.st b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/class/typeSignature.st new file mode 100644 index 000000000..df9624dbd --- /dev/null +++ b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/class/typeSignature.st @@ -0,0 +1,3 @@ +as yet unclassified +typeSignature + ^ 'node' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/addAsChildOfFileSystemDirectoryNode..st b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/addAsChildOfFileSystemDirectoryNode..st new file mode 100644 index 000000000..b64b79e44 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/addAsChildOfFileSystemDirectoryNode..st @@ -0,0 +1,3 @@ +as yet unclassified +addAsChildOfFileSystemDirectoryNode: aTDFileSystemDirectoryNode + ^ aTDFileSystemDirectoryNode addChildLeafNode: self \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/contents.st b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/contents.st new file mode 100644 index 000000000..d539615a2 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/contents.st @@ -0,0 +1,5 @@ +as yet unclassified +contents + contents + ifNil: [ ^ 'TDComposedDirectoryNode linkPath: ''/tmp'' topez: self topez' ]. + ^ contents value \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/elementSource..st b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/elementSource..st new file mode 100644 index 000000000..0b0baf998 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/elementSource..st @@ -0,0 +1,4 @@ +source element builder +elementSource: source + self contents: source. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/elementSource.st b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/elementSource.st new file mode 100644 index 000000000..84562e4ea --- /dev/null +++ b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/elementSource.st @@ -0,0 +1,3 @@ +source element builder +elementSource + ^ self contents \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/extension.st b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/extension.st new file mode 100644 index 000000000..61e81d22e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/extension.st @@ -0,0 +1,3 @@ +as yet unclassified +extension + ^ self class objectExtension \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/gatewayNode.st b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/gatewayNode.st new file mode 100644 index 000000000..86af2bb45 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/instance/gatewayNode.st @@ -0,0 +1,6 @@ +as yet unclassified +gatewayNode + ^ self gateway + parent: self parent; + topez: self topez; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDRawGatewayNode.class/methodProperties.json b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/methodProperties.json new file mode 100644 index 000000000..855830503 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/methodProperties.json @@ -0,0 +1,11 @@ +{ + "class" : { + "objectExtension" : "dkh 10/30/2014 14:35", + "typeSignature" : "dkh 10/30/2014 14:57" }, + "instance" : { + "addAsChildOfFileSystemDirectoryNode:" : "dkh 10/30/2014 14:57", + "contents" : "dkh 10/30/2014 17:21", + "elementSource" : "dkh 10/30/2014 14:35", + "elementSource:" : "dkh 10/30/2014 14:35", + "extension" : "dkh 10/30/2014 14:35", + "gatewayNode" : "dkh 11/05/2014 17:31" } } diff --git a/repository/Topez-Server-Core.package/TDRawGatewayNode.class/properties.json b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/properties.json new file mode 100644 index 000000000..2e06c3b69 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDRawGatewayNode.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDRawGatewayNode", + "pools" : [ + ], + "super" : "TDGatewayNode", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDRepositoryPackageBrowser.class/instance/copyObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDRepositoryPackageBrowser.class/instance/copyObjectMenuAction.selectionIndex..st index 4c5f78d57..53fb4661e 100644 --- a/repository/Topez-Server-Core.package/TDRepositoryPackageBrowser.class/instance/copyObjectMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDRepositoryPackageBrowser.class/instance/copyObjectMenuAction.selectionIndex..st @@ -4,7 +4,7 @@ copyObjectMenuAction: listElement selectionIndex: selectionIndex selectionIndex = 0 ifTrue: [ ^ false ]. packageText := self packageTextList at: selectionIndex. - ^ STON + ^ self objectSerializer toString: {#'addToClipboard:'. (packageText asString)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDRepositoryPackageBrowser.class/methodProperties.json b/repository/Topez-Server-Core.package/TDRepositoryPackageBrowser.class/methodProperties.json index f5906fa28..70b7f46be 100644 --- a/repository/Topez-Server-Core.package/TDRepositoryPackageBrowser.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDRepositoryPackageBrowser.class/methodProperties.json @@ -6,7 +6,7 @@ "browseVersionsFor:" : "dkh 12/29/2013 07:57", "childIsClosing:" : "dkh 10/19/2013 12:44", "clientList:listElement:" : "dkh 03/20/2014 20:39", - "copyObjectMenuAction:selectionIndex:" : "dkh 10/13/2013 10:52", + "copyObjectMenuAction:selectionIndex:" : "dkh 06/25/2015 15:45", "editMenuActionSpec" : "dkh 10/13/2013 10:50", "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 10/13/2013 14:37", "menuActionSpec:" : "dkh 10/13/2013 21:22", diff --git a/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/instance/menuActionSpec..st b/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/instance/menuActionSpec..st index 4048511f4..1aa84d9c1 100644 --- a/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/instance/menuActionSpec..st +++ b/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/instance/menuActionSpec..st @@ -9,7 +9,8 @@ menuActionSpec: miniTool theSpec := theSpec , {#('adopt' nil #'adoptVersion:selectedIndex:'). - #('changes' nil #'versionChanges:selectedIndex:'). + #('> changes' nil #'versionChanges:selectedIndex:'). + #('< changes' nil #'versionChangesReversed:selectedIndex:'). #('merge' nil #'mergeVersion:selectedIndex:'). #('-')} ]. ^ theSpec diff --git a/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/instance/versionChanges.selectedIndex..st b/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/instance/versionChanges.selectedIndex..st index 48076bd6d..90af5873f 100644 --- a/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/instance/versionChanges.selectedIndex..st +++ b/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/instance/versionChanges.selectedIndex..st @@ -1,9 +1,18 @@ actions versionChanges: listElement selectedIndex: index - | resolvedVersion version | + | resolvedVersion version wc wcVersionInfo stream wcSnapshot | index = 0 ifTrue: [ ^ false ]. resolvedVersion := self versions at: index. version := resolvedVersion version. - self browseChangesBetween: self workingCopy and: version info. + wc := self workingCopy. + wcVersionInfo := wc ancestry ancestors first. + wcSnapshot := wc findSnapshotWithVersionInfo: wcVersionInfo. + stream := TextStream on: Text new. + self mcTool mccompare: wcSnapshot to: version snapshot on: stream. + (TDTxtLeafNode new contents: stream contents) + editUsing: + ((TDEditorSpec topez: self topez editorAspect: #'edit') + windowName: #'mcDiff'; + yourself). ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/instance/versionChangesReversed.selectedIndex..st b/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/instance/versionChangesReversed.selectedIndex..st new file mode 100644 index 000000000..45f1a594a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/instance/versionChangesReversed.selectedIndex..st @@ -0,0 +1,18 @@ +actions +versionChangesReversed: listElement selectedIndex: index + | resolvedVersion version wc wcVersionInfo stream wcSnapshot | + index = 0 + ifTrue: [ ^ false ]. + resolvedVersion := self versions at: index. + version := resolvedVersion version. + wc := self workingCopy. + wcVersionInfo := wc ancestry ancestors first. + wcSnapshot := wc findSnapshotWithVersionInfo: wcVersionInfo. + stream := TextStream on: Text new. + self mcTool mccompare: version snapshot to: wcSnapshot on: stream. + (TDTxtLeafNode new contents: stream contents) + editUsing: + ((TDEditorSpec topez: self topez editorAspect: #'edit') + windowName: #'mcDiff'; + yourself). + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/methodProperties.json b/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/methodProperties.json index e54737ecf..b4f103fc5 100644 --- a/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDRepositoryVersionsBrowser.class/methodProperties.json @@ -10,12 +10,13 @@ "editMenuActionSpec" : "dkh 10/13/2013 11:00", "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 10/20/2013 10:56", "loadVersion:selectedIndex:" : "dkh 10/15/2013 13:39", - "menuActionSpec:" : "dkh 11/08/2013 06:08", + "menuActionSpec:" : "dkh 09/13/2015 11:43", "mergeVersion:selectedIndex:" : "dkh 10/20/2013 12:46", "packagesSpec" : "dkh 10/13/2013 21:31", "repository" : "dkh 10/13/2013 21:29", "repository:" : "dkh 10/13/2013 21:29", - "versionChanges:selectedIndex:" : "dkh 10/20/2013 12:36", + "versionChanges:selectedIndex:" : "dkh 09/07/2015 14:18", + "versionChangesReversed:selectedIndex:" : "dkh 09/13/2015 11:44", "versionHistory:selectedIndex:" : "dkh 10/19/2013 17:54", "versionInfoSummaryWindowId" : "dkh 10/20/2013 12:11", "versionInfoSummaryWindowId:" : "dkh 10/20/2013 12:11", diff --git a/repository/Topez-Server-Core.package/TDServerStatus.class/class/persistentElementCache..st b/repository/Topez-Server-Core.package/TDServerStatus.class/class/persistentElementCache..st new file mode 100644 index 000000000..894b789ce --- /dev/null +++ b/repository/Topez-Server-Core.package/TDServerStatus.class/class/persistentElementCache..st @@ -0,0 +1,5 @@ +instance creation +persistentElementCache: aDictionary + ^ self new + persistentElementCache: aDictionary; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDServerStatus.class/instance/cacheClientElement..st b/repository/Topez-Server-Core.package/TDServerStatus.class/instance/cacheClientElement..st new file mode 100644 index 000000000..f92b67263 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDServerStatus.class/instance/cacheClientElement..st @@ -0,0 +1,3 @@ +as yet unclassified +cacheClientElement: aClientElement + aClientElement addToClientElementCacheFor: self \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDServerStatus.class/instance/cacheClientElementPersistent..st b/repository/Topez-Server-Core.package/TDServerStatus.class/instance/cacheClientElementPersistent..st new file mode 100644 index 000000000..abcf88ac7 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDServerStatus.class/instance/cacheClientElementPersistent..st @@ -0,0 +1,3 @@ +as yet unclassified +cacheClientElementPersistent: aClientElement + self persistentElementCache add: aClientElement \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDServerStatus.class/instance/cacheClientElementTransient..st b/repository/Topez-Server-Core.package/TDServerStatus.class/instance/cacheClientElementTransient..st new file mode 100644 index 000000000..b79b2851b --- /dev/null +++ b/repository/Topez-Server-Core.package/TDServerStatus.class/instance/cacheClientElementTransient..st @@ -0,0 +1,3 @@ +as yet unclassified +cacheClientElementTransient: aClientElement + self elementCache add: aClientElement \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDServerStatus.class/instance/persistentElementCache..st b/repository/Topez-Server-Core.package/TDServerStatus.class/instance/persistentElementCache..st new file mode 100644 index 000000000..dbdd451f9 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDServerStatus.class/instance/persistentElementCache..st @@ -0,0 +1,3 @@ +as yet unclassified +persistentElementCache: aDictionary + persistentElementCache := aDictionary \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDServerStatus.class/instance/persistentElementCache.st b/repository/Topez-Server-Core.package/TDServerStatus.class/instance/persistentElementCache.st new file mode 100644 index 000000000..bc5babbd7 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDServerStatus.class/instance/persistentElementCache.st @@ -0,0 +1,7 @@ +as yet unclassified +persistentElementCache + persistentElementCache + ifNil: [ + "bootstrapping ... normally persistentElementCache is supplied by TDTopezServer at creation time" + persistentElementCache := IdentitySet new ]. + ^ persistentElementCache \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDServerStatus.class/instance/retireClientElement..st b/repository/Topez-Server-Core.package/TDServerStatus.class/instance/retireClientElement..st new file mode 100644 index 000000000..0edf75e86 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDServerStatus.class/instance/retireClientElement..st @@ -0,0 +1,4 @@ +as yet unclassified +retireClientElement: aClientElement + self elementCache remove: aClientElement ifAbsent: [ ]. + self persistentElementCache remove: aClientElement ifAbsent: [ ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDServerStatus.class/methodProperties.json b/repository/Topez-Server-Core.package/TDServerStatus.class/methodProperties.json index add835e09..dbd30f33b 100644 --- a/repository/Topez-Server-Core.package/TDServerStatus.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDServerStatus.class/methodProperties.json @@ -1,10 +1,13 @@ { "class" : { - }, + "persistentElementCache:" : "dkh 08/18/2015 09:47" }, "instance" : { "addResultToStack:" : "dkh 06/04/2013 21:29", "autoCommit" : "DataCurator 12/21/2012 11:20", "autoCommit:" : "DataCurator 12/21/2012 11:17", + "cacheClientElement:" : "dkh 08/18/2015 10:19", + "cacheClientElementPersistent:" : "dkh 08/18/2015 09:52", + "cacheClientElementTransient:" : "dkh 08/18/2015 10:18", "characterLimit" : "DataCurator 01/16/2013 15:12", "characterLimit:" : "DataCurator 01/16/2013 15:13", "currentNode" : "DataCurator 12/01/2012 07:59", @@ -25,7 +28,10 @@ "exceptionProcess" : "DataCurator 12/01/2012 18:18", "listLimit" : "DataCurator 01/16/2013 09:51", "listLimit:" : "DataCurator 01/16/2013 09:52", + "persistentElementCache" : "dkh 08/18/2015 14:06", + "persistentElementCache:" : "dkh 08/18/2015 09:48", "reset" : "DataCurator 01/23/2013 19:39", "resultFromStackAt:" : "dkh 06/04/2013 21:04", "resultStack" : "dkh 06/04/2013 20:47", - "resultStackIndex" : "dkh 06/04/2013 20:49" } } + "resultStackIndex" : "dkh 06/04/2013 20:49", + "retireClientElement:" : "dkh 08/18/2015 09:53" } } diff --git a/repository/Topez-Server-Core.package/TDServerStatus.class/properties.json b/repository/Topez-Server-Core.package/TDServerStatus.class/properties.json index 859d3b6ee..2bbaac42d 100644 --- a/repository/Topez-Server-Core.package/TDServerStatus.class/properties.json +++ b/repository/Topez-Server-Core.package/TDServerStatus.class/properties.json @@ -3,7 +3,7 @@ "classinstvars" : [ ], "classvars" : [ - ], + "PersistentElementCache" ], "commentStamp" : "", "instvars" : [ "currentNode", @@ -13,6 +13,7 @@ "exceptionProcess", "autoCommit", "elementCache", + "persistentElementCache", "listLimit", "displayOops", "characterLimit", diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/abortManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/abortManPage.st index 1a4879c31..50f38287c 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/abortManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/abortManPage.st @@ -14,4 +14,8 @@ DESCRIPTION OPTIONS --help Bring up this man page. + +EXAMPLES + abort -h + abort ' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/begin.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/begin.st new file mode 100644 index 000000000..081b3798f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/begin.st @@ -0,0 +1,9 @@ +commands +begin + + ^ [ :topez :objIn :tokens :command | + self + performCommand: topez + objIn: objIn + commandOptions: {#('help' $h #'none')} + todeCommand: command ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/beginManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/beginManPage.st new file mode 100644 index 000000000..8b8dc5e76 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/beginManPage.st @@ -0,0 +1,16 @@ +manPages +beginManPage + ^ 'NAME + begin - Begin transaction + +SYNOPSIS + begin [--help] + +DESCRIPTION + Call `System beginTransaction` and return true if the begin + succeeds. Returns false otherwise. + +OPTIONS + --help + Bring up this man page. +' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/browseclassManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/browseclassManPage.st index 2bb639b7a..bda52bd36 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/browseclassManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/browseclassManPage.st @@ -26,11 +26,11 @@ DESCRIPTION If the --hier option is present, the superclass list for each of the matching classes is included in the list. - If the --full option is present, a full class browser is drectly opened on the + If the --full option is present, a full class browser is directly opened on the given class. EXAMPLES - browse class method stream + browse class Method Stream browse class --exact GsNMethod browse class --exact --hier GsNMethod browse class --hier method|stream diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/browsereferencesManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/browsereferencesManPage.st index 1672d5714..37af678da 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/browsereferencesManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/browsereferencesManPage.st @@ -23,9 +23,6 @@ DESCRIPTION With the --literal option present, each of the arguments is compiled into a literal. - With the --undeclared option present, each of the arguments represents an - undeclared global. - By default all methods in classes defined in the current user''s symbol list are searched references to the global or literal. diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/browsesourceManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/browsesourceManPage.st index 52826f92c..4709e30e8 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/browsesourceManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/browsesourceManPage.st @@ -8,8 +8,8 @@ browsesourceManPage browse source - Find and view strings in method source SYNOPSIS - browse source ... - browse source --exact ... + browse source [--case] ... + browse source --exact [--noCase] ... DESCRIPTION The `browse source` command brings up a method definition window on the @@ -18,11 +18,20 @@ DESCRIPTION With no options present, mathods whose source matches the given regex pattern are listed. - With the --exect option present, only the methods whose source includes the - substring exactly are listed. + With the --case option present, the regex search will be case sensitive. + + With the --exact option present, only the methods whose source includes the + substring exactly (case sensitive) are listed . + + With the --exact and --noCase options present, the substring search will be case insensitive. EXAMPLES - browse source --exact `hello world` + browse source --exact `Hello world` + browse source --exact --noCase `hello world` + + browse source `hello world` + browse source --case `Hello World` + browse --scriptPath source `hello world` '. ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/clsManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/clsManPage.st index 819aba6bc..f326fb531 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/clsManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/clsManPage.st @@ -21,6 +21,7 @@ DESCRIPTION category Move class to a new category comment View and define the class comment copy Make a copy of a class + create Create a new class definition View and define the class history View class history protocol Define and modify class protocol @@ -46,6 +47,7 @@ EXAMPLES cls copy ClassA ClassB cls copy @/home/tode/classA ClassB + cls create ClassB Object ClassBCategory cls --help definition cls definition ClassA ClassB cls definition @/home/tode/classA ClassB @@ -74,5 +76,6 @@ EXAMPLES at: 'rename' put: self clsrenameManPage; at: 'category' put: self clscategoryManPage; at: 'remove' put: self clsremoveManPage; + at: 'create' put: self clscreateManPage; yourself. ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/clscreateManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/clscreateManPage.st new file mode 100644 index 000000000..62559ed0a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/clscreateManPage.st @@ -0,0 +1,22 @@ +manPages +clscreateManPage + | manPage | + manPage := TDManPage + commandName: 'create' + fromString: + 'NAME + cls create - Create a new class + +SYNOPSIS + cls create + +DESCRIPTION + The `cls create` command createsa new class named , + as a subclass of the class named , in the class + category . + +EXAMPLES + cls --help create + cls create ClassB Object ClassBCategory +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/clshistoryManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/clshistoryManPage.st index 76564ba8a..170528ba9 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/clshistoryManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/clshistoryManPage.st @@ -8,15 +8,29 @@ clshistoryManPage cls history - View class history SYNOPSIS - cls history ( | @ ) + cls history [--hier] [( | @ )...] DESCRIPTION The `cls history` command opens a class definition window on the classes in the class history for the specified class. + If no class names are specified a class definition window is opened on all classes + in the system that have a class history (i.e., more than one class in the class + history). + + With the --hier option, the super and subclass hierarchy for each class in the class + history is displayed. + EXAMPLES cls --help history - cls history ClassA - cls history @/home/tode/classA + cls history + + cls history Symbol + cls history Symbol MultiByteString + + cls history --hier + cls history --hier Symbol + + cls history @/home/tode/aClass '. ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/clsprotocolManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/clsprotocolManPage.st index 31956899f..1cafbcb9c 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/clsprotocolManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/clsprotocolManPage.st @@ -10,7 +10,7 @@ clsprotocolManPage SYNOPSIS cls protocol [--class] --add= ... cls protocol [--class] --remove= ... - cls protocol [--class] --rename= ( )... + cls protocol [--class] --rename= ( )... DESCRIPTION The `cls protocol` command provides options for creating, removing and renaming diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/commitManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/commitManPage.st index 4c068b468..ebbd9009c 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/commitManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/commitManPage.st @@ -13,4 +13,8 @@ DESCRIPTION OPTIONS --help Bring up this man page. + +EXAMPLES + commit -h + commit ' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/dsManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/dsManPage.st index e8e5c4ba6..d525cca09 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/dsManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/dsManPage.st @@ -25,5 +25,5 @@ OPTIONS EXAMPLES ds ds /home/tode - ds --leavl=2 . + ds --level=2 . ' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/find.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/find.st index 510fbdaae..c209471e7 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/find.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/find.st @@ -7,5 +7,6 @@ find objIn: objIn commandOptions: {#('help' $h #'none'). - #('scriptPath' nil #'optional')} + #('scriptPath' nil #'optional'). + #('select' nil #'required')} todeCommand: command ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findManPage.st index 3c181c175..fb0fd2caf 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/findManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findManPage.st @@ -8,7 +8,7 @@ findManPage find - Find classes and methods SYNOPSIS - find [--scriptPath=] [--help] [] + find [--scriptPath=] [--select=] [--help] [] DESCRIPTION Find is the primary command for finding classes and methods. @@ -17,22 +17,20 @@ DESCRIPTION specific search. Commands: - category Find lists of classes in a category - configurations List configurations - class Find and view lists of classes - diff View differences between two methods - list View method definitions loaded from nodes - method Find and view lists of methods matching patterns - package Find and vew lists of classes in a package - packages List packages - project Find and vew lists of classes in a project - references Find and view lists of methods referencing certain artifacts - sender Find and view lists of methods sending particular messages - source Find and view strings in method source - symbolDict Find and view a list of classes in a symbol dictionary - undeclared View references to undeclared symbols - variables Find and view references to instance, class instance and class variables - versions Find and view versions of a method + category Find list of class definitions in a category + configurations Find list of configuration definitions + class Find list of class definitions + method Find list of method definitions matching patterns + package Find list of class definitions in a package + packages Find list of package definitions + project Find list of class definitions in a project + references Find list of method definitions referencing certain artifacts + sender Find list of method definitions sending particular messages + source Find strings in method source + symbolDict Find list of class definitions in a symbol dictionary + undeclared Find list of method definitions referencing undeclared symbols + variables Find references to instance, class instance and class variables + versions Find versions of a method Use `find --help ` to read about a specific subcommand. @@ -59,14 +57,9 @@ EXAMPLES find class method stream find class --exact GsNMethod find class --hier method|stream - find class --full GsNMethod find configurations - find diff TDShellTool>>findMethods: `TDShellTool class>>find` - - find list /tmp/sessionTemps/methodDefinitions - find method at:put: nextPutAll: find method --spec Dictionary>>at:put: `Dictionary class>>new:` find method --regex at\:put\:|nextPutAll\: @@ -92,7 +85,10 @@ EXAMPLES find sender --pure at:put: find sender --regex at\:put\: - find source --exact `hello world` + find source --exact `Hello World` + find source --exact --noCase `hello world` + find source `hello world` + find source --case `Hello wWrld` find symbolDict --user=SystemUser UserGlobals find symbolDict --list --user=SystemUser @@ -116,5 +112,18 @@ EXAMPLES '. manPage subCommands at: 'category' put: self findcategoryManPage; + at: 'class' put: self findclassManPage; + at: 'configurations' put: self findconfigurationsManPage; + at: 'method' put: self findmethodManPage; + at: 'package' put: self findpackageManPage; + at: 'packages' put: self findpackagesManPage; + at: 'project' put: self findprojectManPage; + at: 'references' put: self findreferencesManPage; + at: 'sender' put: self findsenderManPage; + at: 'source' put: self findsourceManPage; + at: 'symbolDict' put: self findsymbolDictManPage; + at: 'undeclared' put: self findundeclaredManPage; + at: 'variables' put: self findvariablesManPage; + at: 'versions' put: self findversionsManPage; yourself. ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findManPageX.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findManPageX.st deleted file mode 100644 index 63eabaf7b..000000000 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/findManPageX.st +++ /dev/null @@ -1,53 +0,0 @@ -as yet unclassified -findManPageX - ^ 'NAME - find - search for matching classes and methods (class, method, sender, rmethod, rsender, source, versions) - -SYNOPSIS - find [--scriptPath[=]] find-command [] - - find method - find method --spec - find method --regex - ---- - find method [#] - find rmethod - - find [--scriptPath=] sender [--pure|[--regex|-r]] - ---- - find [--scriptPath=] psender [#] - find [--scriptPath=] rsender - find [--scriptPath=] sender [#] - - find [--scriptPath=] source - find [--scriptPath=] source --exact - ---- - find [--scriptPath=] source - - find categories - find category - find class - find hierarchy - find methods - find package - find project - find [--scriptPath=] references - find versions - -DESCRIPTION - :: method specification - methodSelector - className>>methodSelector - className class>>methodSelector - - :: regular expression pattern - - :: method selector (use `#` in front of selector to disambiguate from shell operator (`>`)). - yourself - at:put: - #> - - :: global name - - @ -' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findcategoryManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findcategoryManPage.st index faa53bfc7..661b1f1b5 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/findcategoryManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findcategoryManPage.st @@ -5,15 +5,15 @@ findcategoryManPage commandName: 'category' fromString: 'NAME - find category - Find and view lists of classes in a category + find category - Find list of class definitions in a category SYNOPSIS find category [--hier] ... find category [--hier] --exact ... DESCRIPTION - The `find category` command brings up a window on a list of classes present in - the specified class categories. + The `find category` command returns a list of class definitions present in the + specified class categories. With no options, the command arguments are interpreted as regex expressions. The regex expression is used to match against the list of categories found for diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findclassManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findclassManPage.st new file mode 100644 index 000000000..18b38a4a2 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findclassManPage.st @@ -0,0 +1,33 @@ +manPages +findclassManPage + | manPage | + manPage := TDManPage + commandName: 'class' + fromString: + 'NAME + find class - Find list of class definitions + +SYNOPSIS + find class [--exact] [--hier] ... + +DESCRIPTION + The `find class` command returns a list of class definitions. + + With no options, the command arguments are interpreted as regex expressions. The + regex expression is used to match against the full list of classes found + in the users symbol list (`GsCurrentSession currentSession symbolList`). + + If the --exact option is present, the command arguments are interpreted as + class names and only those listed class definitions are brought up in the list. + + If the --hier option is present, the superclass list for each of the matching + class definitions is included in the list. + +EXAMPLES + find class Method Stream + find class --exact GsNMethod + find class --exact --hier GsNMethod + find class --hier method|stream + find --select=`[:def | (''^OB'' asRegex search: def label) not ]` class --hier method|stream +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findconfigurationsManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findconfigurationsManPage.st new file mode 100644 index 000000000..2df11d048 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findconfigurationsManPage.st @@ -0,0 +1,19 @@ +manPages +findconfigurationsManPage + | manPage | + manPage := TDManPage + commandName: 'configurations' + fromString: + 'NAME + find configurations - Find list of configuration definitions + +SYNOPSIS + find configurations + +DESCRIPTION + The `find configurations` returns the list of configuration definitions. + +EXAMPLES + find configurations +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findmethodManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findmethodManPage.st new file mode 100644 index 000000000..ede488094 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findmethodManPage.st @@ -0,0 +1,34 @@ +manPages +findmethodManPage + | manPage | + manPage := TDManPage + commandName: 'method' + fromString: + 'NAME + find method - Find list of method definitions matching patterns + +SYNOPSIS + find method ... + find method ( --regex | -r ) ... + find method --spec ... + +DESCRIPTION + The `find method` command returns a list of method definitions matching the specified + patterns. + + With no options present, method definitions that implement the given selector + are listed. + + With the --regex or -r option present, the method-pattern is used to return + method definitions with the selectors that match the pattern. + + With the --spec option present, only those methods specified are listed. + +EXAMPLES + find method at:put: nextPutAll: + find method --spec Dictionary>>at:put: `Dictionary class>>new:` + find method --regex at\:put\:|nextPutAll\: + find --select=@filter method at:put: + find --select=`[:def | true ]` method at:put: +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findpackageManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findpackageManPage.st new file mode 100644 index 000000000..9d741afe1 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findpackageManPage.st @@ -0,0 +1,28 @@ +manPages +findpackageManPage + | manPage | + manPage := TDManPage + commandName: 'package' + fromString: + 'NAME + find package - Find list of class definitions in a package + +SYNOPSIS + find package ... + find package --exact ... + +DESCRIPTION + The `find package` command brings up a window on a list of class definitions defined + in the given packages. + + With no options present, the arguments are treated as a regex pattern used + to match against the list of packages loaded in the image. + + With the --exact option present, only the packages exactly matching the + arguments are used. + +EXAMPLES + find package topez-server tode + find package --exact Topez-Server-Core +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findpackagesManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findpackagesManPage.st new file mode 100644 index 000000000..d67391d1d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findpackagesManPage.st @@ -0,0 +1,19 @@ +manPages +findpackagesManPage + | manPage | + manPage := TDManPage + commandName: 'packages' + fromString: + 'NAME + find packages - Find list if package definitions + +SYNOPSIS + find packages + +DESCRIPTION + The `find packages` command returns list of package definitions. + +EXAMPLES + find packages +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findprojectManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findprojectManPage.st new file mode 100644 index 000000000..e67288469 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findprojectManPage.st @@ -0,0 +1,28 @@ +manPages +findprojectManPage + | manPage | + manPage := TDManPage + commandName: 'project' + fromString: + 'NAME + find project - Find list of class definitions in a project + +SYNOPSIS + find project ... + find project --exact ... + +DESCRIPTION + The `find project` command returns a list of class definitions defined + in the given projects. + + With no options present, the arguments are treated as a regex pattern used + to match against the list of projects loaded in the image. + + With the --exact option present, only the projects exactly matching the + arguments are used. + +EXAMPLES + find project tode rb + find project --exact Tode +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findreferencesManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findreferencesManPage.st new file mode 100644 index 000000000..781080d85 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findreferencesManPage.st @@ -0,0 +1,45 @@ +manPages +findreferencesManPage + | manPage | + manPage := TDManPage + commandName: 'references' + fromString: + 'NAME + find references - Find list of method definitions referencing certain artifacts + +SYNOPSIS + find references [--class=] ... + find references [--class=] --literal ... + +DESCRIPTION + The `find references` command returns a list of method definitions on the + methods that reference the specified globals, literals or classes. + + With no options specified the arguments are resolved against the current user''s + symbol list: + + GsCurrentSession currentSession symbolList objectNamed: globalName + + With the --literal option present, each of the arguments is compiled into a + literal. + + By default all methods in classes defined in the current user''s symbol list are + searched references to the global or literal. + + If the --class option is present, then only the named class is scanned for + references. + +EXAMPLES + find references GsNMethod + find references --literal `''not yet implemented''` + find references --literal `#at:put:` + find references --literal `1.0` + find references --literal `#( 1 2 3)` + find references --literal `#[ 1 2 3]` + find references --class=ClassOrganizer --literal `#at:put:` + find references --class=ClassOrganizer SortedCollection + find --scriptPath references --literal `1.0` + find --scriptPath=~/tode references --literal `1.0` + find --scriptPath --select=`[:node | ''Tool'' asRegex search: node name ]` references --literal `1.0` +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findsenderManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findsenderManPage.st new file mode 100644 index 000000000..71be8096f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findsenderManPage.st @@ -0,0 +1,34 @@ +manPages +findsenderManPage + | manPage | + manPage := TDManPage + commandName: 'sender' + fromString: + 'NAME + find sender - Find list of method definitions sending particular messages + +SYNOPSIS + find sender ... + find sender [--pure] ... + find sender [--regex|-r] ... + +DESCRIPTION + The `find sender` command returns a list of method definitions on the + methods that send the specified selector. + + With no options present, methods that send the given selector or reference + the literal symbol for the selector are listed. + + With the --pure option present, only the methods that send the given selector + are listed. + + With the --regex (or -r) option present, methods that send a message that matches + the given regex selector pattern are listed. + +EXAMPLES + find sender at:put: + find sender --pure at:put: + find sender --regex at\:put\: + find --scriptPath sender at:put: +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findsourceManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findsourceManPage.st new file mode 100644 index 000000000..ddebd42c2 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findsourceManPage.st @@ -0,0 +1,34 @@ +manPages +findsourceManPage + | manPage | + manPage := TDManPage commandName: 'source' fromString: 'NAME + find source - Find strings in method source + +SYNOPSIS + find source [--case] ... + find source --exact [--noCase] ... + +DESCRIPTION + The `find source` command returns a list of method definitions whose source includes + the specified substrings. + + With no options present, mathods whose source matches the given regex pattern + are listed. + + With the --case option present, the regex search will be case sensitive. + + With the --exact option present, only the methods whose source includes the + substring exactly (case sensitive) are listed . + + With the --exact and --noCase options present, the substring search will be case insensitive. + +EXAMPLES + find source --exact `Hello world` + find source --exact --noCase `hello world` + + find source `hello world` + find source --case `Hello World` + + find --scriptPath source `hello world` +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findsymbolDictManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findsymbolDictManPage.st new file mode 100644 index 000000000..4e81ead45 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findsymbolDictManPage.st @@ -0,0 +1,39 @@ +manPages +findsymbolDictManPage + | manPage | + manPage := TDManPage + commandName: 'symbolDict' + fromString: + 'NAME + find symbolDict - Find list of class definitions in a symbol dictionary + +SYNOPSIS + find symbolDict [--hier] [--user=] + find symbolDict [--hier] --user= + +DESCRIPTION + The `find symbolDict` command returns a list of class definitions present in + the specified symbol dictionary. + + The list of classes produced by this command is based upon the list of classes + present in the named symbol dictionary in the current user''s symbol list: + + GsCurrentSession currentSession symbolList. + + If the --user option is present, then the list of classes is based upon the + specified symbol dictionary in the specified user''s symbol list: + + (AllUsers + userWithId: userId) symbolList. + + If the --user option is present and no symbol dictionary is specified then, all of + the classes in the specified user''s symbol list are viewed. + + If the --hier option is present, the superclass list for each of the classes is + included the list. + +EXAMPLES + find symbolDict --user=SystemUser UserGlobals + find symbolDict --user=SystemUser +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findundeclaredManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findundeclaredManPage.st new file mode 100644 index 000000000..dda1a76c7 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findundeclaredManPage.st @@ -0,0 +1,20 @@ +manPages +findundeclaredManPage + | manPage | + manPage := TDManPage + commandName: 'undeclared' + fromString: + 'NAME + find undeclared - Find list of method definitions referencing undeclared symbols + +SYNOPSIS + find undeclared + +DESCRIPTION + The `find undeclared` command brings up a method definition window on the + methods that reference undeclared symbols. + +EXAMPLES + find undeclared +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findvariablesManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findvariablesManPage.st new file mode 100644 index 000000000..fd75d1f50 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findvariablesManPage.st @@ -0,0 +1,21 @@ +manPages +findvariablesManPage + | manPage | + manPage := TDManPage + commandName: 'variables' + fromString: + 'NAME + find variables - Find references to instance, class instance and class variables + +SYNOPSIS + find variables --class= ... + +DESCRIPTION + The `find variables` command returns a list of method definitions that reference + the specified variable (instance variable, class instance variable or class + variable) in the specified class. + +EXAMPLES + find variables --class=TDShellTool listLimit +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/findversionsManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/findversionsManPage.st new file mode 100644 index 000000000..bdb91e540 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/findversionsManPage.st @@ -0,0 +1,20 @@ +manPages +findversionsManPage + | manPage | + manPage := TDManPage + commandName: 'versions' + fromString: + 'NAME + find versions - Find versions of a method + +SYNOPSIS + find versions + +DESCRIPTION + The `find versions` command brings up a method definition window on + the different versions of the method that have been recorded in the image. + +EXAMPLES + find versions `Dictionary class>>new:` +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/installOn..st b/repository/Topez-Server-Core.package/TDShellTool.class/class/installOn..st index 714880d1d..67b23435f 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/installOn..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/installOn..st @@ -100,18 +100,30 @@ installOn: aTDTopezServer registerEditorClass: TDMethodDefinitionsElementBuilder for: Collection aspect: #'methodDefinitionList'; + registerEditorClass: TDClientButtonBarElementBuilder + for: Array + aspect: #'buttonBar'; registerEditorClass: TDConfigurationAndPackageDefinitionsElementBuilder for: TDDefinitionList aspect: #'definitionList'; registerEditorClass: TDClassHierarchyListElementBuilder for: TDClassDefinition aspect: #'hierarchyList'; + registerEditorClass: TDClassicClassHierarchyListElementBuilder + for: TDClassDefinition + aspect: #'classicHierarchyList'; + registerEditorClass: TDClassicClassSelectorListElementBuilder + for: TDProtocolDefinition + aspect: #'classicProtocolSelectors'; registerEditorClass: TDClassSelectorListElementBuilder for: TDClassDefinition aspect: #'classSelectors'; registerEditorClass: TDClassSelectorListElementBuilder for: TDClassDefinition aspect: #'instanceSelectors'; + registerEditorClass: TDClassicClassProtocolListElementBuilder + for: TDClassDefinition + aspect: #'classicProtocolList'; registerEditorClass: TDClassProtocolListElementBuilder for: TDClassDefinition aspect: #'protocolList'; @@ -164,6 +176,9 @@ installOn: aTDTopezServer registerEditorClass: TDClientCodeElementBuilder for: TDObjectGatewayNode aspect: #'edit'; + registerEditorClass: TDClientCodeElementBuilder + for: TDRawGatewayNode + aspect: #'edit'; registerEditorClass: TDClientTextElementBuilder for: TDTxtLeafNode aspect: #'edit'; diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/limitManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/limitManPage.st index e4794fc00..26c0ca8bb 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/limitManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/limitManPage.st @@ -7,9 +7,43 @@ SYNOPSIS limit [command-options] DESCRIPTION + limit autoCommit [true|false] + limit autoMigrate [true|false] limit chars [] limit format [true|false] limit list [] limit oops [true|false] limit protocol [true|false] + limit transactionMode [manualBegin|autoBegin] + +EXAMPLES + limit autoCommit + limit autoCommit true + limit autoCommit false + + limit autoMigrate + limit autoMigrate true + limit autoMigrate false + + limit chars + limit chars 140 + + limit format + limit format true + limit format false + + limit list + limit list 140 + + limit oops + limit oops true + limit oops false + + limit protocol + limit protocol true + limit protocol false + + limit transactionMode + limit transactionMode manualBegin + limit transactionMode autoBegin ' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/mount.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/mount.st index 11a74c659..f6be2d8cf 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/mount.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/mount.st @@ -7,6 +7,7 @@ mount objIn: objIn commandOptions: {#('help' $h #'none'). + #('stoneRoot' nil #'none'). #('todeRoot' nil #'none'). #('asLeafNode' nil #'none')} todeCommand: command ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/mountManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/mountManPage.st index ddf5e2af6..8c9af087c 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/mountManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/mountManPage.st @@ -5,14 +5,15 @@ mountManPage SYNOPSIS mount [-h|--help] - mount [--asLeafNode] [] - mount [--asLeafNode] --todeRoot [] + mount [--asLeafNode] [] + mount [--asLeafNode] @ [] + mount [--asLeafNode] [--todeRoot | --stoneRoot] [] DESCRIPTION The `mount` command makes it possible to create a link between the server file system and the tODE object structure. - Once a file system directory has been mounted, you can navigate the file system + Once a file system directory or file has been mounted, you can navigate the file system as if it were part of the tODE object structure. Files with a `.ston` extension are expected to contain object references @@ -35,15 +36,28 @@ OPTIONS --asLeafNode will terminate visiting at the gateway node and the gateway node itself will be searched for references. + --stoneRoot + The is interpreted as a directory path relative to + `/sys/stones/stones/`, where is defined by the + `serverTodeRoot` field of the current sessionDescription (instance of TDSessionDescription). + Use `/` to indicate an empty relative path, i.e., mount directly. + --todeRoot - The is interpreted as a path relative to `todeRoot` which - is specified by the `serverTodeRoot` field of the class TDSessionDescription. + The is interpreted as a path relative to `todeRoot` which + is specified by the `serverTodeRoot` field of the current sessionDescription (instance + of TDSessionDescription). TDTopezServer>>serverTodeRoot: may be used to dynamically change + `serverTodeRoot` for the duration of the session. Use `/` to indicate an empty relative path, + i.e., mount directly. EXAMPLES mount -h mount /opt/git/todeHome/home / mount /opt/git/todeHome/home / todeHome + mount /opt/git/todeHome/home.ston / todeHome + + mount --todeRoot / / home + mount --stoneRoot / /sys stone - mount --todeRoot home / + mount @/sys/stone/dirs/GsApplicationTools/tode /home gemServer ' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/touchManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/touchManPage.st index 5c73bc618..e407ffc99 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/class/touchManPage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/touchManPage.st @@ -17,13 +17,13 @@ DESCRIPTION '. (((TDLeafNode allSubclasses , TDGatewayNode allSubclasses select: [ :cl | cl theMetaClass selectors includes: #'typeSignature' ]) - collect: [ :cl | cl typeSignature -> cl ]) asArray + collect: [ :cl | cl typeSignature -> cl name asString ]) asArray sort: [ :a :b | a key <= b key ]) do: [ :assoc | page nextPutAll: ' '; nextPutAll: '`' , assoc key , '` '; nextPutAll: ' to produce a '; - nextPutAll: assoc value name asString; + nextPutAll: assoc value; cr ]. ^ page contents \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/windows.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/windows.st new file mode 100644 index 000000000..28555d6a4 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/windows.st @@ -0,0 +1,11 @@ +commands +windows + "self install" + + + ^ [ :topez :objIn :tokens :command | + self + performSubCommand: topez + objIn: objIn + commandOptions: {#('help' $h #'none')} + todeCommand: command ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/windowsManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/windowsManPage.st new file mode 100644 index 000000000..1df3cc3e4 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/windowsManPage.st @@ -0,0 +1,32 @@ +manPages +windowsManPage + | manPage | + manPage := TDManPage + commandName: 'windows' + fromString: + 'NAME + windows - + +SYNOPSIS + windows [] + +DESCRIPTION + + Commands: + restore - Restore windows that were open when previous session ended + + Use `windows --help ` to read about a specific subcommand. + +OPTIONS + +EXAMPLES + windows --help + windows --help restore + + windows restore + windows restore --age=`1 hour` +'. + manPage subCommands + at: 'restore' put: self windowsrestoreManPage; + yourself. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/class/windowsrestoreManPage.st b/repository/Topez-Server-Core.package/TDShellTool.class/class/windowsrestoreManPage.st new file mode 100644 index 000000000..326433778 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/class/windowsrestoreManPage.st @@ -0,0 +1,25 @@ +manPages +windowsrestoreManPage + | manPage | + manPage := TDManPage + commandName: 'restore' + fromString: + 'NAME + windows restore - Restore windows that were open when previous session ended + +SYNOPSIS + windows restore [--age=] + +DESCRIPTION + +OPTIONS + --age= + Only clent element YOUNGER than are restored + +EXAMPLES + windows --help restore + + windows restore + windows restore --age=`1 hour` +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/begin.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/begin.st new file mode 100644 index 000000000..66595ffc2 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/begin.st @@ -0,0 +1,7 @@ +commands +begin + " + begin [--help] +" + + ^ System beginTransaction \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseClassHierarchy.label..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseClassHierarchy.label..st index f199727c1..c6d440970 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseClassHierarchy.label..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseClassHierarchy.label..st @@ -1,8 +1,17 @@ browse browseClassHierarchy: aClass label: windowLabel - ^ aClass asTDClassDefinition - editUsing: - ((TDEditorSpec topez: topez editorAspect: #'hierarchyList') - windowName: #'hierarchy'; - windowLabel: windowLabel; - yourself) \ No newline at end of file + true + ifTrue: [ + ^ aClass asTDClassDefinition + editUsing: + ((TDEditorSpec topez: topez editorAspect: #'classicHierarchyList') + windowName: #'hierarchy'; + windowLabel: windowLabel; + yourself) ] + ifFalse: [ + ^ aClass asTDClassDefinition + editUsing: + ((TDEditorSpec topez: topez editorAspect: #'hierarchyList') + windowName: #'hierarchy'; + windowLabel: windowLabel; + yourself) ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseConfigurations..2.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseConfigurations..2.st index 00aac5fc3..88e803d86 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseConfigurations..2.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseConfigurations..2.st @@ -2,6 +2,6 @@ browse browseConfigurations TDConfigurationList reset. ^ self - browseDefinitionListBlock: [ TDConfigurationList current ] + browseDefinitionListBlock: [ self findconfigurations ] selectedIndex: 0 label: 'Configurations' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsePackages..2.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsePackages..2.st index 19ef13bd3..dbdcbdf23 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsePackages..2.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsePackages..2.st @@ -2,6 +2,6 @@ browse browsePackages TDPackageList reset. ^ self - browseDefinitionListBlock: [ TDPackageList current ] + browseDefinitionListBlock: [ self findPackages ] selectedIndex: 0 label: 'Packages' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsecategory.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsecategory.st index 87b2690d5..dd66c0236 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsecategory.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsecategory.st @@ -13,8 +13,5 @@ browsecategory pattern := ''. subArguments do: [ :arg | pattern := pattern , ' ' , arg ]. label := 'Classes in category' , pattern. - block := [ - | list | - list := self findcategory: subArguments options: options. - list := self filterBrowseList: list ]. + block := [ self findcategory: subArguments options: subOptions ]. ^ self browseClassesBlock: block label: label \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseclass.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseclass.st index d1b407c76..342d3e74b 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseclass.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseclass.st @@ -25,20 +25,5 @@ browseclass pattern := ''. subArguments do: [ :arg | pattern := pattern , ' ' , arg ]. label := 'Classes matching' , pattern. - block := [ - | list | - list := Set new. - subArguments - do: [ :clsNamePattern | - subOptions - at: 'exact' - ifPresent: [ :ignored | list addAll: (self findClassExact: clsNamePattern) ] - ifAbsent: [ list addAll: (self findClass: clsNamePattern) ] ]. - subOptions - at: 'hier' - ifPresent: [ :ignored | - | classNames | - classNames := list collect: [ :cls | cls className asString ]. - list := self findClassHierarchy: classNames ]. - list := self filterBrowseList: list ]. + block := [ self findClass ]. ^ self browseClassesBlock: block label: label \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browselist.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browselist.st index 3604a2072..ff8ad49da 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browselist.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browselist.st @@ -12,5 +12,5 @@ browselist | list | list := Set new. subArguments do: [ :arg | list addAll: (topez lookup: arg) dotSelfObject ]. - list := self filterBrowseList: list ]. + list := list := self filterSelectList: list ]. ^ self browseMethodsBlock: block label: label \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsemethod.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsemethod.st index 4940060cc..a884521e7 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsemethod.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsemethod.st @@ -14,21 +14,5 @@ browsemethod #('spec' nil #'none')}. label := 'Implementors of'. subArguments do: [ :arg | label := label , ' ' , arg ]. - subOptions - at: 'spec' - ifPresent: [ :ignored | - block := [ - | list | - list := Set new. - subArguments do: [ :arg | list addAll: (self findMethodSpec: arg) ]. - self filterBrowseList: list ]. - ^ self browseMethodsBlock: block label: label ]. - block := [ - | list | - list := Set new. - subOptions - at: 'regex' - ifPresent: [ :ignored | subArguments do: [ :arg | list addAll: (self findRegexMethod: arg) ] ] - ifAbsent: [ subArguments do: [ :arg | list addAll: (self findMethod: arg) ] ]. - list := self filterBrowseList: list ]. + block := [ self findMethod ]. ^ self browseMethodsBlock: block label: label \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsepackage.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsepackage.st index 9836db769..c22adf724 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsepackage.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsepackage.st @@ -9,14 +9,5 @@ browsepackage self getSubcommandOptsMixedLongShort: {#('exact' nil #'none')}. pattern := ''. subArguments do: [ :arg | pattern := pattern , ' ' , arg ]. - block := [ - | list | - list := Set new. - subArguments - do: [ :arg | - subOptions - at: 'exact' - ifPresent: [ :ignored | list addAll: (self findPackageDefinitionsExact: arg) ] - ifAbsent: [ list addAll: (self findPackageDefinitions: arg) ] ]. - list := self filterBrowseList: list ]. + block := [ self findPackage ]. ^ self browseClassesBlock: block label: 'Classes in package' , pattern \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseproject.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseproject.st index 4a282a1d2..753c32784 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseproject.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseproject.st @@ -9,14 +9,5 @@ browseproject self getSubcommandOptsMixedLongShort: {#('exact' nil #'none')}. pattern := ''. subArguments do: [ :arg | pattern := pattern , ' ' , arg ]. - block := [ - | list | - list := Set new. - subArguments - do: [ :arg | - subOptions - at: 'exact' - ifPresent: [ :ignored | list addAll: (self findProjectClassDefinitionsExact: arg) ] - ifAbsent: [ list addAll: (self findProjectClassDefinitions: arg) ] ]. - list := self filterBrowseList: list ]. + block := [ self findProject ]. ^ self browseClassesBlock: block label: 'Defs in project' , pattern \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsereferences.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsereferences.st index 21ef1515d..6c465632d 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsereferences.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsereferences.st @@ -16,24 +16,7 @@ browsereferences ifAbsent: [ path := nil ]. label := 'References to'. subArguments do: [ :arg | label := label , ' ' , arg ]. - block := [ - | list | - list := Set new. - subOptions - at: 'class' - ifPresent: [ :className | cls := self resolveClassReference: className ]. - subArguments - do: [ :arg | - subOptions - at: 'literal' - ifPresent: [ :literalType | - | literal | - literal := arg evaluate. - list - addAll: - (self findReferencesToLiteral: literal inClass: cls pattern: arg) ] - ifAbsent: [ list addAll: (self findReferences: arg inClass: cls searchScriptRoot: path) ] ]. - list := self filterBrowseList: list ]. + block := [ self findReferences ]. path ifNil: [ ^ self browseMethodsBlock: block label: label ] ifNotNil: [ ^ self browseLeafNodes: block pattern: '' label: label ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsesender.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsesender.st index c8df44a62..17544d0a8 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsesender.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsesender.st @@ -17,20 +17,7 @@ browsesender ifAbsent: [ path := nil ]. label := 'Senders of'. subArguments do: [ :arg | label := label , ' ' , arg ]. - block := [ - | list | - list := Set new. - subArguments - do: [ :arg | - subOptions - at: 'pure' - ifPresent: [ :ignored | list addAll: (self findPureSender: arg searchScriptRoot: path) ] - ifAbsent: [ - subOptions - at: 'regex' - ifPresent: [ :ignored | list addAll: (self findRegexSender: arg searchScriptRoot: path) ] - ifAbsent: [ list addAll: (self findSender: arg searchScriptRoot: path) ] ] ]. - list := self filterBrowseList: list ]. + block := [ self findSender ]. path ifNil: [ ^ self browseMethodsBlock: block label: label ] ifNotNil: [ ^ self browseLeafNodes: block pattern: '' label: label ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsesource.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsesource.st index 758f2f003..178f042bd 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsesource.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsesource.st @@ -1,31 +1,23 @@ browse browsesource " - browse source - browse source --exact + browse source [--case] ... + browse source --exact [--noCase] ... " | block path label | self getSubcommandOptsMixedLongShort: {#('exact' nil #'none'). - #('filter' nil #'required')}. + #('case' nil #'none'). + #('noCase' nil #'none')}. options at: 'scriptPath' ifPresent: [ :scriptPath | path := scriptPath ] ifAbsent: [ path := nil ]. label := 'Source matches'. subArguments do: [ :arg | label := label , ' ' , arg ]. - block := [ - | list | - list := Set new. - subArguments - do: [ :arg | - subOptions - at: 'exact' - ifPresent: [ :ignored | list addAll: (self findSourceExact: arg searchScriptRoot: path) ] - ifAbsent: [ list addAll: (self findSource: arg searchScriptRoot: path) ] ]. - list := self filterBrowseList: list ]. + block := [ self findSource ]. path ifNil: [ ^ self browseMethodsBlock: block label: label ] ifNotNil: [ ^ self browseLeafNodes: block pattern: '' label: label ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsesymbolDict.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsesymbolDict.st index 8efa7d10d..307747b29 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsesymbolDict.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsesymbolDict.st @@ -35,24 +35,5 @@ browsesymbolDict subArguments isEmpty ifTrue: [ label := 'Classes for user ' , username ]. subArguments do: [ :arg | pattern := pattern , ' ' , arg ]. - block := [ - | list | - list := Set new. - subArguments isEmpty - ifTrue: [ - symbolList - do: [ :dict | - dict - associationsDo: [ :assoc | - assoc value isBehavior - ifTrue: [ list add: assoc value asTDClassDefinition ] ] ] ]. - subArguments - do: [ :arg | list addAll: (self findClassDefsInSymbolDictionary: arg username: username) ]. - subOptions - at: 'hier' - ifPresent: [ :ignored | - | classNames | - classNames := list collect: [ :cls | cls className asString ]. - list := self findClassHierarchy: classNames ]. - list := self filterBrowseList: list ]. + block := [ self findSymbolDict ]. ^ self browseClassesBlock: block label: label , pattern \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseundeclared.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseundeclared.st index 652bae6d0..f520bfeea 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseundeclared.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseundeclared.st @@ -6,8 +6,5 @@ browseundeclared | block | self getSubcommandOptsMixedLongShort: {}. - block := [ - | list | - list := self undefinedSymbolMethodDefinitions. - list := self filterBrowseList: list ]. + block := [ self filterSelectList: self undefinedSymbolMethodDefinitions ]. ^ self browseMethodsBlock: block label: 'Undeclared symbol references' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsevariables.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsevariables.st index 5203d7586..73ec26cb7 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsevariables.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browsevariables.st @@ -8,13 +8,5 @@ browsevariables self getSubcommandOptsMixedLongShort: {#('class' nil #'required')}. label := 'Variable references to:'. subArguments do: [ :arg | label := label , ' ' , arg ]. - block := [ - | list | - list := Set new. - subOptions - at: 'class' - ifPresent: [ :className | cls := self resolveClassReference: className ]. - subArguments - do: [ :arg | list addAll: (self findReferences: arg asSymbol inClass: cls) ]. - list := self filterBrowseList: list ]. + block := [ self findVariables ]. ^ self browseMethodsBlock: block label: label \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseversions.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseversions.st index fe946f5fa..31e1b9438 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseversions.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/browseversions.st @@ -7,7 +7,5 @@ browseversions | block methodSpec | self getSubcommandOptsMixedLongShort: {}. methodSpec := subArguments at: 1. - block := [ - | list | - list := self findVersions: methodSpec ]. + block := [ self findVersions ]. ^ self browseMethodsBlock: block label: 'Versions of ' , methodSpec \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/clsBrowseClassHistoryFor..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clsBrowseClassHistoryFor..st new file mode 100644 index 000000000..fef8338df --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clsBrowseClassHistoryFor..st @@ -0,0 +1,10 @@ +cls +clsBrowseClassHistoryFor: theClass + | classDefs | + classDefs := self clshistory: theClass. + classDefs + editUsing: + ((TDEditorSpec topez: topez editorAspect: #'definitionList') + windowLabel: 'Class History for ' , theClass name asString; + yourself). + ^ classDefs \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/clsClassesWithClassHistory.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clsClassesWithClassHistory.st new file mode 100644 index 000000000..115b5b1f8 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clsClassesWithClassHistory.st @@ -0,0 +1,12 @@ +cls +clsClassesWithClassHistory + | classes symbolList | + symbolList := System myUserProfile symbolList. + classes := IdentitySet new. + symbolList + do: [ :symbolDict | + symbolDict + do: [ :eachGlobal | + (eachGlobal isClass and: [ eachGlobal classHistory size > 1 ]) + ifTrue: [ classes addAll: eachGlobal classHistory ] ] ]. + ^ classes \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/clsRemoveClassFromClassHistory..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clsRemoveClassFromClassHistory..st new file mode 100644 index 000000000..1caae5a67 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clsRemoveClassFromClassHistory..st @@ -0,0 +1,32 @@ +cls +clsRemoveClassFromClassHistory: theClass + | history | + history := theClass classHistory. + history current == theClass + ifTrue: [ + | refs ar | + "removing the current version - replace current version in symbol list with new current version" + refs := self findReferences: theClass name. + (ar := System myUserProfile dictionaryAndSymbolOf: theClass) + ifNil: [ + self + error: + 'The class' , theClass name + , + ' is not reachable from your symbol list, so the removal has been aborted.' ]. + (theClass respondsTo: #'removeFromClassHistory') + ifTrue: [ theClass perform: #'removeFromClassHistory' ] + ifFalse: [ history removeVersion: theClass ]. + (ar at: 1) removeKey: (ar at: 2). + history currentVersion + ifNotNil: [ :newVersion | (ar at: 1) at: (ar at: 2) put: newVersion ]. + ClassOrganizer clearCachedOrganizer. + self topez resetAllGlobalNames. + refs isEmpty + ifFalse: [ self browseMethodsBlock: [ refs ] label: 'References to class ' , theClass name ] ] + ifFalse: [ + "removing an old version ... just remove from class history" + (theClass respondsTo: #'removeFromClassHistory') + ifTrue: [ theClass perform: #'removeFromClassHistory' ] + ifFalse: [ history removeVersion: theClass ] ]. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/clscreate.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clscreate.st new file mode 100644 index 000000000..9abc9752a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clscreate.st @@ -0,0 +1,15 @@ +cls +clscreate + " + cls create +" + + | superClass superClsName newName category | + self getSubcommandOptsMixedLongShort: {}. + newName := subArguments at: 1. + superClsName := subArguments at: 2. + superClass := Smalltalk classNamed: superClsName. + superClass + ifNil: [ self error: 'Class named ' , superClsName printString , ' not found.' ]. + category := subArguments at: 3. + ^ self clscreate: newName subclassOf: superClass category: category \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/clscreate.subclassOf.category..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clscreate.subclassOf.category..st new file mode 100644 index 000000000..d2f4310ab --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clscreate.subclassOf.category..st @@ -0,0 +1,12 @@ +cls +clscreate: newName subclassOf: superClass category: category + | newClass | + (Smalltalk hasClassNamed: newName) + ifTrue: [ ^ self error: newName , ' already exists' ]. + newClass := superClass + subclass: newName + instanceVariableNames: '' + classVariableNames: '' + poolDictionaries: '' + category: category. + ^ newClass \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/clshistory..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clshistory..st index 0e820dc2a..a880c752f 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/clshistory..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clshistory..st @@ -1,12 +1,14 @@ cls clshistory: theClass - | count | - count := 0. - ^ theClass classHistory reversed - collect: [ :cls | - | clsName | - clsName := count == 0 - ifTrue: [ cls name asString ] - ifFalse: [ cls name asString , ' [' , count printString , ']' ]. - count := count + 1. - TDClassHistoryDefinition theClass: cls className: clsName ] \ No newline at end of file + | classes defs | + theClass + ifNotNil: [ classes := {theClass} ] + ifNil: [ classes := self clsClassesWithClassHistory ]. + defs := OrderedCollection new. + classes + do: [ :cls | + defs + addAll: + (cls classHistory + withIndexCollect: [ :cls :index | TDClassHistoryDefinition className: cls name classHistoryIndex: index ]) ]. + ^ defs \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/clshistory.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clshistory.st index 232c11d3c..c84ee9c80 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/clshistory.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clshistory.st @@ -1,17 +1,34 @@ cls clshistory " - cls history ( | @ ) + cls history [--hier] [( | @ )...] " - | clsRef theClass classDefs | - self getSubcommandOptsMixedLongShort: {}. - clsRef := subArguments at: 1. - theClass := self resolveClassReference: clsRef. - classDefs := self clshistory: theClass. - classDefs - editUsing: - ((TDEditorSpec topez: topez editorAspect: #'definitionList') - windowLabel: 'Class History for ' , theClass name asString; - yourself). - ^ classDefs \ No newline at end of file + | block label | + self getSubcommandOptsMixedLongShort: {#('hier' nil #'none')}. + subOptions + at: 'hier' + ifPresent: [ :ignored | label := 'Class History Hierarchy for' ] + ifAbsent: [ label := 'Class History for' ]. + subArguments isEmpty + ifTrue: [ label := label , ' all classes' ] + ifFalse: [ subArguments do: [ :arg | label := label , ' ' , arg ] ]. + block := [ + | classes classDefs | + subArguments isEmpty + ifTrue: [ classes := self clsClassesWithClassHistory ] + ifFalse: [ + | theClass | + classes := IdentitySet new. + subArguments + do: [ :clsRef | + theClass := self resolveClassReference: clsRef. + classes addAll: theClass classHistory ] ]. + classes copy + do: [ :cl | + subOptions + at: 'hier' + ifPresent: [ :ignored | classes addAll: (TDClassDefinition fullHierarchyOf: cl) ] ]. + classDefs := classes collect: [ :each | each asTDClassDefinition ]. + TDClassDefinition classHierarchyOrder: classDefs ]. + ^ self browseClassesBlock: block label: label \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/clsremove..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clsremove..st index 7c35b2e7f..faa2f8b4c 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/clsremove..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/clsremove..st @@ -2,7 +2,14 @@ cls clsremove: theClass | refs | refs := self findReferences: theClass name. - theClass removeFromSystem. + theClass removeFromSystem + ifFalse: [ + "class not removed from system ... likely to be subclasses" + self + error: + 'The class ' , theClass name + , + ' was not removed from the system ... most likely there are subclasses of the class or the class was not found in your symbol list.' ]. self topez resetAllGlobalNames. refs isEmpty ifFalse: [ self browseMethodsBlock: [ refs ] label: 'References to class ' , theClass name ]. diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/cp.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/cp.st index bf8b67508..42bff5a70 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/cp.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/cp.st @@ -1,5 +1,3 @@ commands cp - | destinationPath | - destinationPath := tokens at: 3. - ^ (topez lookup: (tokens at: 2)) cp: destinationPath in: (topez baseNodeFor: destinationPath) \ No newline at end of file + ^ self cp: (tokens at: 2) to: (tokens at: 3) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/cp.to..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/cp.to..st new file mode 100644 index 000000000..f8e6fa74e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/cp.to..st @@ -0,0 +1,5 @@ +commands +cp: srcNodePath to: dstNodePath + ^ (topez lookup: srcNodePath) + cp: dstNodePath + in: (topez baseNodeFor: dstNodePath) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/filterBrowseList..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/filterSelectList..st similarity index 89% rename from repository/Topez-Server-Core.package/TDShellTool.class/instance/filterBrowseList..st rename to repository/Topez-Server-Core.package/TDShellTool.class/instance/filterSelectList..st index 1d8fbbcfe..65b81d00a 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/filterBrowseList..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/filterSelectList..st @@ -1,5 +1,5 @@ browse -filterBrowseList: list +filterSelectList: list options at: 'select' ifPresent: [ :filterSpec | diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findCategoryClassDefinitions..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findCategoryClassDefinitions..st index d53e3cf89..735728653 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findCategoryClassDefinitions..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findCategoryClassDefinitions..st @@ -1,4 +1,4 @@ -as yet unclassified +find findCategoryClassDefinitions: regexPattern "find category " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findCategoryClassDefinitionsExact..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findCategoryClassDefinitionsExact..st index 3d5089385..458db832e 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findCategoryClassDefinitionsExact..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findCategoryClassDefinitionsExact..st @@ -1,4 +1,4 @@ -as yet unclassified +find findCategoryClassDefinitionsExact: categoryName | defs | defs := OrderedCollection new. diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findCategoryDefinitions.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findCategoryDefinitions.st index 0132d93a7..14eaa86c3 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findCategoryDefinitions.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findCategoryDefinitions.st @@ -1,4 +1,4 @@ -as yet unclassified +find findCategoryDefinitions "find categories" diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClass..2.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClass..2.st new file mode 100644 index 000000000..4a339f1dc --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClass..2.st @@ -0,0 +1,21 @@ +find +findClass + " + browse|find class [--exact] [--hier] ... +" + + | list | + list := Set new. + subArguments + do: [ :clsNamePattern | + subOptions + at: 'exact' + ifPresent: [ :ignored | list addAll: (self findClassExact: clsNamePattern) ] + ifAbsent: [ list addAll: (self findClass: clsNamePattern) ] ]. + subOptions + at: 'hier' + ifPresent: [ :ignored | + | classNames | + classNames := list collect: [ :cls | cls className asString ]. + list := self findClassHierarchy: classNames ]. + ^ self filterSelectList: list \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClass..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClass..st index eb143ef0b..c96aefd8d 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClass..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClass..st @@ -1,4 +1,4 @@ -as yet unclassified +find findClass: regexPattern "find class " @@ -7,4 +7,4 @@ findClass: regexPattern regex ifNil: [ ^ #() ]. ^ (Smalltalk systemNavigation allClasses asArray select: [ :cls | regex search: cls name asString ]) - collect: [ :cls | TDClassDefinition className: cls theNonMetaClass name ] \ No newline at end of file + collect: [ :cls | cls asTDClassDefinition ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClassDefsInSymbolDictionary.username..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClassDefsInSymbolDictionary.username..st index 4f1e0322f..971fa90d5 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClassDefsInSymbolDictionary.username..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClassDefsInSymbolDictionary.username..st @@ -1,4 +1,4 @@ -as yet unclassified +find findClassDefsInSymbolDictionary: symbolDictionaryName username: username ^ (TDSymbolDictionaryDefinition new symbolDictionaryName: symbolDictionaryName; diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClassExact..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClassExact..st index c540ffccb..beb66f33c 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClassExact..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClassExact..st @@ -1,5 +1,5 @@ -as yet unclassified +find findClassExact: className (Smalltalk classNamed: className) ifNil: [ ^ #() ] - ifNotNil: [ :cls | ^ {(TDClassDefinition className: cls theNonMetaClass name)} ] \ No newline at end of file + ifNotNil: [ :cls | ^ {(cls asTDClassDefinition)} ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClassHierarchy..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClassHierarchy..st index 6d72206c0..260edafbb 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClassHierarchy..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findClassHierarchy..st @@ -1,4 +1,4 @@ -as yet unclassified +find findClassHierarchy: classNameList "find hierarchy " @@ -9,5 +9,5 @@ findClassHierarchy: classNameList | cls | cls := Smalltalk at: className. classes addAll: (TDClassDefinition fullHierarchyOf: cls) ]. - defs := classes collect: [ :each | TDClassDefinition className: each name ]. + defs := classes collect: [ :each | each asTDClassDefinition ]. ^ TDClassDefinition classHierarchyOrder: defs \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findmethod.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethod..2.st similarity index 63% rename from repository/Topez-Server-Core.package/TDShellTool.class/instance/findmethod.st rename to repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethod..2.st index 3077c3380..3a8324def 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findmethod.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethod..2.st @@ -1,16 +1,12 @@ find -findmethod +findMethod " - find method - find method --spec - find method --regex + browse|find method + browse|find method --spec + browse|find method --regex " | list | - self - getSubcommandOptsMixedLongShort: - {#('regex' $r #'none'). - #('spec' nil #'none')}. list := Set new. subArguments do: [ :arg | @@ -22,4 +18,4 @@ findmethod at: 'regex' ifPresent: [ :ignored | list addAll: (self findRegexMethod: arg) ] ifAbsent: [ list addAll: (self findMethod: arg) ] ] ]. - ^ list \ No newline at end of file + ^ self filterSelectList: list \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethod..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethod..st index 8998620b3..0fe6bf2f9 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethod..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethod..st @@ -1,4 +1,4 @@ -as yet unclassified +find findMethod: selectorToken "find method [#]" diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethodNamesMatching..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethodNamesMatching..st new file mode 100644 index 000000000..5512b9520 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethodNamesMatching..st @@ -0,0 +1,10 @@ +find +findMethodNamesMatching: aString + | organizer matches methodNames | + organizer := ClassOrganizer cachedOrganizer. + matches := Set new. + ((AllUsers userWithId: 'SymbolUser') resolveSymbol: #'AllSymbols') value + keysDo: [ :symbol | + (symbol isValidSelector and: [ symbol includesString: aString ]) + ifTrue: [ matches add: (NameMatch new name: symbol matching: aString) ] ]. + ^ matches \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethodSpec..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethodSpec..st index fa267f41e..0c91a4bd9 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethodSpec..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethodSpec..st @@ -1,4 +1,4 @@ -as yet unclassified +find findMethodSpec: methodSpec | specArray selector | specArray := self parseMethodSpec: methodSpec trimBoth. diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethodSpec.labelBlock..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethodSpec.labelBlock..st index 8d6007434..08de742cf 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethodSpec.labelBlock..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethodSpec.labelBlock..st @@ -1,4 +1,4 @@ -as yet unclassified +find findMethodSpec: findTokens labelBlock: labelBlock "find amethod " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethods..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethods..st index de2301e4e..d853e8515 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethods..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findMethods..st @@ -1,4 +1,4 @@ -as yet unclassified +find findMethods: findTokens "find methods " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackage..2.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackage..2.st new file mode 100644 index 000000000..a80beccb6 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackage..2.st @@ -0,0 +1,16 @@ +find +findPackage + " + browse|find package + browse|find package --exact +" + + | list | + list := Set new. + subArguments + do: [ :arg | + subOptions + at: 'exact' + ifPresent: [ :ignored | list addAll: (self findPackageDefinitionsExact: arg) ] + ifAbsent: [ list addAll: (self findPackageDefinitions: arg) ] ]. + ^ self filterSelectList: list \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackageDefinitions..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackageDefinitions..st index 7cb301c77..4addc7cc5 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackageDefinitions..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackageDefinitions..st @@ -1,4 +1,4 @@ -as yet unclassified +find findPackageDefinitions: regexPattern | regex defs | regex := self findRegex: regexPattern. diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackageDefinitionsExact..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackageDefinitionsExact..st index aab6abe8f..ef93dc035 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackageDefinitionsExact..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackageDefinitionsExact..st @@ -1,4 +1,4 @@ -as yet unclassified +find findPackageDefinitionsExact: packageName "find package " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackages..2.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackages..2.st new file mode 100644 index 000000000..99d671c54 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPackages..2.st @@ -0,0 +1,9 @@ +find +findPackages + " + browse|find packages +" + + ^ TDPackageList current + definitionList; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProcessCommandOptions.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProcessCommandOptions.st index 5f1d52439..0762dac79 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProcessCommandOptions.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProcessCommandOptions.st @@ -1,4 +1,4 @@ -as yet unclassified +find findProcessCommandOptions "used by browse and find commands" diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProject..2.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProject..2.st new file mode 100644 index 000000000..368f542c5 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProject..2.st @@ -0,0 +1,16 @@ +find +findProject + " + browse|find project + browse|find project --exact +" + + | list | + list := Set new. + subArguments + do: [ :arg | + subOptions + at: 'exact' + ifPresent: [ :ignored | list addAll: (self findProjectClassDefinitionsExact: arg) ] + ifAbsent: [ list addAll: (self findProjectClassDefinitions: arg) ] ]. + ^ self filterSelectList: list \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectClassDefinitions..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectClassDefinitions..st index 840a3dda1..94e27ce36 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectClassDefinitions..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectClassDefinitions..st @@ -1,4 +1,4 @@ -as yet unclassified +find findProjectClassDefinitions: regexPattern | defs | defs := Set new. diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectClassDefinitionsExact..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectClassDefinitionsExact..st index fc4fc8bac..38cc9daeb 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectClassDefinitionsExact..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectClassDefinitionsExact..st @@ -1,4 +1,4 @@ -as yet unclassified +find findProjectClassDefinitionsExact: projectName "find project " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectDefinitions..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectDefinitions..st index 9491ae470..8093037e6 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectDefinitions..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectDefinitions..st @@ -1,4 +1,4 @@ -as yet unclassified +find findProjectDefinitions: regexPattern | regex | regex := self findRegex: regexPattern. diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectDefinitionsExact..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectDefinitionsExact..st index 86425b1de..24ac9f81c 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectDefinitionsExact..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectDefinitionsExact..st @@ -1,4 +1,4 @@ -as yet unclassified +find findProjectDefinitionsExact: projectName "find project " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectRegistrationDefinitions..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectRegistrationDefinitions..st index 8c6cdbd40..3767c5b52 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectRegistrationDefinitions..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectRegistrationDefinitions..st @@ -1,4 +1,4 @@ -as yet unclassified +find findProjectRegistrationDefinitions: regexPattern | regex | regex := self findRegex: regexPattern. diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectRegistrationExact..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectRegistrationExact..st index 559e75b73..7693fb834 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectRegistrationExact..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findProjectRegistrationExact..st @@ -1,4 +1,4 @@ -as yet unclassified +find findProjectRegistrationExact: projectName | projectSpec | projectSpec := MetacelloProjectRegistration registry projectSpecs diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPureSender..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPureSender..st index ec28763c4..afe74f0a7 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPureSender..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPureSender..st @@ -1,4 +1,4 @@ -as yet unclassified +find findPureSender: selectorToken "find [--scriptPath=] psender [#]" diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPureSender.searchScriptRoot..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPureSender.searchScriptRoot..st index 3347237a3..527b165cc 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPureSender.searchScriptRoot..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findPureSender.searchScriptRoot..st @@ -1,4 +1,4 @@ -as yet unclassified +find findPureSender: selectorToken searchScriptRoot: path "find [--scriptPath=] psender [#]" diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences..2.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences..2.st new file mode 100644 index 000000000..ba9bf3ceb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences..2.st @@ -0,0 +1,28 @@ +find +findReferences + " + browse|find references [--class=] ... + browse|find references [--class=] --literal ... +" + + | path list cls | + options + at: 'scriptPath' + ifPresent: [ :scriptPath | path := scriptPath ] + ifAbsent: [ path := nil ]. + list := Set new. + subOptions + at: 'class' + ifPresent: [ :className | cls := self resolveClassReference: className ]. + subArguments + do: [ :arg | + subOptions + at: 'literal' + ifPresent: [ :literalType | + | literal | + literal := arg evaluate. + list + addAll: + (self findReferencesToLiteral: literal inClass: cls pattern: arg) ] + ifAbsent: [ list addAll: (self findReferences: arg inClass: cls searchScriptRoot: path) ] ]. + ^ self filterSelectList: list \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences..st index e11961c8e..220fd1e0d 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences..st @@ -1,4 +1,4 @@ -as yet unclassified +find findReferences: variableOrGlobalNameOrPathRef "find [--scriptPath=] references " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences.inClass..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences.inClass..st index 595987c9e..c92d99eec 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences.inClass..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences.inClass..st @@ -1,4 +1,4 @@ -as yet unclassified +find findReferences: variableOrGlobalNameOrPathRef inClass: clsOrNil | methodRefs pattern | methodRefs := (variableOrGlobalNameOrPathRef beginsWith: '@') diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences.inClass.searchScriptRoot..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences.inClass.searchScriptRoot..st index fd13af761..63266bf08 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences.inClass.searchScriptRoot..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences.inClass.searchScriptRoot..st @@ -1,4 +1,4 @@ -as yet unclassified +find findReferences: variableOrGlobalNameOrPathRef inClass: cls searchScriptRoot: path "find [--scriptPath=] references " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences.searchScriptRoot..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences.searchScriptRoot..st index 76146a327..55f8367fb 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences.searchScriptRoot..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferences.searchScriptRoot..st @@ -1,4 +1,4 @@ -as yet unclassified +find findReferences: variableOrGlobalNameOrPathRef searchScriptRoot: path "find [--scriptPath=] references " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferencesToLiteral.inClass.pattern..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferencesToLiteral.inClass.pattern..st index 59a73b083..01430360b 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferencesToLiteral.inClass.pattern..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferencesToLiteral.inClass.pattern..st @@ -1,4 +1,4 @@ -as yet unclassified +find findReferencesToLiteral: literal inClass: cls pattern: pattern | methodRefs | methodRefs := TDMethodDefinition rawLiteralReference: literal in: cls. diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferencesToLiteral.pattern..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferencesToLiteral.pattern..st index 64faadc29..e41cd0499 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferencesToLiteral.pattern..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findReferencesToLiteral.pattern..st @@ -1,4 +1,4 @@ -as yet unclassified +find findReferencesToLiteral: literal pattern: pattern | methodRefs | methodRefs := TDMethodDefinition rawLiteralReference: literal in: nil. diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegex..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegex..st index ca933ea72..93d7394e0 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegex..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegex..st @@ -1,6 +1,3 @@ -as yet unclassified +find findRegex: regexExpression - | parser | - parser := RxParser safelyParse: regexExpression. - parser ifNil: [ ^ nil ]. - ^ RxParser preferredMatcherClass for: parser ignoreCase: true \ No newline at end of file + ^ self findRegex: regexExpression ignoreCase: true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegex.ignoreCase..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegex.ignoreCase..st new file mode 100644 index 000000000..a3b9ab493 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegex.ignoreCase..st @@ -0,0 +1,6 @@ +find +findRegex: regexExpression ignoreCase: ignoreCase + | parser | + parser := RxParser safelyParse: regexExpression. + parser ifNil: [ ^ nil ]. + ^ RxParser preferredMatcherClass for: parser ignoreCase: ignoreCase \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegexMethod..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegexMethod..st index c4542a17d..5d072b47f 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegexMethod..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegexMethod..st @@ -1,4 +1,4 @@ -as yet unclassified +find findRegexMethod: regexPattern "find rmethod " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegexSender..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegexSender..st index b7ee23b8f..86e60e174 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegexSender..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegexSender..st @@ -1,4 +1,4 @@ -as yet unclassified +find findRegexSender: regexPattern "find [--scriptPath=] rsender " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegexSender.searchScriptRoot..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegexSender.searchScriptRoot..st index 2f0e4e690..249177825 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegexSender.searchScriptRoot..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findRegexSender.searchScriptRoot..st @@ -1,4 +1,4 @@ -as yet unclassified +find findRegexSender: regexPattern searchScriptRoot: path "find [--scriptPath=] rsender " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSender..2.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSender..2.st new file mode 100644 index 000000000..bf1e9118a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSender..2.st @@ -0,0 +1,25 @@ +find +findSender + " + browse|find sender ... + browse|find sender [--pure] ... + browse|find sender [--regex|-r]] ... +" + + | path list | + options + at: 'scriptPath' + ifPresent: [ :scriptPath | path := scriptPath ] + ifAbsent: [ path := nil ]. + list := Set new. + subArguments + do: [ :arg | + subOptions + at: 'pure' + ifPresent: [ :ignored | list addAll: (self findPureSender: arg searchScriptRoot: path) ] + ifAbsent: [ + subOptions + at: 'regex' + ifPresent: [ :ignored | list addAll: (self findRegexSender: arg searchScriptRoot: path) ] + ifAbsent: [ list addAll: (self findSender: arg searchScriptRoot: path) ] ] ]. + ^ self filterSelectList: list \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSender..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSender..st index 9d11f42a4..b05037ebc 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSender..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSender..st @@ -1,4 +1,4 @@ -as yet unclassified +find findSender: selectorToken "find [--scriptPath=] sender [#]" diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSender.searchScriptRoot..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSender.searchScriptRoot..st index 10ba5072a..6fb8790a5 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSender.searchScriptRoot..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSender.searchScriptRoot..st @@ -1,4 +1,4 @@ -as yet unclassified +find findSender: selectorToken searchScriptRoot: path "find [--scriptPath=] sender [#]" diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource..2.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource..2.st new file mode 100644 index 000000000..1ef959403 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource..2.st @@ -0,0 +1,35 @@ +find +findSource + " + browse|find source [--case] ... + browse|find source --exact [--noCase] ... +" + + | path list | + options + at: 'scriptPath' + ifPresent: [ :scriptPath | path := scriptPath ] + ifAbsent: [ path := nil ]. + list := Set new. + subArguments + do: [ :arg | + | ignoreCase | + subOptions + at: 'exact' + ifPresent: [ :ignored | + subOptions + at: 'noCase' + ifPresent: [ :ignored | ignoreCase := true ] + ifAbsent: [ ignoreCase := false ]. + list + addAll: + (self findSourceExact: arg searchScriptRoot: path ignoreCase: ignoreCase) ] + ifAbsent: [ + subOptions + at: 'case' + ifPresent: [ :ignored | ignoreCase := false ] + ifAbsent: [ ignoreCase := true ]. + list + addAll: + (self findSource: arg searchScriptRoot: path ignoreCase: ignoreCase) ] ]. + ^ self filterSelectList: list \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource..st index a4d5faf43..d451395c9 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource..st @@ -1,13 +1,3 @@ -as yet unclassified +find findSource: regexPattern - "find [--scriptPath=] source " - - | regex methodRefs | - regex := self findRegex: regexPattern. - regex ifNil: [ ^ #() ]. - methodRefs := Smalltalk systemNavigation - allMethodsNoDoitsSelect: [ :m | regex search: m sourceString ]. - ^ self - methodDefinitionsFor: methodRefs asArray - messagePattern: regexPattern - isRegex: true \ No newline at end of file + ^ self findSource: regexPattern ignoreCase: true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource.ignoreCase..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource.ignoreCase..st new file mode 100644 index 000000000..ac1ae6efd --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource.ignoreCase..st @@ -0,0 +1,11 @@ +find +findSource: regexPattern ignoreCase: ignoreCase + | regex methodRefs | + regex := self findRegex: regexPattern ignoreCase: ignoreCase. + regex ifNil: [ ^ #() ]. + methodRefs := Smalltalk systemNavigation + allMethodsNoDoitsSelect: [ :m | regex search: m sourceString ]. + ^ self + methodDefinitionsFor: methodRefs asArray + messagePattern: regexPattern + isRegex: true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource.searchScriptRoot..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource.searchScriptRoot..st index b09bb7ecd..b0d2aaecf 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource.searchScriptRoot..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource.searchScriptRoot..st @@ -1,17 +1,3 @@ -as yet unclassified +find findSource: regexPattern searchScriptRoot: path - "find [--scriptPath=] source " - - | regex rootSearchNode leafNodes | - path ifNil: [ ^ self findSource: regexPattern ]. - regex := self findRegex: regexPattern. - regex ifNil: [ ^ #() ]. - rootSearchNode := self topez lookup: path. - leafNodes := IdentitySet new. - TDLeafNodeSourceVisitor - topez: self topez - visitNode: rootSearchNode - andDo: [ :leafNode | - (regex search: leafNode elementSource) - ifTrue: [ leafNodes add: leafNode ] ]. - ^ leafNodes asArray sort: [ :a :b | a printString < b printString ] \ No newline at end of file + ^ self findSource: regexPattern searchScriptRoot: path ignoreCase: true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource.searchScriptRoot.ignoreCase..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource.searchScriptRoot.ignoreCase..st new file mode 100644 index 000000000..c55ed6b5f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSource.searchScriptRoot.ignoreCase..st @@ -0,0 +1,15 @@ +find +findSource: regexPattern searchScriptRoot: path ignoreCase: ignoreCase + | regex rootSearchNode leafNodes | + path ifNil: [ ^ self findSource: regexPattern ignoreCase: ignoreCase ]. + regex := self findRegex: regexPattern ignoreCase: ignoreCase. + regex ifNil: [ ^ #() ]. + rootSearchNode := self topez lookup: path. + leafNodes := IdentitySet new. + TDLeafNodeSourceVisitor + topez: self topez + visitNode: rootSearchNode + andDo: [ :leafNode | + (regex search: leafNode elementSource) + ifTrue: [ leafNodes add: leafNode ] ]. + ^ leafNodes asArray sort: [ :a :b | a printString < b printString ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact..st index 583028147..1f26437b7 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact..st @@ -1,11 +1,3 @@ -as yet unclassified +find findSourceExact: sourceString - "find [--scriptPath=] source " - - | methodRefs | - methodRefs := Smalltalk systemNavigation - allMethodsNoDoitsSelect: [ :m | m sourceString includesSubString: sourceString ]. - ^ self - methodDefinitionsFor: methodRefs asArray - messagePattern: sourceString - isRegex: false \ No newline at end of file + ^ self findSourceExact: sourceString ignoreCase: false \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact.ignoreCase..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact.ignoreCase..st new file mode 100644 index 000000000..784b981d7 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact.ignoreCase..st @@ -0,0 +1,13 @@ +find +findSourceExact: searchString ignoreCase: ignoreCase + | methodRefs | + methodRefs := Smalltalk systemNavigation + allMethodsNoDoitsSelect: [ :m | + (m sourceString + findString: searchString + startingAt: 1 + caseSensitive: ignoreCase not) > 0 ]. + ^ self + methodDefinitionsFor: methodRefs asArray + messagePattern: searchString + isRegex: false \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact.searchScriptRoot..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact.searchScriptRoot..st index 5fdcc9244..b22ff1ff0 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact.searchScriptRoot..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact.searchScriptRoot..st @@ -1,15 +1,3 @@ -as yet unclassified +find findSourceExact: searchString searchScriptRoot: path - "find [--scriptPath=] source " - - | rootSearchNode leafNodes | - path ifNil: [ ^ self findSourceExact: searchString ]. - rootSearchNode := self topez lookup: path. - leafNodes := IdentitySet new. - TDLeafNodeSourceVisitor - topez: self topez - visitNode: rootSearchNode - andDo: [ :leafNode | - (leafNode elementSource includesSubString: searchString) - ifTrue: [ leafNodes add: leafNode ] ]. - ^ leafNodes asArray sort: [ :a :b | a printString < b printString ] \ No newline at end of file + ^ self findSourceExact: searchString searchScriptRoot: path ignoreCase: false \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact.searchScriptRoot.ignoreCase..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact.searchScriptRoot.ignoreCase..st new file mode 100644 index 000000000..52effeb2f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSourceExact.searchScriptRoot.ignoreCase..st @@ -0,0 +1,16 @@ +find +findSourceExact: searchString searchScriptRoot: path ignoreCase: ignoreCase + | rootSearchNode leafNodes | + path ifNil: [ ^ self findSourceExact: searchString ]. + rootSearchNode := self topez lookup: path. + leafNodes := IdentitySet new. + TDLeafNodeSourceVisitor + topez: self topez + visitNode: rootSearchNode + andDo: [ :leafNode | + (leafNode elementSource + findString: searchString + startingAt: 1 + caseSensitive: ignoreCase not) > 0 + ifTrue: [ leafNodes add: leafNode ] ]. + ^ leafNodes asArray sort: [ :a :b | a printString < b printString ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSymbolDict..2.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSymbolDict..2.st new file mode 100644 index 000000000..62e131aae --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSymbolDict..2.st @@ -0,0 +1,36 @@ +browse +findSymbolDict + " + browse|find symbolDict [--hier] [--user=] + browse|find symbolDict [--hier] --user= +" + + | username symbolList list | + subOptions + at: 'user' + ifPresent: [ :user | + username := user. + symbolList := (AllUsers userWithId: username) symbolList ] + ifAbsent: [ + | session | + session := GsCurrentSession currentSession. + username := session userProfile userId. + symbolList := session symbolList ]. + list := Set new. + subArguments isEmpty + ifTrue: [ + symbolList + do: [ :dict | + dict + associationsDo: [ :assoc | + assoc value isBehavior + ifTrue: [ list add: assoc value asTDClassDefinition ] ] ] ]. + subArguments + do: [ :arg | list addAll: (self findClassDefsInSymbolDictionary: arg username: username) ]. + subOptions + at: 'hier' + ifPresent: [ :ignored | + | classNames | + classNames := list collect: [ :cls | cls className asString ]. + list := self findClassHierarchy: classNames ]. + ^ self filterSelectList: list \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSymbolDictionary.username..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSymbolDictionary.username..st index 5e6d80f4a..c57aaa203 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSymbolDictionary.username..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findSymbolDictionary.username..st @@ -1,4 +1,4 @@ -as yet unclassified +find findSymbolDictionary: symbolDictionaryName username: username "find symbolDictionary " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVariables..2.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVariables..2.st new file mode 100644 index 000000000..ed096095a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVariables..2.st @@ -0,0 +1,14 @@ +find +findVariables + " + browse|find variables --class= ... +" + + | cls list | + list := Set new. + subOptions + at: 'class' + ifPresent: [ :className | cls := self resolveClassReference: className ]. + subArguments + do: [ :arg | list addAll: (self findReferences: arg asSymbol inClass: cls) ]. + ^ self filterSelectList: list \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVersions..2.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVersions..2.st new file mode 100644 index 000000000..f04a49092 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVersions..2.st @@ -0,0 +1,10 @@ +find +findVersions + " + browse|find versions +" + + | list methodSpec | + methodSpec := subArguments at: 1. + list := self findVersions: methodSpec. + ^ self filterSelectList: list \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVersions..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVersions..st index 168e8e8f2..80ce0f0b2 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVersions..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVersions..st @@ -1,4 +1,4 @@ -as yet unclassified +find findVersions: methodSpec | method | method := self methodFromMethodSpec: methodSpec. diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVersions.labelBlock..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVersions.labelBlock..st index a5adf4fb1..9a7a2399c 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVersions.labelBlock..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findVersions.labelBlock..st @@ -1,4 +1,4 @@ -as yet unclassified +find findVersions: methodSpecTokens labelBlock: labelBlock "find versions " diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findcategory.options..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findcategory.options..st index cc5d1dbde..0a6ceadbf 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findcategory.options..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findcategory.options..st @@ -14,4 +14,4 @@ findcategory: args options: opts | classNames | classNames := list collect: [ :cls | cls className asString ]. list := self findClassHierarchy: classNames ]. - ^ list \ No newline at end of file + ^ self filterSelectList: list \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findcategory.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findcategory.st index 5cc3aec2b..7aa4efd78 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findcategory.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findcategory.st @@ -9,4 +9,4 @@ findcategory getSubcommandOptsMixedLongShort: {#('exact' nil #'none'). #('hier' nil #'none')}. - ^ self findcategory: subArguments options: options \ No newline at end of file + ^ self findcategory: subArguments options: subOptions \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findclass..1.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findclass..1.st new file mode 100644 index 000000000..ffcfb0842 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findclass..1.st @@ -0,0 +1,11 @@ +find +findclass + " + find class [--exact] [--hier] ... +" + + self + getSubcommandOptsMixedLongShort: + {#('exact' nil #'none'). + #('hier' nil #'none')}. + ^ self findClass \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findconfigurations.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findconfigurations.st new file mode 100644 index 000000000..b4358fcbf --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findconfigurations.st @@ -0,0 +1,10 @@ +find +findconfigurations + " + find configurations +" + + TDConfigurationList reset. + ^ TDConfigurationList current + definitionList; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findmethod..1.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findmethod..1.st new file mode 100644 index 000000000..c2d4a4352 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findmethod..1.st @@ -0,0 +1,13 @@ +find +findmethod + " + find method + find method --spec + find method --regex +" + + self + getSubcommandOptsMixedLongShort: + {#('regex' $r #'none'). + #('spec' nil #'none')}. + ^ self findMethod \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findpackage..1.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findpackage..1.st new file mode 100644 index 000000000..40d650a1c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findpackage..1.st @@ -0,0 +1,9 @@ +find +findpackage + " + find package + find package --exact +" + + self getSubcommandOptsMixedLongShort: {#('exact' nil #'none')}. + ^ self findPackage \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findpackages..1.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findpackages..1.st new file mode 100644 index 000000000..39d0df4c0 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findpackages..1.st @@ -0,0 +1,9 @@ +find +findpackages + " + find packages +" + + self getSubcommandOptsMixedLongShort: {}. + TDPackageList reset. + ^ self findPackages \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findproject..1.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findproject..1.st new file mode 100644 index 000000000..b2f4e6b37 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findproject..1.st @@ -0,0 +1,10 @@ +find +findproject + " + find project + find project --exact +" + + | list | + self getSubcommandOptsMixedLongShort: {#('exact' nil #'none')}. + ^ self findProject \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findreferences..1.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findreferences..1.st new file mode 100644 index 000000000..db464eeda --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findreferences..1.st @@ -0,0 +1,12 @@ +find +findreferences + " + find references [--class=] ... + find references [--class=] --literal ... +" + + self + getSubcommandOptsMixedLongShort: + {#('class' nil #'required'). + #('literal' nil #'none')}. + ^ self findReferences \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsender..1.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsender..1.st new file mode 100644 index 000000000..70401bb27 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsender..1.st @@ -0,0 +1,14 @@ +find +findsender + " + find sender ... + find sender [--pure] ... + find sender [--regex|-r]] ... +" + + | path list | + self + getSubcommandOptsMixedLongShort: + {#('regex' $r #'none'). + #('pure' nil #'none')}. + ^ self findSender \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsender.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsender.st deleted file mode 100644 index 616585e43..000000000 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsender.st +++ /dev/null @@ -1,22 +0,0 @@ -find -findsender - "find [--scriptPath=] sender [--pure|[--regex|-r]] " - - | selector path | - self - getSubcommandOptsMixedLongShort: - {#('regex' $r #'none'). - #('pure' nil #'none')}. - selector := subArguments at: 1. - options - at: 'scriptPath' - ifPresent: [ :scriptPath | path := scriptPath ] - ifAbsent: [ path := nil ]. - subOptions - at: 'pure' - ifPresent: [ :ignored | ^ self findPureSender: selector searchScriptRoot: path ] - ifAbsent: [ - subOptions - at: 'regex' - ifPresent: [ :ignored | ^ self findRegexSender: selector searchScriptRoot: path ] - ifAbsent: [ ^ self findSender: selector searchScriptRoot: path ] ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsource..1.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsource..1.st new file mode 100644 index 000000000..304361d41 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsource..1.st @@ -0,0 +1,14 @@ +find +findsource + " + find source [--case] ... + find source --exact [--noCase] ... +" + + | path list | + self + getSubcommandOptsMixedLongShort: + {#('exact' nil #'none'). + #('case' nil #'none'). + #('noCase' nil #'none')}. + ^ self findSource \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsource.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsource.st deleted file mode 100644 index d15b54e43..000000000 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsource.st +++ /dev/null @@ -1,15 +0,0 @@ -find -findsource - "find [--scriptPath=] source [--exact] " - - | selector path | - self getSubcommandOptsMixedLongShort: {#('exact' nil #'none')}. - selector := subArguments at: 1. - options - at: 'scriptPath' - ifPresent: [ :scriptPath | path := scriptPath ] - ifAbsent: [ path := nil ]. - subOptions - at: 'exact' - ifPresent: [ :ignored | ^ self findSourceExact: selector searchScriptRoot: path ] - ifAbsent: [ ^ self findSource: selector searchScriptRoot: path ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsymbolDict..1.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsymbolDict..1.st new file mode 100644 index 000000000..c6ae1810d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findsymbolDict..1.st @@ -0,0 +1,12 @@ +browse +findsymbolDict + " + find symbolDict [--hier] [--user=] + find symbolDict [--hier] --user= +" + + self + getSubcommandOptsMixedLongShort: + {#('hier' nil #'none'). + #('user' nil #'required')}. + ^ self findSymbolDict \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findundeclared.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findundeclared.st new file mode 100644 index 000000000..e59fcbe3a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findundeclared.st @@ -0,0 +1,8 @@ +find +findundeclared + " + find undeclared +" + + self getSubcommandOptsMixedLongShort: {}. + ^ self filterSelectList: self undefinedSymbolMethodDefinitions \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findvariables..1.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findvariables..1.st new file mode 100644 index 000000000..1899a033a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findvariables..1.st @@ -0,0 +1,8 @@ +find +findvariables + " + find variables --class= ... +" + + self getSubcommandOptsMixedLongShort: {#('class' nil #'required')}. + ^ self findVariables \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/findversions..1.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findversions..1.st new file mode 100644 index 000000000..bffddaa07 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/findversions..1.st @@ -0,0 +1,8 @@ +find +findversions + " + find versions +" + + self getSubcommandOptsMixedLongShort: {}. + ^ self findVersions \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/inspectSymbolDictList..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/inspectSymbolDictList..st index acf520b69..8e49142fc 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/inspectSymbolDictList..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/inspectSymbolDictList..st @@ -7,5 +7,5 @@ inspectSymbolDictList: symbolList | list | subArguments size > 0 ifTrue: [ ^ TodeCommandError signal: 'No arguments allowed when using --list option' ]. - list := self filterBrowseList: symbolList. + list := self filterSelectList: symbolList. ^ list asArray inspect \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/inspectSymbolListGlobals..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/inspectSymbolListGlobals..st index be6dc8914..989941621 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/inspectSymbolListGlobals..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/inspectSymbolListGlobals..st @@ -16,6 +16,6 @@ inspectSymbolListGlobals: symbolList do: [ :assoc | (assoc value isBehavior not and: [ assoc value ~~ symDict ]) ifTrue: [ list add: assoc ] ] ]. - list := self filterBrowseList: list. + list := self filterSelectList: list. list := list asArray sorted: [ :a :b | a key <= b key ]. ^ list inspect \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/limit.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/limit.st index b2835903f..c1b54c00e 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/limit.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/limit.st @@ -1,16 +1,29 @@ as yet unclassified limit " + limit autoCommit [true|false] + limit autoMigrate [true|false] limit chars [] limit format [true|false] limit list [] - limit oops [] + limit oops [true|false] limit protocol [true|false] + limit transactionMode [manualBegin|autoBegin] " | cmd cmdTokens | cmd := tokens at: 1. cmdTokens := tokens copyFrom: 2 to: tokens size. + (cmdTokens at: 1) = 'autoCommit' + ifTrue: [ + ^ cmdTokens size = 1 + ifTrue: [ self limitAutoCommit ] + ifFalse: [ self limitAutoCommit: (cmdTokens at: 2) = 'true' ] ]. + (cmdTokens at: 1) = 'autoMigrate' + ifTrue: [ + ^ cmdTokens size = 1 + ifTrue: [ self limitAutoMigrate ] + ifFalse: [ self limitAutoMigrate: (cmdTokens at: 2) = 'true' ] ]. (cmdTokens at: 1) = 'chars' ifTrue: [ ^ self limitChars: cmdTokens ]. (cmdTokens at: 1) = 'format' @@ -21,4 +34,6 @@ limit ifTrue: [ ^ self limitOops: cmdTokens ]. (cmdTokens at: 1) = 'protocol' ifTrue: [ ^ self limitProtocol: cmdTokens ]. + (cmdTokens at: 1) = 'transactionMode' + ifTrue: [ ^ self limitTransactionMode: cmdTokens ]. self error: 'Unknown limit item: ' , (cmdTokens at: 1) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitAutoCommit..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitAutoCommit..st new file mode 100644 index 000000000..c489b08a4 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitAutoCommit..st @@ -0,0 +1,4 @@ +as yet unclassified +limitAutoCommit: aBool + self topez autoCommit: aBool. + ^ aBool \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitAutoCommit.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitAutoCommit.st new file mode 100644 index 000000000..494d140d3 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitAutoCommit.st @@ -0,0 +1,3 @@ +as yet unclassified +limitAutoCommit + ^ self topez autoCommit \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitAutoMigrate..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitAutoMigrate..st new file mode 100644 index 000000000..9a7f08152 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitAutoMigrate..st @@ -0,0 +1,4 @@ +as yet unclassified +limitAutoMigrate: aBool + MCPlatformSupport autoMigrate aBool. + ^ aBool \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitAutoMigrate.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitAutoMigrate.st new file mode 100644 index 000000000..4319abbe9 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitAutoMigrate.st @@ -0,0 +1,3 @@ +as yet unclassified +limitAutoMigrate + ^ MCPlatformSupport autoMigrate \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitTransactionMode..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitTransactionMode..st new file mode 100644 index 000000000..62bc2c336 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/limitTransactionMode..st @@ -0,0 +1,16 @@ +as yet unclassified +limitTransactionMode: cmdTokens + "limit transactionMode [manualBegin|autoBegin]" + + | mode | + cmdTokens size = 1 + ifTrue: [ ^ System transactionMode asString ]. + mode := cmdTokens at: 2. + (mode = 'autoBegin' or: [ mode = 'manualBegin' ]) + ifTrue: [ + System transactionMode: mode asSymbol. + ^ mode ]. + self + error: + 'Unrecognized transaction mode ' , mode printString + , '. Should be ''autoBegin'' or ''manualBegin''' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/man.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/man.st index e7b93914f..6b28ac11d 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/man.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/man.st @@ -9,18 +9,7 @@ man " | command commandNode page | - options - at: 'all' - ifPresent: [ :ignored | - | manPages browser | - browser := TDManPageBrowser new - topez: topez; - windowLabel: 'All man pages'; - windowName: #'manPageAll'; - manPagesBlock: [ self topez commands values collect: [ :cmd | cmd manPage ] ]; - yourself. - browser open. - ^ browser manPages ]. + options at: 'all' ifPresent: [ :ignored | ^ self manAll ]. options at: 'class' ifPresent: [ :ignored | diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/manAll.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/manAll.st new file mode 100644 index 000000000..f49ca18cb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/manAll.st @@ -0,0 +1,11 @@ +commands +manAll + | manPages browser | + browser := TDManPageBrowser new + topez: topez; + windowLabel: 'All man pages'; + windowName: #'manPageAll'; + manPagesBlock: [ self topez commands values collect: [ :cmd | cmd manPage ] ]; + yourself. + browser open. + ^ browser manPages \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/mount.at.as.visitAsLeafNode..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/mount.at.as.visitAsLeafNode..st index 1dc54d541..c112396bd 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/mount.at.as.visitAsLeafNode..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/mount.at.as.visitAsLeafNode..st @@ -1,14 +1,26 @@ mount -mount: directoryPath at: objectPath as: nodeName visitAsLeafNode: visitAsLeafNode - | gatewayNode root | - gatewayNode := TDObjectGatewayNode new - name: nodeName; - contents: 'ServerFileDirectory on: ' , directoryPath printString; - visitAsLeafNode: visitAsLeafNode; - yourself. - self topez ensureChildrenExistIn: objectPath. - root := self topez lookup: objectPath. - root addChildNode: gatewayNode. - gatewayNode printString = self topez homeNode printString - ifTrue: [ self topez homeNodeReset ]. - ^ gatewayNode \ No newline at end of file +mount: directoryOrFilePath at: objectPath as: nodeName visitAsLeafNode: visitAsLeafNode + | parentDir localPath fileOrDirName entry | + ServerFileDirectory + splitName: directoryOrFilePath + to: [ :dirPath :localName | + parentDir := ServerFileDirectory on: dirPath. + fileOrDirName := localName ]. + entry := fileOrDirName = '' + ifTrue: [ parentDir directoryEntry ] + ifFalse: [ parentDir directoryEntryFor: fileOrDirName ]. + entry + ifNil: [ ^ self error: 'File or directory not found: ' , directoryOrFilePath printString ]. + ^ entry isDirectory + ifTrue: [ + self + mountDirectory: directoryOrFilePath + at: objectPath + as: nodeName + visitAsLeafNode: visitAsLeafNode ] + ifFalse: [ + self + mountFile: directoryOrFilePath + at: objectPath + as: nodeName + visitAsLeafNode: visitAsLeafNode ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/mount.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/mount.st index 1471daaf0..da624c204 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/mount.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/mount.st @@ -2,22 +2,36 @@ mount mount " mount [-h|--help] - mount [--asLeafNode] [] - mount [--asLeafNode] --todeRoot [] + mount [--asLeafNode] [] + mount [--asLeafNode] @ [] + mount [--asLeafNode] [--todeRoot | --stoneRoot] [] " - | directoryPath asLeafNode | - directoryPath := self arguments at: 1. + | directoryOrFilePath asLeafNode | + directoryOrFilePath := self arguments at: 1. + directoryOrFilePath = '/' + ifTrue: [ directoryOrFilePath := '' ]. + (directoryOrFilePath beginsWith: '@') + ifTrue: [ + | dir | + dir := self resolveAtPathReference: directoryOrFilePath. + directoryOrFilePath := dir pathName ]. options at: 'todeRoot' - ifPresent: [ :ignored | directoryPath := self topez serverTodeRoot , '/' , directoryPath ]. + ifPresent: [ :ignored | directoryOrFilePath := self topez serverTodeRoot , '/' , directoryOrFilePath ] + ifAbsent: [ + options + at: 'stoneRoot' + ifPresent: [ :ignored | + directoryOrFilePath := self topez serverTodeStoneRoot , '/' + , directoryOrFilePath ] ]. options at: 'asLeafNode' ifAbsent: [ asLeafNode := false ] ifPresent: [ :ignored | asLeafNode := true ]. ^ self - mount: directoryPath + mount: directoryOrFilePath at: (self arguments at: 2) as: - (self arguments at: 3 ifAbsent: [ (directoryPath findTokens: '/') last ]) + (self arguments at: 3 ifAbsent: [ (directoryOrFilePath findTokens: '/') last ]) visitAsLeafNode: asLeafNode \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/mountDirectory.at.as.visitAsLeafNode..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/mountDirectory.at.as.visitAsLeafNode..st new file mode 100644 index 000000000..64150ee90 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/mountDirectory.at.as.visitAsLeafNode..st @@ -0,0 +1,14 @@ +mount +mountDirectory: directoryPath at: objectPath as: nodeName visitAsLeafNode: visitAsLeafNode + | gatewayNode root | + gatewayNode := TDObjectGatewayNode new + name: nodeName; + contents: 'ServerFileDirectory on: ' , directoryPath printString; + visitAsLeafNode: visitAsLeafNode; + yourself. + self topez ensureChildrenExistIn: objectPath. + root := self topez lookup: objectPath. + root addChildNode: gatewayNode. + gatewayNode printString = self topez homeNode printString + ifTrue: [ self topez homeNodeReset ]. + ^ gatewayNode \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/mountFile.at.as.visitAsLeafNode..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/mountFile.at.as.visitAsLeafNode..st new file mode 100644 index 000000000..129b46685 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/mountFile.at.as.visitAsLeafNode..st @@ -0,0 +1,24 @@ +mount +mountFile: filePath at: objectPath as: nodeName visitAsLeafNode: visitAsLeafNode + | gatewayNode root | + gatewayNode := TDObjectGatewayNode new + name: nodeName; + contents: + '| filename parentDir | + filename := ServerFileDirectory localNameFor: ' + , filePath printString + , + '. + parentDir := ServerFileDirectory forFileName: ' + , filePath printString + , + '. + parentDir directoryEntryFor: filename'; + visitAsLeafNode: visitAsLeafNode; + yourself. + self topez ensureChildrenExistIn: objectPath. + root := self topez lookup: objectPath. + root addChildNode: gatewayNode. + gatewayNode printString = self topez homeNode printString + ifTrue: [ self topez homeNodeReset ]. + ^ gatewayNode \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/portsentButNotImplemented.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/portsentButNotImplemented.st index cfd5abff4..c7ef7e42a 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/portsentButNotImplemented.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/portsentButNotImplemented.st @@ -2,8 +2,7 @@ as yet unclassified portsentButNotImplemented "port sentButNotImplemented" - | sbni sentNotImplemented | + | sbni sentNotImplementedMap | sbni := SentButNotImplementedTest new. - (sentNotImplemented := sbni sentButNotImplemented) - removeAllPresent: sbni specialCases. - ^ sentNotImplemented \ No newline at end of file + sentNotImplementedMap := sbni sentButNotImplemented. + ^ sentNotImplementedMap \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/protocol.remove..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/protocol.remove..st index b7b0a22a2..383a23a74 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/protocol.remove..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/protocol.remove..st @@ -1,3 +1,4 @@ cls protocol: theBehavior remove: protoNames - ^ protoNames collect: [ :protoName | theBehavior removeCategory: protoName ] \ No newline at end of file + ^ (protoNames select: [ :protoName | theBehavior includesCategory: protoName ]) + collect: [ :protoName | theBehavior removeCategory: protoName ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/stonExportNode.to..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/stonExportNode.to..st index 479e9dd42..1bdf013de 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/stonExportNode.to..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/stonExportNode.to..st @@ -5,4 +5,4 @@ stonExportNode: node to: fileSystemPath fileName := ServerFileDirectory localNameFor: fileSystemPath. dir forceNewFileNamed: fileName - do: [ :fileStream | STON put: node onStream: fileStream ] \ No newline at end of file + do: [ :fileStream | fileStream nextPutAll: (self objectSerializer toString: node) ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/stonImportFrom.to..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/stonImportFrom.to..st index a61c5cbca..044d55033 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/stonImportFrom.to..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/stonImportFrom.to..st @@ -5,6 +5,6 @@ stonImportFrom: fileSystemPath to: parentNode fileName := ServerFileDirectory localNameFor: fileSystemPath. dir readOnlyFileNamed: fileName - do: [ :fileStream | node := STON fromStream: fileStream ]. + do: [ :fileStream | node := self objectSerializer fromString: fileStream contents ]. parentNode addChildNode: node. ^ node \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/symbolListForNode..st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/symbolListForNode..st index a05bd8d74..3474e71e0 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/symbolListForNode..st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/symbolListForNode..st @@ -5,5 +5,5 @@ symbolListForNode: aNode tempSymbolDictionary := SymbolDictionary new. tempSymbolList add: tempSymbolDictionary. aNode - childrenAndNamesDo: [ :child :childName | tempSymbolDictionary at: child name asString asSymbol put: child dotSelfObject ]. + childrenDo: [ :child | tempSymbolDictionary at: child name asString asSymbol put: child dotSelfObject ]. ^ tempSymbolList \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/touch.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/touch.st index 65cc89948..f977b1c33 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/instance/touch.st +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/touch.st @@ -1,9 +1,7 @@ as yet unclassified touch - | leafClass destinationPath | - leafClass := TDNode concreteClassForTypeSignature: (tokens at: 2). + | leafClass destinationPath signature | + signature := tokens at: 2. destinationPath := tokens at: 3. - ^ topez currentNode - touch: destinationPath - nodeClass: leafClass - in: (topez baseNodeFor: destinationPath) \ No newline at end of file + leafClass := TDNode concreteClassForTypeSignature: signature. + ^ leafClass touch: signature destinationPath: destinationPath topez: topez \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/instance/windowsrestore.st b/repository/Topez-Server-Core.package/TDShellTool.class/instance/windowsrestore.st new file mode 100644 index 000000000..01327cf6c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDShellTool.class/instance/windowsrestore.st @@ -0,0 +1,33 @@ +windows +windowsrestore + " + windows restore [--age=] +" + + | sortedClientElements age | + self getSubcommandOptsMixedLongShort: {#('age' nil #'required')}. + self topez persistentElementCache. "make sure that persistentElementCacheStack is primed" + sortedClientElements := (TDTopezServer persistentElementCacheStack at: 2) + sorted: [ :a :b | a timestamp < b timestamp ]. + sortedClientElements isEmpty not + ifTrue: [ + subOptions + at: 'age' + ifPresent: [ :durationExpression | + | last | + last := sortedClientElements last timestamp. + age := last - durationExpression evaluate. + sortedClientElements := sortedClientElements + select: [ :ce | ce timestamp > age ] ] ]. + sortedClientElements := sortedClientElements + collect: [ :ce | + | cpy | + cpy := ce copy. + cpy topez: self topez. + cpy ]. + sortedClientElements + do: [ :ce | + self topez + cacheClientElement: ce; + editElement: ce ]. + ^ sortedClientElements \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDShellTool.class/methodProperties.json b/repository/Topez-Server-Core.package/TDShellTool.class/methodProperties.json index b23ed1307..697c82166 100644 --- a/repository/Topez-Server-Core.package/TDShellTool.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDShellTool.class/methodProperties.json @@ -1,12 +1,14 @@ { "class" : { "abort" : "dkh 04/26/2014 11:53", - "abortManPage" : "dkh 04/28/2014 16:00", + "abortManPage" : "dkh 02/04/2015 12:41", + "begin" : "dkh 12/27/2014 07:56", + "beginManPage" : "dkh 12/27/2014 07:56", "browse" : "dkh 04/19/2014 11:30", "browseManPage" : "dkh 05/06/2014 07:56", "browsecategoriesManPage" : "dkh 04/29/2014 07:50", "browsecategoryManPage" : "dkh 04/20/2014 11:53", - "browseclassManPage" : "dkh 04/20/2014 11:53", + "browseclassManPage" : "dkh 02/04/2015 14:25", "browseconfigurationsManPage" : "dkh 04/29/2014 08:00", "browsediffManPage" : "dkh 04/20/2014 11:53", "browselistManPage" : "dkh 04/20/2014 11:53", @@ -14,9 +16,9 @@ "browsepackageManPage" : "dkh 04/20/2014 11:54", "browsepackagesManPage" : "dkh 04/29/2014 07:55", "browseprojectManPage" : "dkh 04/20/2014 11:54", - "browsereferencesManPage" : "dkh 04/20/2014 11:54", + "browsereferencesManPage" : "dkh 08/07/2015 16:43", "browsesenderManPage" : "dkh 05/04/2014 15:03", - "browsesourceManPage" : "dkh 04/20/2014 11:54", + "browsesourceManPage" : "dkh 02/06/2015 13:31", "browsesymbolDictManPage" : "dkh 04/20/2014 11:54", "browseundeclaredManPage" : "dkh 04/20/2014 11:55", "browsevariablesManPage" : "dkh 04/20/2014 11:55", @@ -28,24 +30,25 @@ "characterLimit" : "dkh 03/18/2013 09:47", "characterLimit:" : "DataCurator 01/16/2013 15:13", "cls" : "dkh 04/26/2014 12:08", - "clsManPage" : "dkh 04/28/2014 15:39", + "clsManPage" : "dkh 03/29/2015 16:25", "clsaccessorsManPage" : "dkh 04/27/2014 08:26", "clscategoryManPage" : "dkh 04/28/2014 12:22", "clscommentManPage" : "dkh 04/27/2014 08:26", "clscopyManPage" : "dkh 04/27/2014 08:34", + "clscreateManPage" : "dkh 03/29/2015 16:25", "clsdefinitionManPage" : "dkh 04/27/2014 11:13", - "clshistoryManPage" : "dkh 04/27/2014 21:13", - "clsprotocolManPage" : "dkh 04/28/2014 12:14", + "clshistoryManPage" : "dkh 09/10/2015 12:20", + "clsprotocolManPage" : "dkh 03/26/2015 10:27", "clsremoveManPage" : "dkh 04/28/2014 15:38", "clsrenameManPage" : "dkh 04/28/2014 12:21", "commit" : "dkh 04/28/2014 15:57", - "commitManPage" : "dkh 04/28/2014 16:00", + "commitManPage" : "dkh 02/04/2015 12:35", "cp" : "dkh 04/30/2014 19:35", "cpManPage" : "dkh 04/30/2014 19:46", "displayOops" : "DataCurator 01/16/2013 09:33", "displayOops:" : "DataCurator 01/16/2013 09:34", "ds" : "dkh 05/04/2014 14:47", - "dsManPage" : "dkh 05/04/2014 14:37", + "dsManPage" : "dkh 09/01/2015 11:37", "edit" : "dkh 05/05/2014 08:22", "editInspect" : "dkh 05/16/2014 13:32", "editInspectManPage" : "dkh 05/16/2014 13:36", @@ -57,18 +60,30 @@ "enableProtocol:" : "dkh 09/22/2013 09:39", "eval" : "dkh 05/05/2014 08:11", "evalManPage" : "dkh 05/05/2014 08:15", - "find" : "dkh 05/06/2014 08:02", - "findManPage" : "dkh 05/06/2014 08:08", - "findManPageX" : "dkh 05/06/2014 07:51", - "findcategoryManPage" : "dkh 05/06/2014 08:10", + "find" : "dkh 08/10/2015 12:28", + "findManPage" : "dkh 08/10/2015 12:27", + "findcategoryManPage" : "dkh 08/07/2015 15:46", + "findclassManPage" : "dkh 08/07/2015 15:46", + "findconfigurationsManPage" : "dkh 08/07/2015 16:01", + "findmethodManPage" : "dkh 08/07/2015 15:47", + "findpackageManPage" : "dkh 08/07/2015 15:48", + "findpackagesManPage" : "dkh 08/07/2015 16:04", + "findprojectManPage" : "dkh 08/07/2015 16:36", + "findreferencesManPage" : "dkh 08/07/2015 16:44", + "findsenderManPage" : "dkh 08/07/2015 16:53", + "findsourceManPage" : "dkh 08/10/2015 10:13", + "findsymbolDictManPage" : "dkh 08/10/2015 12:12", + "findundeclaredManPage" : "dkh 08/10/2015 10:22", + "findvariablesManPage" : "dkh 08/10/2015 10:26", + "findversionsManPage" : "dkh 08/10/2015 10:29", "history" : "dkh 11/10/2013 10:32", "historyManPage" : "dkh 03/28/2013 19:56", "homeReadMe" : "dkh 12/21/2012 11:23", "installExampleOn:" : "dkh 04/20/2014 11:56", - "installOn:" : "dkh 07/29/2014 12:30", + "installOn:" : "dkh 08/26/2015 10:36", "installOptionsOn:" : "dkh 03/10/2013 09:30", "limit" : "dkh 11/10/2013 10:19", - "limitManPage" : "dkh 09/22/2013 09:41", + "limitManPage" : "dkh 07/20/2015 10:29", "listLimit" : "dkh 09/27/2013 18:05", "listLimit:" : "dkh 12/21/2012 11:23", "ls" : "dkh 11/10/2013 10:19", @@ -85,8 +100,8 @@ "methodversionsManPage" : "dkh 04/28/2014 20:07", "mkdir" : "dkh 11/10/2013 10:19", "mkdirManPage" : "dkh 04/04/2013 16:04", - "mount" : "dkh 05/28/2014 13:16", - "mountManPage" : "dkh 05/28/2014 11:37", + "mount" : "dkh 11/13/2014 14:53", + "mountManPage" : "dkh 12/19/2014 17:11", "mv" : "dkh 11/10/2013 10:20", "mvManPage" : "dkh 12/22/2013 15:19", "port" : "dkh 11/10/2013 10:32", @@ -110,63 +125,73 @@ "toolName" : "dkh 12/21/2012 11:26", "toolReadMe" : "dkh 12/21/2012 11:23", "touch" : "dkh 11/10/2013 10:21", - "touchManPage" : "dkh 05/17/2013 08:01", + "touchManPage" : "dkh 10/30/2014 14:22", + "windows" : "dkh 08/18/2015 14:09", + "windowsManPage" : "dkh 08/18/2015 15:12", + "windowsrestoreManPage" : "dkh 08/18/2015 15:13", "ws" : "dkh 04/27/2014 12:19", "wsManPage" : "dkh 05/05/2014 08:14" }, "instance" : { "abort" : "dkh 12/21/2012 11:23", + "begin" : "dkh 12/27/2014 07:55", "browseCategories" : "dkh 04/29/2014 07:39", - "browseClassHierarchy:label:" : "dkh 03/30/2014 15:15", + "browseClassHierarchy:label:" : "dkh 08/20/2015 15:35", "browseClasses:label:" : "dkh 03/29/2014 19:06", "browseClassesBlock:label:" : "dkh 05/16/2014 14:18", "browseClassesInCategory:" : "dkh 06/22/2014 09:43", "browseClassesInPackage:" : "dkh 06/22/2014 09:54", "browseClassesInProject:" : "dkh 06/22/2014 09:59", - "browseConfigurations" : "dkh 04/29/2014 07:40", + "browseConfigurations" : "dkh 08/10/2015 12:36", "browseDefinitionListBlock:selectedIndex:label:" : "dkh 04/29/2014 07:29", "browseDiff:" : "dkh 03/29/2014 19:31", "browseLeafNodes:pattern:label:" : "dkh 04/19/2014 09:48", "browseMethodsBlock:label:" : "dkh 04/26/2014 09:10", - "browsePackages" : "dkh 04/29/2014 07:39", + "browsePackages" : "dkh 08/10/2015 11:53", "browsecategories" : "dkh 04/29/2014 07:22", - "browsecategory" : "dkh 05/06/2014 08:14", - "browseclass" : "dkh 05/27/2014 11:26", + "browsecategory" : "dkh 08/10/2015 12:31", + "browseclass" : "dkh 08/10/2015 12:53", "browseconfigurations" : "dkh 04/29/2014 07:21", "browsediff" : "dkh 04/15/2014 20:13", - "browselist" : "dkh 04/19/2014 14:47", - "browsemethod" : "dkh 06/03/2014 14:24", - "browsepackage" : "dkh 06/22/2014 09:55", + "browselist" : "dkh 08/10/2015 12:32", + "browsemethod" : "dkh 08/10/2015 12:32", + "browsepackage" : "dkh 08/10/2015 12:32", "browsepackages" : "dkh 04/29/2014 07:22", - "browseproject" : "dkh 05/07/2014 11:09", - "browsereferences" : "dkh 04/19/2014 14:52", - "browsesender" : "dkh 04/19/2014 14:53", - "browsesource" : "dkh 04/19/2014 14:54", - "browsesymbolDict" : "dkh 04/20/2014 10:00", - "browseundeclared" : "dkh 04/19/2014 11:59", - "browsevariables" : "dkh 04/19/2014 14:57", - "browseversions" : "dkh 04/19/2014 12:01", + "browseproject" : "dkh 08/10/2015 12:38", + "browsereferences" : "dkh 08/10/2015 12:39", + "browsesender" : "dkh 08/10/2015 12:39", + "browsesource" : "dkh 08/10/2015 12:40", + "browsesymbolDict" : "dkh 08/10/2015 12:41", + "browseundeclared" : "dkh 08/10/2015 12:42", + "browsevariables" : "dkh 08/10/2015 12:42", + "browseversions" : "dkh 08/10/2015 12:44", "cat" : "dkh 06/05/2013 21:32", "cd" : "dkh 06/05/2013 10:44", + "clsBrowseClassHistoryFor:" : "dkh 09/10/2015 09:42", + "clsClassesWithClassHistory" : "dkh 09/10/2015 17:12", + "clsRemoveClassFromClassHistory:" : "dkh 09/12/2015 12:13", "clsaccessors" : "dkh 04/27/2014 08:50", "clsaccessors:" : "dkh 04/27/2014 07:11", "clsaccessors:setters:getters:argName:protocol:force:" : "dkh 04/27/2014 09:14", "clscategory" : "dkh 04/28/2014 12:31", "clscomment" : "dkh 04/27/2014 07:53", "clscomment:" : "dkh 05/24/2014 09:23", - "clscopy" : "dkh 04/27/2014 21:35", + "clscopy" : "dkh 03/29/2015 16:20", "clscopy:to:" : "dkh 04/27/2014 08:30", "clscopy:to:category:" : "dkh 04/27/2014 08:29", + "clscreate" : "dkh 03/29/2015 16:27", + "clscreate:subclassOf:category:" : "dkh 03/29/2015 16:28", "clsdefinition" : "dkh 04/27/2014 12:12", "clsdefinition:" : "dkh 09/22/2013 06:15", - "clshistory" : "dkh 04/27/2014 21:06", - "clshistory:" : "dkh 09/22/2013 06:17", + "clshistory" : "dkh 09/12/2015 08:32", + "clshistory:" : "dkh 09/10/2015 17:13", "clsprotocol" : "dkh 04/27/2014 21:49", "clsremove" : "dkh 04/28/2014 15:42", - "clsremove:" : "dkh 07/08/2014 09:56", + "clsremove:" : "dkh 09/11/2015 09:37", "clsrename" : "dkh 07/08/2014 09:59", "clsrename:to:" : "dkh 07/08/2014 10:00", "commit" : "dkh 04/28/2014 15:56", - "cp" : "dkh 12/21/2012 11:23", + "cp" : "dkh 11/14/2014 16:59", + "cp:to:" : "dkh 11/14/2014 16:58", "displayOops" : "DataCurator 01/16/2013 10:22", "ds" : "dkh 05/04/2014 14:51", "ds:level:" : "dkh 11/10/2013 10:46", @@ -178,22 +203,28 @@ "editObjects:builderAspect:editorAspect:" : "dkh 05/16/2014 13:34", "eval" : "dkh 05/05/2014 22:12", "excludedProjectNames" : "dkh 05/07/2014 16:05", - "filterBrowseList:" : "dkh 04/18/2014 11:15", + "filterSelectList:" : "dkh 08/10/2015 12:30", "find" : "dkh 05/07/2014 11:09", "findCategoryClassDefinitions:" : "dkh 08/29/2013 11:59", "findCategoryClassDefinitionsExact:" : "dkh 04/01/2014 12:25", "findCategoryDefinitions" : "dkh 08/29/2013 12:01", - "findClass:" : "dkh 08/15/2013 08:24", + "findClass" : "dkh 08/10/2015 12:33", + "findClass:" : "dkh 09/12/2015 08:33", "findClassDefsInSymbolDictionary:username:" : "dkh 01/09/2014 15:35", - "findClassExact:" : "dkh 04/01/2014 12:26", - "findClassHierarchy:" : "dkh 03/30/2014 14:23", + "findClassExact:" : "dkh 09/12/2015 08:33", + "findClassHierarchy:" : "dkh 09/12/2015 08:33", + "findMethod" : "dkh 08/10/2015 12:34", "findMethod:" : "dkh 05/09/2014 15:37", + "findMethodNamesMatching:" : "dkh 02/16/2015 20:25", "findMethodSpec:" : "dkh 05/30/2014 13:00", "findMethodSpec:labelBlock:" : "dkh 03/30/2014 11:41", "findMethods:" : "dkh 05/30/2014 12:53", + "findPackage" : "dkh 08/10/2015 12:34", "findPackageDefinitions:" : "dkh 04/01/2014 11:39", "findPackageDefinitionsExact:" : "dkh 04/01/2014 12:27", + "findPackages" : "dkh 08/10/2015 12:37", "findProcessCommandOptions" : "dkh 04/18/2014 17:16", + "findProject" : "dkh 08/10/2015 12:33", "findProjectClassDefinitions:" : "dkh 05/08/2014 20:36", "findProjectClassDefinitionsExact:" : "dkh 09/04/2014 17:00", "findProjectDefinitions:" : "dkh 05/07/2014 16:06", @@ -202,42 +233,69 @@ "findProjectRegistrationExact:" : "dkh 07/24/2014 16:47", "findPureSender:" : "dkh 01/30/2014 12:10", "findPureSender:searchScriptRoot:" : "dkh 05/09/2014 21:09", + "findReferences" : "dkh 08/10/2015 12:39", "findReferences:" : "dkh 04/26/2014 09:43", "findReferences:inClass:" : "dkh 04/26/2014 09:42", "findReferences:inClass:searchScriptRoot:" : "dkh 05/09/2014 21:09", "findReferences:searchScriptRoot:" : "dkh 05/09/2014 21:09", "findReferencesToLiteral:inClass:pattern:" : "dkh 03/31/2014 16:55", "findReferencesToLiteral:pattern:" : "dkh 03/31/2014 16:40", - "findRegex:" : "dkh 08/15/2013 08:23", + "findRegex:" : "dkh 02/06/2015 12:54", + "findRegex:ignoreCase:" : "dkh 02/06/2015 12:53", "findRegexMethod:" : "dkh 08/15/2013 08:24", "findRegexSender:" : "dkh 01/30/2014 12:11", "findRegexSender:searchScriptRoot:" : "dkh 05/09/2014 21:09", + "findSender" : "dkh 08/10/2015 12:39", "findSender:" : "dkh 01/30/2014 12:11", "findSender:searchScriptRoot:" : "dkh 04/19/2014 20:38", - "findSource:" : "dkh 04/13/2014 18:06", - "findSource:searchScriptRoot:" : "dkh 04/13/2014 16:59", - "findSourceExact:" : "dkh 04/13/2014 18:32", - "findSourceExact:searchScriptRoot:" : "dkh 04/13/2014 17:51", + "findSource" : "dkh 08/10/2015 12:39", + "findSource:" : "dkh 02/06/2015 12:56", + "findSource:ignoreCase:" : "dkh 02/06/2015 12:56", + "findSource:searchScriptRoot:" : "dkh 02/06/2015 13:00", + "findSource:searchScriptRoot:ignoreCase:" : "dkh 02/06/2015 13:00", + "findSourceExact:" : "dkh 02/06/2015 13:35", + "findSourceExact:ignoreCase:" : "dkh 02/06/2015 13:40", + "findSourceExact:searchScriptRoot:" : "dkh 02/06/2015 13:37", + "findSourceExact:searchScriptRoot:ignoreCase:" : "dkh 02/06/2015 13:40", + "findSymbolDict" : "dkh 08/10/2015 14:02", "findSymbolDictionary:username:" : "dkh 01/09/2014 15:28", + "findVariables" : "dkh 08/10/2015 12:42", + "findVersions" : "dkh 08/10/2015 12:43", "findVersions:" : "dkh 05/30/2014 12:53", "findVersions:labelBlock:" : "dkh 04/15/2014 20:17", - "findcategory" : "dkh 05/06/2014 08:14", - "findcategory:options:" : "dkh 05/06/2014 08:13", - "findmethod" : "dkh 05/06/2014 08:03", - "findsender" : "dkh 04/18/2014 17:16", - "findsource" : "dkh 04/18/2014 17:16", + "findcategory" : "dkh 08/07/2015 15:31", + "findcategory:options:" : "dkh 08/10/2015 12:33", + "findclass" : "dkh 08/10/2015 11:32", + "findconfigurations" : "dkh 08/07/2015 15:09", + "findmethod" : "dkh 08/10/2015 11:32", + "findpackage" : "dkh 08/10/2015 12:49", + "findpackages" : "dkh 08/10/2015 11:53", + "findproject" : "dkh 08/10/2015 11:56", + "findreferences" : "dkh 08/10/2015 12:01", + "findsender" : "dkh 08/10/2015 12:03", + "findsource" : "dkh 08/10/2015 12:07", + "findsymbolDict" : "dkh 08/10/2015 14:17", + "findundeclared" : "dkh 08/10/2015 12:41", + "findvariables" : "dkh 08/10/2015 12:21", + "findversions" : "dkh 08/10/2015 12:44", "historylist" : "dkh 04/11/2013 15:02", - "inspectSymbolDictList:" : "dkh 04/20/2014 09:52", - "inspectSymbolListGlobals:" : "dkh 04/20/2014 09:54", - "limit" : "dkh 09/22/2013 09:40", + "inspectSymbolDictList:" : "dkh 08/10/2015 12:44", + "inspectSymbolListGlobals:" : "dkh 08/10/2015 12:44", + "limit" : "dkh 07/20/2015 10:29", + "limitAutoCommit" : "dkh 02/04/2015 12:52", + "limitAutoCommit:" : "dkh 02/04/2015 12:54", + "limitAutoMigrate" : "dkh 02/04/2015 13:30", + "limitAutoMigrate:" : "dkh 02/04/2015 13:31", "limitChars:" : "DataCurator 02/01/2013 17:03", "limitFormat:" : "dkh 09/15/2013 20:55", "limitList:" : "dkh 04/19/2014 08:22", "limitOops:" : "dkh 05/20/2013 15:17", "limitProtocol:" : "dkh 09/22/2013 09:40", + "limitTransactionMode:" : "dkh 07/20/2015 10:34", "listLimit" : "DataCurator 01/16/2013 10:22", "ls" : "dkh 12/21/2012 11:23", - "man" : "dkh 05/20/2014 20:01", + "man" : "dkh 02/07/2015 12:07", + "manAll" : "dkh 02/07/2015 12:06", "methodDefinitionsFor:messagePattern:isRegex:" : "dkh 12/10/2013 05:46", "methodbrowse" : "dkh 06/03/2014 14:26", "methodcopy" : "dkh 04/28/2014 19:38", @@ -250,14 +308,16 @@ "methodremove:" : "dkh 04/28/2014 19:59", "methodversions" : "dkh 04/28/2014 20:12", "mkdir" : "dkh 12/21/2012 11:23", - "mount" : "dkh 05/28/2014 13:16", - "mount:at:as:visitAsLeafNode:" : "dkh 05/28/2014 13:26", + "mount" : "dkh 12/19/2014 17:07", + "mount:at:as:visitAsLeafNode:" : "dkh 11/17/2014 15:29", + "mountDirectory:at:as:visitAsLeafNode:" : "dkh 11/12/2014 11:11", + "mountFile:at:as:visitAsLeafNode:" : "dkh 11/12/2014 10:32", "mv" : "dkh 12/21/2012 11:23", "parseMethodSpecTokens:" : "dkh 03/30/2014 11:40", - "portsentButNotImplemented" : "07/09/2013 15:39", + "portsentButNotImplemented" : "dkh 01/16/2015 12:34", "portundefinedSymbols" : "07/09/2013 15:40", "protocol:add:" : "dkh 04/28/2014 13:11", - "protocol:remove:" : "dkh 04/28/2014 13:11", + "protocol:remove:" : "dkh 09/11/2015 11:12", "protocol:rename:to:" : "dkh 04/28/2014 13:11", "pwd" : "dkh 12/21/2012 11:23", "resolveFilePath:" : "dkh 05/17/2013 19:26", @@ -269,12 +329,13 @@ "rsyncProcessCommandOptions" : "dkh 12/06/2013 17:40", "sh" : "dkh 06/05/2013 05:23", "stack" : "dkh 06/04/2013 21:22", - "stonExportNode:to:" : "dkh 06/06/2013 09:52", - "stonImportFrom:to:" : "dkh 06/06/2013 09:55", + "stonExportNode:to:" : "dkh 06/25/2015 16:03", + "stonImportFrom:to:" : "dkh 06/25/2015 16:04", "stonexport" : "dkh 11/09/2013 16:45", "stonimport" : "dkh 11/09/2013 16:46", - "symbolListForNode:" : "dkh 06/04/2013 14:15", - "touch" : "dkh 05/17/2013 07:05", + "symbolListForNode:" : "dkh 12/19/2014 15:59", + "touch" : "dkh 10/30/2014 13:38", "undefinedSymbolMethodDefinitions" : "dkh 04/19/2014 08:00", "undefinedSymbolsMap" : "dkh 04/19/2014 07:36", + "windowsrestore" : "dkh 09/01/2015 07:10", "ws" : "dkh 05/04/2014 14:28" } } diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/README.md b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/addChild..st b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/addChild..st new file mode 100644 index 000000000..fd21bf0d9 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/addChild..st @@ -0,0 +1,3 @@ +directory compat +addChild: childName + ^ self node addChild: childName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/at.ifAbsent..st b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/at.ifAbsent..st new file mode 100644 index 000000000..56d224e17 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/at.ifAbsent..st @@ -0,0 +1,3 @@ +dictionary compat +at: aNodeName ifAbsent: absentBlock + ^ self node childNamed: aNodeName ifAbsent: absentBlock \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/at.put..st b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/at.put..st new file mode 100644 index 000000000..ed9feb2d9 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/at.put..st @@ -0,0 +1,3 @@ +dictionary compat +at: aNodeName put: aNode + ^ self node addChildNode: aNode \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/composedChildrenDo..st b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/composedChildrenDo..st new file mode 100644 index 000000000..fa14d117d --- /dev/null +++ b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/composedChildrenDo..st @@ -0,0 +1,4 @@ +directory compat +composedChildrenDo: aBlock + ^ self node + childrenDo: [ :childNode | aBlock value: self node value: childNode ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/keys.st b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/keys.st new file mode 100644 index 000000000..73047ef73 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/keys.st @@ -0,0 +1,6 @@ +dictionary compat +keys + | childNames | + childNames := OrderedCollection new. + self node childrenDo: [ :childNode | childNames add: childNode name ]. + ^ childNames \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/moveDirectoryNode.as..st b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/moveDirectoryNode.as..st new file mode 100644 index 000000000..a7b8d85f4 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/moveDirectoryNode.as..st @@ -0,0 +1,3 @@ +directory compat +moveDirectoryNode: aDirectoryNode as: newName + ^ self node moveDirectoryNode: aDirectoryNode as: newName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/node..st b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/node..st new file mode 100644 index 000000000..d3318463a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/node..st @@ -0,0 +1,4 @@ +accessing +node: anObject + + node := anObject \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/node.st b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/node.st new file mode 100644 index 000000000..66b9c7a5b --- /dev/null +++ b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/node.st @@ -0,0 +1,4 @@ +accessing +node + node topez: self topez. + ^ node \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/parent..st b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/parent..st new file mode 100644 index 000000000..38d392309 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/parent..st @@ -0,0 +1,3 @@ +accessing +parent: aNode + node parent: aNode \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/removeKey..st b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/removeKey..st new file mode 100644 index 000000000..7e718a4cb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/removeKey..st @@ -0,0 +1,3 @@ +dictionary compat +removeKey: aNodeName + ^ self node removeChildNamed: aNodeName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/values.st b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/values.st new file mode 100644 index 000000000..e6c3d97bb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/instance/values.st @@ -0,0 +1,6 @@ +dictionary compat +values + | children | + children := OrderedCollection new. + self node childrenDo: [ :childNode | children add: childNode ]. + ^ children \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/methodProperties.json b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/methodProperties.json new file mode 100644 index 000000000..3765f5765 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/methodProperties.json @@ -0,0 +1,15 @@ +{ + "class" : { + }, + "instance" : { + "addChild:" : "dkh 11/05/2014 13:55", + "at:ifAbsent:" : "dkh 11/05/2014 12:07", + "at:put:" : "dkh 11/05/2014 12:07", + "composedChildrenDo:" : "dkh 11/21/2014 15:01", + "keys" : "dkh 11/05/2014 12:07", + "moveDirectoryNode:as:" : "dkh 11/07/2014 13:36", + "node" : "dkh 11/05/2014 16:49", + "node:" : "dkh 11/05/2014 12:07", + "parent:" : "dkh 11/06/2014 14:18", + "removeKey:" : "dkh 11/07/2014 14:29", + "values" : "dkh 11/05/2014 12:07" } } diff --git a/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/properties.json b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/properties.json new file mode 100644 index 000000000..d8cbe8d41 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDSimpleComposedDirectoryNodeContents.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "node" ], + "name" : "TDSimpleComposedDirectoryNodeContents", + "pools" : [ + ], + "super" : "TDAbstractComposedDirectoryNodeContents", + "type" : "normal" } diff --git a/repository/Topez-Server-Core.package/TDSymbolDictionaryDefinition.class/instance/classDefinitions.st b/repository/Topez-Server-Core.package/TDSymbolDictionaryDefinition.class/instance/classDefinitions.st index 06e357194..719370b0e 100644 --- a/repository/Topez-Server-Core.package/TDSymbolDictionaryDefinition.class/instance/classDefinitions.st +++ b/repository/Topez-Server-Core.package/TDSymbolDictionaryDefinition.class/instance/classDefinitions.st @@ -9,13 +9,7 @@ classDefinitions | glob | glob := symDict at: globalKey. glob isBehavior - ifTrue: [ - defs - add: - (TDClassDefinition new - username: self username; - className: glob name; - yourself) ] ] + ifTrue: [ defs add: glob asTDClassDefinition ] ] on: SecurityError do: [ :ex | self halt ] ]. ^ defs \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDSymbolDictionaryDefinition.class/methodProperties.json b/repository/Topez-Server-Core.package/TDSymbolDictionaryDefinition.class/methodProperties.json index 59bf65fbb..7e788645c 100644 --- a/repository/Topez-Server-Core.package/TDSymbolDictionaryDefinition.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDSymbolDictionaryDefinition.class/methodProperties.json @@ -3,7 +3,7 @@ }, "instance" : { "classDefinitionNamed:" : "dkh 12/10/2013 05:31", - "classDefinitions" : "dkh 10/11/2013 12:10", + "classDefinitions" : "dkh 09/12/2015 08:34", "classNamed:" : "dkh 10/04/2013 13:48", "symbolDictionary" : "dkh 10/04/2013 18:45", "symbolDictionaryName" : "dkh 10/04/2013 12:23", diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/class/batchInstance.st b/repository/Topez-Server-Core.package/TDTopezServer.class/class/batchInstance.st new file mode 100644 index 000000000..add21f379 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/class/batchInstance.st @@ -0,0 +1,3 @@ +accessing +batchInstance + ^ self for: 0 \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor.options..st b/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor.options..st index 6d637f0fe..c52c177ef 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor.options..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor.options..st @@ -13,7 +13,10 @@ createFor: aShellId options: optionArray transcriptClientForwarderOop := Reflection oopOf: transcriptClientForwarder ] ]. topezServer topezClientForwarder: topezClientClientForwarder. + topezServer platformInitialize. resultArray := {(topezServer asOop). transcriptClientForwarderOop. - (Reflection oopOf: topezClientClientForwarder)}. - ^ STON toString: resultArray \ No newline at end of file + (Reflection oopOf: topezClientClientForwarder). + (TodeObjectSerializer protocolSignatureArray). + (self todeServerAPIVersionString)}. + ^ TodeObjectSerializer preferredSerializer toJsonString: resultArray \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/class/evaluateCommandString..st b/repository/Topez-Server-Core.package/TDTopezServer.class/class/evaluateCommandString..st new file mode 100644 index 000000000..1d2a259bc --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/class/evaluateCommandString..st @@ -0,0 +1,3 @@ +accessing +evaluateCommandString: commandString + ^ self batchInstance evaluateCommandString: commandString \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/class/persistentElementCacheStack.st b/repository/Topez-Server-Core.package/TDTopezServer.class/class/persistentElementCacheStack.st new file mode 100644 index 000000000..81f5965e7 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/class/persistentElementCacheStack.st @@ -0,0 +1,5 @@ +accessing +persistentElementCacheStack + PersistentElementCacheStack + ifNil: [ PersistentElementCacheStack := OrderedCollection new ]. + ^ PersistentElementCacheStack \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/class/todeServerAPIVersionString.st b/repository/Topez-Server-Core.package/TDTopezServer.class/class/todeServerAPIVersionString.st new file mode 100644 index 000000000..1e4a0ca5a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/class/todeServerAPIVersionString.st @@ -0,0 +1,12 @@ +accessing +todeServerAPIVersionString + "Version changes whenever the api between client and server changes: + Major version changes when incompatible API changes have been made. + Minor version changes when API is extended/changed in a backwards compatible manner. + Patch version changes whenever bugfixes are made in the API" + + "1.0.0 - initial version" + + "1.1.0 - introduce TDEventsCache" + + ^ '1.1.0' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/abortTransaction.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/abortTransaction.st new file mode 100644 index 000000000..1d0362872 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/abortTransaction.st @@ -0,0 +1,5 @@ +accessing +abortTransaction + self serverStatus autoCommit + ifFalse: [ ^ self ]. + System abortTransaction \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/authorInitials..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/authorInitials..st index 401b9d4ed..3d1b1acd5 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/authorInitials..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/authorInitials..st @@ -1,4 +1,4 @@ -accessing +client callbacks authorInitials: initials GsPackagePolicy current authorInitials: initials. self postLogin "trigger postLogin during authorInitials: until I've updated all of my clients/servers" \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/autoCommit..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/autoCommit..st new file mode 100644 index 000000000..e48e6c4bb --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/autoCommit..st @@ -0,0 +1,3 @@ +accessing +autoCommit: aBool + self serverStatus autoCommit: aBool \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/autoCommit.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/autoCommit.st new file mode 100644 index 000000000..ffb99f5db --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/autoCommit.st @@ -0,0 +1,3 @@ +accessing +autoCommit + ^ self serverStatus autoCommit \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/backupDirectory..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/backupDirectory..st index 2b8ca8389..6ccc828f6 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/backupDirectory..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/backupDirectory..st @@ -1,4 +1,4 @@ -accessing +client callbacks backupDirectory: aString Smalltalk at: #'TDGemStoneTool' diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/cacheClientElement..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/cacheClientElement..st new file mode 100644 index 000000000..e51ce2ef1 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/cacheClientElement..st @@ -0,0 +1,3 @@ +accessing +cacheClientElement: element + self serverStatus cacheClientElement: element \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/clearUserEditFlagFor..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/clearUserEditFlagFor..st new file mode 100644 index 000000000..1d35e3cab --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/clearUserEditFlagFor..st @@ -0,0 +1,3 @@ +client forwarder +clearUserEditFlagFor: aWindowId + ^ self topezClientForwarder clearUserEditFlagFor: aWindowId \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/clientElementFor.using..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/clientElementFor.using..st index 05ecd9cdf..71c4322c5 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/clientElementFor.using..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/clientElementFor.using..st @@ -9,5 +9,5 @@ clientElementFor: anObject using: aTDEditorSpec element := windowBuilder buildClientElementUsing: aTDEditorSpec editorAspect: finalEditorAspect ]. - self serverStatus elementCache add: element. + self cacheClientElement: element. ^ element \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/clientEventCache..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/clientEventCache..st new file mode 100644 index 000000000..6ce778cdf --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/clientEventCache..st @@ -0,0 +1,9 @@ +client callbacks +clientEventCache: stonEventCache + | clientEventCache | + clientEventCache := self objectSerializer fromString: stonEventCache. + (clientEventCache listAt: #'clientElementRetirees') + do: [ :elementOop | + (Object _objectForOop: elementOop) + ifNotNil: [ :element | self serverStatus retireClientElement: element ] ]. + ^ self objectSerializer toString: TDEventsCache new \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/commitTransaction.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/commitTransaction.st index 7cd70c02c..129122541 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/commitTransaction.st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/commitTransaction.st @@ -7,9 +7,10 @@ commitTransaction ifFalse: [ | conflicts | conflicts := System transactionConflicts. + System abortTransaction. self - error: - 'Attempt to commit transaction failed. debug to see transaction conflicts.' ] ] + notify: + 'Attempt to commit transaction failed. debug to see transaction conflicts. NOTE: results of last operation have been aborted!' ] ] on: Error do: [ :ex | "if an error occurs during commit, disable autoCommit and pass" diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/editElement..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/editElement..st index 58779c4cc..9f2b3e8c3 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/editElement..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/editElement..st @@ -1,4 +1,4 @@ client forwarder editElement: aClientListElement ^ self topezClientForwarder - editStonElement: (STON toString: aClientListElement) \ No newline at end of file + editStonElement: (self objectSerializer toString: aClientListElement) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateCommandStream..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateCommandStream..st new file mode 100644 index 000000000..be338c1b9 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateCommandStream..st @@ -0,0 +1,9 @@ +accessing +evaluateCommandStream: aStream + | commandResultObj | + TDCommandLine + fromStream: aStream + forEachCommand: [ :command | + commandResultObj := self evaluateCommand: command objIn: self objIn. + self objIn: commandResultObj resultObject ]. + ^ commandResultObj resultObject \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateCommandString..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateCommandString..st index d1135d8e4..ff9b9d8fb 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateCommandString..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateCommandString..st @@ -1,9 +1,3 @@ accessing evaluateCommandString: commandString - | commandResultObj | - TDCommandLine - line: commandString - forEachCommand: [ :command | - commandResultObj := self evaluateCommand: command objIn: self objIn. - self objIn: commandResultObj resultObject ]. - ^ commandResultObj resultObject \ No newline at end of file + ^ self evaluateCommandStream: commandString readStream \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONCommand..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONCommand..st index 39a4265cc..70384925c 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONCommand..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONCommand..st @@ -2,11 +2,11 @@ accessing evaluateSTONCommand: stonCommand | command result text | self ensureSessionMethodsEnabled. - command := STON fromString: stonCommand. + command := self objectSerializer fromString: stonCommand. redirectTarget := command redirectTarget. result := self evaluateCommand: command objIn: objIn value. self objIn: result resultObject. self redirectObjIn: redirectTarget. self ensureSessionMethodsEnabled. text := result renderAsTextFor: self. - ^ STON toString: text \ No newline at end of file + ^ self objectSerializer toString: text \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONSmalltalk..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONSmalltalk..st new file mode 100644 index 000000000..829e524fc --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONSmalltalk..st @@ -0,0 +1,7 @@ +accessing +evaluateSTONSmalltalk: smalltalkSource + | result | + self ensureSessionMethodsEnabled. + result := smalltalkSource evaluate. + self ensureSessionMethodsEnabled. + ^ self objectSerializer toString: result \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONSmalltalk.variableBindings..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONSmalltalk.variableBindings..st new file mode 100644 index 000000000..a5bba500c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONSmalltalk.variableBindings..st @@ -0,0 +1,20 @@ +accessing +evaluateSTONSmalltalk: smalltalkSource variableBindings: variableBindingsSTONString + | result litVarArray variableBindings | + variableBindings := self objectSerializer + fromString: variableBindingsSTONString. + litVarArray := {}. + variableBindings + keysAndValuesDo: [ :key :value | + litVarArray + add: key asSymbol; + add: (SymbolAssociation key: key asSymbol value: value) ]. + litVarArray isEmpty + ifTrue: [ litVarArray := nil ]. + self ensureSessionMethodsEnabled. + result := smalltalkSource + evaluateIn: nil + symbolList: GsSession currentSession symbolList + literalVars: litVarArray. + self ensureSessionMethodsEnabled. + ^ self objectSerializer toString: result \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONTokens.redirectTarget..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONTokens.redirectTarget..st index 9d12b9af7..3ec71dd57 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONTokens.redirectTarget..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateSTONTokens.redirectTarget..st @@ -2,11 +2,11 @@ accessing evaluateSTONTokens: stonTokens redirectTarget: aRedirectTarget | tokens result text | self ensureSessionMethodsEnabled. - tokens := STON fromString: stonTokens. + tokens := self objectSerializer fromString: stonTokens. redirectTarget := aRedirectTarget. result := self evaluateTokens: tokens objIn: objIn value. self objIn: result resultObject. self redirectObjIn: redirectTarget. self ensureSessionMethodsEnabled. text := result renderAsTextFor: self. - ^ STON toString: text \ No newline at end of file + ^ self objectSerializer toString: text \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateTopezScript..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateTopezScript..st index 4dd42da96..230784d58 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateTopezScript..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/evaluateTopezScript..st @@ -8,23 +8,21 @@ evaluateTopezScript: topezScript originalEvaluating := evaluatingScript. evaluatingScript := true. stream := topezScript readStream. - [ - line := stream nextLine. - line notEmpty ] - whileTrue: [ + TDCommandLine + fromStream: stream + selectLine: [ :line | self accumulateScriptText ifTrue: [ self accumulateText: line onEval: [ :res | result := res. - self objIn: result ] ] - ifFalse: [ - TDCommandLine - line: line - forEachCommand: [ :command | - result := self evaluateTopezScriptCommand: command. - self objIn: result ] ] ]. + self objIn: result ]. + false "do not create or evaluate command for this line" ] + ifFalse: [ true "create and evaluate the command for this line" ] ] + forEachCommand: [ :command | + result := self evaluateTopezScriptCommand: command. + self objIn: result ]. evaluatingScript := originalEvaluating "last one on the stack please turn out the lights" ] ifCurtailed: [ | currentSize extra | diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/findMatchingCommandFor..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/findMatchingCommandFor..st index 1d352d1bb..ff1c46b48 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/findMatchingCommandFor..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/findMatchingCommandFor..st @@ -1,7 +1,14 @@ accessing findMatchingCommandFor: token - | matches | - matches := self commands keys select: [ :each | each beginsWith: token ]. + | matches longestMatch postfix | + postfix := longestMatch := ''. + token isEmpty + ifTrue: [ matches := self commands keys ] + ifFalse: [ matches := self commands keys select: [ :each | each beginsWith: token ] ]. + longestMatch := self shortestMatchFor: token from: matches. matches size = 1 - ifTrue: [ ^ matches any ]. - ^ token \ No newline at end of file + ifTrue: [ postfix := ' ' ]. + ^ {''. + matches. + postfix. + longestMatch} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/findMatchingPathFor..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/findMatchingPathFor..st index c9743889d..5b7d4f66f 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/findMatchingPathFor..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/findMatchingPathFor..st @@ -1,7 +1,23 @@ accessing findMatchingPathFor: aPath - | matches | - matches := (self baseNodeFor: aPath) findMatchingPathFor: aPath with: self. - matches size = 1 - ifTrue: [ ^ matches first ]. - ^ aPath \ No newline at end of file + ^ aPath isEmpty + ifTrue: [ self currentNode findMatchingPathFor: '' with: self ] + ifFalse: [ + (aPath = '.' or: [ aPath = '~' or: [ aPath = '@' ] ]) + ifTrue: [ + {aPath. + #(''). + '/'. + ''} ] + ifFalse: [ + ((aPath beginsWith: '/') or: [ aPath beginsWith: '~' ]) + ifTrue: [ (self baseNodeFor: aPath) findMatchingPathFor: aPath with: self ] + ifFalse: [ + (aPath beginsWith: '@') + ifTrue: [ + | dirPath tabCompletion | + dirPath := aPath copyFrom: 2 to: aPath size. + tabCompletion := self findMatchingPathFor: dirPath. + tabCompletion at: 1 put: '@' , (tabCompletion at: 1). + tabCompletion ] + ifFalse: [ self currentNode findMatchingPathFor: aPath with: self ] ] ] ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/initialize.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/initialize.st index 572f48507..a8c231fd7 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/initialize.st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/initialize.st @@ -1,4 +1,6 @@ accessing initialize - super initialize. - self platformInitialize \ No newline at end of file + super initialize. + MCPlatformSupport autoCommit: true. + MCPlatformSupport autoMigrate: true. + objIn := TransientValue new \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/logExceptionStack.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/logExceptionStack.st new file mode 100644 index 000000000..2af2fe769 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/logExceptionStack.st @@ -0,0 +1,20 @@ +accessing +logExceptionStack + | process debugger exception | + process := self serverStatus exceptionProcess. + exception := self serverStatus exception. + debugger := TDDebugger new + topez: self; + debugProcess: process exception: exception; + windowLabel: process printString; + yourself. + Transcript + cr; + show: 'EXCEPTION: ' , exception description. + debugger frameList + do: [ :frame | + Transcript + cr; + show: frame asString ]. + Transcript cr. + ^ nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/migrateFrom.instVarMap..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/migrateFrom.instVarMap..st new file mode 100644 index 000000000..195425457 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/migrateFrom.instVarMap..st @@ -0,0 +1,12 @@ +Instance Migration +migrateFrom: anotherObject instVarMap: otherivi + "https://github.com/dalehenrich/tode/issues/125" + + (anotherObject respondsTo: #'topezClientForwarder') + ifTrue: [ + | tcf | + tcf := anotherObject topezClientForwarder. + anotherObject topezClientForwarder: nil. + super migrateFrom: anotherObject instVarMap: otherivi. + anotherObject topezClientForwarder: tcf. + self topezClientForwarder: tcf ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/objectSerializer..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/objectSerializer..st new file mode 100644 index 000000000..15f4c5055 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/objectSerializer..st @@ -0,0 +1,3 @@ +accessing +objectSerializer: aTodeObjectSerializer + objectSerializer := aTodeObjectSerializer \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/objectSerializer.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/objectSerializer.st new file mode 100644 index 000000000..b3f5803cf --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/objectSerializer.st @@ -0,0 +1,5 @@ +accessing +objectSerializer + objectSerializer + ifNil: [ objectSerializer := TodeObjectSerializer defaultSerializer ]. + ^ objectSerializer \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/openWorkspaceForClientElement..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/openWorkspaceForClientElement..st index c83485b6d..200578d6e 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/openWorkspaceForClientElement..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/openWorkspaceForClientElement..st @@ -1,3 +1,3 @@ -accessing +client callbacks openWorkspaceForClientElement: aClientElement ^ aClientElement theObject dotSelfWorkspace: self \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/persistentElementCache.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/persistentElementCache.st new file mode 100644 index 000000000..c8802da17 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/persistentElementCache.st @@ -0,0 +1,11 @@ +accessing +persistentElementCache + persistentElementCache + ifNil: [ + | stack | + persistentElementCache := IdentitySet new. + stack := self class persistentElementCacheStack. + stack addFirst: persistentElementCache. + stack size > 3 + ifTrue: [ stack removeLast ] ]. + ^ persistentElementCache \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/platformInitialize.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/platformInitialize.st index 6603495a6..51b12fe11 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/platformInitialize.st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/platformInitialize.st @@ -2,9 +2,6 @@ accessing platformInitialize "do not persist objIn ... preserve isolation from instances that cannot be persisted: socket, semaphore, processScheduler, etc." - MCPlatformSupport autoCommit: true. - MCPlatformSupport autoMigrate: true. - objIn := TransientValue new. (Warning respondsTo: #'addDefaultHandler:') ifTrue: [ "3.x only" @@ -18,8 +15,8 @@ platformInitialize defaultBlock: [ :interaction | result := self topezClientForwarder interactWith: - (STON toString: interaction copyAsTodeInteraction). - ex response: (STON fromString: result) ]; + (self objectSerializer toString: interaction copyAsTodeInteraction). + ex response: (self objectSerializer fromString: result) ]; inspectBlock: [ :interaction | interaction theObject editUsing: diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/platformInitialize2x.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/platformInitialize2x.st index 0dd66da50..3db295d49 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/platformInitialize2x.st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/platformInitialize2x.st @@ -16,8 +16,9 @@ platformInitialize2x defaultBlock: [ :interaction | | result | result := self topezClientForwarder - interactWith: (STON toString: interaction copyAsTodeInteraction). - STON fromString: result ]; + interactWith: + (self objectSerializer toString: interaction copyAsTodeInteraction). + self objectSerializer fromString: result ]; inspectBlock: [ :interaction | interaction theObject editUsing: diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/postLogin.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/postLogin.st index a48a736c1..17e7d2c6b 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/postLogin.st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/postLogin.st @@ -1,7 +1,7 @@ login postLogin "Message sent by client when login process is completed on the client, server - can no perform any post login initialization. + can now perform any post login initialization. Should eventually have a post login announcement ... " | gitRootPath | diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/put.onStream..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/put.onStream..st deleted file mode 100644 index 70b516e9f..000000000 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/put.onStream..st +++ /dev/null @@ -1,3 +0,0 @@ -convenience -put: object onStream: stream - (self writer on: stream) nextPut: object \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/reifyExceptionArgsForOopList.classNamesForOopList..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/reifyExceptionArgsForOopList.classNamesForOopList..st index 912929fd6..2088b1c02 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/reifyExceptionArgsForOopList.classNamesForOopList..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/reifyExceptionArgsForOopList.classNamesForOopList..st @@ -1,4 +1,4 @@ -accessing +client callbacks reifyExceptionArgsForOopList: oopList classNamesForOopList: classNameOopList "sent by client on GemStone3.x stone" @@ -14,7 +14,7 @@ reifyExceptionArgsForOopList: oopList classNamesForOopList: classNameOopList oop == nil ifTrue: [ nil ] ifFalse: [ (Object _objectForOop: oop) class name ] ]. - result := STON + result := self objectSerializer toString: {objects. classNames}. diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/reifyExceptionArgsForOopList.exceptionObjAndClassNameFrom..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/reifyExceptionArgsForOopList.exceptionObjAndClassNameFrom..st index 4c6ab408e..d9d542c58 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/reifyExceptionArgsForOopList.exceptionObjAndClassNameFrom..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/reifyExceptionArgsForOopList.exceptionObjAndClassNameFrom..st @@ -1,4 +1,4 @@ -accessing +client callbacks reifyExceptionArgsForOopList: oopList exceptionObjAndClassNameFrom: errNum "sent by client on GemStone2.4.x stone" @@ -13,7 +13,7 @@ reifyExceptionArgsForOopList: oopList exceptionObjAndClassNameFrom: errNum exception := (Smalltalk at: #'ExceptionA') gsNumber: errNum arguments: args. exceptionInfo := {(exception asOop). (exception class name)}. - result := STON + result := self objectSerializer toString: {objects. exceptionInfo}. diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serializeObjectsUsing.version..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serializeObjectsUsing.version..st new file mode 100644 index 000000000..2324661f9 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serializeObjectsUsing.version..st @@ -0,0 +1,7 @@ +client callbacks +serializeObjectsUsing: protocol version: protocolVersionString + objectSerializer := TodeObjectSerializer + serializeUsing: + {protocol. + protocolVersionString}. + ^ nil \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverStatus.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverStatus.st index e211bdf71..d731c12ef 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverStatus.st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverStatus.st @@ -2,6 +2,14 @@ accessing serverStatus "do not persist serverStatus ... preserve isolation from instances that cannot be persisted: socket, semaphore, processScheduler, etc." - serverStatus ifNil: [ serverStatus := TransientValue value: TDServerStatus new ]. - serverStatus value ifNil: [ serverStatus value: TDServerStatus new ]. + serverStatus + ifNil: [ + serverStatus := TransientValue + value: + (TDServerStatus persistentElementCache: self persistentElementCache) ]. + serverStatus value + ifNil: [ + serverStatus + value: + (TDServerStatus persistentElementCache: self persistentElementCache) ]. ^ serverStatus value \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverStoneName.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverStoneName.st new file mode 100644 index 000000000..e6dc77c08 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverStoneName.st @@ -0,0 +1,3 @@ +accessing +serverStoneName + ^ (System stoneName subStrings: $!) last \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTextDo.with..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTextDo.with..st index 13b02f10d..96b96d55a 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTextDo.with..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTextDo.with..st @@ -1,4 +1,4 @@ -convenience +client callbacks serverTextDo: accumulateBlock with: doitString | result text commandResult | self accumulateBlocks remove: accumulateBlock ifAbsent: [ ]. @@ -7,4 +7,4 @@ serverTextDo: accumulateBlock with: doitString self objIn: commandResult resultObject. text := commandResult renderAsTextFor: self. self commitTransaction. - ^ STON toString: text \ No newline at end of file + ^ self objectSerializer toString: text \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTodeRoot..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTodeRoot..st new file mode 100644 index 000000000..60a73b78f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTodeRoot..st @@ -0,0 +1,3 @@ +accessing +serverTodeRoot: aServerDiskPath + serverTodeRoot := aServerDiskPath \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTodeRoot.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTodeRoot.st index dd0f22c85..010720bfb 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTodeRoot.st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTodeRoot.st @@ -1,3 +1,4 @@ accessing serverTodeRoot + serverTodeRoot ifNotNil: [ ^ serverTodeRoot ]. ^ self sessionDescription serverTodeRoot \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTodeStoneRoot.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTodeStoneRoot.st new file mode 100644 index 000000000..1b60a9e39 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTodeStoneRoot.st @@ -0,0 +1,3 @@ +accessing +serverTodeStoneRoot + ^ self serverTodeStoneRootFor: self serverStoneName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTodeStoneRootFor..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTodeStoneRootFor..st new file mode 100644 index 000000000..ec7272a0f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/serverTodeStoneRootFor..st @@ -0,0 +1,3 @@ +accessing +serverTodeStoneRootFor: stoneName + ^ self serverTodeRoot , '/sys/stones/' , stoneName \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/sessionDescription.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/sessionDescription.st index 5405c8c8b..3dd5fcf27 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/sessionDescription.st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/sessionDescription.st @@ -4,5 +4,5 @@ sessionDescription ifNil: [ | ans | ans := self topezClientForwarder getSessionDescription. - sessionDescription := STON fromString: ans ]. + sessionDescription := self objectSerializer fromString: ans ]. ^ sessionDescription \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/setCurrentNodeFromClientElement..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/setCurrentNodeFromClientElement..st index ef17606cf..d1cf8fc62 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/setCurrentNodeFromClientElement..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/setCurrentNodeFromClientElement..st @@ -1,4 +1,4 @@ -accessing +client callbacks setCurrentNodeFromClientElement: aClientElement | theObject theNode | theObject := aClientElement theObject. diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/shellHistory.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/shellHistory.st index f736bc6be..58ac14bb0 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/shellHistory.st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/shellHistory.st @@ -2,4 +2,4 @@ client forwarder shellHistory | historySton | historySton := self topezClientForwarder shellHistory. - ^ STON fromString: historySton \ No newline at end of file + ^ self objectSerializer fromString: historySton \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/shortestMatchFor.from..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/shortestMatchFor.from..st new file mode 100644 index 000000000..9ea43f144 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/shortestMatchFor.from..st @@ -0,0 +1,24 @@ +accessing +shortestMatchFor: subString from: arrayOfStrings + "find the shortest common substring for starting with " + + | shortest shortestLength max shortestMatch | + shortest := nil. + shortestLength := SmallInteger maximumValue. + arrayOfStrings + do: [ :each | + each size < shortestLength + ifTrue: [ + shortest := each. + shortestLength := each size ] ]. + max := subString size. + shortestMatch := subString copy. + subString size + 1 to: shortest size do: [ :index | + | char | + char := shortest at: index. + arrayOfStrings + do: [ :str | + (str at: index) == char + ifFalse: [ ^ shortestMatch ] ]. + shortestMatch add: char ]. + ^ shortestMatch \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/snapshotDirectory..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/snapshotDirectory..st new file mode 100644 index 000000000..9fdec433a --- /dev/null +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/snapshotDirectory..st @@ -0,0 +1,5 @@ +client callbacks +snapshotDirectory: aString + Smalltalk + at: #'TDGemStoneTool' + ifPresent: [ :cls | cls snapshotDirectoryName: aString ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/tabCompletion..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/tabCompletion..st index bdd19acfa..59de75ad3 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/tabCompletion..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/tabCompletion..st @@ -1,19 +1,28 @@ accessing tabCompletion: commandLine - | tokens token newToken newLine | + | tokens token tabCompletion matches longestMatch cmdLine prefix postfix | tokens := commandLine findTokens: ' '. - tokens isEmpty - ifTrue: [ ^ commandLine ]. - token := tokens last. - newToken := tokens size > 1 - ifTrue: [ self findMatchingPathFor: token ] - ifFalse: [ self findMatchingCommandFor: token ]. - newToken = token - ifTrue: [ ^ commandLine ]. - newLine := WriteStream on: String new. - 1 to: tokens size - 1 do: [ :index | - newLine - nextPutAll: (token at: index); - space ]. - newLine nextPutAll: newToken. - ^ newLine contents \ No newline at end of file + tabCompletion := tokens isEmpty + ifTrue: [ self findMatchingCommandFor: '' ] + ifFalse: [ + token := tokens last. + (tokens size > 1 + or: [ + | first | + first := token first. + commandLine last isSeparator + or: [ first = $. or: [ first = $/ or: [ first = $~ or: [ first = $@ ] ] ] ] ]) + ifTrue: [ + commandLine last isSeparator + ifTrue: [ token := '' ]. + self findMatchingPathFor: token ] + ifFalse: [ self findMatchingCommandFor: token ] ]. + prefix := tabCompletion at: 1. + matches := tabCompletion at: 2. + postfix := tabCompletion at: 3. + matches := matches asArray sorted: [ :a :b | a <= b ]. + longestMatch := tabCompletion at: 4. + cmdLine := ''. + 1 to: tokens size - 1 do: [ :index | cmdLine := cmdLine , (tokens at: index) , ' ' ]. + ^ {matches. + (cmdLine , prefix , longestMatch , postfix)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/toString..st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/toString..st index 0d0004712..c84de9590 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/toString..st +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/toString..st @@ -1,3 +1,3 @@ convenience toString: object - ^ String streamContents: [ :stream | self put: object onStream: stream ] \ No newline at end of file + ^ self objectSerializer toString: object \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/writer.st b/repository/Topez-Server-Core.package/TDTopezServer.class/instance/writer.st deleted file mode 100644 index 7db4a4684..000000000 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/instance/writer.st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -writer - ^ STONWriter new \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/methodProperties.json b/repository/Topez-Server-Core.package/TDTopezServer.class/methodProperties.json index 8790b0570..80dafe03a 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/methodProperties.json @@ -1,12 +1,14 @@ { "class" : { + "batchInstance" : "dkh 02/07/2015 15:03", "commands" : "DataCurator 11/20/2012 09:01", "concreteClass" : "dkh 05/27/2013 20:03", "concreteClassName" : "dkh 06/06/2013 10:19", "concreteClassName:" : "dkh 05/27/2013 20:01", "createFor:" : "dkh 08/19/2014 14:24", - "createFor:options:" : "dkh 08/19/2014 14:24", + "createFor:options:" : "dkh 09/01/2015 11:10", "editorAspects" : "dkh 05/28/2013 06:13", + "evaluateCommandString:" : "dkh 02/07/2015 15:04", "for:" : "dkh 05/13/2014 18:45", "globalNamed:" : "dkh 05/28/2013 07:35", "indirectAccess" : "dkh 02/23/2013 17:29", @@ -17,6 +19,7 @@ "nodeEditors:" : "DataCurator 01/15/2013 10:16", "nodePrinters" : "DataCurator 01/15/2013 10:17", "nodePrinters:" : "DataCurator 01/15/2013 10:17", + "persistentElementCacheStack" : "dkh 08/18/2015 13:51", "registerBuilderClass:for:aspect:" : "dkh 05/28/2013 07:45", "registerEditorClass:for:aspect:" : "dkh 05/28/2013 07:45", "registerPrinterClass:for:aspect:" : "dkh 05/28/2013 07:45", @@ -24,25 +27,32 @@ "resetForInstall" : "dkh 04/26/2014 09:39", "rootNode" : "DataCurator 11/28/2012 05:40", "select" : "dkh 05/28/2013 06:19", + "todeServerAPIVersionString" : "dkh 08/12/2015 11:08", "toolInstanceFor:" : "dkh 12/18/2013 18:55" }, "instance" : { + "abortTransaction" : "dkh 08/18/2015 11:57", "accumulateBlocks" : "DataCurator 01/22/2013 14:21", "accumulateScriptText" : "DataCurator 01/26/2013 11:30", "accumulateText:" : "dkh 05/15/2013 14:48", "accumulateText:onEval:" : "dkh 05/15/2013 14:48", "accumulateTextAndDo:" : "dkh 05/18/2013 10:37", "authorInitials:" : "dkh 05/28/2014 07:50", + "autoCommit" : "dkh 12/27/2014 07:52", + "autoCommit:" : "dkh 12/27/2014 07:52", "backupDirectory:" : "dkh 12/16/2013 20:28", "baseNodeFor:" : "dkh 11/18/2012 15:30", "buildNode:for:aspect:" : "DataCurator 01/25/2013 16:23", "builderClassNameFor:aspect:do:" : "dkh 12/06/2013 10:33", "builderFor:aspect:do:" : "dkh 05/28/2013 07:37", + "cacheClientElement:" : "dkh 08/18/2015 16:16", "characterLimit" : "DataCurator 01/16/2013 15:15", "characterLimit:" : "DataCurator 01/16/2013 15:15", "classOrganizer" : "dkh 12/10/2013 22:07", - "clientElementFor:using:" : "dkh 04/19/2014 09:53", + "clearUserEditFlagFor:" : "dkh 08/31/2015 17:00", + "clientElementFor:using:" : "dkh 08/18/2015 16:16", + "clientEventCache:" : "dkh 08/12/2015 13:03", "commands" : "DataCurator 11/20/2012 09:02", - "commitTransaction" : "dkh 08/27/2014 12:30", + "commitTransaction" : "dkh 01/16/2015 10:48", "createCommandBinNodeIn:" : "DataCurator 12/15/2012 09:24", "currentNode" : "DataCurator 12/29/2012 11:29", "currentNode:" : "DataCurator 12/29/2012 19:42", @@ -53,7 +63,7 @@ "displayOops:" : "DataCurator 01/16/2013 10:10", "displayPolicy" : "DataCurator 02/01/2013 16:59", "edit:using:" : "dkh 01/08/2014 21:04", - "editElement:" : "dkh 01/10/2014 17:05", + "editElement:" : "dkh 06/25/2015 16:06", "editorNodeClassNameFor:aspect:do:" : "dkh 12/06/2013 10:33", "editorNodeFor:aspect:do:" : "dkh 05/28/2013 07:37", "enableFormatting" : "dkh 09/15/2013 20:50", @@ -63,43 +73,50 @@ "ensureChildrenExistIn:" : "dkh 03/10/2013 09:29", "ensureSessionMethodsEnabled" : "dkh 02/23/2013 17:34", "evaluateCommand:objIn:" : "dkh 05/14/2014 15:40", - "evaluateCommandString:" : "dkh 05/05/2014 21:23", - "evaluateSTONCommand:" : "dkh 11/10/2013 08:12", - "evaluateSTONTokens:redirectTarget:" : "dkh 06/04/2013 21:11", + "evaluateCommandStream:" : "dkh 12/19/2014 10:11", + "evaluateCommandString:" : "dkh 12/19/2014 10:12", + "evaluateSTONCommand:" : "dkh 08/18/2015 14:29", + "evaluateSTONSmalltalk:" : "dkh 08/18/2015 11:57", + "evaluateSTONSmalltalk:variableBindings:" : "dkh 06/25/2015 16:07", + "evaluateSTONTokens:redirectTarget:" : "dkh 08/18/2015 11:57", "evaluateString:inContext:" : "dkh 03/20/2014 16:09", "evaluateString:inContext:withTempSymbolList:" : "dkh 06/04/2013 14:10", "evaluateTokens:objIn:" : "dkh 03/13/2013 08:19", - "evaluateTopezScript:" : "dkh 06/04/2013 21:12", + "evaluateTopezScript:" : "dkh 12/19/2014 10:18", "evaluateTopezScriptCommand:" : "dkh 05/05/2014 21:24", "evaluatingScript" : "DataCurator 01/26/2013 11:29", "exception:" : "DataCurator 12/01/2012 18:20", "exception:process:" : "DataCurator 12/01/2012 18:20", - "findMatchingCommandFor:" : "dkh 03/28/2013 08:23", - "findMatchingPathFor:" : "dkh 03/28/2013 08:09", + "findMatchingCommandFor:" : "dkh 12/19/2014 15:24", + "findMatchingPathFor:" : "dkh 12/19/2014 12:57", "guestUser" : "dkh 12/10/2013 22:08", "homeNode" : "DataCurator 01/22/2013 14:32", "homeNode:" : "DataCurator 01/22/2013 14:07", "homeNodeReset" : "dkh 05/28/2014 13:20", - "initialize" : "dkh 5/28/2013 05:54", + "initialize" : "dkh 09/01/2015 11:11", "installCommand:block:vendor:at:" : "dkh 05/18/2013 10:44", "listLimit" : "DataCurator 01/16/2013 09:53", "listLimit:" : "DataCurator 01/16/2013 10:10", + "logExceptionStack" : "dkh 03/16/2015 17:16", "lookup:" : "dkh 11/18/2012 15:30", "lookup:ifAbsent:" : "08/04/2013 12:19", "lookupClassNameFor:aspect:defaultAspect:in:do:" : "dkh 12/06/2013 10:35", + "migrateFrom:instVarMap:" : "dkh 07/13/2015 11:02", "objIn" : "DataCurator 01/22/2013 14:05", "objIn:" : "dkh 06/04/2013 21:11", + "objectSerializer" : "dkh 06/25/2015 15:59", + "objectSerializer:" : "dkh 06/25/2015 15:31", "openDebugger" : "dkh 01/08/2014 19:22", "openWorkspaceForClientElement:" : "dkh 06/28/2014 10:27", - "platformInitialize" : "dkh 05/25/2014 10:33", - "platformInitialize2x" : "dkh 05/25/2014 11:16", - "postLogin" : "dkh 05/28/2014 07:48", - "put:onStream:" : "dkh 03/29/2013 15:53", + "persistentElementCache" : "dkh 08/18/2015 16:23", + "platformInitialize" : "dkh 09/01/2015 11:11", + "platformInitialize2x" : "dkh 06/25/2015 16:08", + "postLogin" : "dkh 02/08/2015 16:36", "redirectObjIn:" : "dkh 05/15/2013 15:25", "refreshViewFor:" : "dkh 01/11/2014 08:11", "reifyExceptionArg:" : "DataCurator 01/06/2013 15:00", - "reifyExceptionArgsForOopList:classNamesForOopList:" : "dkh 03/30/2013 15:18", - "reifyExceptionArgsForOopList:exceptionObjAndClassNameFrom:" : "dkh 04/19/2014 12:03", + "reifyExceptionArgsForOopList:classNamesForOopList:" : "dkh 06/25/2015 16:10", + "reifyExceptionArgsForOopList:exceptionObjAndClassNameFrom:" : "dkh 06/25/2015 16:10", "removeChildrenAt:" : "DataCurator 11/27/2012 15:12", "removeChildrenAt:select:" : "DataCurator 11/27/2012 15:11", "renderAsText:" : "dkh 02/23/2013 21:31", @@ -110,21 +127,27 @@ "restoreFromBackup:" : "dkh 05/14/2013 16:26", "rootNode" : "DataCurator 01/27/2013 00:26", "scriptActionStack" : "DataCurator 01/26/2013 15:11", - "serverStatus" : "DataCurator 01/27/2013 00:38", - "serverTextDo:with:" : "dkh 07/25/2013 10:25", - "serverTodeRoot" : "dkh 05/28/2014 11:41", - "sessionDescription" : "dkh 05/28/2014 07:08", + "serializeObjectsUsing:version:" : "dkh 06/25/2015 17:43", + "serverStatus" : "dkh 08/18/2015 10:14", + "serverStoneName" : "dkh 11/13/2014 14:44", + "serverTextDo:with:" : "dkh 06/25/2015 16:11", + "serverTodeRoot" : "dkh 11/12/2014 12:47", + "serverTodeRoot:" : "dkh 11/12/2014 12:47", + "serverTodeStoneRoot" : "dkh 11/17/2014 09:19", + "serverTodeStoneRootFor:" : "dkh 03/10/2015 20:27", + "sessionDescription" : "dkh 06/25/2015 16:12", "sessionTempsNode" : "dkh 12/16/2013 18:59", "setCurrentNode:" : "DataCurator 12/01/2012 08:02", "setCurrentNodeFromClientElement:" : "DataCurator 01/26/2013 23:21", "setFindText:isRegex:" : "dkh 01/31/2014 07:43", - "shellHistory" : "dkh 03/28/2013 19:51", + "shellHistory" : "dkh 06/25/2015 16:12", + "shortestMatchFor:from:" : "dkh 12/19/2014 15:29", + "snapshotDirectory:" : "dkh 03/22/2015 20:58", "spawnDebugger:" : "dkh 02/18/2013 09:09", "spawnWindow" : "dkh 06/05/2013 05:22", - "tabCompletion:" : "dkh 03/28/2013 08:00", - "toString:" : "dkh 03/29/2013 16:00", + "tabCompletion:" : "dkh 12/19/2014 15:30", + "toString:" : "dkh 06/25/2015 16:12", "toolInstanceFor:" : "dkh 04/02/2014 10:23", "topezClientForwarder" : "DataCurator 11/18/2012 15:35", "topezClientForwarder:" : "DataCurator 11/18/2012 15:35", - "windowIdNamed:" : "DataCurator 11/26/2012 14:54", - "writer" : "dkh 03/29/2013 16:12" } } + "windowIdNamed:" : "DataCurator 11/26/2012 14:54" } } diff --git a/repository/Topez-Server-Core.package/TDTopezServer.class/properties.json b/repository/Topez-Server-Core.package/TDTopezServer.class/properties.json index 196aa0dc9..015e11e7b 100644 --- a/repository/Topez-Server-Core.package/TDTopezServer.class/properties.json +++ b/repository/Topez-Server-Core.package/TDTopezServer.class/properties.json @@ -7,7 +7,8 @@ "nodeEditors", "nodePrinters" ], "classvars" : [ - "ConcreteClassName" ], + "ConcreteClassName", + "PersistentElementCacheStack" ], "commentStamp" : "", "instvars" : [ "topezClientForwarder", @@ -20,7 +21,10 @@ "accumulateScriptText", "scriptInputStream", "scriptActionStack", - "sessionDescription" ], + "sessionDescription", + "serverTodeRoot", + "objectSerializer", + "persistentElementCache" ], "name" : "TDTopezServer", "pools" : [ ], diff --git a/repository/Topez-Server-Core.package/TDTxtLeafNode.class/instance/stonContents..st b/repository/Topez-Server-Core.package/TDTxtLeafNode.class/instance/stonContents..st index 7fed0595c..5245d39c8 100644 --- a/repository/Topez-Server-Core.package/TDTxtLeafNode.class/instance/stonContents..st +++ b/repository/Topez-Server-Core.package/TDTxtLeafNode.class/instance/stonContents..st @@ -1,3 +1,3 @@ as yet unclassified stonContents: aSTONString - self contents: (STON fromString: aSTONString) \ No newline at end of file + self contents: (self objectSerializer fromString: aSTONString) \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTxtLeafNode.class/instance/stonContents.st b/repository/Topez-Server-Core.package/TDTxtLeafNode.class/instance/stonContents.st index 2c8b4f2a8..d1be663f6 100644 --- a/repository/Topez-Server-Core.package/TDTxtLeafNode.class/instance/stonContents.st +++ b/repository/Topez-Server-Core.package/TDTxtLeafNode.class/instance/stonContents.st @@ -1,3 +1,3 @@ as yet unclassified stonContents - ^ STON toString: self contents \ No newline at end of file + ^ self objectSerializer toString: self contents \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDTxtLeafNode.class/methodProperties.json b/repository/Topez-Server-Core.package/TDTxtLeafNode.class/methodProperties.json index 23ba40bdd..6e72b5b79 100644 --- a/repository/Topez-Server-Core.package/TDTxtLeafNode.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDTxtLeafNode.class/methodProperties.json @@ -7,5 +7,5 @@ "cat" : "dkh 12/27/2012 16:42", "elementSource" : "dkh 11/29/2013 11:21", "elementSource:" : "dkh 06/03/2014 06:25", - "stonContents" : "DataCurator 12/19/2012 08:27", - "stonContents:" : "DataCurator 12/19/2012 08:28" } } + "stonContents" : "dkh 06/25/2015 16:13", + "stonContents:" : "dkh 06/25/2015 16:13" } } diff --git a/repository/Topez-Server-Core.package/TDVersionInfoBrowser.class/instance/copyObjectMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDVersionInfoBrowser.class/instance/copyObjectMenuAction.selectionIndex..st index 9491fbe9c..4a06d9ec4 100644 --- a/repository/Topez-Server-Core.package/TDVersionInfoBrowser.class/instance/copyObjectMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDVersionInfoBrowser.class/instance/copyObjectMenuAction.selectionIndex..st @@ -4,7 +4,7 @@ copyObjectMenuAction: listElement selectionIndex: selectionIndex selectionIndex = 0 ifTrue: [ ^ false ]. versionInfo := self theList at: selectionIndex. - ^ STON + ^ self objectSerializer toString: {#'addToClipboard:'. (versionInfo name)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDVersionInfoBrowser.class/methodProperties.json b/repository/Topez-Server-Core.package/TDVersionInfoBrowser.class/methodProperties.json index 40a1a0fe2..35294ba77 100644 --- a/repository/Topez-Server-Core.package/TDVersionInfoBrowser.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDVersionInfoBrowser.class/methodProperties.json @@ -3,7 +3,7 @@ }, "instance" : { "clientList:listElement:" : "dkh 03/20/2014 16:27", - "copyObjectMenuAction:selectionIndex:" : "dkh 10/13/2013 10:20", + "copyObjectMenuAction:selectionIndex:" : "dkh 06/25/2015 15:45", "definitionForSelection:" : "dkh 10/13/2013 10:15", "editMenuActionSpec" : "dkh 10/13/2013 10:19", "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 10/20/2013 11:06", diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/basicMenuActionSpec.st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/basicMenuActionSpec.st index 1da353162..eb30aeb19 100644 --- a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/basicMenuActionSpec.st +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/basicMenuActionSpec.st @@ -5,4 +5,5 @@ basicMenuActionSpec "works in concert with menuActionBlock" ^ {{('Object' -> self objectMenuActionSpec)}. + #('-'). {('Window' -> self windowMenuActionSpec)}} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/browsePackageMenuAction.class..st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/browsePackageMenuAction.class..st index 876d36b88..a7b02c97b 100644 --- a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/browsePackageMenuAction.class..st +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/browsePackageMenuAction.class..st @@ -1,7 +1,7 @@ menu actions browsePackageMenuAction: clientElement class: cls | packageDef | - packageDef := (TDClassDefinition className: cls name) packageOf. + packageDef := cls asTDClassDefinition packageOf. (self browseTool: clientElement) browseClassesInPackage: packageDef packageName. ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/browseProjectMenuAction.class..st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/browseProjectMenuAction.class..st index 19dda91da..219da15ff 100644 --- a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/browseProjectMenuAction.class..st +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/browseProjectMenuAction.class..st @@ -1,7 +1,7 @@ menu actions browseProjectMenuAction: clientElement class: cls | configurationDef | - configurationDef := (TDClassDefinition className: cls name) configurationOf. + configurationDef := cls asTDClassDefinition configurationOf. (self browseTool: clientElement) browseClassesInProject: configurationDef configurationName. ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/buildClientElementUsing.editorAspect..st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/buildClientElementUsing.editorAspect..st index 3990286ff..deb66c175 100644 --- a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/buildClientElementUsing.editorAspect..st +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/buildClientElementUsing.editorAspect..st @@ -1,3 +1,24 @@ -as yet unclassified -buildClientElementUsing: aTDEditorSpec editorAspect: finalEditorAspect - self subclassResponsibility \ No newline at end of file +tools +buildClientElementUsing: aTDEditorSpec editorAspect: editorAspect + | clientElement theWindowLabel theWindowIsClosingBlock | + self + theEditorSpec: aTDEditorSpec; + theWindowName: aTDEditorSpec windowName; + theWindowLocation: aTDEditorSpec windowLocation. + clientElement := self clientElement. + theWindowLabel := aTDEditorSpec windowLabel. + theWindowLabel ifNil: [ theWindowLabel := self editorWindowLabel ]. + theWindowIsClosingBlock := aTDEditorSpec windowIsClosingBlock. + theWindowIsClosingBlock + ifNil: [ theWindowIsClosingBlock := self windowIsClosingBlock ]. + ^ clientElement + topez: aTDEditorSpec topez; + aspect: editorAspect; + windowIsClosingBlock: theWindowIsClosingBlock; + menuActionSpec: self menuActionSpec; + menuActionBlock: self menuActionBlock; + editorWindowLabel: theWindowLabel; + editorWindowId: aTDEditorSpec windowId; + editorWindowName: self editorWindowName; + editorWindowLocation: self editorWindowLocation; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/clientElement.st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/clientElement.st new file mode 100644 index 000000000..53561745c --- /dev/null +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/clientElement.st @@ -0,0 +1,3 @@ +accessing +clientElement + self subclassResponsibility \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/clientElementHistoryWindowMenuAction..st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/clientElementHistoryWindowMenuAction..st new file mode 100644 index 000000000..9f2e6dcd6 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/clientElementHistoryWindowMenuAction..st @@ -0,0 +1,3 @@ +menu actions +clientElementHistoryWindowMenuAction: listElement + ^ self clientElementHistoryWindowMenuAction: listElement selectionIndex: 0 \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/clientElementHistoryWindowMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/clientElementHistoryWindowMenuAction.selectionIndex..st new file mode 100644 index 000000000..000475e9f --- /dev/null +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/clientElementHistoryWindowMenuAction.selectionIndex..st @@ -0,0 +1,3 @@ +menu actions +clientElementHistoryWindowMenuAction: listElement selectionIndex: selectionIndex + ^ #'listClientElements' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/cloneWindowMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/cloneWindowMenuAction.selectionIndex..st index be7175ef6..fa7ca18c3 100644 --- a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/cloneWindowMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/cloneWindowMenuAction.selectionIndex..st @@ -1,6 +1,6 @@ menu actions cloneWindowMenuAction: listElement selectionIndex: selectionIndex - ^ STON + ^ listElement objectSerializer toString: {#'spawnWindow:'. (listElement copyForSpawn)} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/clsTool..st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/clsTool..st new file mode 100644 index 000000000..2ecd54836 --- /dev/null +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/clsTool..st @@ -0,0 +1,3 @@ +accessing +clsTool: clientElement + ^ clientElement topez toolInstanceFor: 'cls' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/objectSerializer.st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/objectSerializer.st new file mode 100644 index 000000000..f252a5d3e --- /dev/null +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/objectSerializer.st @@ -0,0 +1,3 @@ +as yet unclassified +objectSerializer + ^ self theEditorSpec topez objectSerializer \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/spawnShellMenuAction.selectionIndex..st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/spawnShellMenuAction.selectionIndex..st index adafae6dc..39c3b6bac 100644 --- a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/spawnShellMenuAction.selectionIndex..st +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/spawnShellMenuAction.selectionIndex..st @@ -1,6 +1,6 @@ menu actions spawnShellMenuAction: listElement selectionIndex: selectionIndex - ^ STON + ^ listElement objectSerializer toString: {#'spawnShell:'. listElement} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/standardMenuActionSpec.st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/standardMenuActionSpec.st index 2c5452c36..157b4441c 100644 --- a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/standardMenuActionSpec.st +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/standardMenuActionSpec.st @@ -5,5 +5,7 @@ standardMenuActionSpec "works in concert with menuActionBlock" ^ {{('Edit' -> self editMenuActionSpec)}. + #('-'). {('Object' -> self objectMenuActionSpec)}. + #('-'). {('Window' -> self windowMenuActionSpec)}} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/usePersistentClientElementCache.st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/usePersistentClientElementCache.st new file mode 100644 index 000000000..304a810cd --- /dev/null +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/usePersistentClientElementCache.st @@ -0,0 +1,3 @@ +accessing +usePersistentClientElementCache + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/windowMenuActionSpec.st b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/windowMenuActionSpec.st index 58d9700eb..89460c44e 100644 --- a/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/windowMenuActionSpec.st +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/instance/windowMenuActionSpec.st @@ -1,9 +1,13 @@ menu action specs windowMenuActionSpec ^ {#('clone window' $C #'cloneWindowMenuAction:'). + #('-'). #('inspect builder' nil #'inspectBuilderMenuAction:'). #('inspect client element' nil #'inspectWindowModelMenuAction:'). + #('-'). + #('history' nil #'clientElementHistoryWindowMenuAction:'). #('list windows' $L #'listWindowsMenuAction:'). #('print window' $P #'printClientListMenuAction:'). #('refresh window' $l #'refreshListMenuAction:'). + #('-'). #('open workspace' 'esc' #'openWorkspaceMenuAction:selectionIndex:')} \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWindowBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDWindowBuilder.class/methodProperties.json index 01d6a2b19..18bad443d 100644 --- a/repository/Topez-Server-Core.package/TDWindowBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDWindowBuilder.class/methodProperties.json @@ -2,20 +2,24 @@ "class" : { "reset" : "DataCurator 02/06/2013 01:52" }, "instance" : { - "basicMenuActionSpec" : "dkh 02/23/2014 09:32", + "basicMenuActionSpec" : "dkh 08/17/2015 17:25", "browseCategoryMenuAction:class:" : "dkh 06/22/2014 09:41", "browseFullClassMenuAction:class:" : "dkh 03/30/2014 15:08", "browseGitMethodVersions:methodDefinition:" : "dkh 07/08/2014 11:12", - "browsePackageMenuAction:class:" : "dkh 06/22/2014 09:49", + "browsePackageMenuAction:class:" : "dkh 09/12/2015 08:35", "browsePackageMenuAction:method:" : "dkh 06/22/2014 13:22", - "browseProjectMenuAction:class:" : "dkh 06/22/2014 09:57", + "browseProjectMenuAction:class:" : "dkh 09/12/2015 08:35", "browseProjectMenuAction:method:" : "dkh 06/22/2014 13:24", "browseReferencesMenuAction:className:" : "dkh 06/03/2014 14:05", "browseReferencesMenuAction:to:inClass:" : "dkh 04/26/2014 09:38", "browseTool:" : "dkh 03/30/2014 12:16", - "buildClientElementUsing:editorAspect:" : "dkh 04/11/2013 14:35", + "buildClientElementUsing:editorAspect:" : "dkh 08/19/2015 13:31", + "clientElement" : "dkh 08/19/2015 13:13", + "clientElementHistoryWindowMenuAction:" : "dkh 08/17/2015 17:15", + "clientElementHistoryWindowMenuAction:selectionIndex:" : "dkh 08/17/2015 17:15", "cloneWindowMenuAction:" : "dkh 02/23/2014 18:05", - "cloneWindowMenuAction:selectionIndex:" : "dkh 04/18/2014 15:27", + "cloneWindowMenuAction:selectionIndex:" : "dkh 06/25/2015 16:15", + "clsTool:" : "dkh 09/10/2015 01:48", "defaultEditorWindowLocation" : "DataCurator 01/27/2013 20:52", "defaultEditorWindowName" : "DataCurator 01/24/2013 13:44", "editMenuActionSpec" : "dkh 02/23/2014 10:06", @@ -37,17 +41,19 @@ "objectClipboard" : "DataCurator 02/05/2013 22:39", "objectClipboard:" : "DataCurator 02/05/2013 22:40", "objectMenuActionSpec" : "dkh 02/23/2014 18:17", + "objectSerializer" : "dkh 06/25/2015 16:28", "openWorkspaceMenuAction:selectionIndex:" : "dkh 06/28/2014 10:23", "printClientListMenuAction:" : "dkh 03/26/2014 10:08", "refreshListMenuAction:" : "dkh 03/26/2014 10:11", "refreshListMenuAction:selectionIndex:" : "dkh 02/23/2014 18:08", "spawnShellMenuAction:" : "dkh 02/23/2014 18:09", - "spawnShellMenuAction:selectionIndex:" : "dkh 02/23/2014 18:08", + "spawnShellMenuAction:selectionIndex:" : "dkh 06/25/2015 16:15", "standardCmdKeyCodePoints" : "DataCurator 01/27/2013 10:36", - "standardMenuActionSpec" : "dkh 02/23/2014 09:34", + "standardMenuActionSpec" : "dkh 08/17/2015 17:25", "theEditorSpec" : "dkh 10/05/2013 10:06", "theEditorSpec:" : "dkh 09/15/2013 21:51", "theWindowLocation:" : "DataCurator 01/27/2013 20:51", "theWindowName:" : "DataCurator 01/24/2013 13:40", + "usePersistentClientElementCache" : "dkh 08/18/2015 11:06", "windowIsClosingBlock" : "dkh 10/20/2013 09:58", - "windowMenuActionSpec" : "dkh 04/27/2014 20:07" } } + "windowMenuActionSpec" : "dkh 08/17/2015 17:23" } } diff --git a/repository/Topez-Server-Core.package/TDWorkspaceClientElementBuilder.class/instance/defaultEditorWindowLocation.st b/repository/Topez-Server-Core.package/TDWorkspaceClientElementBuilder.class/instance/defaultEditorWindowLocation.st index 0f97b0a2a..d7e3f1b61 100644 --- a/repository/Topez-Server-Core.package/TDWorkspaceClientElementBuilder.class/instance/defaultEditorWindowLocation.st +++ b/repository/Topez-Server-Core.package/TDWorkspaceClientElementBuilder.class/instance/defaultEditorWindowLocation.st @@ -1,3 +1,3 @@ as yet unclassified defaultEditorWindowLocation - ^ #'method' \ No newline at end of file + ^ #'workspace' \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TDWorkspaceClientElementBuilder.class/methodProperties.json b/repository/Topez-Server-Core.package/TDWorkspaceClientElementBuilder.class/methodProperties.json index 582844998..11158c45c 100644 --- a/repository/Topez-Server-Core.package/TDWorkspaceClientElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-Core.package/TDWorkspaceClientElementBuilder.class/methodProperties.json @@ -2,7 +2,7 @@ "class" : { }, "instance" : { - "defaultEditorWindowLocation" : "dkh 04/27/2014 11:24", + "defaultEditorWindowLocation" : "dkh 03/19/2015 10:20", "doItContext" : "dkh 05/08/2014 11:50", "doItLiteralArray" : "dkh 06/28/2014 09:51", "editorWindowLabel" : "dkh 06/03/2014 13:56", diff --git a/repository/Topez-Server-Core.package/TodeClientElement.extension/instance/addToClientElementCacheFor..st b/repository/Topez-Server-Core.package/TodeClientElement.extension/instance/addToClientElementCacheFor..st new file mode 100644 index 000000000..70b3c959e --- /dev/null +++ b/repository/Topez-Server-Core.package/TodeClientElement.extension/instance/addToClientElementCacheFor..st @@ -0,0 +1,5 @@ +*topez-server-core +addToClientElementCacheFor: aTDServerStatus + self usePersistentClientElementCache + ifTrue: [ aTDServerStatus cacheClientElementPersistent: self ] + ifFalse: [ aTDServerStatus cacheClientElementTransient: self ] \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TodeClientElement.extension/instance/timestamp.st b/repository/Topez-Server-Core.package/TodeClientElement.extension/instance/timestamp.st new file mode 100644 index 000000000..25db6d319 --- /dev/null +++ b/repository/Topez-Server-Core.package/TodeClientElement.extension/instance/timestamp.st @@ -0,0 +1,4 @@ +*topez-server-core +timestamp + timestamp ifNil: [ timestamp := DateAndTime now ]. + ^ timestamp \ No newline at end of file diff --git a/repository/Topez-Server-Core.package/TodeClientElement.extension/methodProperties.json b/repository/Topez-Server-Core.package/TodeClientElement.extension/methodProperties.json new file mode 100644 index 000000000..7e9826add --- /dev/null +++ b/repository/Topez-Server-Core.package/TodeClientElement.extension/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "addToClientElementCacheFor:" : "dkh 08/18/2015 10:20", + "timestamp" : "dkh 08/18/2015 14:58" } } diff --git a/repository/Topez-Server-Core.package/TodeClientElement.extension/properties.json b/repository/Topez-Server-Core.package/TodeClientElement.extension/properties.json new file mode 100644 index 000000000..fe6c3c464 --- /dev/null +++ b/repository/Topez-Server-Core.package/TodeClientElement.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TodeClientElement" } diff --git a/repository/Topez-Server-Core.package/monticello.meta/version b/repository/Topez-Server-Core.package/monticello.meta/version index 92270b7ee..dc35b15f1 100644 --- a/repository/Topez-Server-Core.package/monticello.meta/version +++ b/repository/Topez-Server-Core.package/monticello.meta/version @@ -1 +1 @@ -(name 'Topez-Server-Core-dkh.89' message '#useNew and #useLoaded for upgrade exceptions to be compatible with recent Metacello changes' id '55fdb0db-17a9-4cbc-b697-d41cb2235c6e' date '10/10/2014' time '15:15:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.88' message 'clean up some undefined symbols' id 'be503cf2-7607-450d-be5b-e155829a1891' date '10/07/2014' time '15:42:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.87' message 'bullet proof against missing local git repositories' id '1932808a-e23d-4193-9df2-f365d8cfc3d0' date '10/07/2014' time '10:00:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.86' message 'fix bug in `project entry --config...`' id 'cb07054d-0b7a-40c5-8dbe-cb851847ae36' date '10/01/2014' time '09:56:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.85' message 'changes needed to be compatible with Metacello support for bitbucket and gitorious repositories (https://github.com/dalehenrich/metacello-work/issues/233)' id 'd3a9240e-d32a-473c-9757-3a92e81c8717' date '09/29/2014' time '12:48:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.84' message 'implemented TDMonticelloTool>>mclist: and TDMonticelloTool>>mrlist:' id 'a3228c90-a687-4277-a9b9-89fabebd9308' date '09/10/2014' time '16:40:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.83' message 'should be able to `add protocol` without having anything selected' id '25a130ca-1c88-4ce2-a4fc-82820909e891' date '09/05/2014' time '11:56:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.82' message 'transitional support for new metacello `list` implementation. Clena up after MetacelloPreview1.0.0-beta.32.15 is in wide distribution' id '5e599507-50e5-48ee-87ee-656be4e3720f' date '09/04/2014' time '17:02:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.81' message 'shouldn''t allow error getting size to prevent the synthetic size to answer something' id '59a92c43-455d-408b-b9e4-c762837fe373' date '09/04/2014' time '16:52:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.80' message 'sync up with new metacello `list` implementation ' id 'ced1e660-8942-4d40-8558-b120b03cd5b3' date '09/04/2014' time '14:38:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.79' message 'When a commit fails in tODE, grab System class>>transactionConflicts before throwing error, so developer has chance to see what the conflict was' id 'a578ca0f-c8d1-4889-82de-53797395afbc' date '08/27/2014' time '12:31:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.78' message 'fix some bugs related to hybrid projects ... ' id '71bb660f-6442-4742-964a-cf13f09206bf' date '08/20/2014' time '07:36:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.77' message 'Issue #105: allow client to enable/disable Transcript usage to avoid slow responses (server-side)' id 'aad7ccb7-f0b7-4d5d-819f-3e9a3b3bb713' date '08/20/2014' time '06:37:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.76' message 'start to propagate the use of project list throughout the system ... need to centralize some of the key algorithms and project list needs to be consistently used throughout...' id 'e6296fe8-c521-4880-9736-e32e0f07f206' date '08/13/2014' time '17:26:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.75' message 'fix Issue #104: lock on clone' id '6e358a1f-9410-4dfb-a3c5-bc96da88ff5f' date '08/11/2014' time '07:57:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.74' message 'merged by GitFileTree-MergeDriver' id '5115ad50-a392-4523-8f0e-91738c3c173c' date '08/10/2014' time '11:39:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.73' message 'fix project list load bug ... nasty one ... was skipping mirations' id 'd1e65589-fbf8-4637-b865-7fc647c0f055' date '08/10/2014' time '21:32:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.72' message '`project list` display was noticably slow on mac ... added some strategic caches in tODE and in Metacello registrations' id 'e48574f6-e978-4d36-86e3-f3e709c2d46e' date '08/10/2014' time '18:01:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.71' message 'add CMD-t as shortcut for `tode it` command in text windows... add `set window size` menu item on navigator so that folks can easily widen or narrow the defaultWindowSize ... make it too bug you risk taking longer to display and/or craching gem with an OOM exception' id '9ab5e1e6-d92b-4960-94c7-ddf8bb29669e' date '08/07/2014' time '23:17:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.70' message 'support for tutorial projects ...' id '18df5598-636d-4282-af6d-7f8e86583448' date '08/07/2014' time '16:12:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.69' message 'add a bit more color to the test browser/runner and insert a strategic yield...' id '89adcc24-901d-4c56-991d-d75608b81c45' date '08/07/2014' time '12:53:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.68' message 'use Red to highlight projects with version skew' id 'ba22514a-3a99-4bca-bbb1-2c88990a8643' date '08/07/2014' time '11:02:23' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Topez-Server-Core-dkh.68' message 'fix bug that causes problems by not migrating properly durig project list loads' id '2215a20a-b46a-489c-be12-0e820bfc0bac' date '08/10/2014' time '22:03:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.67' message 'change the `project load` command defaults to match the interactive `project load` defaults and document the default values' id '4f4cc708-3c0e-4d61-9827-d09b5ceb320b' date '07/30/2014' time '11:23:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.66' message '- add more elements on end of UnorderedCollection navigation lists - better logic for detecting source code format changes for setting breakpoints' id '201180d7-591f-4fad-8efb-1496a44c949f' date '07/29/2014' time '15:33:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.65' message '- remove some obsolete client protocol (modelSleep) - limit number of elements shown in navigator ... ' id '598b0941-633b-4fd3-878f-cebb61b64271' date '07/29/2014' time '15:12:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.64' message '- fix TodeClientMethodElement>>copyForSpawn - fix spawing method from prof monitor tool' id '5f259855-9405-4b25-8ddc-79dac898a5b4' date '07/29/2014' time '14:03:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.63' message 'add (source) navigator field for ExecBlocks' id '4137ec2f-9acf-49c2-943d-fc02453611be' date '07/29/2014' time '12:32:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.62' message 'finishing touches on project entry creation script and command support... ' id '9f97d5d4-e192-4d31-a186-c744a4c91451' date '07/26/2014' time '12:52:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.61' message 'temp branch (7f679e0_merge_69c2526) for merge from 7f679e0 to dev(69c2526)' id '18010828-2523-4cc3-aa0f-c1fb6bc4e54a' date '07/26/2014' time '12:06:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.60' message 'implement TDProjectEntryDefinition>>printOn: for project entries ... support for project entry creation script...' id '78df92c3-3dbb-4df4-b181-f4ee917aff01' date '07/25/2014' time '22:13:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.59' message 'TDMetacelloTool>>projectRegistrationDefinitionMap locking copies the registration, so locked projectEntry needs to replace registration in the map: ' id '74c03bf5-c168-4563-b347-c6db691d927d' date '07/24/2014' time '20:46:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.58' message 'work on `project load` implementation' id '077715c4-b6af-4a5e-8a42-792dd1a463e3' date '07/24/2014' time '18:44:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.57' message 'shorten TDMetacelloTool>>projectLoad:doGet:gsDeployer:selector:repositoryDescription:className:loads:version:onConflict:onDowngrade:onLock:onUpgrade:ignoreImage:silently:cacheRepository:repositoryOverrides: so that git repo can be used on windows ' id '6602b8c6-74a1-4afc-a048-5d58c5a8a736' date '07/22/2014' time '15:51:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.56' message 'bullet proof project registrations some more' id '1397598f-e31d-4f5b-8801-3b8b681047b4' date '07/16/2014' time '15:55:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.55' message 'UnorderedCollections viewed as array (inspected as internal structure)' id 'fa93184b-a93d-42e5-ac3c-ea72f4dc2068' date '07/15/2014' time '12:15:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.54' message 'reset globals for SHOUT after project load...' id '3983939d-beb1-4774-9aee-1b6bbfb78e6e' date '07/15/2014' time '11:53:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.53' message 'tweak project entry man page and fix a man page bug' id '5100525f-7e43-45b5-94dc-5ad541e0e2c6' date '07/15/2014' time '11:44:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.52' message 'The projectPath for TDProjectEntryDefinition can be set at scan time ...' id 'd3196a1f-33e4-4bcc-8497-9c1d7ebd1bf6' date '07/15/2014' time '08:08:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.51' message '- rename `project new` to `project entry`. - update the `project entry` man page - fix up some minor bugs in the TDManPage implementation' id '522bdfb3-5770-41dc-8b06-f1d8f1f8a2f1' date '07/14/2014' time '11:07:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.50' message '- `project new` will create nodes in path - gateway nodes needed a bit of love' id 'bbee816f-b3a7-434a-8dbe-af2c62af0dc3' date '07/12/2014' time '15:44:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.49' message 'newly created project entry should be active' id 'f395e997-2545-49ad-b378-319e92873367' date '07/12/2014' time '08:48:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.48' message '`project new` command for creating new project entries...' id '21fd0b49-52f3-434f-a2f3-6224a9c39a53' date '07/11/2014' time '22:13:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.47' message '- unregister unloaded project registrations - allow lock specification in the project entry ... forces lock of the project spec' id '3e138f45-1712-439f-9cbc-04bb85ed8309' date '07/11/2014' time '20:40:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.46' message 'make `project list` immune to missing /home directory.' id '8dd2db09-f055-4227-bead-b9861cf7912a' date '07/11/2014' time '18:21:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.45' message 'identify locked/unloaded projects ' id 'a7b41717-1e91-48cc-98a2-cb0aa09e29aa' date '07/10/2014' time '16:34:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.44' message 'Issue #74: implement the full complement of method menu items ...' id 'bbe60a56-ae3c-4ddc-bd5d-0dbc85d781cf' date '07/08/2014' time '15:32:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.43' message 'Issue #74: all class-related menu items implemented' id '41bf0583-73bd-42d1-9ed8-b71149f0b54a' date '07/08/2014' time '10:20:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.42' message 'Issue #74: checkpoint - add class/subclass - class comment - copy class - fileout - move to package' id 'e082b5b3-6db4-427a-bb37-8d1c4ea637c6' date '07/07/2014' time '23:45:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.41' message 'Issue #94: proposed bugfix' id '79cc7af7-6934-45bd-be49-bbc8c8c7fc99' date '07/07/2014' time '20:23:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.40' message 'Issue #94: checkpoint' id '6dca53bb-ae71-4281-8f30-e0f339703fea' date '07/07/2014' time '17:09:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.39' message 'removing formatOnAccept and formatOnDisplay logic from TodeClientSourceElement ... that has been handled on the server side fo rsome time now ...starting on Issue #94' id '6090d3f7-8de8-4f5d-a57e-467b57db3e4d' date '07/07/2014' time '16:35:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.38' message 'more "survive unloaded project" code' id 'c33a427b-ecfc-4b8c-9171-3b238ecfe965' date '07/06/2014' time '09:01:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.37' message 'fiddle with TDMetacelloHybridRegistrationDefinition>>workingCopies to survive an unloaded project...' id 'b5f74026-e4a4-44c7-9545-ece8b6cbe1e5' date '07/05/2014' time '18:34:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.36' message 'get git log for unloaded git projects .... record FileTree dependendency ... bump up number of git log entries retrieved' id '6f63b200-b477-4da0-a037-f7b1f13a2073' date '07/03/2014' time '17:43:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.35' message 'patch when removing configurations' id 'b2b6d1f1-dcd2-4893-908e-621ed9fa9b97' date '07/02/2014' time '14:53:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.34' message 'Issue #92: minor fix ... good to go' id 'd7cee9a1-411a-4292-821a-6a024f191d93' date '07/02/2014' time '13:45:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.33' message 'Issue #92: get started on fix Here''s the sequence of git commands used to implement this feature: - git clone --no-cache - git checkout branch - git symbolic-ref HEAD - if fatal: prompt for new branch name and checkout -b newBrancName' id '309cdc7a-cbbb-4db7-8a17-901f88cdef6c' date '07/02/2014' time '13:24:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.32' message 'hybrid packages/dirty packages listing ' id 'f7bf8964-de11-4314-be14-ff5fac371438' date '07/01/2014' time '16:18:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.31' message 'hybrid project repositories ...' id '5a598b49-f0f9-4619-a74a-74ffe2571281' date '07/01/2014' time '16:11:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.30' message 'clean up the project get logic so that the specified version is preserved ...' id 'cd227445-15f1-4565-ae42-ba8733dcd50f' date '07/01/2014' time '15:58:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.29' message 'a couple more tweaks for handling hybrid projects' id 'dcefaa3b-b2cd-4e78-89df-b804eed34c7a' date '07/01/2014' time '15:11:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.28' message 'Issue #96: remove halt ...' id '7d589b26-8f1a-4d6b-bc9b-79186e18c867' date '07/01/2014' time '11:31:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.27' message 'Issue #96: first cut at fixing this issue ... - apparently all Seaside packages are not being loaded from github repo so these guys need to be looked at' id '3688d35a-f4c6-41c3-9c44-6fce95f85790' date '07/01/2014' time '11:31:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.26' message 'extended notion of hyrid project to unloaded projects ... preparing for clone of hybrid repository ...' id '7322a718-6520-44ae-b037-6169f37a52ae' date '07/01/2014' time '09:56:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.25' message 'more hybrid project support' id 'e4e07da7-1d59-4f5c-8d85-2c92a3788cd0' date '06/30/2014' time '20:23:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.24' message 'enable baseline and configuration for unloaded hybrid projects' id '4a255f3c-4fc6-46a6-90b5-6fa52cd94b6b' date '06/30/2014' time '19:13:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.23' message 'pick up Object>>sunitChanged: ... needed for test browser' id 'dad67b22-becb-41d8-84a6-7f133204a394' date '06/29/2014' time '16:48:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.22' message 'Issue #91: add tracing to object log when running tests (sync with Zn logging) ... commit when saving source (was not routed through `accept` menu item ... yikes)' id 'aa657ce5-3ff7-4d9e-907c-439fd8a892d6' date '06/29/2014' time '11:40:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.21' message '- working on fixing disappearing comments for workspaces (comment no statements) - adding RBWorkspaceNode as extenstion to RB AST... - clean up workspace code so that it''s possible for workspace to correctly access temps and args for debugger context - debugger context browse class and browse full cleaned up' id '2396fa11-0ff3-4289-a018-60ad1805525f' date '06/28/2014' time '15:58:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.20' message 'Issue #91: internal restructuring and support for rerunning different test result sets' id '64423f4b-5609-496e-9e5e-7f0fcd89fe35' date '06/25/2014' time '21:34:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.19' message 'Issue #91: add `debug` and `browse full` menu items to test browser' id '96ef7f62-5796-4afe-a16c-eadf588027b1' date '06/25/2014' time '16:42:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.18' message 'Issue #91: first cut at test browser tool ... hooked into `project list` at the moment ... - new package for some tests that I''m using for testing the test browser ... ' id '6d11b4b6-a2ce-4f86-95c8-5c8dc4b398d4' date '06/25/2014' time '16:18:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.17' message 're-enable `browse full` (CMD-B) in all of the usual places by (correctly) adding classMenuActionSpec to menus and correctly enabling the proper menu items...' id 'bf3b3119-b3bb-400d-a962-956d161909fd' date '06/25/2014' time '11:08:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.16' message 'Issue #74:class/method/object menu monkey business - prep for skeletonizing the method menus ... ' id 'a89f3da0-884d-447c-b94c-bb27b8945f6a' date '06/24/2014' time '17:03:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.15' message 'Issue #74: enable/disable class menu items' id '036ad30e-cb09-4156-a3c8-db642267a208' date '06/24/2014' time '10:19:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.14' message 'Issue #74: sketch out class menu ...' id '0b4a0497-50e6-4d88-93f7-c04e5db18b18' date '06/23/2014' time '20:13:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.13' message 'Issue #74: finish up (really!) search menu items for method text ... text window menus should all be functional now...' id '5a6cf524-ac4e-40bb-80be-4140d7f36dcf' date '06/22/2014' time '13:29:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.12' message 'Issue #75: delete no longer used methods; Issue #74: additional work for text window search methods' id '6bde77ee-859a-4d3b-98ee-819a1092826c' date '06/22/2014' time '12:00:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.11' message 'Issue #74: infant mortality...' id 'b5b44abc-7423-455e-a835-c5323424890d' date '06/22/2014' time '11:46:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.10' message 'Issue #74: text editor `Browse > *` menu items are all functional' id '20e09935-7fed-4c1d-a876-efd896011cf1' date '06/22/2014' time '11:36:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.9' message 'fix a bug...' id '994a213b-80e5-412f-9ab8-e107411bc1c0' date '06/20/2014' time '21:12:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.8' message 'adjustment for hybrid projects' id '8a938bc7-3d8b-46dc-b748-d184d4498410' date '06/20/2014' time '14:53:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.7' message 'fix a project list `load` bug when an entryless project is loaded' id '8ba123de-fab5-4b0b-9d38-4b01286a7b1d' date '06/20/2014' time '14:04:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.6' message 'Issue #84: bugfixes' id '0e57e2cb-c981-422e-b903-c424c4528451' date '06/20/2014' time '13:33:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.5' message 'Issue #89: put commit in menuActionBlock methods - all menu selections and keyboard shortcuts go through the menuActionBlock - remove the commits that were put into the menu actions that needed a commit ... they are all covered now...' id '2dbb08df-ed6c-41ad-9e04-0ee5979f0613' date '06/20/2014' time '13:02:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.4' message 'Issue #84: finish off hybrid project implementation - TDMetacelloRegistrationDefinition is now an abstract class - move responsibilities into TDMetacelloRegistrationDefinition subclasses, so that hybrid project can provide proper behavior - can now edit baseline or configuration from `project list`' id '71c7063a-34aa-4fa9-a39c-1d9c818ad7d0' date '06/20/2014' time '11:00:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.3' message 'Issue #84: more prep work - push some more methods around so that the hybrid registration can do it''s thing' id 'bcc6faf6-10d2-44ba-a2b7-b3fba703a977' date '06/20/2014' time '07:41:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.2' message 'Issue #84: starting to explore the hybrid configuration space ... - so far it seems I might be able to keep Metacello out of this, which would be convenient at the moment the handling of the hybrid configuration for Metacello registrations is pretty much spot on ... - hybird configuration is a configuration that loads a baseline from github (or filetree) - basically the configuration is hanging onto the version (tag) and the repository where the configuration itself was loaded from ... the rest of the useful information comes from the baseline ...' id 'a547bb1b-e824-4834-919f-8366f8462e8a' date '06/19/2014' time '18:18:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1' message 'merged by GitFileTree-MergeDriver' id 'e2afca7f-3a84-4730-9a63-77403c02f174' date '06/18/2014' time '08:55:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1046' message 'fix a `skew save` bug' id '2ce15ec4-d478-4da6-91d4-4196adb8870c' date '06/18/2014' time '20:54:36' author 'dkh' ancestors () stepChildren ())(name 'Topez-Server-Core-dkh.1045' message 'temp branch (61d8d83_merge_09a3826) for merge from 61d8d83 to dev(09a3826)' id '0068ca3f-f225-41da-94d2-dd90de91b970' date '06/18/2014' time '20:51:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1044' message 'Issue #75: rip up all of the old keyboard block support' id 'f03b19bf-e192-4b78-9ad3-2bfa7c08689b' date '06/18/2014' time '17:08:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1043' message 'Issue #75 remove last vestiges of cmdKeyBlock' id '0dbc94da-1bdf-4f4b-9b18-05b026a49d44' date '06/18/2014' time '14:53:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1042' message 'Issue #71: fix inspector label' id '306d852e-96a4-485b-8197-d982c596983b' date '06/18/2014' time '13:40:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1041' message 'final bit for revert ' id '03791061-7a28-41af-a2de-5f1561f82db4' date '06/18/2014' time '10:33:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1040' message 'more work on revert...' id '75903fcf-7922-4c2e-bb03-8b0f34f04f8e' date '06/18/2014' time '10:30:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1039' message 'make sure that dirty baseline will be reverted by TDProjectSpecEntryDefinition>>concreteRevertProjectUsing:registration:' id 'd28d54d0-93b4-41a6-ba8c-13219ff4d06c' date '06/18/2014' time '10:25:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1038' message 'implement configuration lock/unlock properly' id 'd252b1ba-0ab0-4a0c-8f05-9d42b9282ef0' date '06/17/2014' time '12:49:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1037' message 'allow for locking of configuration-based projects' id 'c23eab10-6cce-4b13-a8b5-123c67201f5b' date '06/17/2014' time '12:34:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1036' message 'update man page for `project load`' id 'ba7bf571-eb8d-430d-859b-97c75ec9fbf2' date '06/17/2014' time '12:28:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1035' message 'propogate the className arg further throughout the project load ecosystem' id 'bd8d90a5-cfd1-4b05-bb85-2a79f0d73afd' date '06/17/2014' time '12:27:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1034' message 'adjust project entries to handle configuration classNames different from project name' id 'd382be26-4f3b-4d49-8e4d-1a4ae9bdb36c' date '06/16/2014' time '17:21:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1033' message 'add `configuration` menu item to `project list` - browse the cofiguration or baseline class ' id '587247f8-0932-490c-a9c0-fb149c1d8882' date '06/16/2014' time '16:15:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1032' message 'debug `project load` and `project clone` commands' id 'e5488457-68b3-406a-a4ab-c59381853fb9' date '06/13/2014' time '02:06:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1031' message 'implement `project clone` and `project lock`, augment `project load` - implementations all moved from the `project list` menu items' id 'a00767c4-703c-440e-bcc5-e488dc2a278d' date '06/13/2014' time '01:13:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1030' message 'found a couple of places where parent is wrong when looking at mounted directory nodes (happens when the mount name isn''t the same ... methinks)' id '648e3138-1c84-4eeb-8bd9-3796129e1629' date '06/12/2014' time '14:15:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1029' message 'dalehenrich/metacello-work#223: useNew instead of useIncoming' id '14fc4f5c-0ae3-4871-a4f4-47968fa48c7a' date '06/11/2014' time '17:52:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1028' message '`mr create` doesn''t create ... maybe it should - as reported by Paul[1], `mr create` should check to see if dir and if not, confirm and try to create directory if it doesn''t [1] http://forum.world.st/tode-st-mr-create-any-trick-to-get-it-working-for-server-directories-td4762485.html' id '92433519-00a5-4aff-b49f-aad1fa35664e' date '06/10/2014' time '20:04:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1027' message 'restore bedit tool to standard build ... ABSOLUTELY needed for `cls rename` ...' id '7c6a0df0-5c3f-474f-b419-6949a55e1178' date '06/08/2014' time '14:18:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1026' message 'add a couple of useful menu items to TDGitRawHistoryBrowser: - ''full commit log entry'' - ''changes for commit'' ' id 'f9382dda-361f-4631-9e71-d4586fb5a055' date '06/08/2014' time '13:25:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1025' message 'about time I added the `edit:` method to object ...' id 'e1fa6494-2afc-4a21-ae59-cb74308586fc' date '06/07/2014' time '09:34:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1024' message 'fix up mv logic for proxy/gateway/filesystem leaf node' id 'f59fe3ed-2abe-41b0-a5f7-d1e6420f70c6' date '06/06/2014' time '15:25:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1023' message 'a bit more work getting the cp/proxy/gateway/filesystem eco system in shape' id 'eb90c820-067f-4445-b16d-6053ff27deee' date '06/06/2014' time '12:46:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1022' message 'fix bugs in `cp` command when target and destination are the same node (and the target/destination is a proxy)' id '52077c18-a688-472a-a5e2-308873094fd3' date '06/06/2014' time '12:30:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1021' message 'hook up remote breakpoints mechanism to tODE...still needs testing ...' id 'dac712b5-b240-4d09-b7f1-e8974f8743f9' date '06/05/2014' time '16:18:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1020' message 'implement `create new package` in working copy browser ... bugfix for `project rehome`' id '90f7bbd8-8635-4d41-858f-63b1188c7eb2' date '06/04/2014' time '14:49:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1019' message 'implement `project rehome` command' id '5f8acd4a-9cdd-4eed-9824-645758f447a4' date '06/04/2014' time '13:53:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1018' message 'add `deploy` option (auto|bulk|none) to `project load` command (and api)' id 'bc93adbe-266b-463d-a5b7-f1bbb4362366' date '06/04/2014' time '11:08:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1017' message 'should be able to edit the project file for a non-metacllo project (git only)' id '5b049498-24a4-4d4d-9699-fedb6f55b8ed' date '06/04/2014' time '10:35:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1016' message 'package history needs to use package name plus branch to target the correct directory' id 'c5486e87-f502-4cfb-be5f-453575772cea' date '06/03/2014' time '16:55:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1015' message 'Issue #71: all "browser" windows should have meaningful window labels - all "browser" windows should be block-based. Query is re-run when window refreshed' id '2190aad6-ac10-4082-ae34-8e8ae70221a1' date '06/03/2014' time '14:31:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1014' message 'remove TDObjectLog and TDObjectLogElementBuilder as they are no longer used' id '4eebfc66-5222-439b-bfc4-623d21b18382' date '06/03/2014' time '07:42:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1013' message 'implement `attach` menu item in `ol view` for debugging continuations - actually debugging continuations via RemoteDebuggerLogEntry is problematic: - DebuggerLogEntry class>>createContinuationFor: breaks when used with RemoteDebuggerLogEntry (cannot find compiled method) - when the continuation is continued via `value: #debug`, the process gets a SIGSEGV (in 3.2) - defer til later - attach works fine' id '0d199fb6-58b8-42e1-9624-e34dc6fc0f1e' date '06/03/2014' time '07:35:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1012' message 'finalize implementation of `Configuration > load version` menu item in project list... - should be active whether or not the config is loaded - should be able to load even when configuration has yet to be loaded ...' id '329bd745-3200-47e8-b8ba-b76245216845' date '06/02/2014' time '16:49:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1011' message 'implement `Configuration > load` menu item ...' id '1dd8d9e0-09a2-46e0-b371-723e9bdc31e9' date '06/02/2014' time '16:35:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1010' message 'Issue #79: final fix ... - turns out that when handling MetacelloIgnorePackageLoaded, we need to have the monticello version (file field) if it is available' id 'e528e01f-e98a-4354-80a4-7363d29ae282' date '06/02/2014' time '15:41:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1009' message 'Issue #79: proposed fix ... - load over dirty packages only when package is in list of packages directly contained in project - ignore package loaded only when package is in list of packages directly contained in project' id '666852b3-a71e-4fac-a4b1-4af1071f64a2' date '06/02/2014' time '14:10:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1008' message 'Issue #77: final set of changes to seal the deal' id 'c9731f72-acae-48e7-ad77-90e6f7dd9d53' date '06/02/2014' time '13:56:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1007' message 'issue #77: partial fix ... server-side changes returing true/false in response to text `accept`' id '8c40c0d9-6476-4edd-a74e-1e67028b5e3d' date '06/02/2014' time '12:04:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1006' message 'add `Git > reset` menu item to project list - does a `git reset --hard` used when $+ shows as dirty - `log` menu item not available for github based projects - refine when project list refreshed' id '63f6ea28-0e4e-497a-b6a9-e530755123d6' date '06/02/2014' time '11:33:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1005' message 'add commits to apprpriate menu items in project list - commit belong in the menu call to functions - commands invoked from command line get an auto commit at end of command anyway, so we don''t need to put commits where they aren''t needed' id '0c376c9e-329a-4d78-8719-017f7dc4471f' date '06/02/2014' time '10:24:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1004' message 'fix CMD-L in Categories list' id '1e2c6257-7a43-4577-a545-0c5dd4da0dd3' date '06/02/2014' time '10:08:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1003' message 'fix dirty display in project list for TDGitProjectRegistrationDefinition' id '3cfb97fd-a998-4975-848d-ca51664b2613' date '05/31/2014' time '18:05:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1002' message 'allow save in project list despite version skew' id 'fe9ce53c-5753-440f-baba-99060e56d0f8' date '05/30/2014' time '15:16:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1001' message 'implement install source/destination method in monticello merge browser' id 'f295eb11-c146-40cd-b056-cf53ce2dad70' date '05/30/2014' time '15:15:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1000' message 'add new browse class/method implementors/senders to monticello merge browser - install source/destination not done yet - repurpose TDAbstractDevTool>>parseMethodSpec: to just return TDMethodDefintions (used to return GsNMethods) - TDAbstractDevTool>>methodFromMethodSpec: returns GsNMethods - share Method menu items between TDMergeDiffBrowser and TDFileTreeDiffBrowser via TDAbstractMergeBrowser - touch project list menu yet again - fix TDMonticelloTool>>mcmerge:and:in: - implement flush cache in repository browser ' id '41c157c5-a097-4aed-8f85-cfd6db0747a0' date '05/30/2014' time '13:26:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.999' message 'show both * and + .. - no longer necessary to try to combine image and git diffs in same view - should provide combined git diff view that combines unstaged, working copy and staged diffs into single window...' id 'c03ef9ae-683f-48ab-8e2b-aadc910a9f2d' date '05/30/2014' time '08:28:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.998' message 'first cut at combining metacello project and git status/diffs - ''+'' indicates git repo dirtiniess - popping up `git diff` and `git diff --cached` windows, but unstaged files are not in mix ... - probably best to merge the git changes into a single window where output of the two diffs plus new files are shown in a single view ... ultimately image changes should be combined?' id 'e2e93669-67f6-469c-88c3-4374479b4fad' date '05/30/2014' time '08:18:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.997' message 'dirty for a git project should include dirty git repo - a dirty git repo is on that has staged and unstaged changes - diff should a) image changes, b) disk only changes - not quite there yet for disk changes (unstaged changes not being shown' id '1466089c-6f34-4481-a8d2-84e198a53ee8' date '05/30/2014' time '08:04:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.996' message 'refactor diff/merge to use source/destination instead of local/remote - try to use (-) --> (+) in window labels for clear indication of source and destination (direction of diff) - rename instance variables and selectors to use source/destination terms ' id '43f42b4b-1d60-4742-9d1f-d1e678bf1786' date '05/30/2014' time '07:21:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.995' message 'implement `merge` menu item item for project list' id '379a0d1e-bf78-4f0d-a684-798c60ca95a8' date '05/29/2014' time '17:41:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.994' message 'dirty packages and repositories added to project list menu' id 'baa6631d-0fd6-4790-83e0-a3a82ce21734' date '05/29/2014' time '16:47:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.993' message '`skew save` complete - automatic merge success and failure branches covered ..' id '4ca1c7e5-b074-4d3d-94f9-00184dd30aa4' date '05/29/2014' time '15:09:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.992' message 'skrewing around with skew - diff (cached) menu item - git diff tool now has options for --cached and (not) --cached - use loadProject (not revertProject) as final step in skew save - redecorated project list menu ' id 'e374b87b-d769-43a2-a266-3af4853bcfe2' date '05/29/2014' time '13:51:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.991' message 'tweak project list menu' id '9e9dd42e-5d77-4973-992b-04b8619439b0' date '05/28/2014' time '22:00:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.990' message 'good progress on `save version skew` menu item - git->diff menu item shows outstanding changes in sandbox - skew diff and skew save menu items implemented - git reset command implemented - git merge tool tweaked a bit to break out ''nothing to merge'' test and to allow project tool to supply complete/abort block to merge tool ' id '4a624731-5ecc-4728-9319-5c8eaa010657' date '05/28/2014' time '21:58:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.989' message 'more git menu items (and implementations) project list - git branches, checkout, fetch are the new menu items and implementations - pull, push, diff are new implementations ' id '36d546c1-15a5-4023-85cf-5c6575a26b21' date '05/28/2014' time '16:50:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.988' message 'yet another round of menu wrangling for project list' id '76bdd2e5-c89b-482c-b185-007521f540e6' date '05/28/2014' time '15:39:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.987' message 'reorganize project list menu' id '8262d155-b518-49a3-bbfc-25fed87e0bf7' date '05/28/2014' time '15:12:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.986' message 'fix a `cp` issue involving gateway nodes for file system directory (/home/project)' id '73a642c6-cc1e-4790-b10e-f28f3985214e' date '05/28/2014' time '14:46:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.985' message 'even better home node hack for mount command' id '42678dd2-5869-47e5-ab5d-b1d7ac82fc53' date '05/28/2014' time '13:27:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.984' message 'better handling for reset home node in mount command' id '9200aa98-f931-4edb-a472-07bff931fd0e' date '05/28/2014' time '13:25:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.983' message 'get new `mount` command working - have to reset TDTopezServer>>homeNodeReset as part of mount in case home node redefined ... better hack possible - redefine the scriptPath default' id 'ef2467bb-b02e-483e-b3ad-81f4a1486dc0' date '05/28/2014' time '13:24:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.982' message 'rename serverTodeHome iv in TDSessionDescription to serverTodeRoot - revamp `mount` command - add --todeRoot arg so client scripts don''t have to be customized as customization is done at the TDSessionDescription level - add --asLeafNode arg so that file system directories can be treated as directory nodes (default) or leaf nodes (useful for mounting raw directory structure' id '247229a8-c77f-4af0-aa40-39b96c4b4c51' date '05/28/2014' time '12:14:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.981' message 'hooked up initialization of TDProjectEntryDefinition DefaultGitRootPath from session description at login' id 'f63d5d4d-21af-492d-b52a-0934d7af1c82' date '05/28/2014' time '07:55:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.980' message 'server side support for sharing session descripton' id '665e3643-7cd6-4d85-bf3a-5613e8f50ff7' date '05/28/2014' time '07:30:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.979' message 're-enable autoCommit after logout ... clean TDShellTool>>browseclass' id 'cfcae40b-721d-4377-8d71-f64c8939d52f' date '05/27/2014' time '11:34:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.978' message 'have to include a doGet parameter in `project load` api' id '8ae3dd3d-02b7-49e0-9f97-48e5d4d223d0' date '05/27/2014' time '11:11:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.977' message 'enable GsInteractions for tODE in GemStone 2.4.x' id 'ee1173fd-6759-46c9-b539-038a7a13a11e' date '05/25/2014' time '11:34:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.976' message 'Not all of the defs in Topez-Server-31x-Core package were appropriate for 3.0 - move the defs appropriate for 3.0 to Topez-Server-3x-Core (where they belonged in the first place)' id 'c563075a-7345-4872-a171-f00528bd2e9c' date '05/24/2014' time '09:34:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.975' message 'clean up some sent but not implemented' id 'aa7564da-e917-4cb1-bdda-d350a3976d68' date '05/24/2014' time '08:32:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.974' message 'blow the dust off of the mergetool and do a merge ... - dropped a stitch or two in recent work to push git diff code around' id '0d570ab3-e524-40e0-8773-d3cfcf4d733f' date '05/23/2014' time '13:49:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.973' message 'preserve selected project on refresh after list reorders ... part deaux' id 'ea20b89f-066f-4010-b241-05997ac4a157' date '05/23/2014' time '12:25:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.972' message 'preserve selected project on refresh after list reorders' id 'b3882b7f-0299-4275-8db5-fcda57f8004a' date '05/23/2014' time '12:01:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.971' message 'unloaded project should answer same whether or not configuration/baseline is in image...' id '419505e6-3e4f-4101-a172-b2f431031f6a' date '05/23/2014' time '11:54:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.970' message 'rename Metacello submenu to Project in project list' id 'db88ac0c-1df2-48a0-ae88-168b03c1a3c2' date '05/23/2014' time '11:33:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.969' message 'implement git history for package - define windowLocation iv in TDAbstractToolBuilder - configurationOf/packageOf defined in TDMcPackageDefinition. Previous support methods moved from TDClassDefinition - push project list menu around a bit' id '6a60dbdc-4ca8-4651-b812-be347fe54968' date '05/23/2014' time '11:31:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.968' message 'git-base method versions and class versions - git log displayed with commits that only affect the selected class or method - clicking on the commit comment brings up a diff (for methods) or a difference browser (for classes) that show the changes to the relevant methods/files within the class structure - TDGitRawHistoryBrowser has become the utility browser as it invokes a block on click allowing customization of action ... probably ought to replace other browsers with this style of operation - make unregister project available for all projects ... convenient when you want to completely change how a project is loaded ... unregister, modify @project file, load ... only the changed definitions are loaded (if any) but all project list structures are updated ' id '1ef3d7ba-5ac9-4ddd-aa98-afc1d00b453b' date '05/22/2014' time '18:14:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.967' message 'turns out I need way to look up the project registration from the project list ... who''d a thunk?' id '331e2b33-4e25-414b-8796-b40f4cb33021' date '05/22/2014' time '07:38:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.966' message 'make sure that projects with version skew are visible - try to color the line red (doesn''t work?) - sort to top of project list - funky ()s to draw the eye' id 'c440dcf5-96dc-463c-909e-4ecd098f1b20' date '05/21/2014' time '15:33:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.964' message 'turn red if version skew exists' id 'c547d677-a0d8-4114-886d-c1adf5c35351' date '05/21/2014' time '15:10:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.963' message 'use the @project file to change what gets loaded ... at least for the load list' id '0fcf4139-a2a0-49de-a7fc-0bb0a412e096' date '05/21/2014' time '15:06:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.962' message 'should be legal to clone an unloaded project' id 'dbdc53bd-1e92-4f9f-8754-541a4b6a0361' date '05/21/2014' time '14:26:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.961' message 'filter same source, clone repo fix - option to filter out same source entries in diff - fix clone to properly register the correct repository' id 'ce84beca-d25a-45ec-83ea-dc1511473999' date '05/21/2014' time '11:02:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.960' message 'implement `unregister` which removes an unloaded project from the registry' id 'e89ce9af-675e-4d37-9c52-0c0b37f2f9fd' date '05/21/2014' time '07:28:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.959' message '`man --class` and comment a few classes - class comments! ... well only a couple ... - implement `man --class ' id '2546ecd0-6536-42b5-b5c0-ba5d308535be' date '05/20/2014' time '20:19:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.958' message 'support for lock/unlock of projects & bugfix - handle error condition in TDMetacelloProjectBrowser>>cloneProjectMenuAction:selectionIndex: - lock/unlock of projects - only baseline projects may be locked - honor locks during standard project load - use registry to find projects (not Metacello image) ... so that unloaded/locked projects can be displayed' id 'a55ea65a-7b72-4f5d-8fb6-fccb8a8b6ea1' date '05/20/2014' time '19:42:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.957' message 'implement clone github project in project list - `git clone` implemented - TDMetacelloTool>>projectMap:toRepository: implemented' id 'b7b1f0fc-37c6-416f-a58b-801c43da4f73' date '05/20/2014' time '16:40:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.956' message 'fit edit project file bug ..' id '385a25d0-16f7-4765-95a9-c6397348bb8a' date '05/20/2014' time '11:57:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.955' message 'release version implement for project list - rework configuration commit logic ... don''t attempt to update the configuration if there were no packages committed in this commit ...' id '41d9de64-e571-41fa-93d7-09489e8ab8ca' date '05/20/2014' time '11:41:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.954' message 'implement commit log for configuration-based projects' id 'ccd60d39-3860-4923-9a41-8d8c8aa3212d' date '05/20/2014' time '11:01:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.953' message 'use the new increment/decrement Major/Minor/Patch version numbers for MetacelloSemanticVersionNumber and MetacelloVersionNumber' id '08f9bf31-49eb-4030-b182-22f3fb9fa014' date '05/20/2014' time '10:12:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.952' message 'fix up implementation of project list browse categories' id '46d82fad-289e-4b26-ae0d-3d5b5d268fa8' date '05/20/2014' time '07:56:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.951' message 'version skew implementation had skewed' id 'bd534136-4ce6-44ba-94f8-9312a2ed089f' date '05/20/2014' time '06:34:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.950' message 'implement `browse categories` in project list' id '80a05a9e-1019-42f1-92a1-9a6f16de0917' date '05/19/2014' time '12:32:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.949' message 'fix for 3.1.0.5 and TDMetacelloRegistrationDefinition>>entry default defined - Object>>sourceCompilationContext should just return `self` then `self` can be used in all expressions' id '8f60c04e-1936-4051-b664-110c25af15f2' date '05/19/2014' time '11:53:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.948' message 'progress on configuration-based project support ... tweaks - tweak selector view to allow narrower windows - progress on configuration-based projects - new major/minr/patch menu items - switch/load/revert basically work, but revert needs more testing ' id 'adf5bdd3-6a8a-43ca-991a-c7343d6c52ed' date '05/19/2014' time '10:35:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.947' message 'create TDMetacelloTool>>projectRegisterConfiguration:version: and rename TDMetacelloTool>>projectCreateConfigurationDevelopmentVersion:spec:version:from:' id '8ba2ff5f-1978-4cf0-95a3-54c011ad2f05' date '05/16/2014' time '17:17:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.946' message 'implement `create new version` and `edit project file` in `project browser` - start on `switch version` ... which should end in `project register` command' id 'a885b751-ee5d-4e17-a0eb-577bf9c82e7d' date '05/16/2014' time '17:11:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.945' message 'baseline/configuration specific menu items in project list - permit bulk enable/disable' id '05b4d057-fb86-4fe3-913b-9d5dbd43ce9f' date '05/16/2014' time '15:17:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.944' message 'fiddle with project list menu ...' id '278d6fb8-dbcd-4abd-acdc-045a50c09a2c' date '05/16/2014' time '14:40:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.943' message '`inspect` added, `save` configuration functional - add back `inspect` command ... too useful to lose - add `browse classes` menu item to project list might want to include the configuration, too? - use --porcelain option for `git status` menu item in project browser - configuration-based `save` appears to be working; dirty packages saved and configuration updated and saved ... need to work out scheme for opening a new version for development since registration needs to be updated ... - --config option added to `project commit` command to control whether or not the configuration is updated/saved after saving packages' id '69657ccd-02c0-4178-a522-b34bfe717735' date '05/16/2014' time '14:30:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.942' message 'get unloaded projects functional (get and load) - readjust enabled menu item algorithm - move handful of methods form TDMetacelloRegistrationDefinition to TDMetacelloProjectRegistrationDefinition' id 'b7509ba0-725b-4953-9f86-e4b75c276dce' date '05/16/2014' time '07:15:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.941' message 'github repos are read only ... don''t enable `save` menu item' id '3e3f4ec0-df54-401d-a2e2-863ac0c2e4c9' date '05/16/2014' time '06:22:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.940' message 'add some caching in TDAbstractProjectRegistrationDefinition - isActive and isDirty are expensive operations. The objects in the list are rebuilt every time, so we can afford to cache. - rediculous perfomance improvement ... ' id '8c26c0f4-2547-4818-a232-82e9b46aac18' date '05/15/2014' time '22:33:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.939' message 'support for new style repo node ... - just need to be able to return the repository object for repo node' id '58f6370d-8165-4234-935c-91a7072d6fb1' date '05/15/2014' time '22:08:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.938' message 'final(?) git project adjustment - only the metacello registration needs to track the version info after a commit' id 'fb6c8f3b-a17a-48b0-ae4d-1f04726c9939' date '05/15/2014' time '21:12:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.937' message 'git project improvements - display dirty mark - show git repo branch - MetacelloPlatform method take directory path as arg now' id '6da72ab4-d7b8-4d47-a4c6-23a5372c5760' date '05/15/2014' time '21:00:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.936' message 'arrange for doing diff for git-only repo - history not available in diff browser when doing plain diff' id '09edb7c4-0eb4-43ed-bdcc-2e68b1ade16a' date '05/15/2014' time '20:32:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.935' message 'checkpoint ... major overhaul of `project list` ... add support for pure git repository management - the webEditionHome or todeHome git repository needs to be managed from within tODE ... generic support for managing any old git repo added in - refactored the (former) TDAbstractMetacelloRegistrationDefinition renaming it to TDAbstractProjectRegistrationDefinition and jiggering hierarchy. TDMetacelloRegistrationDefinition survived finding a new place in the hierarchy. - TDProjectEntryDefinition (formerly TDProjectExtensionsDefinition) class hierarchy added to support the on disk project registration node' id 'c4acb325-50f0-4750-be2b-193f21f93074' date '05/15/2014' time '19:12:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.934' message 'unloaded project entries reveal their target version' id '730ba5ba-4bab-4841-89b0-5873281459e1' date '05/15/2014' time '16:11:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.933' message 'project list work (sorting, emphasis, hookup project dirs) - sort dirty and `active` projects at top of project list - unloaded projects included in list (at bottom) - `get` menu item added .. get configuration so you can look at config - project node in a directory in /home gets extension info included ... - node includes projectSpec for loading (if not loaded) - list of overridden functions - whether or not the project is active - wire out auto package/config display ' id 'b69780f9-81c7-4659-83ee-e537e864ef6b' date '05/15/2014' time '15:19:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.932' message 'add `version skew` item to project browser - version skew appears when the git commit associated with the image is different than the HEAD of the git repository. The `version skew` menu item shows the diffs bewteen the two versions.' id 'ec5f387c-c3bb-44a2-b7f4-576d8739f592' date '05/15/2014' time '06:50:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.931' message 'moments away from testing the project extensions - new hierarchy TDAbstractMetacelloRegistrationDefinition TDMetacelloRegistrationDefinition TDMetacelloRegistrationPlaceholderDefinition - take bypass code out of TDMetacelloTool>>findProjectExtensionNodes to start testing' id '2f02851e-5815-4eb1-933d-fe3a5445d1a8' date '05/14/2014' time '21:30:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.930' message 'script testing complete ... happiness' id 'e4877e3a-d250-4548-b655-3678610ed65e' date '05/14/2014' time '20:35:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.929' message 'checkpoint ... 123... testing /home/templates/commit script' id 'dc88fad6-e1a9-42ce-b9e9-8554585bd71e' date '05/14/2014' time '20:34:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.928' message 'testing .... 123' id '57f2540e-3cb3-4f4a-9436-91106ce9d462' date '05/14/2014' time '20:34:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.927' message 'testing .... testing' id '0171069b-6ee9-4263-acc9-325837b55cab' date '05/14/2014' time '20:33:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.926' message 'checkpoint ... testing /home/templates/commit script' id '1dc465bf-ecde-45c4-bdae-72ef85d322fb' date '05/14/2014' time '20:32:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.925' message 'checkpoint ... testing /home/templates/commit script' id '93463f5e-7d52-46b2-bfdd-789ae2314bb6' date '05/14/2014' time '20:27:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.924' message 'checkpoint ... testing /home/templates/commit script' id 'c1a44e57-ccfd-4dca-9278-bd75cf0aca59' date '05/14/2014' time '20:26:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.923' message 'checkpoint ... testing /home/templates/commit script' id '018f319f-b191-4de8-8b1c-dc75de6cbb00' date '05/14/2014' time '20:23:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.922' message 'preparation for hooking scripts defined in /home/tode up to the Project Browser - pushing implementation of selected project menu items (changes, save, load, revert) to TDProjectExtensionsDefinition where it will be possible to override these items with calls to the scripts in the project directory ... thus the user can customize the behavior of these scripts and ensure common behavior between tools and command line. - commands may specify a fifth argument in their blocks to obtain the actual commandNode that implements the command ... primarily useful for shell nodes to determine which directory they are defined in ...' id 'e530162c-fa02-49fb-8dfd-af57435ab4bb' date '05/14/2014' time '16:44:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.921' message 'TDGitFullHistoryBrowser is not block-based (Cmd-l recalculates list)' id '9adad606-1df7-4079-b657-9849045def91' date '05/14/2014' time '11:48:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.920' message 'transcript logging when `save project` is canceled ... ' id 'f768ac56-cac1-42b1-b41f-67c30bdcacfa' date '05/14/2014' time '11:24:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.919' message '`load` and `revert` menu items implemented in project list tool ' id '5277b136-bdda-4dec-abb9-fc8f94dcba28' date '05/14/2014' time '11:22:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.918' message 'don''t auto select category anymore ... if necessary add a menu item to bring up the info about the class (category, package, configuration, etc...)' id '68d237c1-5e98-4ed1-9556-658a19478acb' date '05/14/2014' time '10:18:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.917' message 'when a category is selected in Categories window, display the classes in the category...' id '4c741901-f038-41e7-a932-6019a09e9c87' date '05/14/2014' time '10:13:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.916' message 'fix unnecessary limit in diff command and adjust `project list` menus - MCDiffyTextWriter>>writePatchFrom:to: imposed 10k char limit on size of method BaselineOfMetacello>>baseline: exceeds that limit ... get rid of limit - `project list` - rename menu items - combing last commit log entry and status into one command' id '86994885-177d-45a1-adce-5dc7e618d7ea' date '05/14/2014' time '07:39:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.915' message 'fix bug in project tool `image changes` when there were no diffs ...' id 'baba2f89-81d5-4f3c-8393-3aaeb618fa2f' date '05/13/2014' time '21:46:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.914' message 'implement project browser reload command' id '24eacc61-5bc5-4030-8b1b-478790576fef' date '05/13/2014' time '20:06:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.913' message 'resolving tension for TDStandardTool class>>initializeTools - initializeTools needs to be sent post load for package Topez-Server-Core but during inital install cannot be sent until TDTopezServer class>>instanceMap is install from Tode-GemStone-Server-Core - so during initial install, initializeTools is sent post load for both packages - during update the post load for Topez-Server-Core will kick in as desired' id '6855fda3-15d7-4d4e-a8d7-2244d0113e67' date '05/13/2014' time '19:30:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.912' message 'initializeTools in baseline ... pick up loads from registration ... stub out `bu remove`' id '00a2f8dc-3ee2-4346-bf2c-98d67cb72730' date '05/13/2014' time '16:23:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.911' message 'push some code around' id '72baa71f-0799-42a5-b1af-71019ea4f732' date '05/13/2014' time '16:04:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.910' message 'implement `project load` and `repository flush` commands - standardize registration lookup and git required error - project load api with reasonable defaults ' id '1215ddbb-340d-4dcc-b089-a3e5cec04216' date '05/13/2014' time '15:56:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.909' message 'add `git status` to project browser menu' id 'f0ae98ad-9a6e-4771-bac2-75c634801a7e' date '05/13/2014' time '12:06:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.908' message 'add commits when package/project save operations complete' id 'fa22eb3c-4c59-4c76-878d-c4585725c1be' date '05/13/2014' time '11:56:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.907' message 'add #app3 and #app4 window locations positioned above #app1 and #app2 - created named window locations app3 and app4 for more options positioning "multi-pane functions" - use the new named window locations for monticello browser functionality - add date information to the "oneline" commit log displays - arrange to call `TDTopezGemStoneClient initializeBounds` when Tode-Client-Common is loaded to ensure that we pick up new bounds in TDTopezClient class>>createBoundsDictionary' id '4255f953-41ed-48f7-8964-1d054f1a561b' date '05/13/2014' time '11:07:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.906' message 'add full current log entry menu item' id '7b81fb5f-74da-4bb2-8d21-e24965091ca8' date '05/12/2014' time '19:53:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.905' message 'file tree diff browser gets install remote/local ' id 'fea77918-c7e3-4a4d-add8-2db021341aab' date '05/12/2014' time '19:38:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.904' message 'full commit log browser and project browser tweaked - full commit log entry displayed when log entry selected - finer control over commit log browser window label - project browser menu re-ordred' id '753aee7c-d04a-4f25-826f-fba01df5b032' date '05/12/2014' time '17:48:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.903' message 'tweak project browser - refesh list on commit - re-order menu items' id 'e4defb02-0aad-4583-b680-a344857f7e9c' date '05/12/2014' time '17:36:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.902' message 'Add commit, diff, log menu items to project browser: - `project log` command implemented and documented in support - refacted the `project` implementations to provide Smalltalk API - implement TDGitFullHistoryBrowser>>fullLogMenuAction:selectionIndex: leveraging TDGitTool>>gitlogtool:limit:gitRepoDirectory:' id '62872911-65d9-4430-89a9-9bed02d34265' date '05/12/2014' time '17:34:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.901' message '- add full history browser (on commit log entries) - selected class filter for the file tree diff browser - browse the changes for a single commit menu item added hither and yon - TDGitTool>>gitfiletreeChangestool:gitRepoDirectory: - I like the funtionality, but I think the browser can use a little restructuing ... fortunatley there''s just not a lot of code involved...' id 'faf8c7fc-6aae-4945-a33f-66e2925d84c4' date '05/12/2014' time '15:55:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.900' message '- straighten out logic in commit file history calculation ... limit the commit range to the range for the origin diff - add `diff to here` menu item to complement the `diff from here` menu item in the history browser' id '9d64b516-5034-422b-aa3a-786db3f38bbb' date '05/12/2014' time '14:43:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.899' message '- implement Git History Browser that displays git history of selected method in diff/mrege browsers - hooked up to file tree diff browser at the moment, but need to include with methode vresion history as option ... - enable/disable Method menu items in the filetreediffbrowser based on whether selected item is a method or not ... - getting close to starting work on reworking the TDGitDiff/MergeOperation hierarchy ' id 'ddd95f5b-df2f-40aa-ba7e-97ec335fefd1' date '05/12/2014' time '12:58:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.898' message '- added browse method menu item to file tree diff tool - add toggle view st only menu item to file tree diff tool' id '2c017fb5-e539-4712-a810-629214f46bf7' date '05/10/2014' time '22:26:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.897' message '- fine tune `filetreetool` feature implementations - toggle view st only menu for `filetreetool`' id 'cd30b45f-d342-4daf-b7a3-c53d42d503eb' date '05/10/2014' time '21:03:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.896' message '- improve git diff support 1. better error handling for bad commitish 2. identify add/modify/delete - improve `filetreetool` 1. display method spec for smalltalk methods 2. `browse class` menu item for smalltalk methods' id 'a9a43754-0154-454e-9c40-8f53488b295d' date '05/10/2014' time '20:41:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.895' message '- TDMetacelloTool class>>priority for proper tool registration' id '281f5a40-938d-40b7-96f9-6a78e74f0245' date '05/10/2014' time '10:59:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.894' message '- fix issue when removing class from system in Hierarchy window - fiddle with categoery window - hook up merge diff browse for git merge and mc merge - remove TDMergerClientListElementBuilder and TDMergeTool' id '7e13deeb-dc31-4a3e-9b97-f5f0ae7de413' date '05/10/2014' time '08:11:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.893' message '- remove TDGitDiffer class as it has been replaced by TDGitDiffBrowser - add undefined symbol handling to the code that does reflection on script path nodes. Scripts can have all kinds of undefined symbols, but that should stop us for searching for references or senders or literals ' id '4652e86b-aa2f-4a30-865d-51bc8c4e6fa0' date '05/09/2014' time '21:15:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.892' message 'remove TDDiffClientListElementBuilder' id '74d6587a-a81a-4178-9a05-f59aa4be2971' date '05/09/2014' time '17:18:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.891' message '- remove TDGitDiffer class as it has been replaced by TDGitDiffBrowser - add undefined symbol handling to the code that does reflection on script path nodes. Scripts can have all kinds of undefined symbols, but that should stop us for searching for references or senders or literals ' id '70875ae6-cca9-42fb-9272-dbb50ae17a53' date '05/09/2014' time '17:02:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.890' message '- TDFileTreeDiffBrowser created and looks good (formats the smalltalk methods in FileTree structure before compare) and allows for doing senders and implmentors ... - TDMergeDiffBrowser and TDGitDiffBrowser created, but not hooked in quite yet' id '41d6d057-c73a-4e92-91fe-25b343dfdf6a' date '05/09/2014' time '15:42:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.889' message '- add `inspect` item to object menu - dip toe in water for revamping git diff tool' id 'f127031b-f816-4c2e-9e7c-461de5d42750' date '05/09/2014' time '12:32:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.888' message '- configuration or baseline should be included in project working copies - implement `add repository to package` menu item in repository browser' id '3b290723-2b81-438c-a654-d67264be0de3' date '05/09/2014' time '11:06:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.887' message 'signal command error if sub command is not known ...' id 'f4721a10-368c-40b6-829f-e247ed8b008f' date '05/09/2014' time '10:29:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.886' message 'tweaks...' id '316bb0a0-5b62-4a4d-aa32-b016100ff4fa' date '05/09/2014' time '10:25:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.885' message '- display branch for git repos in `project list`' id 'f36e7afc-61b6-468f-81bd-5baf25809788' date '05/09/2014' time '10:14:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.884' message '- refactor a bit so that monticello operations can be shared amongst tools - rework `project commit` - implement `project compare` for doing git comparison between in-image project SHA and another commitish - implement `project diff` - enhance `project prime` - nicely filling out portfolio of git-based project support' id '29a7c069-03b8-4f21-9b09-10679e73d919' date '05/09/2014' time '08:34:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.883' message '- refactor a bit so that monticello operations can be shared amongst tools - rework `project commit` - implement `project compare` for doing git comparison between in-image project SHA and another commitish - implement `project diff` - enhance `project prime` - nicely filling out portfolio of git-based project support' id '40484b39-1b74-4767-a9ec-22c2ca7aa1f9' date '05/09/2014' time '08:33:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.882' message '- refactor a bit so that monticello operations can be shared amongst tools - rework `project commit` - implement `project compare` for doing git comparison between in-image project SHA and another commitish - implement `project diff` - enhance `project prime` - nicely filling out portfolio of git-based project support' id 'd58f4f09-164f-4721-b522-9a4f124ece68' date '05/09/2014' time '08:30:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.881' message '- get tests passing' id 'c3de5189-1d59-438c-909a-aa8d78ca846d' date '05/08/2014' time '20:39:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.880' message 'fix up commitMessage resolution' id '1f56603e-0c11-4ffb-b378-7cae556734dd' date '05/08/2014' time '20:32:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.879' message '- implement `project commit` command ...' id '022576fc-08fe-4ca0-b3e5-0bcabf1f9c18' date '05/08/2014' time '20:18:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.878' message '- implement `project commit` command ...' id '37803dde-1270-487c-89c2-d8ec66ecce87' date '05/08/2014' time '20:15:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.877' message '- implement `project commit` command ...' id '816d1e37-1914-4540-a7ee-c2700f9efaea' date '05/08/2014' time '20:12:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.876' message '- project browser ... show current SHA opf git repo (if different from image)' id 'fdddafcb-057e-41d4-8307-b21fa4d6b0cb' date '05/08/2014' time '18:34:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.875' message '- project browser ... mark dirty packages' id '4c56dd3e-c379-4449-9d40-92039b684c85' date '05/08/2014' time '17:14:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.874' message '- `project list` command fleshed out - leverages the new repositoryVersionString support in Metacello and TDMetacelloRegistrationDefinition wrapper - MetacelloProjectBrowser display' id '454b6f99-b210-46eb-92f1-7d505ea4624d' date '05/08/2014' time '15:53:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.873' message '- tighten up workspace doit logic' id '63e1f290-b072-4630-9d8c-94320d944993' date '05/08/2014' time '14:04:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.872' message '- checkpoint for `mp` work ... commands names changed to `project`, `package`, and `repository` ...' id '8055b9a1-acea-455f-944d-bbdc4ea8f8e7' date '05/08/2014' time '11:39:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.871' message '- checkpoint for `mp` work ... add man pages with spec for commands ' id '100c404e-b69a-4097-a441-a8552e8b341c' date '05/08/2014' time '08:12:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.870' message '- checkpoint for `mp` work ... fine tune a bit' id '350db181-176c-476e-a5a5-73b68e221c58' date '05/07/2014' time '16:08:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.869' message '- checkpoint for `mp` work ... feeling out the shape of the Metacello proejct space' id '85e3b7df-8f72-4a66-9a33-8853ca9985ba' date '05/07/2014' time '15:02:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.868' message '- checkpoint' id '57186e3d-ad7a-44ff-9fd6-fa65538751f4' date '05/07/2014' time '13:02:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.867' message '- start work on `mp` command ... this is a big one ... push `find` work on the stack ... ' id '7c6754d9-5306-4cc2-8d99-512061e4d68d' date '05/07/2014' time '12:51:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.866' message '- fix up `eval` command ... different implementation between 2.4 and 3.x' id 'ee224447-a330-4e51-8ca7-4efa1aee4128' date '05/05/2014' time '22:15:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.865' message '- fix up `eval` command ... needs same compilation/execution sematics as `ws` command' id '4daa79b0-6e74-4b43-86cc-1d3092df0c95' date '05/05/2014' time '21:29:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.864' message '- implement `edit` command - implement `eval` command - tests - `print`, `inspect`, ''view` commands deleted' id '2f2662d9-a81a-4c4c-90b6-7606e2252434' date '05/05/2014' time '10:40:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.863' message '- start re-implement of `edit` (`print`, `inspect`, ''view` commands will be deleted)' id '2a40ff16-9096-445b-8b66-0bef293158f5' date '05/04/2014' time '16:25:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.862' message '- re-implement ''ds` command - `man` tweaked - tests' id '30700e83-61e7-4d80-861e-7366f9f0cbd3' date '05/04/2014' time '14:56:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.861' message '- `run` and `doit` commands removed - `ws` command tweaked' id '764cc4e6-2f52-4b41-94b8-92518b4fbe9a' date '05/04/2014' time '14:31:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.860' message '- implement `break` family of commands to replace `db break` family - man pages and tests - misc tweaks' id '6e204805-62d7-4d6e-8512-e49a0c9458da' date '05/01/2014' time '04:19:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.859' message '- new man page for `cp` command - tests' id '56ee688b-9dd9-4cbe-b49e-3ef0676427af' date '04/30/2014' time '20:41:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.858' message '- windowName is important attribute for TDAbstractToolBuilder ... needed for `man --all`' id '4a23e452-bd31-4408-91df-a08a527801da' date '04/29/2014' time '08:08:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.857' message '- tweak TDShellTool class>>browseconfigurationsManPage' id 'd7217b8b-482b-4c45-93d2-3fdc843eb38e' date '04/29/2014' time '08:01:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.856' message '- `browse categories`, `browse configurations`, `browse packages` implemented - tests - `configs` and `pkgs` ... gone' id '339ae73d-dcfb-4ede-bacb-f00872db9cbd' date '04/29/2014' time '07:59:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.855' message '- categorization' id '13cd7ace-8bad-4488-9c31-83464b567a77' date '04/28/2014' time '20:57:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.854' message '- tweak TDManPage>>asText' id 'c550cdcc-3d19-4e90-94b6-547934de35ae' date '04/28/2014' time '20:39:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.853' message '- implement `method versions` command - tests - that''s it for the `method` familyof commands' id 'f12504d1-8b0f-4024-ab37-e3ae0d2ab77f' date '04/28/2014' time '20:16:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.852' message '- implement `method remove` command - tests ' id 'afec0a37-fe0c-4f28-94ac-acea46f8019d' date '04/28/2014' time '20:05:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.851' message '- implement `method move` command - tests - isolate the `method` command operations in separate methods for Smalltalk scripting' id 'db64d325-bacd-4afe-a29e-0be1431780e8' date '04/28/2014' time '19:53:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.850' message '- implement `method copy` command - tests' id 'e16c0f43-6e8e-46e7-a9fc-adcc1ed92974' date '04/28/2014' time '18:30:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.849' message '- clean up implementation of `debug it` ... need to be able to access literals in doit context - start work on `method` command - implement `method browse` command - implement `method protocol` command - tests' id '4bd0f63a-6cc7-420b-942b-db64e80490aa' date '04/28/2014' time '17:56:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.848' message '- `commit` command reworked - tests ' id 'eb90f14b-ea90-4879-8e25-d80a4a99ce20' date '04/28/2014' time '16:06:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.847' message '- `cls remove` implemented - tests ' id 'e232d3fc-5008-456b-b340-c69469a805e8' date '04/28/2014' time '15:49:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.846' message '- `cls category` implemented - `cls rename` implemented - document that `cls protocol` accepts @ references.. - define doitContext for debugger source window - fix a bug in TDShellTool>>protocol:rename:to: in Gemstone 2.4 - tests ' id '9f0bd4a4-6464-4d0d-b6b5-2ba652bf69b4' date '04/28/2014' time '13:13:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.845' message '- `cls protocol` implemented - tests - `protocol` command removed ... replaced by `cls protocol`' id 'bfac6e57-8231-4fda-8140-3e76e657c700' date '04/27/2014' time '22:29:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.844' message '- `cls history` revisited' id '0e16618e-7425-486f-b3c6-2984080a2d13' date '04/27/2014' time '21:14:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.843' message '- server-side open workspace support ' id '3e3a99e3-7f87-4f47-b2c0-74aec6e606bc' date '04/27/2014' time '20:27:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.842' message '- implement skeleton `ws` command' id '9ea893c2-69fd-46d7-a1be-1958b32232c4' date '04/27/2014' time '12:28:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.841' message '- TDWorkspaceClientElementBuilder provides for a workspace on an object ... the workspace contents is defined by a string and the objectBlock defines the target object - plan to define a workspace (ws?) command that takes objIn to define the target object... - right now `cls definition` with no args opens a workspace on nil...' id '7081e8af-6d59-4161-88c8-3e998eea1ab9' date '04/27/2014' time '12:18:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.840' message '- implement `cls definition` command - tests - `cls create` command removed ... not very useful ... use the `cls definition` command instead' id '470f682a-01a2-47c0-9c0d-51189d5cb760' date '04/27/2014' time '11:19:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.839' message '- `implement `cls copy` command - fix bugs in `cls accessors` command - tests ' id '3ab32d61-2243-4e9b-942d-4be585195f86' date '04/27/2014' time '09:22:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.838' message '- multiple class args for `cls accessors` and path ref - `implement `cls comment` command - tests' id '6076d9ff-a1b4-4e35-82bc-b4857bf42930' date '04/27/2014' time '08:05:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.837' message '- TDAbstractDevTool class>>performCommand:objIn:commandOptions:todeCommand: to provide for --help for regular commands - --help option added to abort, cat and cd commands ... tests - categorize some TDShellTool methods ... those that have been rewriiten - begin work on the `cls` command ... - `cls accessors` implemented plus tests - fix an option handling error in `bu` command' id '37b3f709-506a-4bab-a922-094bcf309fe7' date '04/26/2014' time '21:09:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.836' message '- convert implementors and senders menu itme in method lists to use blocks .... - slice halos out of system ... make the TDHaloDevTool obsolete - MethodReference>>printOn: make the class inspector friendly' id 'e07d9a93-b1d8-46c0-b026-b1793c8cc416' date '04/26/2014' time '10:00:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.835' message '- obsolete a bushel of classes that are not used right now and/or will have to undergo major changes if they are to be brought back into tool set ... roassal was a proof of concept ...' id '144b60da-48e8-4000-a7ff-e4aa3220637a' date '04/26/2014' time '08:42:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.834' message '- split TDBatchEditTool and friends into separate package ... this is a useful tool, but it needs to be re-written a bit before it becomes part of standard tool set ...' id '1becf109-88de-437f-9664-8ed5c479d336' date '04/26/2014' time '08:26:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.833' message '- move a bunch of classes to the obsolete repository ... these tools have marginal utility and need to be rewritten before re-incorporating in standard tode ...' id '45f55b2e-fbb2-4606-81fd-f053b2df742a' date '04/26/2014' time '07:52:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.832' message '- patch TDManPage>>= ... ' id 'f2b85f9c-77c1-4009-b2bb-c5df2794e192' date '04/20/2014' time '22:41:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.831' message '- add SEE ALSO section to man page - `bu` command man pages and new implementation based on getopts' id 'b68ab87f-845d-4295-bc7e-af8dd4ec0d63' date '04/20/2014' time '21:06:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.830' message '- `man` command test' id '93a881a4-6487-4aaf-860c-bbdd80840874' date '04/20/2014' time '15:22:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.829' message '- re-implement `man` ... support for subcommands and command line options - man page browser - add a commandName to the man page' id 'cba3c7cf-7c95-4f25-9654-f6fb4537edb0' date '04/20/2014' time '13:54:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.828' message '- implement block-based class browsing so that refresh of window recalculates search - the `browse` command is now the poster child for the proper way to implement commands: - man page and subcommand man pages - full use of command and subcommand options - block-based windows so refresh (CMD-l) recalculates original search' id 'a78d5ad7-40b8-4bba-bb79-3be7ffb0bd31' date '04/20/2014' time '10:15:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.827' message '- working on getting tests to pass in GemStone 2.4.x' id '86aecccd-4005-4789-89f4-b2989c174791' date '04/19/2014' time '20:44:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.826' message '- fix problems with labels for the new blobk-based commands - all tests should pass now ...' id '5dbbaeab-4bda-4c8c-a354-d1640c2eaf17' date '04/19/2014' time '15:05:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.825' message '- remove undeclared symbol references from Tode code base - implement block-based method browsing so that refresh of window recalculates search - need block-based class browsing .., - use GsDeployer for class changes - fix up item selected problems ... - add --staticList option bot `browse` command' id '84c01fee-24fb-4f2d-8341-ce11fac12dd3' date '04/19/2014' time '12:14:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.824' message '- `browse source`, `browse undeclared`, `browse variables`, and `browse versions` implemented and man pages written ... and tests defined ... - one final pass to define refresh blocks needed' id 'e3fae755-36c2-4b6c-a8c6-174d23909f84' date '04/19/2014' time '09:03:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.823' message '- recategorize some `browse` methods and throw the unused ones away' id '4704b970-2472-4ebf-b7bd-40f5c458b2c2' date '04/18/2014' time '20:24:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.822' message '- implement and write man page for`browse sender` - fix up problem with --scriptPath option ... create TDShellTool>>browseLeafNodes:pattern:label: method - catch up with tests ' id '53965107-9c91-4fe7-b5a5-5b2af9ea8d8f' date '04/18/2014' time '20:18:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.821' message '- implement and write man page for`browse references`, `browse diff`, `browse list`, `browse package`, `browse project`, `browse method`, `browse class` - stub out `browse variables` and `browse undeclared` - add some tests ... still need to make sure that test are up-to-date with respect to implementation' id 'ce77b6d4-8f24-476f-9147-3008b129fe59' date '04/18/2014' time '17:40:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.820' message '- handle AlmostOutStack as a printing error - add subCommand --help and `man` support to tools - --select option added to all browse commands (need to implement) - `browse category` command added again, plush subCommand man page - `browse class` man page updated for subCommand support (still need to finish `browse class` implementation - `browse` man page updated for subCommand support - `browse symbolDict` command and man page added - tests ' id 'b921c7b6-e4b8-4681-aec7-c9f3c1a50e02' date '04/18/2014' time '14:05:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.819' message '- TDCommandLine>>getOpts:subOpts:optionsAndArguments: makes it possible for a shell block to use sub commands - rename ''Search'' submenu to ''Browse'' to match the command name' id 'f7cb3bd4-9c52-4dd3-9685-93bd2721b031' date '04/18/2014' time '08:17:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.818' message '- add options section to TDManpage - push things around a bit in TDManPage to facilitate the creation of subcommand man pages' id 'acfe972e-4019-4225-97c5-c0234f67c42e' date '04/17/2014' time '21:42:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.817' message '- enhance filter block test to verify that block is being compiled and used correctly - start adding subcommands to man page ... bite the bullet now...' id 'b026658f-72e1-433c-ae4f-de94ded18f3e' date '04/17/2014' time '17:03:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.816' message '- fix problem with incorrect `` escape handling - checkpoint working on add --filter to more `browse` commands including embedding code for filter block - revisit `browse references` --literal option ... just compile literal from the string - `browse category` folded into `browse class` command - currently debugging TDShellBrowseCommandTests>>testBrowseMethod ... will need to review man pages and update commands/tests to match the man pages ... ' id '231adcb6-bec0-45e9-b315-e27d5925711f' date '04/16/2014' time '16:35:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.815' message '- more `browse` command tests' id '7d65ad61-3ba8-4cf8-a8f9-1f6c0668a922' date '04/16/2014' time '07:30:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.814' message '- fix up references searching for method and class definitions, since we''d like to be able to search for variable references within the context of the class ' id '2ddc9e7a-c0d8-425a-a207-0e88b5d346fa' date '04/16/2014' time '07:08:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.813' message '- tweaks to `browse` command - clean up some obsolete `browse` methods - begin work on `browse` command tests' id '63a92d78-cb84-4972-bf59-a5fdc93c0116' date '04/15/2014' time '21:17:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.812' message '- finally finished pass through `browse` command' id '7d3bf98f-729f-44f2-8275-b6f134571225' date '04/15/2014' time '20:24:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.811' message '- allow -r or --regex ... pretty common - implement new `browse source` - implement new `find source` command' id '83e9d5e9-357c-4569-a9fb-6e18043c8ac4' date '04/13/2014' time '18:40:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.810' message '- use TodeCommandError in strategic areas ... avoid debugger popping up for command related errors ...' id '875626cb-d705-4342-882e-67f95a8f0137' date '04/02/2014' time '10:26:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.809' message '- implement `browse --help` - implement `browse category/package/project/versions` - fiddle with `browse class`' id '78e208e6-856a-4fed-8335-9f2611a55580' date '04/01/2014' time '17:36:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.808' message '- CharacterCollection should include size... - ByteArray print shouldn''t be truncated and shouldn''t print the String interpretation...' id '5a740263-61bf-44cf-aab4-88bf9ff63a4b' date '03/31/2014' time '21:38:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.807' message '- `browse references` command re-implemented ... more reference browsing options supported (from command line) ... see if we can support from menu? - new find references methods ... - revamp `browse method|sender|class` for multiple arguments ' id '627c0e27-711d-4245-b81f-062c7dabcfaa' date '03/31/2014' time '17:04:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.806' message '- `browse --scriptPath source` needs to search through all of the objects including non-executable objects' id 'f931f247-0e62-4297-8d19-bac7cb63ed60' date '03/30/2014' time '21:16:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.805' message '- implement `browse class` with options: - browse class [--hier|--full] ' id '52d490af-5ae1-4209-98c3-844fa7eef41a' date '03/30/2014' time '15:24:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.804' message '- make pass through senders menu/shortcut/commands so that they all use the same methods ... - working my way through all of the browse/find commands' id '64bf2f96-1afa-4647-8810-9606e0582cc5' date '03/30/2014' time '13:22:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.803' message '- make pass through implementors menu/shortcut/commands so that they all use the same methods ... - browse/find commands now take command options - amethod, rmethod, method variants collapsed to single subcommand with options - working my way through all of the browse/find commands' id '6a4774e3-d536-4d72-9572-168f5a3241eb' date '03/30/2014' time '12:29:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.802' message 'arrange infrastructure to support primary commands with options and subcommands with options and arguments ...' id '07ccbfac-1593-4903-9088-90d79a689186' date '03/30/2014' time '10:55:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.801' message 'add another windowLabel' id '375c6962-69b3-4c35-8db9-b36020ebea6b' date '03/30/2014' time '07:52:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.800' message '- refine protocol for TDClientSourceElementBuilder methods - implement a few more `Search` submenu items - make sure that all `browse` commands have windowLabels' id '2b640ff0-2650-49e8-bb3a-84e953b24fa9' date '03/29/2014' time '19:41:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.799' message 'add insert timestamp menu item/shortcut' id 'c0dc555f-22c5-45fa-be1f-53b1b3bf5029' date '03/29/2014' time '12:23:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.798' message 'implement the `Method` menu items and sketch out the `Search` menu itmes ...' id '9ce37ece-78d8-4fa6-b475-d1999ccb3ac9' date '03/26/2014' time '22:07:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.797' message 'Object menu functional in code window ... `tode it` and `profile it` menu items implemented ...' id '063467ed-28b9-4a60-860d-85b72899a73e' date '03/26/2014' time '18:59:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.796' message 'add `format method` menu item for method source elements' id '2b4c98e4-42a4-4676-903f-7489281ea717' date '03/26/2014' time '17:10:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.795' message 'server-side ...with auto-formatting it is not necessary to support crWithIndent: ... besides I hate the crWithIndent: algorithm ... counts number of tabs on line without regard to location' id '29ed66fa-6aae-4589-a271-e1d17ad676e3' date '03/26/2014' time '17:06:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.794' message 'server-side ... arrange to allow for the standard text manipulation commands like find, selectAll, etc. to be defined by menu entries and allow for semantics to be switched between crWithIndent: and pure cr ,,, debugIt implemented' id 'd020efff-a40e-45cb-bcdb-e93115475fdf' date '03/26/2014' time '16:28:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.793' message 'client support for basic menu actions working for menu and keyboard shortcut fof text panes ...' id '60f3db58-c6d1-4843-b6b8-e76d9f88f304' date '03/26/2014' time '14:30:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.792' message 'implement framework for extracting key bindings from menu for code editor ... should probably do something similar for the list editor key bindings ... there shouldn''t be a key binding without a menu item ...' id '1b8aeafe-00ce-457b-a332-a6c020d480cc' date '03/25/2014' time '22:07:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.791' message 'adjust the server-side source element menus to provide option for passing in an interval and dirty flag instead of the selection which means we can do things like `set breakpoint`' id '6022df81-66f9-4075-9ccc-e30ea471a778' date '03/25/2014' time '13:25:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.790' message 'server-side support for printIt, doIt, inspectIt' id '875f99f4-4551-45cd-b1c3-e56320137f5c' date '03/24/2014' time '22:20:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.789' message 'add (utf8) synthetic field for CharacterCollections...' id 'e3925a6c-46c7-4ea1-ad17-9d2f3c5d39aa' date '03/24/2014' time '10:40:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.788' message 'more work on getting tests to pass in GemStone 2.4' id '265bac3f-a453-4c50-9281-47562403f204' date '03/23/2014' time '17:54:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.787' message 'pass list and selection index for list in one pass (using an Association)' id 'eb2dd9aa-d4ff-4cac-9f38-c59ae190b20c' date '03/20/2014' time '20:47:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.786' message 'Issue #55: checkpoint implementing menus for code windows' id '050213f5-b6c5-4329-90e4-6ba3b8dfd6fb' date '02/23/2014' time '18:52:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.785' message 'Issue #55: checkpoint adding menus to TodeCodeEditor ...' id '08204d87-e195-4225-8f84-380ba7fd701c' date '02/23/2014' time '12:54:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.784' message 'Issue #55: preparing to add menus to TodeCodeEditor ...' id 'b4237ea5-cc0f-41df-baea-c1082068cb12' date '02/23/2014' time '09:45:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.783' message 'untweak printing for RcIndexBuckets ... protected class can''t extend without special handling ... oh well' id '5dc96b6b-6158-4e6c-ab82-a4527984f858' date '02/18/2014' time '16:24:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.782' message 'tweak printing for RcIndexBuckets' id '60a1450f-a8e3-4b22-b3f1-62b7270ffbbb' date '02/18/2014' time '16:22:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.781' message 'Issue #67: remove TDStackNodeBuilder and TDStackClientListElementBuilder classes as they are completely replaced by TDDebugger. TDStackFrameNodeBuilder is probably obsolete as well ... delete later. Issue #48: remove ''.'' from navigator window and replace with inspect/view menu items ' id 'cb7c2be3-2e84-490a-aa88-2fd9c60d310d' date '02/18/2014' time '11:48:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.780' message 'replace most uses of `System myUserProfile symbolList` with `GsSession currentSession symbolList`, since `GsSession currentSession symbolList` provides access to session-specific symbol list ... which when done should be used ...' id '6423018f-c819-473d-ac76-1fe2d4869789' date '02/07/2014' time '07:56:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.779' message 'bullet proof TDMethodDefinition class>>referencesTo:isMeta:in:' id 'e26a7ec3-eff6-454c-a400-2c9e49251c41' date '02/06/2014' time '11:27:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.778' message 'Issue #53: turns out that visitor and filesytem proxy (file system leaf node) need to have special handling ... we want to accept the proxied leaf node, but we need to pass in the proxy ... TDFileSystemLeafNode in this case ... The TDProxyLeafNode is working fine ' id 'a2321d08-e589-443d-9ea6-182c708d70c1' date '01/31/2014' time '12:01:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.777' message 'Issue #53: add --scriptPath defaults to `/home/.`' id 'b5ea0a6e-1174-46c4-a8e4-fab2f89858a3' date '01/31/2014' time '10:35:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.776' message 'Issue #53: add --scriptPath flag to the following `browse` and `find` commands: browse [--scriptPath=] psender [#] browse [--scriptPath=] references [@filter-block-path] browse [--scriptPath=] rsender [@filter-block-path] browse [--scriptPath=] sender [#] [@filter-block-path] browse [--scriptPath=] source [@filter-block-path] find [--scriptPath=] psender [#] find [--scriptPath=] references find [--scriptPath=] rsender find [--scriptPath=] sender [#] find [--scriptPath=] source For the `browse` command, the definition leafNode list will recalculate on refresh...' id '0dd1caad-6be1-48bf-adf2-fda4e6f30461' date '01/31/2014' time '08:53:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.775' message 'Issue #19: careful sending messages like ifNotNil: to a client forwarder...' id '3b35749e-bebc-4b8a-a0f8-f01b6e1096b7' date '01/29/2014' time '16:47:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.774' message 'Issue #19: more fixes for GemStone2.4' id '632b9ce8-f3f3-4980-a0e7-e4ccd391e7ed' date '01/29/2014' time '14:24:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.773' message 'fix problem when a non-class object is masquerading as a class in a different symbolDictionary...' id '3e32c878-67d4-4243-9c8d-a5362a414720' date '01/27/2014' time '11:44:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.772' message 'porting to GemStone 2.4' id '5f01da53-2864-484d-8756-7440bf393e00' date '01/20/2014' time '16:09:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.771' message 'add `str` type node ... pure String storage that can be editted using standard text editor unlike txt which has a run array that must be maintained ...' id '70483584-9231-44ce-a8bc-1c5c99352d61' date '01/20/2014' time '04:37:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.770' message 'Issue #67: fix TDDebugger>>dbRestart ... add ''~'' as alias for /home' id '9556be8c-dfe8-404d-884d-75bbe33edacb' date '01/11/2014' time '18:02:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.769' message 'Issue #67: implement refreshViewFor: client callback and hook into tdebugger - cause stack view to refresh when method accepted somewhere on stack' id '30a9dc94-c014-414d-9c3b-472039dfd11c' date '01/11/2014' time '09:08:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.768' message 'Issue #67: continue switch over from TDDebugTool-based to TDDebugger-based debugging, knitting together more of the debugger functionality. - tweak TDProcessTool ... - TDTopezServer>>clientElementFor:using: needs to add clientElement to elementCache' id 'a43c4bb4-fbf9-46a9-8fd8-f49ff012bfc5' date '01/10/2014' time '17:08:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.767' message 'When selecting class in hierarchy pane, update all 3 (or 4) client elements at once' id '1cabe105-3347-4009-8269-9359273b3921' date '01/10/2014' time '11:26:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.766' message 'Issue #48: implement Process Browser using TDToolBuilder (no know as TDAbstractToolBuilder) ... refactored and renamed TDToolBuilder hierarchy. `ps` command rafactored to support process browser, but process manipulation commands moved to process browser ...' id '69fa034f-c910-43f0-8b7e-2cee5e99c862' date '01/10/2014' time '08:16:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.765' message 'Method: TDShellTool>>findSymbolDictionary:username: should return symbolDictionary ... add TDShellTool>>findClassDefsInSymbolDictionary:username: to supply class definitions ' id 'b13e7177-ec6e-4956-8db6-a7ebe8dd76f1' date '01/09/2014' time '15:52:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.764' message 'Issue #67: Object>>clientElementUsing: makes it possible to ship multiple window updates in one STON package ... update list/source/context on item select and dbFinishStep with one STON package ' id '776b4276-b749-4035-adda-3e4ae2d890cd' date '01/08/2014' time '22:02:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.763' message 'Issue #67: fine tune debugger update sequence ... turn on TDDebugger as default debugger & lets see what happens' id 'bd2e5a0e-bf83-4247-b3c2-66ed0023df1b' date '01/08/2014' time '20:49:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.762' message 'Issue #67: get step working ... updates still rough - keyboard shortcuts - hook into TDTopezServer>>openDebugger ' id '5c6b67fa-9c0a-43fe-b944-27d8c14821dd' date '01/08/2014' time '20:21:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.761' message 'Issue #67: implement debugger menu items - step over, into, thru; continue; restart; up; down have been implemented in TDDebugger ... not functional - moved TDDebugger to Topez-Server-DebugTools package' id 'b65e4aa0-e6f5-49ab-a807-ed5060fbe8d5' date '01/07/2014' time '08:12:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.760' message 'Issue #67: attack menus and keyboard actions - item selected (source and context windows opened) - closing stack window, closes source and context windows - attachProcess: and debugProcess: ... attach does not terminate process when window closed - add `print window` to window menu - printing goes to window named #printer - `ps attach` and `ps debug` commands open TDDebugger...' id '0474a1e0-2b24-4ee7-ab9a-3836195f3f4a' date '01/06/2014' time '21:21:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.759' message '- on cut actions, refrehList and add to clipbard in one swell foop - start work on new debugger (TDDebugger)' id 'cd8cd530-0054-4938-b1a6-bfc5ba0de74e' date '01/06/2014' time '08:00:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.758' message 'another tweak to TDRepositoryPackageBrowser>>browseVersionsFor:' id 'f43d7d71-fb5f-4365-8fd0-e939e3cb1869' date '12/29/2013' time '08:52:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.757' message 'fix problem when listing package versions in a repository. loadedVersions for TDMonticelloTool>>mrpackageNamesIn: not quite calculated correctly and tweak working copy calculation' id '3e552b0e-09b6-48b9-9cc8-57aa96b9f505' date '12/23/2013' time '19:26:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.756' message 'full range of `mv` and `cp` tests implemented and passing' id '6cea0e51-33a5-4040-9b98-013e080687a6' date '12/23/2013' time '12:52:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.755' message 'checkpoint: gw to gw tests passing 130 run, 130 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes need to add the cross filesystem tests gw to fs, obj to gw, etc....' id '2303d751-811a-40df-a46a-e6a179d63dab' date '12/23/2013' time '12:40:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.754' message 'checkpoint: starting gw to gw work ... failures/errors are gw related ...: 130 run, 116 passes, 0 expected defects, 4 failures, 10 errors, 0 unexpected passes made some fundamental changes to core classes that have not affected non-gw test results.' id 'e354b653-ef29-41c2-8e34-ec185a30d97f' date '12/23/2013' time '10:09:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.753' message 'checkpoint: all tests (including `fs to obj` and `obj to fs` tests) are passing: 104 run, 104 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes' id '5f440f34-270c-47bd-88ac-da63ab7ec57e' date '12/23/2013' time '09:33:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.752' message 'checkpoint: `fs to fs` and `obj to obj` tests are passing' id 'fe766dc6-5524-4455-ba3c-dbc9845df87c' date '12/22/2013' time '21:03:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.751' message 'checkpoint: refactor mv:in: and cp:in: to share a bunch o code' id 'd3862385-7f88-4be9-84c5-337e04b2e372' date '12/22/2013' time '15:53:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.750' message 'checkpoint: rewrite `mv` man page ... a little refactoring ... cp:in: and mv:in: share quite a bit of code ...' id '59daa42d-9dac-48ed-9f22-290cda2b1406' date '12/22/2013' time '15:44:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.749' message 'checkpoint: filled out set of tests for `cp` command ... leaf and directory nodes covered for all combos ... I think' id '98c92633-0167-4fcc-847f-0c82a383add3' date '12/22/2013' time '12:58:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.748' message 'checkpoint: finally get semantics for `cp ` correct ... update the `cp` man page.' id '4214122e-79fe-4eb8-9921-c624f7e3e9e5' date '12/22/2013' time '12:22:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.747' message 'started ''cp directory to directory'' series of tests/implementation' id '17d3e17b-f50b-4c1c-8df0-3606d0769f67' date '12/22/2013' time '10:47:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.746' message 'add cp/mv over self to test cases ...' id 'b44b3f83-7c23-473d-a181-4e79eb3710b6' date '12/22/2013' time '08:43:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.745' message 'tests for `mv` and `cp` commands (about time) ... leaf-based `mv` and `cp` tests written and passing for obj to obj operations ...' id 'ca66a58a-65df-4053-8ff7-eddd77c5c890' date '12/21/2013' time '20:31:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.744' message 'bugfix TDFileSystemDirectoryNode>>addChildFileSystemLeafNode: ... add TDGemStoneTool>>gsfileoutClass:header:on: ' id '3e901008-f088-43d5-a670-2cb6785789d9' date '12/21/2013' time '11:52:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.743' message 'bugfixes for `mv` and ''cp` when proxies are involved ... add `isInvariant` and `dependents` fields to navigator/inspector ... TDTopezServer>>evaluateCommandString: allows you to execute a command string from smalltalk --- let the command line parser do all of the work ' id '604ac7ed-c98a-468a-87ee-5c3c4351ddb9' date '12/20/2013' time '17:21:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.742' message 'use correct workinCopy in TDRepositoryPackageBrowser>>browseVersionsFor:' id '1cda4a0b-7c23-4a6b-851e-749c669ebb9c' date '12/19/2013' time '19:34:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.741' message 'get `cd` to work when a `cd`ing into a proxy node wrapping a filesystem leaf node wrapping a gateway node ...' id '4aad9b69-02aa-42c2-9080-f12c3f2da347' date '12/19/2013' time '07:28:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.740' message 'CMD-SHIFT-P: add window label to printout ... `gs halt` implements an AlmostOutOfMemory handler ...' id '27797b40-44c8-45ae-a475-06b787b238ba' date '12/18/2013' time '21:05:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.739' message 'CMD-SHIFT-P: opens window with printString of client list ... `ps debug` command open debugger on given process ...' id '1a09f2f2-5601-4eb3-ada0-cefbce2b7981' date '12/18/2013' time '19:08:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.738' message 'tweaks and cleanup of various sorts' id 'cd959d7d-0ac3-4ff6-9b1f-98f91ac55920' date '12/18/2013' time '17:04:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.737' message 'remove superfluous logging' id '46695429-cf2f-494c-a94c-0f130a56537b' date '12/16/2013' time '20:30:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.736' message 'TDSessionTempNode is a better way of stashing session temps in the object structure. Basically a "persistence barrier" can be insterted into an object structure. TDSessionObjectNode was an interesting idea, but did not work in practice as the "session tempness" was difficult to preserve ...' id '455af204-eed8-4e71-9eb1-01835cf55b9b' date '12/16/2013' time '19:41:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.735' message 'Need to use FileDirectory readOnlyFileNamed: to correctly get file contents...' id '3405c792-e1ec-4b5d-bf3c-4847fcb3f0cb' date '12/13/2013' time '18:15:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.734' message 'Issue #58: checkpoint for `mv versions -g` work' id 'a3cf5668-0bef-4d55-88d2-2fe288ea0698' date '12/13/2013' time '10:29:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.733' message 'fix a couple of issues that popped up while working with classes/methods from a different user''s UserGlobals dictionary' id 'bef6e7f4-d47e-475d-a259-86ac0be24fb6' date '12/10/2013' time '08:22:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.732' message 'some patches to fix issue when using cp on proxied object structure' id '1af3e5cc-365a-4c53-9a94-747f5da408f9' date '12/09/2013' time '17:42:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.731' message 'tweak TDScriptLeafNode>>minimalScriptTemplate' id '7298b40a-711d-458b-8ba9-193e35a06e46' date '12/09/2013' time '15:03:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.730' message 'Issue #37: implement `mount` command ...' id '578de995-5ce0-4f60-9d23-7c3d6d823dab' date '12/07/2013' time '12:05:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.729' message 'Issue #37: solved puzzle of "how to drop off object references in proxy land?" by using a gateway node to indirectly reference object through /tmp ... the gateway node reference can be serialized .... plus series of extensions to TDFileSystemLeafNode and TDProxyLeafNode to permit a directory-like object to be proxied...' id '0bbbe6b2-8703-4e26-ad0f-e028b0595986' date '12/07/2013' time '08:57:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.728' message 'Issue #37: fix TDFileSystemDirectoryNode>>removeAsChildOfFileSystemDirectoryNode: ... preparing to allow dropping off objects in the proxy strucutre (not planning on simply using STON to drop refs ... I want pure object refs to have an inderect reference)' id 'afaa1596-64a0-459a-adec-818e62d9ab63' date '12/06/2013' time '20:12:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.727' message 'Issue #37: rename `ston rsync` command to just plain `rsync` ... not really limited to `ston` anymore ... rename tests ...' id 'f539c897-a741-472a-b12a-6ec698bc33b0' date '12/06/2013' time '17:57:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.726' message 'Issue #37: use plaintext newlines (not \r) for readability ' id '1d354f02-ca79-4d94-9f4a-85257ca5d978' date '12/06/2013' time '17:34:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.725' message 'Issue #37: fix an rsync bug ... when copying more than one directory...' id 'feb981d6-396b-4106-85c3-d9d8d3eea15a' date '12/06/2013' time '17:08:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.724' message 'Issue #37: working through the issues that pop up when actually attempting to work in an object directory that is proxied from the file system: - TDGatewayNode needs some of the leaf node protocol' id '7a35091e-de8b-498d-af30-8d50cd8fdc49' date '12/06/2013' time '16:57:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.723' message 'Issue #37: working through the issues that pop up when actually attempting to work in an object directory that is proxied from the file system: - TDFileSystemLeafNode contents (part deaux)' id '213fd618-cae6-4aed-8f42-3d73dc42974c' date '12/06/2013' time '16:22:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.722' message 'Issue #37: working through the issues that pop up when actually attempting to work in an object directory that is proxied from the file system: - TDFileSystemLeafNode contents' id '31de6dec-9829-4c66-8110-780fd0c7846f' date '12/06/2013' time '16:16:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.721' message 'test commit...' id '656c89f5-1d57-48cb-bc42-28c9b3b00c4f' date '12/06/2013' time '16:10:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.720' message 'Issue #37: working through the issues that pop up when actually attempting to work in an object directory that is proxied from the file system: - correctly handle topez' id 'e443bd03-238b-4303-afd2-f7457ecd315c' date '12/06/2013' time '16:08:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.719' message 'Issue #37: working through the issues that pop up when actually attempting to work in an object directory that is proxied from the file system: - TDFileSystemLeafNode>>dotSelfObject - TDProxyLeafNode>>parent' id 'f6271b0d-202e-4077-933f-90daf9711398' date '12/06/2013' time '15:44:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.718' message 'aDirectoryEntry' id '36b0276b-0aec-4111-a483-c2fbe286103e' date '12/06/2013' time '15:29:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.717' message 'Issue #37: preparing to implement gateway node schism ... if treated as a source node (directory or leaf) we copy the contents (maybe?), have to be able to tell when to use gateway as a link and when not to ... might have to declare explicitly ... current tests are passing ...' id '9c8d51b7-b236-47db-bb14-2043af4f4ec6' date '12/06/2013' time '14:52:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.716' message 'Issue #37: cover gateway node functionality ...' id '49739d97-91a0-4e76-88a8-6d0a52ac92de' date '12/06/2013' time '14:21:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.715' message 'Issue #37: `rm` of raw file leaf node and object file leaf node' id 'e0984fb8-849e-47c8-97da-cfe6744cdcaa' date '12/06/2013' time '12:05:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.714' message 'Issue #37: allow direct edit of Text instance' id 'ed1f1920-eb78-4929-ae62-ee1fc686f041' date '12/06/2013' time '11:52:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.713' message 'Issue #37: enable edit of .ston objects and raw filesystem files after cd''ing into a gateway reference to a filesystem directory .... open the door to sharing scripts by "directly editting object nodes and leaf nodes hosted in a git repository" ... still need to work on rm/touch combo but this is very close to complete!' id '780ac6f6-3392-46ad-85ad-ae57cf00612b' date '12/06/2013' time '11:49:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.712' message 'Issue #37: fix a bug in the ston implementation for TDDirectoryNode and friends ... splicing in parent can lead to infinite loops' id 'eaf86b36-2dc0-4e69-9e0a-9f5ed1d0bb90' date '12/05/2013' time '22:03:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.711' message 'Issue #37: add support for using a Gateway node as proxy for FileSystem directory and thus src/dest for `ston rsync` command ... start adding tests/support for using a Gateway node as a "symbolic link" to another object node - doesn''t work out of the box so more work needed (or just abandon the idea)' id '6052e724-deba-48ea-898c-dfb638acd939' date '12/05/2013' time '08:36:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.710' message 'Issue #37: `ston rsync` implementation not complete, however, we''ve hit point where perhaps enough of the `rsync` functionality has been completed where with the File System leaf node support, I think we''ve got enough functionality to form the foundation for a pretty nice sharing model ... will start heading in that direction and see if additional `rsync` functionality is called for ... tests are green for all four combos of fs/obj node structure: TDShellFsToFsStonCommandTests TDShellObjToObjStonCommandTests TDShellFsToObjStonCommandTests TDShellObjToFsStonCommandTests' id '9d4048f6-a7aa-47e7-81ac-d1ee289928da' date '12/03/2013' time '15:46:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.709' message 'Issue #37: `rsync rsync --recursive --relative` TDShellFsToFsStonCommandTests tests pass' id 'e5e1963f-92b2-4405-8c33-6006552e46a7' date '12/01/2013' time '20:29:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.708' message 'Issue #37: TDShellFsToFsStonCommandTests tests pass' id '062d1125-4b95-4f93-8e8a-fe0fec89552f' date '12/01/2013' time '19:50:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.707' message 'Issue #37: rsync recurse tests migrated ... TDShellFsToFsStonCommandTests test don''t pass, but that''s because of bug in the way rsync is implemented for file system nodes...' id '5cb11035-5870-488e-93e2-d0d4271b95ed' date '12/01/2013' time '11:56:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.706' message 'Issue #37: TDShellFileSystemStonCommandTests tests passing using TDProxyLeafNode ' id '7061ca00-be14-4027-84ad-3a14a3e80b9b' date '11/30/2013' time '21:54:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.705' message 'Issue #37: TDShellFileSystemStonCommandTests finally tests (using TDPluggableLeafNode), but I am unhappy with the hacks it took to get TDPluggableLeafNode working ... I should build a TDProxyLeafNode ... I don''t think that TDPluggableLeafNode should survive ...' id '73cce08b-63a6-43de-af73-910b243a2166' date '11/30/2013' time '14:45:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.704' message 'Issue #37: fleshed out TDPluggableLeafNode to act as a leaf node proxy for TDFileSystemLeafNode proxy saves edits to disk ... no proxy for directory node because of challenge of saving changes ... so we''ll simply splice the directory node into the structure' id '732278d9-2ace-40fd-a115-34987c20c4fa' date '11/30/2013' time '12:07:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.703' message 'Issue #37: obsoelete TDLeafNodeBuilder and friends ... settled on elementSource and elementSource: as getter/setter api from the editor side of the house .... TDPluggableLeafNode needs some work to be a faithful wrapper for arbitrary leafNodes as needed to wrap leaf nodes stored on file system...' id '19f2b3a0-b9e8-41e1-be5b-e4285cd64aff' date '11/29/2013' time '11:53:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.702' message 'Issue #37: TDShellFileSystemStonCommandTests>>testRsync passes ... "transparent" access to disk-based objects (.ston files) ... oh and rsync objcts from disk to disk ...' id '31034868-e62e-40d1-9750-97ac78b7c164' date '11/29/2013' time '10:00:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.701' message 'Issue #37: work out TDFileSystemDirectoryNode rendering ... push TDShellAbstractStonCommandTests root path handling to satisfy disk-based object paths ... checkpoint as I have to consider best way to represent object structure on disk ... would like to `cd ` where a "directory" will have a bunch of TDNodes serialized to disk and I;d like it to look like a regular TDDirectoryNode with children ... so will probably at `.ston` extension on files and meatrialize `.ston` files when encountered on disk via object shell interaction ... time for some experiments...' id '5cdcf5cd-d3e5-493e-ac00-f847988ae126' date '11/29/2013' time '09:03:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.700' message 'Issue #37: as part of the script sharing work, I am merging the filesystem and objectSystem into a seamless whole...once you''ve spliced a file system "mount point" into the objectory (object directory) you should be able to `cp` and `rsync` objects and files back and forth (with some initial limitiations) objects are stored in STON format on disk and disk entities have a TDFileSystemNode that represents them ... I''ve filled out the basic apis without a lot of testing ...' id '628c39d3-aefc-4e94-bf44-f45efa53c8ef' date '11/27/2013' time '11:20:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.699' message 'checkpoint: `rsync --relative` implemented' id 'bcfb0158-8ede-4124-bc1c-ee911e1f857c' date '11/26/2013' time '15:22:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.698' message 'checkpoint: `rsync --recursive` implemented' id '37c56194-7b8a-4c4d-80b6-d548596846e7' date '11/26/2013' time '12:13:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.697' message 'rsync checkpoint ... rename bunches of methods ... tests passing' id 'e09a9de5-9e4c-48c1-9ce7-10030a403a0c' date '11/26/2013' time '11:33:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.696' message 'fix tiny problem with opening inspector ...' id '046a907f-bfe5-453a-8ff1-490720b505a0' date '11/19/2013' time '14:57:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.695' message 'restructuring around the `mc unload` command ... support additional scriptiong needs ...' id '0b4db4da-86a2-4c54-8b61-6194e75d414c' date '11/17/2013' time '22:47:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.694' message 'implement --times, --existing, and --dry-run (bits and pieces ... testing should wait until all of the options are implemented)' id 'dc7e6961-de8d-45e8-b0fc-ad24db57a019' date '11/17/2013' time '14:41:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.693' message 'sort associations for dictionary builder (TDDictionaryNodeBuilder) ... add `gs sessionDescription` command to easily get the gem pid for attaching gdb ...' id 'cc85c491-5e5d-4dea-bc23-afa3c9950191' date '11/14/2013' time '17:04:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.692' message 'Issue #37: checkpoint on `ston rsync` work ... even more options implemented, even more tests written ...' id '1a6f9ab7-fe56-4a61-a700-bd54fb54055f' date '11/14/2013' time '10:06:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.691' message 'fix typo in TDScriptLeafNode>>minimalScriptTemplate ' id '7cb2dcdc-8760-4ffc-892a-d6319b1009d6' date '11/13/2013' time '10:00:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.690' message 'defined a new script template: TDScriptLeafNode>>minimalScriptTemplate ... define Dictionary>>at:ifAbsent:ifPresent: for better script layout' id '14ac7457-aec0-4bfe-a4df-9e3228c7a518' date '11/12/2013' time '12:59:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.689' message 'update manPage for `ston rsync` and flesh out the first test' id '076130c6-b25f-40b7-836b-c6c6b1704637' date '11/11/2013' time '22:45:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.688' message 'write TDLeafNode creationTime modificationTime for STON' id '2b1c4af7-8de0-4fa2-b01f-a72d2469b9b6' date '11/11/2013' time '22:19:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.687' message 'tweak TDManPage class>>fromString:commandPath:sourceMethod:' id '34064ef7-32a9-4fca-b293-1053db78732f' date '11/11/2013' time '22:10:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.686' message 'define a new script template for TDScriptLeafNode that includes a full help text that describes option handling...' id '5eabbe91-4546-4b81-a82c-3623b750ced2' date '11/11/2013' time '21:35:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.685' message 'Rename some of the methods. getOpts* is a better pattern ... monkey with TDManPage to make it easier to create a man page for a script (in the script), also add EXAMPLES section to man page' id 'f96f74aa-40ac-4581-bf15-afd67d5e56de' date '11/11/2013' time '17:52:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.684' message 'Issue #16: fix a parsing error (plus tests) ... move helper method for doing mixed long and short getOpts from gs tool to TDCommandLine and TDCommandGetOpts ... beef up `gs fileout` command for class/package/category fileouts with options!... write methods as UTF8 ... consolidate fileout methods ..' id '12459d9d-f7be-497a-a2de-d29f287230d6' date '11/11/2013' time '14:49:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.683' message 'Issue #37: attack `ston rsync` implementation ... TDSTONRsync is my visitor ... ' id '0ecdbc4d-3182-4478-abc5-6ba4dba39ca0' date '11/11/2013' time '07:33:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.682' message 'Issue #16: splice the short/long/mixed option handling into TDAbstractDevTool ... TDAbstractDevTool>>processCommandOptions: helper method for creating mixed option specs and getting command options ... implement option/arg handling for `ston rsync` command' id '7a77a5aa-cf0e-423f-b2b8-95ecce980374' date '11/10/2013' time '16:57:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.681' message 'Issue #16: okay, okay, add long getOpts support ... next up is mixed long/short support...might as well just bite the bullet' id 'd390bc2e-f1e5-4ce6-869a-073c103e1d27' date '11/10/2013' time '13:59:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.680' message 'Issue #16: change TDAbstractDevTool args IV to arguments...' id '51e5252c-ae38-4db0-ad68-905ce60f60a3' date '11/10/2013' time '12:17:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.679' message 'Issue #16: TDCommandLine integration complete including getOpt support... current scheme for command blocks is: [:topez :objIn :tokens :todeCommand | ... ] but tokens arg tends to be ignored in favor of todeCommand arg ... tokens IV in TDAbstractDevTool is set automatically ... for handling options http://www.gnu.org/software/libc/manual/html_node/Getopt.html#Getopt was used as spec and the options/args IVs set by calling TDAbstractDevTool>>getOpts: with an optionsSpec (i.e., ''abc:'') ... long options not supported yet' id 'fc8ef604-f743-41e1-a9b3-c26c8cddc776' date '11/10/2013' time '12:08:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.678' message 'Issue #16: convert all command blocks to the form: [ :topez :objIn :tokens :command | ]...convert subCommands to use: TDAbstractDevTool class>>performSubCommand:objIn:todeCommand: ...add better subCommand support to TDCommandLine (teach it to respect subCommands) ... still need to remove windowId and tokens instance variables from TDAbstractDevTool ... TDTopezServer>>evaluateCommand:objIn: and TDTopezServer>>evaluateSTONCommand: are now the primary entry points for command processing ...' id '8c37d450-78a4-4bd0-8080-41dcf9a2b43e' date '11/10/2013' time '11:27:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.677' message 'checkpoint: Issue #16: writing getOpts for tODE in preparation for Issue #37: `ston rsync`' id '0afa58b5-dcb0-4c7f-abfb-cf59f22aaa11' date '11/10/2013' time '06:33:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.676' message 'add support for GsInspectInteraction (Object>>inspect)' id '2cf52143-9c41-4332-8346-8582f1635e9e' date '11/09/2013' time '15:34:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.675' message 'Issue #41: `mr creds` command command for setting user and password for a repository (plus api). `set user/password` menu item defined as well.' id 'ddc6fa90-916b-4e36-ae45-dd6879d79362' date '11/09/2013' time '14:32:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.674' message 'Issue #41: hook up password dialog support' id '14b57e51-48c7-4897-ade6-dced513f770b' date '11/09/2013' time '11:36:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.673' message 'Issue #51: remove remnants fo TDInteractionRequext and friends, using GSInteractions instead...' id '98eb8277-e0dc-4b2a-ad35-52d88d331215' date '11/09/2013' time '09:05:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.672' message 'Final bits for fixing Issue #45 (dependes upon glassdb commit 3f347c0819a3d995efe938e5d95517f5518ff03c or later). Hook into GsInteraction mechanism for tODE ... can now get rid of TDInteractionRequest hierarchy and use GsInteractionRequest ... add TDMonticelloTool>>mccopyVersion:to: in support of TDRepositoryVersionsBrowser>>copyToRepository:selectedIndex: menu item (copy to repository)' id '38d10a7a-7fd2-42b1-a971-c160c0c81613' date '11/08/2013' time '16:37:19' author 'dkh' ancestors ((name 'Topez-Server-Core-.671' message 'define TDMethodDefinition>><= to support sorting ... add TDMiniToolSpec class>>topez:clientListBlock:menuActionSpecBlock:menuActionBlock:itemSelectedBlock: as convenence method ... tweak package display in TDRepositoryPackageBrowser>>packageTextList' id '6fd9d9a2-f246-4db9-983d-9df158032c1b' date '11/05/2013' time '07:27:10' author '' ancestors ((name 'Topez-Server-Core-dkh.670' message 'add `mc compare rimage` for doing reverse compare ... refactor MCTodeDeployTool>>createMethodSectionMapFor:version: ' id '2cf4a922-7633-48c0-95e8-bc6ab95ad9b8' date '10/26/2013' time '20:54:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.669' message 'add support for inspecting objects with dynamic instance variables' id 'e85ea4f4-75d3-4a2c-acce-94497f237450' date '10/24/2013' time '20:30:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.668' message 'clean up TDClientElementTestCase>>testClientElementSerialization' id '8d90fd10-2612-476d-adde-0eaefd3a3863' date '10/21/2013' time '10:17:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.667' message 'clean up failing tests on server-side' id '11011cfb-afae-47f9-8cc7-3f2891f2d6f8' date '10/20/2013' time '20:45:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.665' message 'server-side interaction requests get some meat on their bones ... finish up Monticello Browser functionality with `save` menu items and support for prompting for version name and commit message ...' id '96bdae97-0710-464c-ac62-8574c242fede' date '10/20/2013' time '20:34:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.664' message 'start work on interactions (choices, prompts, etc.) ... down to `save` menu item before completing the Monticello Browser family of tools, which explains need to implement prompt ....' id '46818716-2fb5-464e-9690-d47d00738486' date '10/20/2013' time '14:40:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.663' message 'add windowIsClosing ligic to the TodeCodeEditors (client and server-side logic) ... `create accessors` menu item for class hierarchy window ... add `inspect client element` menu item to standard window menu (replace .window/model stuff) ... TdToolBuilders leverage windowIsClosing logic to close all child windows when parent is closed ... TDToolBuilders use a clientListBlock for generating client list which makes for automatic `refresh` when window contents is refreshed (CML-l) ...' id 'af8106b8-53cf-4b75-84c4-20422addc8bb' date '10/20/2013' time '11:14:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.662' message 'really fix funky hierarchy list bug ... tweak TDProfileTool>>pfview: return value' id 'c4e6b372-af00-4233-8361-36a18f289a91' date '10/18/2013' time '06:10:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.661' message 'fix funky hierarchy list bug, where original "selectedClass" refused to be re-selected' id '16795512-3bfc-4a84-9302-6ac3e7aef6f8' date '10/17/2013' time '09:56:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.660' message 'checkpoint: implement TDRepositoryBrowser>>workingCopyDiff:selectedIndex: (moved form TDWorkingCopyBrowser>>workingCopyDiff:selectedIndex:) and TDRepositoryVersionsBrowser>>loadVersion:selectedIndex: plus supporting TDMonticello tool support' id 'bd5c66e3-eda7-4439-8e8b-a3fb873d7afd' date '10/15/2013' time '16:38:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.659' message 'checkpoint: support for geting backup directory path from client ... need repository for TDRepositoryVersionsBrowser ... make it easier to get text attributes set correctly for loaded versions .... add in stubs for (still) missing menu items for the family of Monticello Browser tools ...' id '44433b74-4dae-422b-9625-c89591a82729' date '10/14/2013' time '16:13:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.658' message 'checkpoint: keyboard shortcut handling for minitool ... rename TDPackageDefinition to TDMcPackageDefinition ... rename TDMonticelloBrowser to TDWorkingCopyBrowser ... add TDRepositoryPackageBrowser and TDRepositoryVersionsBrowser plus TDMonticelloTool support ... use app1 and app2 window locations for the familoy of Monticello browsers ..' id 'dbaa66a6-7a6e-4de0-91a1-a990bd174dcc' date '10/13/2013' time '17:36:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.657' message 'checkpoint: add repository browser with partial implementation ... open repository browser from monticello browser and mr tools (`mr group` and `mr list`)...protocol tool allows for adding/removing multiple protocols' id 'a1e0d1ca-528b-43db-92d7-b63ea5da2785' date '10/12/2013' time '22:36:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.656' message 'checkpoint: implement `delete` and `unload` menu items in monticello browser' id '7bd0aded-60d6-4a2a-b746-e493192f8257' date '10/12/2013' time '21:34:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.655' message 'checkpoint: implement `revert` menu item in monticello browser' id '5cfba30d-21e9-422c-8091-fea3cb4a268a' date '10/12/2013' time '20:27:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.654' message 'checkpoint: working copy browser (monticello browser) and version info browser (history) plus assorted menu items plus a bit of refactoring of the monticello tool .... keep all of the business logic in the tool ... ' id '25596a20-a968-484e-bdf8-5bee642c3164' date '10/12/2013' time '20:04:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.653' message 'use #classCategories window location for Class Category List ... reuse window for mc/mm diff ... ' id 'fcacc4d8-63f7-494d-99ba-033482a53abc' date '10/12/2013' time '12:53:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.652' message 'add ''spawn shell'' to window menu (ESC keystroke)...' id '94457973-9451-4e50-896b-f720ac7a618a' date '10/12/2013' time '11:32:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.651' message 'Attempt to get around security violations in TDSymbolDictionaryDefinition>>classDefinitions ... TDSimpleDiff created to support generic in-image text diff views...' id '9bf654ad-a5e7-4827-9a6a-1e28d5067e69' date '10/11/2013' time '19:34:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.650' message 'replace config/pkgs panes with class category pane after working with Paul DeBruicker' id 'e076a1ed-f750-4a38-acc6-722336c391b6' date '10/10/2013' time '19:56:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.649' message 'ensure that lf is used when compiling methods from tode ... sneaky cr showing up in comments' id '6dce7db2-12ce-4047-8646-78a1441a70fc' date '10/10/2013' time '05:14:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.648' message 'implement TDMiniToolSpec and TDMiniToolClientListElementBuilder which allows for creation of list-based tools without having to create a TDClientListElementBuilder subclass...only need to specify blocks for: TDMiniToolSpec class>>topez:clientListBlock:menuActionSpecBlock:menuActionBlock:itemSelectedBlock: to create custom list behavior. fix `mc fileout` API so that .gs files with multiple classes can be updated correctly (i.e., the method is matched based on proper class)' id '91ea5ad9-c463-4d2b-a74d-36b6e2e814ec' date '10/07/2013' time '14:34:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.647' message 'Issue #38: fix the menu ... we''re looking good!' id 'c616ab8a-6f19-46d6-88e9-f6c22c1aae9c' date '10/06/2013' time '12:41:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.646' message 'Issue #38: first cut at functional tool ... works, but need to fiddle with menus' id '6ff2f7e6-669c-4a43-884b-c83d609636ab' date '10/06/2013' time '11:47:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.645' message 'address test failure: TDClientElementTestCase>>testClientElementSerialization ... update MCMetacelloTodeTool implementation and ignore ''Metacello-Cypress'' package for ConfigurationOfMetacello ...' id '61821b3e-4a33-4b2b-b07f-18d42ba1f79f' date '10/05/2013' time '15:39:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.644' message 'add support for working with classes "imported" from another GemStone user''s symbolList. A TDDefinition may have a `username` specified and if so the definition will use the symbolList of the given user for resolving class/global names. Trying to propogate the username as far as possible forced me (in a good way) to use class definitions EVERYWHERE instead of direct class refs and it follows that the class definition does the lookup and so on ... touch a fair amount of code across a bunch of element builder classes, so there still might be glitches ... added `inspect builder` to window menu ....' id '88fcec49-cab4-4e89-99e8-6faba62596ef' date '10/05/2013' time '13:12:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.643' message 'Fix TDFileSystemLeafNode, so you can save files to disk...' id '57606258-9e67-4458-bad3-076d697aff56' date '10/04/2013' time '11:05:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.642' message '`mc fileout` will now file out source to files (classes and methods) or a single file.. make the `gs fileout` command compatible with the gemstone filein process (entails building our own versions of the class-based fileout methods)' id '59df9b7d-28be-4ba9-b25e-99e80d801ed1' date '10/02/2013' time '17:16:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.641' message 'add variant of `mc fileout`/`gs fileout` API that writes class defs to one file and class methods to another file ... this is the one I will use for deploying Indexing changes for GemStone 3.2.' id '39a8a9e6-bc95-48bb-8d2e-9de997b5d1de' date '10/01/2013' time '21:12:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.640' message 'pull filename map out as arg to `mc filout` API which filters over to changes in the `fs fileout` API. ' id 'c9da1849-4ea6-4a44-99b2-4b4b26428b89' date '10/01/2013' time '17:30:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.639' message 'create `mm fileout` command for doing a fileout of a full configuration .... `gs fileout` command finished up for this round: - one file per class (will change this to allow for alternate groupings) - extension methods overrideds changed in place in existing files new methods added to end - hard-wired class to filename map (will make this an option)' id 'f0f1b242-ca69-4b9a-a94b-f7fdf95b6a38' date '10/01/2013' time '14:47:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.638' message 'Issue #28: finish initial foray into menus for tODE ... now that we''ve got menus, there are plenty of oppotunities to expand the menu items (and/or reorganize).... still need to do text window menus .. Issue #33: continue/restart menu items available in debugger' id 'c8e76092-faf5-44cd-8ad9-d5eb771f0363' date '10/01/2013' time '08:18:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.637' message 'Issue #28: start defining `menu actions` ... starting in TDClientListElementBuilder ..' id 'ce0610cf-fba5-4924-823a-4136aa2ae78e' date '09/30/2013' time '21:39:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.636' message 'Issue #28: defined #menuActionSpec for all subclasses of TDClientListElementBuilder ... covers all keyboard shortcuts ... time to define the menuActionBlocks' id '69e2bfc1-faeb-41d9-a66c-476dc6653506' date '09/30/2013' time '20:51:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.635' message 'add `mc fileout` and `gs fileout` commands ... aimed at providing fileout support that is compatible with saving source as .gs files ' id '3979573b-1509-4bd8-9a85-18be743f8448' date '09/30/2013' time '17:05:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.634' message 'Issue #28: checkpoint ... defining menuActionSpecs for all of the windows ... will implement the menuActionSpecs next ...' id '1e4fb35f-223a-44a4-9c74-4d2e277dbc0b' date '09/30/2013' time '09:53:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.633' message 'Issue #28: continue menuActionSpec theme...define standard submenus' id '0d29f2df-cb6f-4be4-81ef-642c7392b8a4' date '09/29/2013' time '12:29:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.632' message 'Issue #28: checkpoint ... ' id '2ce4d451-1531-41d7-86b6-793a1191bc2a' date '09/29/2013' time '08:52:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.631' message 'flesh out profmonitor viewer tool: - `pf view` can be used to navigate the ProfMonitor results - TDProfileTool>>pfview: is the script API for ProfMonitor viewer tool - TDProfileTool>>pfmonitor: can be used from scripts to profile a block, then use TDProfileTool>>pfview: to look at results - added labels and other goodies to the ProfMonitor viewer tool' id '67be49d3-4549-4f27-a6b9-07fafd53b475' date '09/28/2013' time '13:49:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.630' message 'align #context location with #debugger location ... use debugger width too... use #context location for debugger context display...bump default `list limit` to 140 ... checkpoint the profmonitor analysis tool' id '96d7d12e-9ec8-46a4-8cc8-62ee85aaee66' date '09/27/2013' time '22:09:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.629' message 'it turns out that tODE was making copies of all objects in the navigator when navigating around ... probably not desirable at all, but definitely not desiarable for TDObjectNodes ... take care of TDObjectNode in TDPluggableNode ... ' id '4737d88e-bf42-4ce8-ad85-79737812a9b4' date '09/25/2013' time '17:35:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.628' message 'multiple sections allowed for `ts list` command...add `(size)` special for all Collection classes ... add `(index lists)` special to UnorderedCollection for viewing index structures if present ...' id '4eca2561-514c-44dd-9f44-f2e582c2fbae' date '09/25/2013' time '17:01:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.627' message 'checkpoint: CMD-o uses category of selected method or protocol for creating new method.... tweak `cls create` command optional superclass and category... cls create [ [ ] ] create [ @ [ ] ] Issue #27 - method category browse/edit' id '8dd4f13f-3b81-479e-98f6-bb7684822c74' date '09/22/2013' time '14:50:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.626' message 'checkpoint: class history bugfixes ... copy/paste should be working for protocols (paste method on protocol to move method to that protocol or add method in that protocol) ... add `cls accessors` command Issue #27 - method category browse/edit' id '4dc9ac6d-edc8-4d90-903f-fa86f30ade4a' date '09/22/2013' time '13:59:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.625' message 'checkpoint: CMD-t toggles protocol display .... `limit protocol` controls default setting ... man page display reuses window Issue #27 - method category browse/edit' id '7ffdb2f6-db78-486b-8573-bebc45e99801' date '09/22/2013' time '09:51:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.624' message 'checkpoint: TDShellTool class>>protocolManPage Issue #27 - method category browse/edit' id 'f689e2e6-bab8-4589-926c-6dff81e85fc4' date '09/22/2013' time '08:10:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.623' message 'checkpoint: add `protocol` command for method category edits ... `test class` command changed to allow listing of multiple classes protocol add add @ protocol cadd cadd @ protocol cremove cremove @ protocol crename crename @ protocol remove remove @ protocol rename rename @ Issue #30 - class comments Issue #27 - method category browse/edit' id 'aacb3a84-b36b-41bb-b17c-41399c2bac1c' date '09/22/2013' time '07:26:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.622' message 'checkpoint: convert `cls` api to use the class instead of class name ... allow for saving of class comments Issue #30 - class comments Issue #27 - method category browse/edit' id '4257c9c0-e5fb-4447-b13c-7ffc4005ff6a' date '09/22/2013' time '06:27:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.621' message 'checkpoint: `cls` command implementation, remove `rename class` (subsumed in `cls` command ... get serious about testing `cls` api cls comment comment @ cls copy copy @ cls create create @ cls definition definition @ cls history history @ cls protocol add protocol add @ cls protocol remove protocol remove @ cls rename rename @ cls remove remove @ Issue #30 - class comments Issue #27 - method category browse/edit' id '59b02414-7864-4fca-b63a-7d0d989e188c' date '09/22/2013' time '05:52:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.620' message '`git mergetool` implemented ... this is a rough cut implementation as TDMerger and TDGitMerger deserve to be ... merged ... there is a fair amount of shared state and behavior ... TDGitMerger is not based on definitions but files whereas TDMerger is based on monticello definitions...' id '817e877f-c62e-4b32-9e6f-4778826d8eb9' date '09/17/2013' time '12:23:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.619' message '`md diff` no longer takes a regex pattern `mm diff` no longer takes a list of configs ... optional `all` arg will compare all packages, otherwise you only get dirty packages compared' id '10d8ccb8-913a-4353-a516-8c31810b2a20' date '09/17/2013' time '05:32:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.618' message 'add `mc snapshot` command ... record restorve from backup in object log...' id '2d9ece2c-3bef-42f0-8346-78ff48638325' date '09/17/2013' time '04:45:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.617' message 'implement `limit format` command to turn on and off auto formatting ... make it easy to contribute to projects that don''t use same formatter as I do' id '632437f5-70e6-4832-8830-03329137ac72' date '09/15/2013' time '22:03:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.616' message 'TDPluggableNode>>stonExportUsing:to: ignores any contents ... ' id '6e656d6f-c316-4153-aa47-69dd97e478da' date '09/14/2013' time '02:05:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.615' message 'add CMD-j and CMD-k keyboard shortcuts for debugger' id '3365670b-8012-47d8-8072-77f70b84b2d3' date '09/14/2013' time '01:59:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.614' message 'support for structured ston exports ... build directory structure on disk to match internal dir structure and only export as ston the leaf nodes (or leaf node like dirs) ... easier to control what you want included in your image...' id '2ca512c9-0c53-4144-9116-4d97ac8b82df' date '09/14/2013' time '23:41:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.613' message 'checkpoint: Implement `git mergetool` command Add control for loggin in TDAbstractDevTool>>performOnServer:logging: remove TDCypressTool>>cypmerge and TDCypressTool>>cymmerge ... cypress merges handled by `git mergetool`' id 'f1e8e969-3bee-4bcc-9e77-0486d3126231' date '09/04/2013' time '01:21:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.612' message 'Looks like the Monticello merge tool is complete ... for method definitions ... need to handle class definitions Some logging to transcript Check for empty merge ...' id '9408deb3-5614-4f23-97bc-1729b66d42cc' date '09/03/2013' time '21:42:54' author 'dkh' ancestors ((name 'Topez-Server-Core-.611' message 'checkpoint: successful merge of a single method conflict with a merge, discovered that printStrings for MCWorkingCopy did not account for multiple ancestors ... ' id 'eeb246d7-4a89-4d8e-977c-ee467487d347' date '09/03/2013' time '18:48:45' author '' ancestors ((name 'Topez-Server-Core-dkh.610' message 'checkpoint: begin work on the mergeTool for merging Monticello packages and Cypress repositories. create TDSessionObjectNode class that stores object reference in a TransientValue ... avoid persistent refs to things that cannot be persisted. Use TDSessionObjectNode for the debugger... Add TDGitTool>>performGitCommand:in:worktree:with: to allow independent control of location of work-tree ... Actually use the TDEditorSpec>>windowLabel field when building windows. More keyboard shortcut stubs ... Start building merge command "gui" support Implement mc save, so I can create branched mc versions to test merge command.' id 'cff4668a-2162-444f-bd18-8a1f29fe3666' date '09/03/2013' time '15:04:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.609' message 'endeavor to get tests passing ...' id '64c62518-d720-4a67-8c8d-f01b3d9e5dd3' date '09/01/2013' time '07:48:09' author 'dkh' ancestors ((name 'Topez-Server-Core-.608' message 'implement support for Cypress repositories: cym and cyp commands (save and diff) sort mc dirty packages new Topez-Server-CypressTools package' id 'c36471a3-cf69-410f-8dc7-c2c47851b610' date '08/31/2013' time '07:44:59' author '' ancestors ((name 'Topez-Server-Core-dkh.607' message 'implement `find categories`, `find category`, and `browse category`' id '759af4bb-e301-4011-acd3-794a0d2fc225' date '08/29/2013' time '12:11:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.606' message 'fix TDGatewayNode related to loading directory structure from STON' id 'd173f09f-db4d-478b-99c6-0fe407fb4eb3' date '08/28/2013' time '13:00:54' author 'dkh' ancestors ((name 'Topez-Server-Core-.605' message 'as part of Topez-Server-Core TDBatchEditTool should not implement initialize' id 'b2ce3697-63bd-457a-a7e9-7998559a1743' date '08/28/2013' time '06:53:32' author '' ancestors ((name 'Topez-Server-Core-.604' message 'add filter-block option to browse commands ... add `find psender` and `browse psender` commands ... pure sender, no literal refs' id '8b849001-6950-49d7-82d6-71f122980f8b' date '08/28/2013' time '05:05:11' author '' ancestors ((name 'Topez-Server-Core-dkh.603' message 'fix bug in debug tool...reuse the stack window after debugger opens ... keep window id around in the tool instance' id '9bd6fe68-f5c1-43d8-98e0-28dda87baf88' date '08/15/2013' time '17:00:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.602' message 'fix `rename class` bug' id '3625a3fa-571e-453e-ab58-32db04d4b4e4' date '08/15/2013' time '15:32:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.601' message 'improve Smalltalk api for `bedit` family of commands....clean up `find` command Smalltalk api: eliminate use of tokens as args ... pass in the token for those commands that have single args ... `rename class` command now uses `bedit references` command so make it easier to edit source after rename ... RB would work here better, but RB is not ported yet...' id '62c15d33-604d-40dd-8ead-d13d6bcc70da' date '08/15/2013' time '11:43:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.600' message 'expand the list bedit commands to include: bedit class bedit instance bedit list bedit references bedit method bedit rmethod bedit rsender bedit sender bedit source with keyboard mapping: CMD-g - go to next match CMD-j - perform replace, go to next match ' id 'bff73546-cd8e-49af-8254-be6e0090acce' date '08/15/2013' time '08:06:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.599' message 'tweak `bedit` man page' id 'f561ec17-f015-4d56-85ab-bb41032a57ae' date '08/15/2013' time '01:00:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.598' message 'add TDBatchEditTool and `bedit` command...CMD-o skips edit, CMD-p performs edit. both move to next regex match in method or next method' id 'd8dadf86-7b6c-4e6a-bbcb-c4fce19a5402' date '08/15/2013' time '00:57:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.597' message 'add `rename class` command ... move all examples to `/examples`' id '3e563188-cc7a-42a1-900d-d3ea1519637c' date '08/14/2013' time '14:45:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.596' message 'create MCNewFileTreeTodeTool to use command arguments and eliminate structural dependencies. Extend functionality to include doing the `git push` (relying on passwordless ssh access to github). shell examples moved to /examples... better scripting api for git tool for example: TDGitTool>>gitcommitIn:with:. All git commands use a similar form....workaround for `git pull` bug.' id '2a215fc3-acf6-4fc9-9e86-e6fd5335d855' date '08/14/2013' time '11:00:26' author 'dkh' ancestors ((name 'Topez-Server-Core-.595' message 'create TDGitTool>>resolveDefaultGitRepoDirectory. If a `gitRepo` is not present assume that you are in a git repo and use `.` as the git working directory...fix a problem with resolving `.` correctly' id '99fd32b2-9423-4f80-8dbe-200a085b2602' date '08/08/2013' time '06:41:18' author '' ancestors ((name 'Topez-Server-Core-.594' message 'add TDFileSystemDirectoryNode that provides filesystem access for instances of ClientFileDirectory or ServerFileDirectory...especially useful if you create an instance in a gateway node....add TDFileSystemLeafNode that provides access to (text) files for editting and catting from within tODE' id '1307ed94-441c-4985-b5ca-8a18fb77d9a2' date '08/07/2013' time '17:17:58' author '' ancestors ((name 'Topez-Server-Core-.593' message 'add `browse hierarchy`, `browse package`, and `browse project` commands' id '8ef36ed4-0322-4656-9512-a2711b56680a' date '08/05/2013' time '06:25:42' author '' ancestors ((name 'Topez-Server-Core-.592' message 'add `mm locked` command to list locked projects ... update gitManPage to explain that @gitRepo is used as default git repository path' id 'c097fe3c-bfe5-433c-a5b5-f6c1048a7003' date '08/04/2013' time '14:21:40' author '' ancestors ((name 'Topez-Server-Core-.591' message 'add TDTopezServer>>lookup:ifAbsent: to make script writing easier...supported by TDNode>>lookup:with:ifAbsent:' id '8e03b44c-8446-4b90-8ddd-2544fefe8d66' date '08/04/2013' time '12:32:50' author '' ancestors ((name 'Topez-Server-Core-dkh.590' message 'create git tool with support for all common git commands including api support ... create an api for mm commit command' id '9489b3f9-1460-4435-9f09-2761c8326736' date '08/03/2013' time '15:09:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.589' message 'mc diff diffs all dirty packages ' id '6f958d90-de5f-43ad-aa7d-f70d7122e9ea' date '08/02/2013' time '10:23:09' author 'dkh' ancestors ((name 'Topez-Server-Core-.588' message 'tweak mc browse command (allow browse @) ' id 'd708e841-0773-46e0-a6fb-4980cdbd07ed' date '08/01/2013' time '18:20:33' author '' ancestors ((name 'Topez-Server-Core-dkh.587' message 'fix mv command ' id 'dc2c8a25-70e6-432e-9cce-09559635b441' date '07/31/2013' time '18:19:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.586' message '' id '3cf80e7d-66de-48b7-94e0-cf41f63357e1' date '07/31/2013' time '18:13:49' author 'dkh' ancestors ((name 'Topez-Server-Core-.585' message 'fix mv command ' id '066b68c7-169b-44b3-b729-165e54343d72' date '07/31/2013' time '18:09:57' author '' ancestors ((name 'Topez-Server-Core-dkh.584' message 'fix a couple of places where TDAbstractDevTool>>resolveAtPathReference: not used correctly ' id '4ed6d71e-8a7f-49c1-bead-0ade838fe745' date '07/31/2013' time '15:50:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.583' message 'tweak logging for commit ' id '2ebd582f-ca70-4211-836d-581efef3694e' date '07/25/2013' time '11:30:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.582' message 'on commit (mm commit or mc commit), I want to see versions and repositories ' id 'eceb2259-e03f-4fd5-9e73-671db7c93e3e' date '07/25/2013' time '11:29:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.581' message 'remove #objIn: hacks from doit and run commands ' id '81b0e6cf-a2f3-4412-9001-dde371c99b16' date '07/25/2013' time '10:31:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.580' message 'results of commit and expressions involving input should be available ' id 'deb44707-5097-4fee-84e1-80ea1fb0b8f4' date '07/25/2013' time '10:28:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.579' message 'return the newVersion list as result of commit commands (rather than package names) ' id 'cccf888f-77ed-49ad-a9c6-bf0298c5f923' date '07/25/2013' time '10:17:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.578' message 'and now fore the better feedback ' id '8183bb50-3153-4e0a-af86-8638d551be85' date '07/25/2013' time '10:09:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.577' message 'switch from using Gofer for commits ... better feedback if I do it myself ' id '14c64f80-0629-4a33-b159-bae8b78b31b5' date '07/25/2013' time '10:07:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.576' message 'switch from using Gofer for commits ... better feedback if I do it myself ' id 'b31f8c1c-5b70-4928-8ca4-bc890c435f40' date '07/25/2013' time '10:07:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.575' message 'enable debugger keyboard shortcuts from stack window ' id 'c0ded669-ca60-4852-a134-835e486b1a80' date '07/18/2013' time '06:06:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.574' message 'remove logging ... remove process node in /tmp/debug ' id 'dd1cf5e7-74ea-4f18-b145-656606c52fca' date '07/15/2013' time '02:35:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.573' message 'multiple open debuggers now supported issues with running unwind blocks on close appear to be addressed ... took opportunity to toss some of the unused methods like the halos ... the nodes are now stashed in /tmp/debug/...still need to toss node on window exit ' id '1f1ce2cb-4601-4930-802a-7171f8479bc3' date '07/15/2013' time '02:21:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.572' message 'checkpoint: working on reworking debugger implementation ... need to support multiple open debuggers ' id '789f16af-a3cc-4a7d-bb6a-d8232faa7034' date '07/14/2013' time '15:33:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.571' message 'avoid executing ALL st nodes in dir when executing code via doit or run commands ' id '1a8a412e-c892-4a49-95d1-5ea3c90a3fcb' date '07/12/2013' time '10:26:59' author 'dkh' ancestors ((name 'Topez-Server-Core-.570' message 'add mc compare image command...don''t rely on modified packages for comparison...dbstack and dbStack do not coexist well on mac...is this 2013? ' id '32c1f725-e4ad-42dc-b7eb-9b532ef36095' date '07/11/2013' time '07:55:32' author '' ancestors ((name 'Topez-Server-Core-dkh.569' message 'add mc bump command (version bump)...add Transcript logging to various commands...rename test mm command to test project...add test rerun command ' id '28986984-7852-45a8-8a42-ff71c951b04b' date '07/10/2013' time '15:15:31' author 'dkh' ancestors ((name 'Topez-Server-Core-.568' message 'fix a minor bug ' id 'b4985ab7-35c0-4948-9697-7b522b3c151d' date '07/09/2013' time '16:57:40' author '' ancestors ((name 'Topez-Server-Core-.567' message 'use TDAbstractDevTool class>>performSubCommand:objIn:tokens:windowId: whereever appropriate ... lots of places ' id 'f7e3d24e-d0d0-4b85-a445-4a304a64c465' date '07/09/2013' time '16:00:27' author '' ancestors ((name 'Topez-Server-Core-.566' message 'tweaking various commands ... ' id '363c9b64-2f92-4904-9f2a-7d61d686f590' date '07/09/2013' time '15:03:31' author '' ancestors ((name 'Topez-Server-Core-dkh.565' message 'create MCTodeDeployTool and MCMetacelloTodeTool to share code with MCFileTreeTodeTool and provide Metacello deployment commands ... expand mc copy, mc load, mc move and mc version commands .. push code around to taste ' id '4cd96e9e-44ce-443b-b512-74bac3e5b0d9' date '07/02/2013' time '21:25:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.564' message 'revise implementation of mr remove ' id '20c2c0d9-4c22-4179-81f0-68c2336ab995' date '06/23/2013' time '20:26:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.563' message 'implement TDMonticelloTool>>mccopy:from:to: ' id 'e919680a-d0cd-4a3f-9b58-c829da3ff03b' date '06/22/2013' time '10:48:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.562' message 'update deploy command man page ... tweak implementation ... add mc move command ' id '1e630a92-1af3-4bf7-97d6-97679b06ac0e' date '06/17/2013' time '17:40:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.561' message 'MCFileTreeTodeTool work ' id '4b26ca10-7cec-4af7-9828-29bbc3577f5d' date '06/15/2013' time '20:48:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.560' message 'add TDRoassalListElementBuilder in support of roassal ... proof of concept is complete ' id '5f7ade5a-6262-41fa-a719-04ba848c1152' date '06/12/2013' time '07:17:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.559' message 'have to create postLoadDoIt for tode to correctly initialize the tools...' id '40daf930-d6ff-4877-ba46-1c0471619455' date '06/06/2013' time '11:40:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.558' message 'fix a tode load/initialization error' id '23e2269a-4de6-466b-b638-d6ef1c91ea58' date '06/06/2013' time '10:20:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.557' message 'refactor ston command to make calling import/export from smalltalk easier' id 'e8cc848d-909f-4c77-920b-94feb59b6e82' date '06/06/2013' time '10:00:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.556' message 'restore some "required" #respondsTo: logic ... make it possible to inspect a TDObjectNode ... it is used in the inspector so you need to use ''.'' to see underlying TDObjectNode ...' id '3ee7dd8b-4b50-4c89-a938-2817d16c3ba9' date '06/06/2013' time '00:10:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.555' message 'fix nasty TDDirectoryNode bug -> make #copy ... fix editorAspect handling in TDDirectoryNodeClientListElementBuilder>>itemSelected:at:shiftPressed:...TDShellTool>>cat tweak...fix TDShellTool>>run objIn handling...' id '166f5a15-5c6f-4d7b-bc1d-c7ca929f10df' date '06/05/2013' time '22:46:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.554' message 'fix cross-session pkgs/configs bug ... doit/run now have consistent and complimentary interpretation and updated man pages that should make things clear ... add childNamed: to TDDirectoryNode, too...for TDExecutableLeafNode, at least generate some of the fields for manPage by default...update browse/find man pages ... ' id '176d8156-7e6a-44f7-bbcf-b1104ea7eb08' date '06/05/2013' time '13:41:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.553' message 'add TDDirectoryNode>>objectNamed: to simplify script writing ... add sh command...spawns a shell window on given object' id '37635297-9520-4b4d-be4d-5ced96a1c49c' date '06/05/2013' time '05:33:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.552' message 'add stack command for accessing results from result stack ... last 5 results ' id '3b50450a-c729-4010-b850-376046ce6377' date '06/04/2013' time '21:41:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.551' message 'rm removes multiple nodes....avoid IdentitySet when doing find command...use truncate: since we want ellipses...' id '291b2996-6f95-4852-9b46-902f2aac2003' date '06/04/2013' time '20:44:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.550' message 'add FileTree deployment tool ... doit/run commands can now reference nodes in currentNode as temp variables ... browse list command to support definitionList filtering ... implement #= and #hash for TDDefinition hierarchy ' id '8ba0341c-2120-4ddc-a956-fe4a6f17ba46' date '06/04/2013' time '19:14:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.549' message 'consistent use of TDEditorSpec (always supply an editorAspect)... working toward symmetrical operation of inspect and spawnShell (ESC).' id '7d993e0c-d4f6-44e3-9044-ac1c388068e8' date '06/01/2013' time '13:53:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.548' message 'rename listIndex iv in TDClientListItemAttributes to list, since the slot is now expected to be an OrderedCollection...#navigate editor aspect should be reserved to use as the default aspect that brings up the standard navigator for all objects; rename attributes for those that didn''t follow this convention...add some support methods to TDGatewayNode...TDStackFrameContentsClientListElementBuilder should be a subclass of TDDirectoryNodeClientListElementBuilder so that we sharing some important behavior.' id 'ee69107c-3c29-4bd5-84ad-78755a422fa4' date '06/01/2013' time '11:29:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.547' message 'rename listIndex iv in TDClientListItemAttributes to list, since the slot is now expected to be an OrderedCollection...#navigate editor aspect should be reserved to use as the default aspect that brings up the standard navigator for all objects; rename attributes for those that didn''t follow this convention...add some support methods to TDGatewayNode...TDStackFrameContentsClientListElementBuilder should be a subclass of TDDirectoryNodeClientListElementBuilder so that we sharing some important behavior.' id '79fcea83-702e-4eee-90b9-bee7816797c8' date '06/01/2013' time '11:23:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.546' message 'fix a few bugs that have crept in ...' id '9b95281c-2a12-40b1-bb47-9e9882701cd8' date '05/30/2013' time '07:44:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.545' message 'parentList must be an OrderedCollection' id 'f537be1f-cdd2-437f-9b6e-864cdf8e8e1c' date '05/30/2013' time '07:28:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.544' message 'convert from using parentListIndex to using parentList for TodeClientListElement and TDEditorSpec instances' id '32e37ff2-8dd5-45c2-87d1-f45636b63a7e' date '05/30/2013' time '07:22:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.543' message 'rename i.v. parentListIndex to parentList for TodeClientListElement and TDEditorSpec' id 'b84c23b8-6b53-462e-805c-097f20c34913' date '05/30/2013' time '07:14:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.542' message 'pharo port tweaks' id 'f762a9c0-95dd-42f7-9ea1-9315e1da8d90' date '05/30/2013' time '07:06:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.541' message 'displayOn: is already taken in Pharo ... replace with displayOnPolicy:' id '30b6c976-8d2a-475c-8899-1405a852e273' date '05/30/2013' time '06:41:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.540' message 'fix bug in TDObjectNodeBuilder>>childNamed:parent:ifAbsent: and get package/config selection working again ' id '3672aef7-6fb9-4158-af60-0d2c26f53441' date '05/28/2013' time '17:05:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.539' message 'Use OrderedCollection for portability (instead of Array) ' id '853a61db-629f-4b7e-a6eb-4be00fe98d7d' date '05/28/2013' time '14:05:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.538' message 'pull back #clientElementOop senders ' id '94e8d97d-093e-4e37-8ff5-239325da8ec1' date '05/28/2013' time '12:01:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.537' message '#className is overloaded ... use theClassName ' id '502b234d-8ce5-4100-9089-3dfc33638814' date '05/28/2013' time '07:51:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.536' message 'start work getting editors working in Pharo ' id 'e7a47418-3e28-440c-957b-19cf1901792a' date '05/28/2013' time '07:40:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.535' message 'isolate the GemStone-speicific classes for now ... ' id '243091d3-ce29-46e8-85fb-5200c700af44' date '05/28/2013' time '07:00:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.534' message 'portable man pages ' id '1ce61ba3-a149-4bab-adba-207bae94ac47' date '05/28/2013' time '06:35:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.533' message 'handle block source in portable manner ' id '3106d90a-6122-44c4-9817-0fd3e28e5e90' date '05/28/2013' time '06:32:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.532' message 'a little hackery to get past the initial phase ' id 'b9d00228-7205-4852-b5fb-9c67e4c0eb9f' date '05/28/2013' time '06:15:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.531' message 'push' id '27077131-29eb-4665-adef-934a3346f107' date '05/28/2013' time '06:02:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.529' message 'set up for registration of TDTopezPharoServer ' id 'b221645f-11f7-45dd-8734-aaa99fb2cbfa' date '05/27/2013' time '20:08:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.528' message 'pushing more things around ' id '437c4309-dfaa-42da-8093-3390c87ff4f5' date '05/27/2013' time '19:36:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.527' message 'and again ' id 'e78601f7-abd2-4e34-9e93-052772ff7ce1' date '05/27/2013' time '19:27:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.526' message 'tweak again ' id 'bfe5f558-b59b-4fbc-b13c-99f657dbb056' date '05/27/2013' time '19:24:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.525' message 'clean up another syntax error for Pharo ' id '63134730-b96f-4734-b342-faf5b3146b5f' date '05/27/2013' time '18:00:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.524' message 'porting to Pharo ' id '786db589-3e5e-4293-91ce-5cc831b5b835' date '05/27/2013' time '17:58:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.523' message 'move CharacterCollection>>printUsing: to Tode-GemStone-Server-Core ' id '77598ba2-4f88-4b56-a771-4687ca1fcf9e' date '05/27/2013' time '17:52:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.522' message 'Issue #25 ... re-packagin in preparation for Pharo port' id '863d36ee-c053-4afc-9239-37e8a641a246' date '05/26/2013' time '10:31:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.521' message 'fix limit oops man page ...' id '67e2ac2e-3814-48dd-b841-42da7676ac28' date '05/20/2013' time '15:42:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.520' message 'fix commit message logic... and again' id '3b51a577-0066-4379-b501-dcbc8f3bcdc5' date '05/18/2013' time '18:07:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.519' message 'fix commit message logic, again' id '5eae3bf9-0410-4b19-83c1-e0422e3bd8af' date '05/18/2013' time '18:06:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.518' message 'fix commit message logic' id '1bf18725-ab4f-49ac-9424-f272ef8101e7' date '05/18/2013' time '18:04:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.517' message '/home/image/commitMessage/' id 'f0c9374c-c5cc-4c8d-b894-8f220922fd20' date '05/18/2013' time '18:02:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.516' message '/home/image/commitMessage/' id '4ecde5f5-cfb7-4f86-b4eb-e8e48bc5703f' date '05/18/2013' time '17:49:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.515' message '/home/image/commitMessage/' id '710cdfce-9950-4568-b510-898eb247a348' date '05/18/2013' time '16:02:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.514' message 'cleanup the recent work on mm diff and extend to mc diff' id '17d1abf1-dab8-424b-b8a8-f03dc65b4449' date '05/18/2013' time '13:08:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.513' message 'add `blockVendor` to TDScriptLeafNode so that programatic tool calls can be routed to correct tool without going going through textual script interface...revamp TDDevProcessSuppot backup and diff using new approach ... refactor bu backup and mm diff commands in support of new approach' id '618dc0d9-ea41-4639-b6c8-16f69cad5030' date '05/18/2013' time '12:32:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.512' message 'refactor TDAbstractDevTool hierarchy a bit to accommodate the addition of TDDevProcessSupport ... added TDStandardTool above the tools to house the code related to installing generally available commands, commands defined in TDDevProcessSupport have to be invoked directly, but the code and manPages deserve to be managed in a class... sticking code for the image dev support into TDDevProcessSupport ... share some common commit code in TDMonticelloTool ... preparing for revising the commit commands a bit (maybe?)' id '499f55f1-cf9d-4ffb-b48c-77e4576839da' date '05/18/2013' time '08:41:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.511' message 'add commit-message-path to mm commit command. all list of configs for mm diff command. Use TDCommandLine for script execution.' id 'fa52792e-b76c-4d1e-8d0d-66b3f87a13cf' date '05/17/2013' time '21:43:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.510' message 'tweak ston command to support import/export commands ' id 'eb526e9b-7903-4101-ab09-c33a22e7b702' date '05/17/2013' time '19:45:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.509' message 'tweaks to gateway and bu backup command ... building up node structure for managing my development environment ' id 'a14bc42b-cf3a-4465-a290-178993b839b6' date '05/17/2013' time '16:50:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.508' message 'gateway tweaks ... tiner with mr packages command to more information in result array ' id '128ad95d-acd4-40c6-b4ad-39a32490bc90' date '05/17/2013' time '14:25:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.507' message 'implement gateway node ... gotta say it''s cool ' id 'ed31931a-0c8c-4135-a6b8-667132592795' date '05/17/2013' time '08:02:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.506' message 'finish up implementation of browse amethod command ' id '0f241b4a-d830-4dd5-a7a7-22571e1e04df' date '05/17/2013' time '06:26:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.505' message 'tweak mc load command to allow @ ' id 'fcd885b7-515a-467a-a754-b8ba6e070ae2' date '05/16/2013' time '20:26:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.504' message 'all # to be used in syntax to disambiguate #> selector from > shell redirect ' id '11fa94ae-7b6f-4a25-b3c6-24a99889b718' date '05/16/2013' time '20:10:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.503' message 'add find amethod and browse amethod commands ... revamp the SEE ALSO section for man page to give pointers to command block source and method where command is implemented ' id 'ccadf861-5d7c-41f6-8cd3-f3c76766d551' date '05/16/2013' time '14:50:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.502' message 'add implementation class name to TDManPage ' id '522b3aa7-d122-4c1d-8802-a782601d647a' date '05/16/2013' time '08:08:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.501' message 'start work on mmb commands ... ' id '0481461c-b72d-4dcd-9335-e9c7e182d7e1' date '05/15/2013' time '21:45:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.500' message 'with wider use of @ for commands, print command becomes practical and navigator view is a natural, since you can spawn a console window on navigator and then do operations using @ ... monticello tool commands revamped to use navigator whereever it makes sense.... ' id '34e9e8ec-b0a1-446f-8f35-fa48373dfe49' date '05/15/2013' time '20:00:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.499' message 'use #dotSelfObject in run and doit commands ... make references to objects in paths easier ' id '76707864-9560-47f5-9e23-65426d5cfac0' date '05/15/2013' time '16:33:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.498' message 'redirect operator (>) is functional ' id '0d90f8c9-1a81-423e-808b-380911a26e70' date '05/15/2013' time '16:22:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.497' message 'checkpoint...adding redirect operator ' id '82a35f19-c4cd-4cd3-b12a-563aed9c7ebf' date '05/15/2013' time '15:56:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.496' message 'fix a bug in creating backups record file ' id '5dc7072b-3bd8-4577-b319-ea1104065952' date '05/14/2013' time '18:27:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.495' message 'create TDGemStoneTool ... primarily backup/restore ' id '226f8ed6-edf2-484e-9781-405013db9190' date '05/14/2013' time '18:17:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.494' message 'add @ option to all appropriate shell commands and update man pages ' id '3aa86c00-2def-41e3-b4be-fe49483577c9' date '05/14/2013' time '10:58:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.493' message 'format method source for source and destination when doing diffs ' id '2a753497-8927-4ffe-8d82-2050c712cfa2' date '05/05/2013' time '17:17:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.492' message 'add browse diff and find methods commands ... improve implementation of find versions command ' id '6370eef1-4606-495e-9afe-39c2cde9442b' date '04/30/2013' time '18:18:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.491' message 'add accessor to make export command work better ' id '6d47daa9-c540-4bd0-9e6f-5012d2e82f17' date '04/29/2013' time '12:32:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.490' message 'Object>>dotSelfObject was not packaged correctly ... ' id 'a81f7954-a550-49fa-994a-457c3f7b64a9' date '04/12/2013' time '07:04:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.489' message 'Text should be directly editted with CMD-p (add Text>>printUsing:) ' id '140578bf-57d9-489e-b63a-c7d62b667608' date '04/12/2013' time '06:24:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.488' message 'tweak for CMD-p ' id '5a6e3c90-2d37-4c0b-a693-ae6b81137df8' date '04/11/2013' time '22:18:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.487' message 'clean up some misinformation in the navigator and implement CMD-p ... #printUsing: ' id 'e8912811-66f5-46a5-9481-f69e23cac18e' date '04/11/2013' time '21:02:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.486' message 'prepping for CMD-p command ... remove all the references to #print .... ' id 'b961dc5b-a012-4c4d-95af-588fb05449e3' date '04/11/2013' time '20:07:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.485' message 'get started on getting tests to pass ... step 1 eliminate spurious halts step 2 get debugger functional again ... step 3 will be to allow edit (using #print aspect) of objects from navigator ' id 'd91fb15d-72eb-43f7-8ddf-2796be59fc73' date '04/11/2013' time '17:27:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.484' message 'add TDEditorSpec to encapsulate the proliferation of editor arguments ... replace all calls to edit:... with editUsing: that takes a TDEditorSpec as argument ...finally allow for edit of String that brings up source editor and navigate object references to instances of String that views chars in string instead of the node view ... need to be able to bring up an editor on the string FROM navigator ' id 'ff780b7e-254d-4d71-9191-49600dfa16d2' date '04/11/2013' time '16:58:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.483' message 'using #navigate or #edit to replace #browse for editor aspect depending upon context ... ' id 'd94242a4-01ef-4bfa-b2d5-ef25155afb78' date '04/10/2013' time '17:17:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.482' message 'added builderAspect to TDNode remove aspect from TDDirectoryNode and friends to make reading code clearer ... ' id 'a22c0577-f031-4bb3-87ed-33a04fddbab5' date '04/10/2013' time '15:23:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.481' message 'checkpoint: dictionary toggles correctly between view and inspect builder aspects ... now struggling with how to handle String/Text ... want to be able to pop into source view, but navigator must _inspect_ it ' id 'f3cea256-c534-448b-a0eb-afed7829aff5' date '04/10/2013' time '08:07:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.480' message 'checkpoint: attempting to make sense out of #view/#inspect for builders and #browse/#inspect/#??? for editors ... mainly related to what happens with strings dictionaries and hitting the . line item hitting . should toggle not lead down a black hole ' id '8267c5a7-ad49-4540-a168-8e23226bd7f6' date '04/09/2013' time '17:05:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.479' message 'mc diff command should set package modified if it wasn''t already modified ' id '55627c7d-b175-4a22-8cbd-9b9a25415eb3' date '04/08/2013' time '10:24:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.478' message 'support for exporting keyboard mappings ' id 'eeec9389-8971-4458-ae00-74a60d679128' date '04/06/2013' time '15:28:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.477' message 'using TDManPage>>printOn: to write to filesystem ... need to use #lf instead of #cr. ' id '2b08b782-c4ea-40cd-8894-6c000702060f' date '04/06/2013' time '15:14:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.476' message 'not at all ideal translation from test to markdown ... need to use petitparser markdown parser ... then the man pages can be created in markdown format and translated to manPage Text or used asis for github ' id '15d35c04-9a37-412e-98aa-b5f5a0b02805' date '04/06/2013' time '10:52:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.475' message 'add first class man page object (TDManPage) ... rename .bin halo to .man ... ' id '1a95a816-82f4-4c48-ab2c-3a06d0bf5e46' date '04/06/2013' time '10:36:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.474' message 'add .keymap halo ' id 'bc5c5e3e-b458-4175-919e-227feb162b57' date '04/04/2013' time '16:46:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.473' message 'add .bin halo ... update man pages since summary is more visible with inspect .bin ' id '8747a2dc-21bf-4938-a5b6-8147ad863050' date '04/04/2013' time '16:22:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.472' message 'add windowBuilder instance variable to TodeClientElement as developer aid ' id 'ce7ddf0c-96b6-4413-8793-756c35b517ce' date '04/04/2013' time '14:00:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.471' message 'even more bullet-proofing ' id 'bb9b04dd-13a4-4770-bf84-2c247d280cd5' date '04/03/2013' time '12:07:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.470' message 'a little bullet-proofing ' id '9c360904-da4b-4a22-a636-a89d5f523a05' date '04/02/2013' time '20:53:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.469' message 'get db continue working for debugger with multiple halts involved ' id 'ac23fc2b-048e-4cdb-b81b-7cfd72bde913' date '04/01/2013' time '20:18:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.468' message 'move TDDebugTool>>gsMethodClass to proper package ' id '05f10364-d640-45b8-a095-35adf909dfc2' date '03/31/2013' time '09:28:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.467' message 'gsMethodClass needs to be a class method ' id '5fc6ee63-ee4b-4839-b7ac-77841a993894' date '03/31/2013' time '08:30:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.466' message 'checkpoint: basic shell functionality (including bringing up dewbugger) with GemStone2.4' id '99ac16c1-a3d8-4566-9219-cf33f5a9fdc6' date '03/30/2013' time '16:32:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.465' message 'resolving sent but not implemented in 2.4 ' id '4a5899c0-b44a-4a37-aa24-c33f40731a10' date '03/30/2013' time '09:32:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.464' message 'isolate some GemStone 3.1 specific class references/methods ' id 'a44e7a57-517b-4034-95ad-b0ad6146811b' date '03/30/2013' time '08:48:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.463' message 'another port issue ' id 'c18f63a4-750f-43f9-9f12-d22c6b76facc' date '03/29/2013' time '20:08:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.462' message '2.4 porting change ' id '2aa14413-ea7f-4e86-a69e-0cdc143e7714' date '03/29/2013' time '20:03:14' author 'dkh' ancestors ((name 'Topez-Server-Core-.461' message 'fixed a rendering bug in server ' id '60c78039-890c-46d8-a137-96afdc966c67' date '03/29/2013' time '18:08:04' author '' ancestors ((name 'Topez-Server-Core-.460' message 'stripped out obsolete unused classes and methods from server ' id '09d36025-99e5-4ede-a40c-e481b43152eb' date '03/29/2013' time '18:02:04' author '' ancestors ((name 'Topez-Server-Core-dkh.459' message 'server-side tweaks ' id '2fcdd07a-fe32-483d-8a07-562bc52cac99' date '03/29/2013' time '16:13:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.458' message 'implement doit command (equivalent to ./.self | run) ' id 'af6eaf57-9235-4927-9f38-58ccd21a21fe' date '03/28/2013' time '20:36:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.457' message 'implement history command ' id 'b94a823f-8480-4189-9c15-627487b79d74' date '03/28/2013' time '20:14:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.456' message 'add support for tab completion ... command completion functional, path completion not tested ' id '76ac8c08-e3d4-4f07-bf9c-f30220b455ba' date '03/28/2013' time '08:55:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.455' message 'implement mc revert command ' id 'ed26485c-276d-4131-8b07-2fef608b396a' date '03/25/2013' time '20:06:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.454' message 'fix mm list command ' id '7192ffb0-380b-4473-be06-dbeec55b44c9' date '03/25/2013' time '17:40:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.453' message 'implement mc recompile and extend mc browse to allow for using a package name (with no repo) ... Issue #14 ' id 'fec08dd6-11b5-43da-a884-388b2f1d5e76' date '03/25/2013' time '08:07:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.452' message 'implement mr flush command ... Issue #14 ' id 'd4267c33-98a1-4d49-b3d0-dce0c5ee762c' date '03/24/2013' time '17:34:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.451' message 'implement mc adopt command ... Issue #14 ' id '878eb029-0a38-46d2-b553-3ff5efb090d4' date '03/24/2013' time '17:18:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.450' message 'implement mc load command ... Issue #14 ' id 'f7603636-b0ce-4906-993a-e4464cfc3891' date '03/24/2013' time '17:09:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.449' message 'implement mc delete command ... Issue #14 ' id '9dbf4439-882f-47a2-a61c-3d4461b90089' date '03/24/2013' time '16:58:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.448' message 'implement mc copy command ' id '4d84bbec-63fd-4494-af4e-bd23b9f30d45' date '03/24/2013' time '13:41:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.447' message 'better label for method window ' id '5075303d-2a02-4e65-82f3-03acfb38c7c5' date '03/24/2013' time '13:27:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.446' message 'mc compare command implemented ... mm diff and mc diff commands now edit results and return a patch object (as does mc compare) ... no need for bin/diff script ' id 'f11f0fca-7a73-4eef-969c-c19d7e10f9ad' date '03/24/2013' time '12:44:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.445' message 'mc browse command implemented ... Issue #14 ' id '8de48ed6-54c5-42e1-92fd-aa2f5dc4192f' date '03/24/2013' time '12:03:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.444' message 'tweak ' id '5382f25c-e5d0-45bb-903d-c360f3a36475' date '03/23/2013' time '20:48:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.443' message 'implement mr packages and mr versions commands ... most of the MonticelloBrowser functionality is covered now .. Issue #14 ' id '4cdb1c56-323c-4c7a-8919-5ee9a528d1e0' date '03/23/2013' time '20:25:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.442' message 'rename mc history to mc ancestors and return ordered array of ancestors ' id '657ebf93-7486-4d99-89a2-e16b6bdc2e02' date '03/23/2013' time '09:24:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.441' message 'mr group and mre remove commands added for Issue #14 ' id '8bc6b617-7237-445a-8b11-068906ecbed1' date '03/23/2013' time '09:10:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.440' message 'add mc unload command ' id '4656833a-473d-4047-b0ee-e7c4f763dcca' date '03/23/2013' time '07:38:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.439' message 'improve TDMonticelloTool>>repositoryFromDescription: * ' id 'da904226-53a1-4447-ac6d-5c7622f761a7' date '03/21/2013' time '18:11:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.438' message 'CMD-v on package after CMD-c of method ... move method into package (Issue #14). mc list searches through the locator section of the url ... ' id '9f2aa456-c910-4987-b416-5ec4c2ea58a2' date '03/20/2013' time '21:05:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.437' message 'when class passed around as error argument, return it as the name of the class ... STON does not take kindly to serializing CLASSES ' id '5574ae6c-a0cf-4b4a-9556-7252987ceb80' date '03/19/2013' time '16:03:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.436' message 'Make the ''Please enter commit comment'' text bold ... ' id '559c6bca-d599-40d3-b3b6-3454ca82f461' date '03/18/2013' time '10:11:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.435' message 'change default character limit to 140 ' id '6a6aec44-5b14-42e4-a073-a5490d419567' date '03/18/2013' time '09:51:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.434' message 'allow use of CMD-m and CMD-n (implementors and senders) in a class/method definition list ' id 'd395a737-f67f-4942-a87b-9b74254d4194' date '03/15/2013' time '10:33:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.433' message 'found a couple places where I still need to use TDCommandResult ... when you need it you need it ... ' id '5697b880-e588-4930-abd6-2b8bab12746a' date '03/14/2013' time '07:23:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.432' message 'don''t need to use TDCommandResult _everywhere_ ' id '93e67502-2e0d-4160-8356-760b171b5ed2' date '03/14/2013' time '07:19:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.431' message 'use TDCommandResult ... everywhere ' id 'd16b946f-5b3f-4cb1-be6b-245d1d5a278a' date '03/13/2013' time '21:57:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.430' message 'insert TDCommandResult so commands have more control over how result is presented without compromising ability to pipe objects around ' id '1f7ac473-057f-4442-9641-95a5ed1de03c' date '03/13/2013' time '08:28:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.429' message 'rework mc history command ' id 'b133af3c-8093-4d26-9764-1c57cca25172' date '03/11/2013' time '08:26:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.428' message 'add find versions and browse versions commands (version history) ' id '3dec02fd-16e1-44ed-b187-e2b371a0bd5d' date '03/10/2013' time '22:36:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.427' message 'bump ' id '24e00f82-9b26-484a-b6d9-0a9cdf37a05c' date '03/10/2013' time '15:17:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.426' message 'bump ' id '3a9a1c47-afba-488f-afb6-7e488c0b2fbf' date '03/10/2013' time '15:12:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.425' message 'mr add, create, list implemented. CMD-v of class on package adds class to package. Package process tools separately (resolve a load order issue). Support dev scenario (with assortment of changes): 1. create package (mc create) 2. move class to package (CMD-v) 3. add package to baseline (manual edit of baseline) 4. diff for baseline package (mc diff) 5. commit baseline (mc commit) 6. produce diff for baseline (mm diff). 7. commit dirty packages in baseline (mm commit) ' id '82748474-fe6e-462f-917c-d74eaf6b950d' date '03/10/2013' time '15:04:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.424' message 'Issue #14: implement mc create command ' id 'bfd87de1-9a9d-49bb-9771-7cc2b94198f6' date '03/10/2013' time '11:49:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.423' message 'convert mc commands to use the mc method prefix ... ' id '58c9a255-9fe9-4fb4-82ac-5759898c9e63' date '03/10/2013' time '11:32:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.422' message 'rename TDTopezServer>>installChildrenAt: to TDTopezServer>>ensureChildrenExistIn: and use that in ston import to create path ' id '70c54abd-1832-47df-ab0a-04f24c42ee7d' date '03/10/2013' time '09:33:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.421' message 'a better take on the object log tools (`man ol`)' id 'db3bd1c0-5d22-4b9c-afb7-f78749f4ca14' date '03/09/2013' time '09:11:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.420' message 'add ol command for view object log...' id 'aa5ba7c2-88fd-49f2-99c5-e8d5ecb8f8bc' date '03/09/2013' time '08:13:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.419' message 'arrange for client-side global name cache to be reset at appropriate times ' id 'daea44a8-6938-4917-ab43-b361a2ef62b1' date '02/28/2013' time '12:03:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.418' message 'use correct messagePattern when regex is involved ' id '26b6a05d-f423-4621-ab4a-14fd1d616b05' date '02/27/2013' time '16:56:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.417' message 'fix infoant mortality session method bug and handle author initials automagically ' id 'bd433293-6f55-4ba5-8b34-c4362fa1aed4' date '02/27/2013' time '07:27:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.416' message 'remove spurious method ' id 'f5ac1c45-3f21-40c5-bc96-1d6cf13e0d3e' date '02/26/2013' time '18:44:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.415' message 'IndirectSymbolAssociation fix ' id '1c46c769-f563-4e89-bb86-5e7d3ef4dd58' date '02/24/2013' time '18:04:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.414' message 'a bunch of mods aimed at making it easier to work with class/method definitions ... filtering a method or class list and then rebrowsing ... ' id 'b69ed603-3b7d-45b3-a474-7bb6a8782543' date '02/24/2013' time '16:41:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.413' message 'create IndirectSymbolAssociation ... for handling local values of class variables ... hopefully allowing tode to manage packages and configurations for indirect development ' id 'f7c8d41f-8fa4-4e3b-9f47-a6c401addfad' date '02/24/2013' time '09:23:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.412' message 'a bit of work isolating rendering from under dev env ' id '8f874fce-48c7-4196-a547-1faaf1b530ca' date '02/24/2013' time '06:37:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.411' message 'possible to continue dirctly from client after reifying the error args so disable sessionMethods before returning control ' id '321e696f-15e0-4e27-b02f-65ae1cdfbe3c' date '02/23/2013' time '18:37:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.410' message 'need to reenable sessionMethods ' id '40fc382b-6cba-41b8-a464-80929d911d74' date '02/23/2013' time '18:31:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.409' message 'add ensureSessionMethodsEnabled and disableSessionMethods calls to insulate the execution of code in context of dev environment form the tode session methods ' id 'f458ab18-fe18-4069-87ae-100e65aa1d3a' date '02/23/2013' time '18:09:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.408' message 'arrange to look up tode tool classes through TDTopezServer so that tode does not have to be installed IN the dev environment ... view now takes an aspect to facilitate filtering methodDefinitionLists and friends ' id 'c8e4044f-ff5e-4017-bd72-393c54318de6' date '02/23/2013' time '16:39:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.407' message 'checkpoint ... tweaking indirect access ' id '213beafc-454f-4f84-9270-6c1308b23bef' date '02/23/2013' time '11:18:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.406' message 'working on supporting indirect access...use tode as development environment for a gemstone user that does not have tode directly installed in his environment ' id 'ced57116-387b-4c6c-9648-f678b83f3a80' date '02/23/2013' time '09:56:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.405' message 'if autoCommit is disabled, turn the promptString red ' id '3979f7e1-04c9-4489-b928-c3386b831c08' date '02/21/2013' time '18:31:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.404' message 'keyboard shortcuts for debugger: $i, $o, $t for db into, db over and db thru plus label the debugger shell window correctly ' id '0cc1e14e-ca3f-42d1-8bdb-606e3174f7e9' date '02/18/2013' time '09:28:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.403' message 'fix a bug ' id 'a7828563-a66e-483c-90e0-2e0bde45a95f' date '02/18/2013' time '08:36:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.402' message 'add CMD-T to pkgs and configs windows ... extract test classes ' id 'd2648500-b802-4b59-a250-17e7726416a8' date '02/18/2013' time '07:49:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.401' message 'parentList has to be a stack ... ' id 'df66af70-5bc3-4064-9a24-7f5239b3b698' date '02/17/2013' time '15:10:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.400' message 'arrange to highlight the item in the parent list when clicking on .. entry in navigator ' id '3a855c71-bb31-4d83-b482-2f5bdded8e4b' date '02/17/2013' time '13:35:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.399' message 'checkpoint ... converting to server-side formatting ... query block formatting problem outstanding ... ' id '51cb89eb-ab0a-4eb0-9e46-8311217bdd44' date '02/16/2013' time '13:22:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.398' message 'reset pkg and config cache when you run pkgs or configs commands ' id 'e0eed057-c829-48c8-9917-4de9a1d7f173' date '02/16/2013' time '12:16:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.397' message 'fix bug in ston script handling ' id '7c7b1304-11b0-4897-80a4-f4b9f9307de9' date '02/11/2013' time '13:35:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.396' message 'fix the CMD-o implementation ' id '2b1a2ecb-a2f7-4270-945a-bab77e4fa01f' date '02/10/2013' time '20:02:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.395' message 'mm diff with no config name diffs all dirty configus ' id 'df4a2a85-2fe8-4b3c-88ec-8b176bf1ef3f' date '02/10/2013' time '15:49:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.394' message 'fix mc history bugs ' id '0dfb2479-c580-4d7b-b8a5-9f748bd0760c' date '02/10/2013' time '15:01:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.393' message 'add mm commit command ... ' id '3ad6ba45-4675-4477-8e07-0ec03e2213cc' date '02/10/2013' time '14:41:58' author 'dkh' ancestors ((name 'Topez-Server-Core-DataCurator.392' message 'text highlighting for diffs ... mm dirty, mm get, mm diff, mm list commands implemented ... ' id 'c5372603-fd71-42b6-a62e-2977263bb999' date '02/10/2013' time '13:23:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.391' message 'examples additions and tweak context labels (always have (self) show up) ' id 'b7d6d93a-8691-415e-b1ec-a775f7c27bb7' date '02/10/2013' time '07:24:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.390' message '' id '0f01496e-8d27-4795-aa92-a4caaacd6ac1' date '02/09/2013' time '17:57:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.389' message 'set MCPlatformSupport class>autoCommit and autoMigrate ... authorInitials, too ' id 'ffd105ab-944f-47c0-97e6-aadb3b9cd289' date '02/09/2013' time '17:37:03' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.388' message 'refactor TDDefinition hierarchy to accomodate method templates and add a behavior definition to fix a paste bug ' id '3ec60937-17e7-44f7-b0f7-a91896126aa3' date '02/09/2013' time '11:11:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.387' message 'checkpoint ... generate compilation errors when saving st leaf node ... working on correct behavior for method source view when a different selector is saved ' id '745cb46e-7bdc-4e9e-a528-60f61330085d' date '02/09/2013' time '10:21:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.386' message 'revisit commit on key press ... only commit for selected key press events ... implement ston export and ston import commands ... ' id 'c82c4afd-be3d-45f5-9bd8-26768fb0ec91' date '02/09/2013' time '08:40:29' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.385' message 'commit after all key clicks ' id '4d1d18db-0714-4c78-8153-d9602faba4b5' date '02/08/2013' time '18:17:43' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.384' message 'fix duplicate Hierarchy window opening... ' id 'f4cd825f-5e18-48ee-bd1d-e667e9ed4759' date '02/08/2013' time '17:58:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.383' message 'bugfix ' id 'bb78f387-287a-4770-9b3b-b1656950df1c' date '02/08/2013' time '13:29:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.382' message 'fix TextAttribute filtering so SHOUTed text can be saved ... tweak profile tool ' id '56f47993-f7ad-4c78-8c32-a705d043009c' date '02/07/2013' time '21:19:23' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.381' message 'add profile tool ' id '473d5c3e-7598-41ef-a9b1-fa90dabdccea' date '02/07/2013' time '20:23:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.380' message 'fix sendesOf bug ' id 'a49475be-e488-4967-ac1f-72a290bcc25b' date '02/07/2013' time '17:23:06' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.379' message 'need to pass the live edit source on code editor keyboard events ... CMD-b, CMD-N, CMD-m, and CMD-n honored in all text based editors ' id 'ed6d54bf-8772-48c4-9363-74559429695b' date '02/07/2013' time '16:23:26' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.378' message 'CMD-B from source window ' id '80e8e349-f89a-4239-bd1b-03bd117d7f60' date '02/07/2013' time '15:07:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.377' message 'CMD-N references looking good ' id '52980149-c0bf-49cb-bf64-51fb2a89ad0a' date '02/07/2013' time '14:52:56' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.376' message 'checkpoint ... implementing CMD-N ... ' id '5c0c775c-0eb8-4016-882f-3e89d76ea6a2' date '02/07/2013' time '14:44:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.375' message 'checkpoint ... implement find references and browse references ' id '9969a19b-b702-4265-bcd8-e6dea7838293' date '02/07/2013' time '13:38:08' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.374' message 'seal the deal on messagePattern highlighting ' id 'a73f738c-7cda-4f3f-be9b-c31940d7711a' date '02/07/2013' time '12:26:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.373' message 'checkpoint ... working on messagePattern implementation so that selectors are highlighted for senders/implementors, etc. ' id '33e29b5d-6d7b-49d0-b190-8a59d466f484' date '02/07/2013' time '11:57:17' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.372' message 'tweak senders implementation ' id '4226d08b-4b61-472d-8816-29ddcab983b8' date '02/07/2013' time '10:14:26' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.371' message 'finish off implementation of find command and add browse command which brings up navigator on results of find ' id '89efcf2f-fa0f-4271-b4dd-7b6b7bc50b0a' date '02/07/2013' time '10:09:39' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.370' message 'CMD-m - browse implementors and CMD-n - browse senders appear to be complete ' id '21bda223-1b82-4d39-8ac3-f13f95338b48' date '02/07/2013' time '08:08:35' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.369' message 'do not use #defaultEditorWindowName unless you really want all of the windows to be shared ' id 'e79f3b1a-b374-4e7f-b0ae-dfda118f339c' date '02/07/2013' time '07:30:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.368' message 'checkpoint ... CMD-m CMD-n ... add #methodDefinitionList for special handling of TDMethodDefintions... ' id 'b02445f6-9682-4139-a494-040cf1542037' date '02/06/2013' time '22:12:36' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.367' message 'checkpoint ... CMD-n - sendersOf ' id '680188e0-d8d7-432b-8137-b04cb04fd56c' date '02/06/2013' time '21:11:43' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.366' message 'checkpoint ... CMD-m - implementorsOf ' id '4066449e-cba3-4106-9277-c6ada939c65b' date '02/06/2013' time '20:53:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.365' message 'more CMD-b implementation ' id 'cfc410da-2b74-4860-9a9b-23ed8d46ebc9' date '02/06/2013' time '20:05:59' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.364' message 'CMD-b browse class implementation ' id '1e597f2c-dd84-400e-8eb2-5ee2082a1688' date '02/06/2013' time '19:43:21' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.363' message 'CMD-k is set breakpoint ... CMD-b will be browse class ... later ' id '879c5a06-42a1-42d5-92d9-476976090c3c' date '02/06/2013' time '18:40:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.362' message 'Hierarchy window should recalculate hierarchy when selected (and avoid recursion) ' id '4a67d642-05b0-406a-9b8a-1dbc850c48bd' date '02/06/2013' time '18:18:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.361' message 'checkpoint ... getting good start on find command ' id 'f233f7b6-e63e-4096-9e09-8a2169e70cba' date '02/06/2013' time '08:45:13' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.360' message 'CMD-o - open method template is functional ' id 'a9d0ca38-71d0-4ac2-b099-167c84d5bdf3' date '02/06/2013' time '02:47:13' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.359' message 'implement CMD-x - cut object ... straighten out CMD-B and CMD-v a bit ' id '76ba71e7-66f9-4632-9629-892ff77d9829' date '02/06/2013' time '02:09:59' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.358' message 'make another pass over CMD-B - browse class hierarchy ... cache clientElement on spawn ' id '232f8f3c-d860-45ad-81df-783c4dcd0c2d' date '02/06/2013' time '01:15:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.357' message 'checkpoint ... implementing CMD-v - paste object ... pause for keep alive action for spawned hierarchy elements ' id '70d6a8fc-5cf2-4114-9f8c-2d20d73e902a' date '02/06/2013' time '00:09:06' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.356' message 'CMD-c - copy object ... implemented ' id 'a892f53d-737f-416a-b20b-f8d65e685c28' date '02/05/2013' time '23:10:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.355' message 'polish off CMD-b set breakpoint ' id '7fc663cf-671a-41e9-a97f-409962a39877' date '02/05/2013' time '22:13:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.354' message 'CMD-b in editor implemented ' id '9e14ea45-b23a-45f4-a9b0-6dc69119f390' date '02/05/2013' time '21:53:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.353' message 'CMD-E functional for configs command ... very sweet ' id 'b79c569e-bb85-430d-b0a9-6141ff6d3833' date '02/05/2013' time '16:48:19' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.352' message 'include extension methods in list and add semantics for selecting the extension method ' id 'd73fd80a-ed15-4921-925c-34334d8afccf' date '02/05/2013' time '15:46:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.351' message 'first cut at CMD-E for pkgs list ... no methods included (yet)... ' id 'bcc9c268-daae-48f5-9a35-ef91f8eb3746' date '02/05/2013' time '15:16:24' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.350' message 'configuration selection is now functional ' id '6768a67e-21a4-44ad-8ebe-025dc70617be' date '02/05/2013' time '13:32:39' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.349' message 'optimize the update logic ' id 'ea179bd3-54e2-4fc5-992e-f205a22193a8' date '02/05/2013' time '11:39:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.348' message 'select package in pkgs list when class or method is selected ' id 'd64a2fef-abab-4019-a230-2ad78e4291e1' date '02/05/2013' time '11:36:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.347' message 'add pkgs and configs comands ... includes necessary support infrastructure changes ' id '8fba2e3b-9a0c-42c7-ad34-bfde7a4853b2' date '02/05/2013' time '10:32:11' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.346' message 'add TDDefinition classes ... ' id 'bafd8f71-a0f8-41cb-9788-4803defcf9d1' date '02/05/2013' time '08:22:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.345' message 'minimal change necessary to get acceptable behavior from edit command in navigator window ' id 'f1ec117a-7e9f-4ae1-9dd1-0986429eefa3' date '02/04/2013' time '20:00:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.344' message 'settle on CMD-B as browse class hierarchy ... remove CMD-b no mapping right now ' id 'c013af92-eff0-4151-9c5c-4675e460e060' date '02/04/2013' time '18:41:50' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.343' message 'CMD-b is working correctly (from navigator opened in #view mode) ' id 'b054c1d9-4514-4d89-bcd5-d038dc0a1df7' date '02/04/2013' time '18:16:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.342' message 'click on class in classlist opens hierarchy ... CMD-b in navigator goes to hierarcy not class list: BZZZT wrong (correct for CMD-B)... click on string browses string in place: BZZZZT wrong ' id '3b0d23bf-160c-442b-b41a-f48b9602b92f' date '02/04/2013' time '16:59:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.341' message 'no Shift-clicked logic ... selectionIndex can be specified when opening window ... use selectionIndex for class hierarchy and class list ... ' id '6f9463d8-ea72-458a-b1f5-a5588ac0e826' date '02/04/2013' time '16:42:09' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.340' message 'avoid truncating (via characterlimit) man page... secret? return as Text as Text is not truncated ' id 'acc65870-3931-4fb0-8af2-4f6bf5ebf2be' date '02/04/2013' time '15:15:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.339' message 'open debugger when DEBUG button pressed ' id 'aaac67e5-88c9-4f9c-8deb-8b0b63447764' date '02/04/2013' time '15:03:05' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.338' message 'tests are passing: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ... (value) applies to ALL specials ' id '5d598460-529b-4225-a37b-e397dcd3a326' date '02/04/2013' time '14:17:38' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.337' message 'propogate windowName through navigation ... (value) used only for specials ... ' id '691afb91-b038-479c-9828-9563744acaff' date '02/04/2013' time '13:52:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.336' message 'toggle between #view and #inspect for . in navigator...preserve requested aspect across lookup ... ' id 'bc74156c-5592-4f7f-a65b-9bc0482d4ab1' date '02/04/2013' time '11:56:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.335' message 'add (class) and (oop) fields for Dictionary view ' id '49be26ee-176a-4613-98a7-0c5058088b17' date '02/04/2013' time '11:11:59' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.334' message 'a little bit of cleanup and tests are green: 23 run, 23 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes ' id 'a6f5e686-ea0b-44f4-bbee-5965263d1fcc' date '02/03/2013' time '09:33:07' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.333' message 'add notion of minimal ... skips oops but shows class, etc. collapse displayOn: ' id '089d5412-f5ae-46c9-90f5-7508313831ec' date '02/03/2013' time '09:21:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.332' message 'display policy initial implementation appears to be complete ... testing and clean up needed ... ' id '5ac44a9c-7022-4c75-b6f5-2e165105b9b5' date '02/02/2013' time '09:18:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.331' message 'move displayOn: and friends to server core package ' id 'e6085f4b-c9a8-4a52-89c3-b23207bd026f' date '02/01/2013' time '17:10:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.330' message 'checkpoint ... getting started on display policy ' id 'daedf6e2-a0d6-4da6-b7de-1485d2a0e51d' date '02/01/2013' time '17:07:09' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.329' message 'CMD-b is functional (mostly), but I do have to work on the semantics of CMD-b in the various windows ' id 'ea98a559-4240-4e73-8db9-36e636584bb3' date '01/27/2013' time '22:36:23' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.328' message 'allow specification of windowLocation when doing an edit... ' id 'b2706ea4-59ba-45c1-8185-04fb5ac62469' date '01/27/2013' time '21:03:19' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.327' message 'start work on CMD-b mapping ... leads to detour to expand the args for #edit:... message ' id '3ed56075-19e7-43eb-96e7-aa25ad7278c2' date '01/27/2013' time '20:47:09' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.326' message 'tidy up CMD-C spawn window implementation for navigation ' id '2764e5e7-f284-4b14-b762-b8ca45d5c58c' date '01/27/2013' time '13:06:23' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.325' message 'checkpoint ... working on spawnWindow logic ' id '360ffa19-d359-465b-b9f8-60d5d1d0383e' date '01/27/2013' time '12:28:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.324' message 'checkpoint ... initial cut at first few (special case) events ... ' id 'e17dc382-4692-4b54-85f0-c91f835b975b' date '01/27/2013' time '11:39:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.323' message 'checkpoint ... continued handle event work ' id '95ba1cb7-c996-4c4c-89dc-c7d6bd62f3e0' date '01/27/2013' time '10:41:18' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.322' message 'deconstructed browser has been reconstituted in tode ... keyboard shortcuts on tap ' id '0955356a-ae34-434c-94b4-d8383c06a7ba' date '01/27/2013' time '02:15:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.321' message 'class definition window functional ' id '62898832-c088-44e7-97b8-dc7b0d209420' date '01/27/2013' time '01:13:38' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.320' message 'dictionary #browse defined ... clean up general navigation nits ' id 'e9d6a32d-12ce-4f2d-b162-c5e07a709762' date '01/27/2013' time '00:45:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.319' message 'ESC is marginally functional ' id '943f4a08-af5c-4659-89e7-d137639af839' date '01/26/2013' time '23:51:11' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.318' message 'checkpoint ... ESC is ready to test ' id '13eca5b2-15f2-4eca-9174-3aa357a94faa' date '01/26/2013' time '23:27:47' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.317' message '23 run, 23 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes : after work started 62d22ae360377696b94589bef6c454ace5028a82 ... with a healthy dose of debugger work: db thru and friends ' id 'da98d29f-f8c1-446d-87f6-53a946a9e12b' date '01/26/2013' time '22:41:03' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.316' message 'checkpoint run|run is now working as script and interactive ... still need to look into process termination situation ' id 'ea1dd0cb-bb0b-425d-ae1e-0643d39b2925' date '01/26/2013' time '21:28:36' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.315' message 'run | run works as topez script but not as input in REPL (wrong return value) ... also halts/breakpoints while executing run scripts may not quite work right ... ' id 'cc71b886-f4d7-4b7e-8789-12adfc9d63f1' date '01/26/2013' time '21:02:57' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.314' message 'checkpoint ... windowIsClosing is coming together ' id '6c3ce466-bf1c-4a2c-8926-ad8358593de9' date '01/26/2013' time '18:04:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.313' message 'checkpoint ... run | run problem ' id '41b002ff-1902-4659-802a-926fe21d60f1' date '01/26/2013' time '17:16:56' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.312' message 'run inside topez script is now basically functional ... piped run commands don''t quite work (last result is not returned) this is at command level ' id '85c146ac-beea-40e9-8f2a-6cc78afd27b8' date '01/26/2013' time '15:55:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.311' message 'add index example, fix object pipeline in topez script node ' id '908e2149-a6d3-4179-a497-80ba8e00993e' date '01/26/2013' time '14:39:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.310' message 'fixed issue noted in 62d22ae360377696b94589bef6c454ace5028a82 and fixed infant mortality bug in db thru ' id 'b2a1d4aa-d977-48cf-ac2c-17540850ce57' date '01/26/2013' time '09:17:53' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.309' message 'add autoCommit logic to TodeClientSourceElement>>source: (and friends) ' id 'db0586a6-b0b3-4dbc-bf89-01465394c072' date '01/26/2013' time '07:17:05' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.308' message 'checkpoint ... arrange for final aspect to be passed along after lookup to avoid propogating an aspect that doesn''t match the aspect you ended up using ... txtnodes and friends are losing their parent object somehow during navigation ... ' id '74556eb8-4c60-4baa-a3c3-f22ff7cfe85f' date '01/25/2013' time '17:26:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.307' message 'tweak ' id '24b2aabc-3256-4014-a6f8-1bc5318dafdb' date '01/25/2013' time '16:12:19' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.306' message 'add shift clicked logic for browsing ' id '97e691f9-be3c-4bf4-a3d1-53157978e188' date '01/25/2013' time '15:16:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.305' message 'checkpoint: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ... convert from #edit #inspect to #browse #view #inspect ... still some rough edges ' id 'fc9521ff-8b03-4d84-b9ed-3f67fc12c6cc' date '01/25/2013' time '14:57:56' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.304' message 'direct edit of class will open Hierarchy window ... no click action ... need to add a ClassNodeBuilder to allow mapping of class to Hierarchy window ... should come up with better way since we''re transforming the Class to show up in inspector window... ' id '173fa96e-86e3-4f8d-8fcb-4bbc1368b024' date '01/25/2013' time '02:06:43' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.303' message 'checkpoint ... 20 run, 19 passes, 1 expected defects, 0 failures, 0 errors, 0 unexpected passes ... still need to validate that tests are exercising the code correctly ' id '00c274c7-5986-4d2e-88f9-23011d1da746' date '01/25/2013' time '01:50:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.302' message 'checkpoint ... working through class hierarchy list element issues ... ' id 'adc8df3d-617a-440b-9a06-69170b46f362' date '01/25/2013' time '01:03:23' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.301' message 'make pass through tests to accommodate all of the special handling: 19 run, 18 passes, 1 expected defects, 0 failures, 0 errors, 0 unexpected passes ' id 'c69dfb39-9449-48e5-8adf-9bc205e6caff' date '01/24/2013' time '23:36:05' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.300' message 'add node builder for the specials and add special fields to inspectors: ''(class)'' ''(oop)'' ''(value)'' ' id '40b8ee44-e979-402b-8d22-72e7d81f602f' date '01/24/2013' time '22:36:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.299' message 'scrape off a couple of barnacles ... ' id '40ce9c36-3dc7-4768-991a-62f372814ced' date '01/24/2013' time '18:42:44' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.298' message 'test restructure ... start on #browse aspect ... desire to toggle aspect (between edit and inspect) on . item, but still working out kinks ... edit vs inspect on String is diagnostic at the moment ' id '7e930ecc-ec1f-47d3-8f57-405d736838d3' date '01/24/2013' time '17:22:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.297' message 'finally get that last test for TDTxtLeafNode to pass ... finally realized that given the constraints of the test STON version of output is CORRECT...16 run, 15 passes, 0 expected failures, 0 failures, 0 errors, 1 unexpected passes ' id 'e0948266-a640-45c5-a7dc-7a3093394f4e' date '01/24/2013' time '15:19:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.296' message 'parent for node and clientList elements can be any object ... very important ' id 'baac4ef1-904f-4143-9604-ede030771ceb' date '01/24/2013' time '13:20:02' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.295' message 'editor for directory node looks good ... editor for stack frame looks good ... transition from directory node back to stack frame (following .. chain) not so good ' id 'a419b99d-6a55-4fa6-b8c7-ce4aaf28b2cb' date '01/24/2013' time '12:54:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.294' message 'when editting the parent can be any old object ' id '20fcc907-126b-4e89-a73c-1c414ad0daee' date '01/24/2013' time '11:12:16' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.293' message 'fix continue command ... use #inspect aspect for .self and .node ... have to reset topez instances when system reset ... still have issues with running tests after reset ... when I debug I get proper behavior ... ' id 'efb07a25-c002-4e07-9131-d5f939edf528' date '01/23/2013' time '21:07:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.292' message 'fix test running issues ... pop ' id '379285a7-841b-4161-afab-9e21cdb49621' date '01/23/2013' time '18:30:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.291' message 'renamed and refactored test hierarchy and started adding shell command tests ... hit an issue with running tests that needs to be addressed (related to using TransientValue methinks) ... some additional bugfixes ' id 'fb2b848a-e57a-4a0e-b1d7-44580c6cd891' date '01/23/2013' time '17:25:03' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.290' message 'convert Object>>edit:topez:aspect:windowId: to use the windowBuilder code ... eidt/save different text nodes ... debugger is basically working except for the failing test case: 19 run, 18 passes, 0 expected defects, 1 failures, 0 errors, 0 unexpected passes ' id '08b284bb-531a-4b5e-92e4-8a5b7bff1487' date '01/22/2013' time '23:26:11' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.289' message '19 run, 17 passes, 0 expected defects, 2 failures, 0 errors, 0 unexpected passes ' id 'c435c301-08b8-4837-8d8d-602b16ab76b5' date '01/22/2013' time '15:29:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.288' message '19 run, 14 passes, 0 expected defects, 5 failures, 0 errors, 0 unexpected passes ' id 'fa8cf767-897f-447a-ad5b-34949b1925fa' date '01/22/2013' time '14:59:18' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.287' message 'homeNode needs comment too ' id '2084ac63-d9e3-42fb-99da-7ba3c8de8225' date '01/22/2013' time '14:33:07' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.286' message 'instances of TDTopezServer are referenced by persistent objects, thus making TDTopezServer persistent, however a number of the instance variables (serverStatus, objIn,accumulateBlocks and homeNode) can reference instances of objects that may not be persisted like socket or processScheduler .. so we have use TransientValue to isolate these bits and pieces ... ' id 'ed8094dc-03c9-45b9-8a94-bf1e8ca17de9' date '01/22/2013' time '14:31:16' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.285' message 'ran into a ps bug while improving debug tool tests, so added ps tests: 19 run, 9 passes, 0 expected defects, 3 failures, 7 errors, 0 unexpected passes ' id '952352a3-a24a-42c7-90cf-4f81d93ca9a3' date '01/22/2013' time '11:36:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.284' message 'define editors for stack, stackFrame and leafNodes ... those were the missing editor definitions ... add tests (currently failing) for all of the added editors ... ' id 'd060d863-ddfe-4814-aefb-6be416d7799a' date '01/21/2013' time '18:27:24' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.283' message 'I thought I said: no #inspect aspect for window builders ... inspect command shoud provide focus for how inspecting will work moving forward... ' id '7f95aa91-92e3-4d32-a8bb-bdb3f73a03a3' date '01/21/2013' time '16:39:20' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.282' message 'add inspect command ... ' id 'ef8fed61-90c3-475e-bf43-fde9b36d9444' date '01/21/2013' time '16:35:24' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.281' message 'add an additional test case ... get tests passing (almost) again ' id '62d7cca1-3f9d-479f-af34-bc3ab0d8dbd3' date '01/21/2013' time '16:00:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.280' message 'working through issues ... ' id '835fd4a2-6b04-4b28-a1f2-3d26c816047a' date '01/21/2013' time '14:25:17' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.279' message 'change default aspect to #edit ... #inspect for node builders is a ''standard'' object builder representation of the object ... why is String not cooperating? ... no #inspect for editors ... aspect for edit is used to provide different views of the same objects within different tools ... aspects for nodeBuilder provides transforms of the same objects for different tool ... for a particular tool, you can transform and look at standard view of no transform and look at non-standard view ... no need to couple edit and node builder .... object nodes propogate the aspect for transforms and there is no need to coordinate with the view ... ' id '93d7c0da-c1d5-4adc-a836-013de4c11f7d' date '01/18/2013' time '08:20:52' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.278' message 'generate a testSuite file for each tool and generate a master testSuite for all tools ... ' id 'cff02608-5318-496f-bd0e-e5f7f3818675' date '01/16/2013' time '17:03:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.277' message 'add displayOops and characterLimit to shell tool ... current set of shell tools are passing ... ' id '92ebac4c-1198-43f3-8857-0631a925806b' date '01/16/2013' time '15:46:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.276' message 'finally get TDDirectoryNodeClientListElementBuilder up to snuff ... again need to make displaying oops optional for testing purposes ... of course option oops will be useful for devs as well ' id '6911d1d3-e4e3-4862-b3db-036b77c6b703' date '01/16/2013' time '08:05:04' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.275' message 'don''t dink with nodeBuilders during tests ... move testSuite up one level to make it more accessible ... push server tests around a bit ' id 'a2d6e199-3d76-4935-bce5-a3b032214ab5' date '01/15/2013' time '11:00:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.274' message 'adding initial test case for window builder ... fix some test result display issues ... checkpoint while I revamp testing framework: cannot afford to break basic debugger functionality for the sake of a test:) ' id 'ca624f24-4bdc-4d26-a626-dcd3c92e432a' date '01/15/2013' time '08:47:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.273' message 'start work on WindowBuilder logic ... ' id 'a6060515-f5d5-4a66-942c-8aea0a30458c' date '01/14/2013' time '17:48:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.272' message 'splice node builder in at Object>>asTDObjectNode:topez:aspect: ' id '3d7bee85-1600-47ec-a6cd-a0ce9b6252b9' date '01/14/2013' time '12:04:04' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.271' message 'add displayOops arg to tzNodeDisplay... use it in TDTopezServerTests ... both new tests pass ' id 'dcf5ece3-9704-4f3b-841b-7b0f37f68404' date '01/14/2013' time '08:21:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.270' message 'add test for TDTopezServer>>buildNode:for:aspect: .. not passing yet ' id '97e12faf-c1ca-4db5-98ae-5fa3fdc048d6' date '01/12/2013' time '17:04:09' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.269' message 'stage is set to replace implementation of Object>>asTDObjectNode:topez:aspect: and friends ... same renaming and repackaging left over from addition of test package ' id 'ea653a2e-ff69-412f-b5e8-11d85085a306' date '01/12/2013' time '16:08:13' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.268' message 'nuked the failed builder experiment ... newer approach is superior ' id 'bbc8875a-277b-422e-8c6e-34c42b9d87f9' date '01/11/2013' time '19:30:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.267' message 'builder registration logic ' id '863be3fe-14f6-48a1-9070-e01dd895c592' date '01/11/2013' time '19:08:38' author 'DataCurator' ancestors ((name 'Topez-Server-Core-dkh.266' message 'package up debug tools and debug tools tests separately' id '97ade43a-5e35-4ce0-9d25-8d436649fa7a' date '01/11/2013' time '16:39:42' author 'dkh' ancestors ((name 'Topez-Server-Core-DataCurator.265' message 'another crack at node builder implementation (I like this variant better ... not complete) ' id 'e10bfc3e-32cc-4a32-8517-bf98db49a319' date '01/11/2013' time '16:20:49' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.264' message 'building TDNodeBuilder class hierarchy ... centralize the building of client elements and object nodes, etc. ' id '96a493c3-a57e-4513-90b4-bd5497aa665f' date '01/10/2013' time '21:41:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.263' message 'a bit of cleanup ' id '9ec80fd3-6a7c-44bd-941c-147620a64bf3' date '01/10/2013' time '10:04:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.262' message 'straighten out inspector navigation ... ' id '9a0d0bfe-33c0-4d08-9523-967b55581a49' date '01/09/2013' time '20:36:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.261' message 'restore String edit capability ' id 'acdc56ab-0c59-4a1d-bcf8-383fe53c8523' date '01/09/2013' time '16:18:48' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.260' message 'final couple of tweaks to correct problems with the first* caching ... back to original functionality but with many fewer round trips ' id '5a6fbc7c-e23a-4812-bbb8-b31d238b0e76' date '01/08/2013' time '16:56:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.259' message 'TDStack should not _require_ an exception ... ' id 'f8341386-3b82-43e7-9591-3a68f8268308' date '01/08/2013' time '16:16:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.258' message 'finished another round of round trip reduction ... seems that the context window update has been lost ... ' id '651b2041-93c9-424f-9185-4fbe75fd98f7' date '01/08/2013' time '08:19:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.257' message 'checkpoint ... partway through filling clientElement caches: TDDirectoryNode>>clientListElement and TDStack>>clientListElement implemented (first cut) ' id '61e41373-21e6-4c44-85bd-e49a41d00158' date '01/07/2013' time '08:18:17' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.256' message 'caching firstList and firstSource in ClientElements to reduce round trips for opening a window ' id 'd2e4197e-2374-48a6-807f-0a50b6d2e0a1' date '01/07/2013' time '07:55:59' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.255' message 'TDTopezServer>>reifyExceptionArgsForOopList:classNamesForOopList: serializes the exception args in there entirety ' id '38926abf-8b53-46ae-b4c2-2ca611639477' date '01/06/2013' time '19:58:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.254' message 'xxx ' id '070af2a3-5a29-4328-91d9-239851ce966c' date '01/06/2013' time '09:54:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.253' message 'checkpoint .... working through login issues, client forwarder handling (on server), tracking down/eliminating source of pharo deadlock/infinite loop ' id '41fb838a-0250-41ed-9524-120559c0b4e8' date '01/06/2013' time '09:17:12' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.252' message 'checkpoint ... reducing round trips during login ' id '793e8a2b-48e3-4121-b6d1-525ad73e1b83' date '01/05/2013' time '20:33:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.251' message 'TDTopezServer>>reifyOopList:classNamesForOopList: is working ' id '660ae69d-b60a-478d-be6f-01d8d060f041' date '01/05/2013' time '15:51:29' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.250' message 'checkpoint ... need to focus on avoiding concurrent gci calls ' id '734ed8c8-9299-4d5b-a24b-199695dad949' date '01/05/2013' time '11:19:04' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.249' message 'fix broken objIn... ' id 'b31ac663-ed28-4f22-9573-63c2263b9050' date '01/04/2013' time '17:45:49' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.248' message 'checkpoint ... support for optimizing error/forwarder round trips ' id 'b812fa78-75d6-479e-afd7-c3f6b33d85a5' date '01/04/2013' time '08:04:21' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.247' message 'checkpoint ... server side changes ... reducing round trips: one arg for client forwarder ' id '413a8df2-c9b0-4e07-9714-3709c4894729' date '01/02/2013' time '21:10:46' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.246' message 'checkpoint ... working on getting the list-based navigation to work ... a couple outstanding issues: 1) incorrect parentage (frameIndex doubled when following .) 2) bad offset occasionally ' id '86a57bf9-e349-496e-852c-857ac2845751' date '01/02/2013' time '08:12:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.245' message 'straightened out the parent node representation in the client list element ' id '9103aade-51f8-4dfb-9ae1-b9c63082f6c7' date '01/02/2013' time '07:10:12' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.244' message 'replace use of Object>>edit:aspect:windowId: with Object>>edit:topez:aspect:windowId: for many cases ... still need to create parent nodes for stack frame viewer, but the framework is now present ' id 'c21e291e-d50c-4d40-abbb-b4455ff72f6e' date '01/01/2013' time '17:26:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.243' message 'checkpoint ... convert Object>>asTDObjectNode:aspect: to Object>>asTDObjectNode:topez:aspect: ' id '414d0467-7c91-4eff-a008-64578e6a6bca' date '01/01/2013' time '16:10:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.242' message 'functional context window ... need to nuke redundent cds, add . and .. entries, shuffle the stack, context and inspect window locations ' id '1dbbadfe-654e-42e6-ab01-7616e65ce196' date '01/01/2013' time '10:15:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.241' message 'initial cut at adding #aspect to edit.. message ' id 'e4bf1b6c-8cf7-4d29-8763-a4fb6f0e3f14' date '01/01/2013' time '08:19:38' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.240' message 'align the columns for the inspector ' id 'ea96bd09-aa7f-4db6-a683-36ad3c6a293b' date '01/01/2013' time '07:33:46' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.239' message 'inspector is basically working for all nodes ... now ... need to add an aspect to the edit:.. messages to differentiate amongst the various edit contexts ...debug, edit, inspect ... each one should provide a slightly different view ' id '1cfa4fb6-3ec1-46e0-b665-ae9fe9392813' date '12/31/2012' time '09:50:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.238' message 'checkpoint ... inspector is working with directory node ... ' id 'b8949ac3-bd52-4db7-92d1-88f1f2f6cc70' date '12/31/2012' time '09:03:38' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.237' message 'inspector tweaks ' id '690f2679-1276-44e3-8ef9-d407b0ab4e46' date '12/31/2012' time '08:37:49' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.236' message 'checkpoint ... starting work on inspector ' id '337be511-d259-406f-8b0a-91f9b6bfdaf7' date '12/31/2012' time '08:28:18' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.235' message 'deconstructed debugger is working well now ... ' id 'b928f963-8ab2-44b1-abfc-18c507b7417e' date '12/30/2012' time '12:57:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.234' message 'working on getting the correct frame selected in debugger ' id '8de7aea1-c29f-4b79-bc77-13868d5307cb' date '12/30/2012' time '12:40:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.233' message 'debugger tweaks ' id '3cf45c96-17d2-43ff-90a8-a6bd5e2a2aba' date '12/30/2012' time '12:26:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.232' message 'apparently block cache is working as expected ' id '0822f635-9e35-4289-a359-4f1d4e838066' date '12/30/2012' time '11:53:43' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.231' message 'checkpoint ... more client element cache work ' id 'a3f32253-5e1f-4e90-82bf-e5e8fba670bd' date '12/30/2012' time '11:35:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.230' message 'checkpoint ... have to hang onto client element blocks ' id '2d05ef6e-08a7-43d4-addd-1e4cce2778d0' date '12/30/2012' time '11:16:06' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.229' message 'checkpoint ... changing list item selection logic ' id '6a812966-10a0-4420-9b91-ef9f6b4419e6' date '12/30/2012' time '09:26:35' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.228' message 'checkpoint ... a bit of refactoring to accomodate the source and list elements ' id '7a08a77f-9bf3-4a02-8d7e-eff55ee3e190' date '12/30/2012' time '08:59:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.227' message 'open frame on debug ' id '2441276a-7e2d-4521-8436-4a9ff9ca537d' date '12/30/2012' time '07:28:46' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.226' message 'debug command and spawned shell basically functional ... need a bit more testing, then start working on stack list view ' id '36386dbf-2351-4289-831d-26e22e45c037' date '12/29/2012' time '21:37:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.225' message 'checkpoint ... debug command is not quite spawning a new shell ' id '54922309-2534-4cbc-9d60-a9eece6aeeb7' date '12/29/2012' time '12:06:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.224' message 'start work on spawning shell as part of debug command ... implement sourceContainingIt ... ' id '6f09fde8-c098-40ed-9e9b-013047b890e8' date '12/29/2012' time '11:25:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.223' message 'should be an error to attempt to save new methodSource for homeless block ' id '8c739fa0-cb28-4ce3-bb8f-781092ceaee1' date '12/29/2012' time '09:24:56' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.222' message 'handle warnings ... ' id 'a84be395-a690-4cc4-9c25-38b055612b92' date '12/29/2012' time '09:17:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.221' message 'topez errors separated from application errors ' id 'fd6d716b-e821-45a8-b1de-9ab52bfdbc1c' date '12/29/2012' time '08:34:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.220' message 'checkpoint ... attempting to differentiate between command errors and application errors ' id '17ed3625-38c2-48e2-aedb-13b0050a9f6d' date '12/29/2012' time '07:48:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.219' message 'TDStackFrame>>setBlock ' id '1591c7fc-da1e-4bc4-8383-b669891c10c2' date '12/28/2012' time '09:48:06' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.218' message 'for debugger, must always use source from the compiled method associated with the frame ' id '96d5d037-001d-4d6c-9f7b-85fa48a71fd5' date '12/28/2012' time '07:59:24' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.217' message 'checkpoint ... stack frame display ' id '661d6aaa-c12b-468f-a840-84aa008be349' date '12/27/2012' time '17:37:54' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.216' message 'working on bringing up editor for TDStackFrame ' id 'ce0d11e9-8983-4b63-945a-ea9dcbd301d9' date '12/27/2012' time '17:20:01' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.215' message 'edit st, check. edit tpz, check. edit txt, check. edit sh, check....edit frame, BOOM ' id 'f40282bc-5fec-4f40-892e-9055d3b86a5d' date '12/27/2012' time '16:59:42' author 'DataCurator' ancestors ((name 'Topez-Server-Core-dkh.214' message 'finish move ... loose methods' id 'f82381fb-bb08-4bd8-848b-0bfacbe69fbb' date '12/27/2012' time '16:45:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.213' message 'moved TDNode hierarchy to Topez-Server-Core' id '6d6f0881-e5e6-4fd7-9f41-2a3bfe3d4317' date '12/27/2012' time '11:49:33' author 'dkh' ancestors ((name 'Topez-Server-Core-DataCurator.212' message 'edit code, no check... ' id '1ba19e26-db82-4f6e-abea-1ba2062974f3' date '12/27/2012' time '11:42:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.211' message 'checkpoint ... getting text editor working ' id 'f43c9a71-f47f-4ebf-a993-efc623443f3c' date '12/27/2012' time '10:29:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.210' message 'mc diff produces diff for changed packages ... mc compare (not yet implemented) is used to compare two different packages ' id '64b90f99-851c-4fd7-b0a5-88a1aa6c0a7b' date '12/26/2012' time '08:29:46' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.209' message 'simple mc diff ... ' id '12284b0b-7c3a-4b3e-8042-4b03831a036f' date '12/26/2012' time '07:48:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.208' message 'implement mc list and mc history commands ' id 'da0e7ae6-1e51-4cfd-a574-c78028b00e2f' date '12/25/2012' time '09:46:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.207' message 'get started on mc commands and .mc halo ' id '5c98641d-39c6-40a7-8a0d-fbd159611e88' date '12/25/2012' time '07:45:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.206' message 'checkpoint ... initial implementation of monticello packages ' id 'bdac7e37-0a62-4905-8026-5dce08fb0981' date '12/24/2012' time '17:48:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.205' message 'checkpoint ... initial cut at /mc/repos structure ... ' id 'c740192f-0ee5-4b16-816c-1ebfb4a360ce' date '12/24/2012' time '13:45:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.204' message 'checkpoint ... creating monticello tool ' id 'd443db62-b9d3-4c8a-b620-0b4396b46225' date '12/24/2012' time '11:47:23' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.203' message 'take into account expectedFailures ' id '2def377a-78f4-42fb-a1cb-0762ee8b4301' date '12/23/2012' time '17:04:05' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.202' message 'additional test cases for debugger ... tests passing ... tweaked test framework based on usage ... ' id '80edc190-a891-496d-91bb-cb945cd7700a' date '12/23/2012' time '13:40:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.201' message 'test tool tests pass .. add ts debug errors/failures/method spec feature ' id '9aa64b4f-98a6-4401-ba5c-5392a6cd67ba' date '12/23/2012' time '12:16:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.200' message 'checkpoint ... updating method lookup parser to handle frame print string with () enclosing the method class ... start adding tests ' id 'aeda8114-b7d9-493e-ae80-be05768a9637' date '12/23/2012' time '11:53:15' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.199' message 'straighten out discrepency between ls and ds ' id 'e0e50592-62c1-46c8-9992-d77c82796abc' date '12/23/2012' time '08:32:36' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.198' message 'add continue command to compliment debug ... use real continue gci call ... leave continueWith: variant for later (continueWith: gets SIGSEGV sometimes) ' id 'ebf8309f-20c0-41bb-99e4-2c8a89fe9785' date '12/23/2012' time '08:02:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.197' message 'riffing on proces debugging and handling dead/dying/orphaned processes ' id 'a23417ab-1497-4e3e-a2a4-b3618ef63fbc' date '12/23/2012' time '07:06:36' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.196' message 'tweak printing again .. ' id '7ca41cd4-2e6c-4ae5-bc1e-9b49f1d0110a' date '12/22/2012' time '17:15:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.195' message 'add ps stacks command ... begin searching for the mystery process from zinc tests that appears after repeated ps yields ' id '83fbeec4-fa1a-45e7-8ea6-b85607a72572' date '12/22/2012' time '09:53:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.194' message 'monkey with ps and ds and tz display code as I work through zinc test failure scenarios ' id 'ffb57ad7-a9e4-42f1-b6b1-a54379f6b432' date '12/22/2012' time '09:22:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.193' message 'add ts list and ts debug commands ' id '25b6b2a3-5b4d-4912-8346-ab2d20f071c8' date '12/21/2012' time '20:32:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.192' message 'restructured the test nodes .. starting work on ts commands ' id '220cbe1d-a033-47bb-a2bc-ceb0673263b5' date '12/21/2012' time '19:56:46' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.191' message 'trim .debug halo items ' id '6fcf50d1-5de6-432d-9c29-e100b774a208' date '12/21/2012' time '18:20:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.190' message 'cycling in on satisfactory test command combo ' id '2a057f49-e44e-4621-a9c5-24170540cb69' date '12/21/2012' time '18:14:50' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.189' message 'better colors ' id '9b1c4812-be6f-4c59-82ff-031e07ddae35' date '12/21/2012' time '17:15:44' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.188' message 'clear up some element rendering bugs and add color to the test nodes ' id '4728b3b1-7c7b-405c-8064-6fedf6760cd4' date '12/21/2012' time '16:59:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.187' message 'getting started on sunit support ' id '0d1052b1-523e-4163-8cdc-6bccf1a8dab9' date '12/21/2012' time '14:15:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.186' message 'rename db steps command to db break steps ' id '7d4b8355-31fa-4352-88e9-e143d301a30c' date '12/21/2012' time '11:40:11' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.185' message 'rename TDCoreDevTool to TDShellTool ' id 'b7ca041e-3e84-48f7-9a0f-380a09023baf' date '12/21/2012' time '11:32:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.184' message 'implement autoCommit ' id 'f6f05483-fd25-4736-883b-8f47dca99d87' date '12/21/2012' time '11:21:50' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.183' message 'implement shell window spawn ... needs a bit more work ' id '19a463c5-968b-43f6-8851-b9c624bb7123' date '12/21/2012' time '10:03:47' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.182' message 'find signallerFrame for initial currentFrame in debugger ... fix frame printString ' id '75628c61-2103-4698-9ff1-05493e453b94' date '12/20/2012' time '21:10:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.181' message 'revamp ps kill logic to use oop ... cannot count on list-index ' id '7e2923d8-8bff-4891-add3-d479ed7205f0' date '12/20/2012' time '15:52:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.180' message 'move ps code to its own class ... add range of kill commands ' id 'a0d28f04-d7b4-4485-989d-4cfb55a62db0' date '12/20/2012' time '14:33:54' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.179' message 'checkpoint ... .processes halo and yield command ' id 'd0aa797f-58e1-4c3d-a942-50d9835e0e30' date '12/20/2012' time '12:41:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.178' message 'finishing touches on breakpoint commands ' id '36147ebc-7962-469b-88a8-5be8cbe1c19a' date '12/20/2012' time '11:01:39' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.177' message 'list breakpoints implemented ' id '20fff03e-52dd-434a-81a0-9970c12be5fc' date '12/20/2012' time '08:59:48' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.176' message 'rename the .ex halo to .debug and use stack for the stack ' id 'f5880b13-c5da-425d-9746-af6392b2a0f5' date '12/20/2012' time '07:57:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.175' message 'update readMe for the halos ' id '25f39f5b-3fb9-4313-b8ec-4ea502f9ef5e' date '12/20/2012' time '07:42:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.174' message 'checkpoint ... set breakpoint works ' id 'afb5e921-1973-4dc3-86b4-003be5ff6878' date '12/19/2012' time '21:19:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.173' message 'checkpoint ... getting started on breakpoints ' id '9da67851-9e30-451a-b748-8124d3150da2' date '12/19/2012' time '21:02:19' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.172' message 'db steps command for displaying stepPoints in a given method ' id 'fcfed690-0da2-4708-b65c-d7cab9a7ba8f' date '12/19/2012' time '20:16:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.171' message 'implement db continue command ' id 'b893920b-b143-4494-b7cd-a8cff446f50d' date '12/19/2012' time '16:59:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.170' message 'implement over and into commands (for step over and step into) plus correct return value when stepping off end of stack ' id '8f69d068-0026-4a5d-91af-ef95eb442abe' date '12/19/2012' time '16:45:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.169' message 'checkpoint ... started implementation of debug control commands ... db step over is basically working ... trouble when running off end ' id '274296c7-4e9e-4688-9316-4380c489ff40' date '12/19/2012' time '14:52:02' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.168' message 'add priority order to dev tools ... debugger now uses db command namespace for all subcommands ' id '2f9cbc7a-ed3f-46b6-95a5-9c3fcc8321cf' date '12/19/2012' time '13:07:47' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.167' message 'checkpoint ... add example txt and more work on getting txt functional ' id 'b636876c-b780-4db1-b0f3-c2fe3bbdffc0' date '12/19/2012' time '08:23:13' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.166' message 'store sourceRange as Array instead of Interval, because of bug: https://github.com/svenvc/ston/issues/5 ' id '00fcfe92-a1f9-4342-915e-8c1b1c7656f7' date '12/17/2012' time '08:46:26' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.165' message 'implement selection interval for stack frame ' id '77abb5fa-8efe-4860-a710-ff2fe3789c4a' date '12/17/2012' time '08:30:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.164' message 'checkpoint ... automatically open editor on frame method source and update source as you navigate amongst frames ' id 'dbe421ef-c84e-4451-85af-5bb986c9a6ea' date '12/16/2012' time '15:57:16' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.163' message 'reuse the window for stackFrame source ... ' id '0028fe3a-4b99-491a-9d19-cf369ac3b425' date '12/16/2012' time '15:36:17' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.162' message 'checkpoint ... open editor on frame method source with syntax highlighting ... need to highlight stepPoint ... allow for method saving (and truncation of stack) ' id '8795be63-a624-430a-8102-f1ebaa685583' date '12/16/2012' time '15:17:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.161' message 'checkpoint ... edit frame progress, keep accumulateBlock alive for duration of run command ... ' id 'acddc8da-7713-46ae-a758-e428ba89203c' date '12/16/2012' time '15:06:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.160' message 'checkpoint ... just getting started on editting method source for debugger ' id '4d34b9aa-22de-4347-a47b-f54c57e6780e' date '12/16/2012' time '14:42:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.159' message 'checkpoint ... implement frame command ' id 'd0ceef3b-86ba-4ba8-8257-87e9db1a1869' date '12/16/2012' time '14:22:56' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.158' message 'checkpoint ... implement up/down commands ' id '975732f9-8c02-408c-b028-2c550d6cce7b' date '12/16/2012' time '13:33:53' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.157' message 'checkpoint ... preparations for navigating stack frames ' id '90da923c-fe79-4e1b-86f7-689e57414bc3' date '12/16/2012' time '11:42:43' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.156' message 'checkpoint ... refactor stack structure ' id 'e7f3c822-12fa-402b-a67f-4f9cc4e5c775' date '12/16/2012' time '10:31:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.155' message 'checkpoint ... add debug command ' id 'c4c3ee01-5ac6-4bee-839b-53ad421d729e' date '12/16/2012' time '10:03:11' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.154' message 'checkpoint ... filling out debugger ' id '06e903c9-c74e-4a3f-9aa6-67fa4b1c2097' date '12/16/2012' time '09:48:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.153' message 'checkpoint ... create skeleton TDStackFrame ... need to fill out api and map to the node... ' id 'c09f77d3-d1d0-476d-99b0-76f3c539fa0c' date '12/15/2012' time '19:21:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.152' message 'checkoint ... raw frame contents available ' id '5a9a77df-336b-47bc-9b72-bd472a2229f2' date '12/15/2012' time '19:10:17' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.151' message 'checkpoint ... getting started on debugger tool ' id 'ee3f7271-4b86-49c7-a46f-b44a24a3c1a4' date '12/15/2012' time '12:28:21' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.150' message 'change default list limit to 20 ' id 'd50d1e3d-0271-4c39-9a83-81e9c4f9b844' date '12/15/2012' time '11:36:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.149' message 'add limits for ls and ds commands to minimize issues when navigating large objects ... bigls and bigds commands could be created to allow viewing of ranges of large objects ... ' id '89cf35ff-0d32-4859-8c9e-574a38541e7a' date '12/15/2012' time '11:19:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.148' message 'objIn reset after pipe chain complete ' id '48e37505-b622-4788-b655-f89f3bd51a59' date '12/15/2012' time '08:50:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.147' message 'checkpoint ... need to reset objIn after pipe chain is complete ' id '4ec64801-1572-4f0d-8fc5-785ff74ebab8' date '12/15/2012' time '08:43:50' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.146' message 'provide emphasis cue for index elements that are on an index path ' id '1160ec39-d307-4be6-9f73-d01f4c92650d' date '12/14/2012' time '17:23:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.145' message 'add readMe to the index analysis nodes ' id 'ee40ac9a-ab33-4b32-9546-cf764d000ac0' date '12/13/2012' time '21:35:19' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.144' message 'finish implementation of parentLink ... ' id '2569eb69-5ff7-418a-a05b-5b69be86648c' date '12/13/2012' time '21:20:42' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.143' message 'handle BucketValueBag in index dict, fix bugs in run, btree nodes and symbolList ' id 'ed705fba-2af9-4eba-8c04-107127aa2ded' date '12/13/2012' time '20:31:48' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.142' message 'tweaks from using tool to understand a particular set of indexes on a single nsc ' id '43b12ddb-0a91-4e45-887c-93c2dd860d05' date '12/13/2012' time '17:03:36' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.141' message 'fix run objIn handling, fix up index dictionary handling, add lastResult to .run halo for debugging ' id 'b8b89aeb-471b-4d10-897a-9a3680e91b48' date '12/13/2012' time '16:10:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.140' message 'improve ds command, add better handling for btrees, eliminate premature caching, and various bugfixes ' id '1deee9f1-4939-45a6-a06d-f222552b7b17' date '12/13/2012' time '13:08:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.139' message 'first cut at trying to control per element extension and text attributes ... somethings not right ... ' id '72f68dc9-fa0f-487c-ac5d-720052ca5c55' date '12/13/2012' time '08:47:52' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.138' message 'straighten out the naming of the nodes in the analyzeNsc node structure ' id 'd1c8c92c-22c5-475d-9ecb-c5c13684f4d8' date '12/13/2012' time '08:14:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.137' message 'add indexList to index node along with nsc...list all of the instance variables for index elements ' id 'ac6dbff0-a127-415a-88d2-9bd03a022bb0' date '12/12/2012' time '20:44:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.136' message 'make sure that internal and external node names are the same in the index tool ' id '45ba051e-e87b-4026-83df-7b2cd774e1de' date '12/12/2012' time '17:06:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.135' message 'renamed display command to ds ... ds is the same as ls, except that the object represented by each directory entry is displayed (oop size class and printString) ... ds is more meaningful for inspecting during traversal ' id '2fa81e50-cfd5-4999-83c9-4fe6a372f501' date '12/12/2012' time '16:46:42' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.134' message 'add elementExtensionBlock elementRenderAttributeBlock to TDPluggableNode .. greatly simplifies the definition of listBlock ... only need to generate collection of names ... rendering names into text done elsewhere ' id '9d5e789d-a450-424e-99e1-81234210b5ff' date '12/12/2012' time '16:10:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.133' message 'checkpoint ... working on dsiplay command aimed at producing structured display of node contents ... find that I need to be able to traverse children which means cannot use listBlock (because of extension and text) ... listBlock must be reduced to names and extensions and text added separately ... ' id 'ab8979dd-b6e6-458d-bdcb-6e038ca5b1da' date '12/12/2012' time '15:20:47' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.132' message 'index analysis node structure is basically funcational ... need to fine tune ' id 'a51639bb-6f93-4a69-9d8f-5721f99b6923' date '12/12/2012' time '14:27:44' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.131' message 'initial cut at node structure for index analysis tool ' id '9c45b592-5f96-4fcb-ae48-90f94efd7233' date '12/12/2012' time '13:53:49' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.130' message 'start work on the index analysis tool ' id 'd9413328-b7fd-42ca-9669-8b89a86aba9d' date '12/11/2012' time '21:25:43' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.129' message 'get the pipe command to work correctly ' id 'b6c7ab3b-39e5-445f-b5d4-a41ca554b9da' date '12/09/2012' time '17:46:24' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.128' message 'rework edit command with objIn in mind ' id 'ec077ad5-50b3-4d42-bfd4-261069a80188' date '12/09/2012' time '16:36:52' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.127' message 'initial implementation of objIn, introducing | and ; to command line ' id '94421344-d94b-42a2-ad45-3595bb71cbc2' date '12/09/2012' time '14:13:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.126' message 'clean up issues with PluggableNode and extensionBlock and renderTextAttributeBlock ... start work on building interface to tests: /st/tests ' id '513ca68a-d3ce-4b85-b3f2-eeab2872fd9b' date '12/07/2012' time '16:50:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.125' message 'add extensionBlock and renderAttributeBlock TDPluggableNode ' id 'ed5d2812-0111-429f-ba99-a762cc894020' date '12/02/2012' time '08:51:03' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.124' message 'better results display... ' id 'a41e680c-1140-4391-aef1-b0e615cc39c2' date '12/01/2012' time '19:46:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.123' message 'push state for exceptions into TDServerStatus ' id 'e09e963f-9969-4ea2-95d1-750bc91721ad' date '12/01/2012' time '18:24:54' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.122' message 'implement .ex halo (description, exception, process) ' id '4caf0405-1aac-4b2a-9ec3-47b6437a63a4' date '12/01/2012' time '18:13:11' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.121' message 'allow for editting (read/write) of .run/st nodes ... makes for usable doit scenarios ' id '59219592-4504-443f-b8ac-52bab429c6f4' date '12/01/2012' time '17:32:08' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.120' message 'finish first cut at halos implementation ... see halos command manPage ' id '14a59a27-ae67-4361-b94b-68aef1773f90' date '12/01/2012' time '16:48:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.119' message 'rename TDDotObjectsDevTool to TDHaloObjectsDevTool ... prep for more halo work ' id '173ccd55-cf47-4c1d-aad6-3520091b1bed' date '12/01/2012' time '13:27:12' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.118' message 'implement doit command ' id '0b19d2fd-83a3-4d67-b469-14f7f2bc2570' date '12/01/2012' time '13:13:23' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.117' message 'finish implementation of run command ' id 'd7c480bd-84d0-4aa9-a876-14610d0f6146' date '12/01/2012' time '10:56:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.116' message '.run implemented ' id 'ec094921-77e6-421d-85a3-e5ade84863e8' date '12/01/2012' time '09:34:48' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.115' message 'implement /home/.run.st node ' id 'b02bc5cb-3919-4f12-b666-a25e9d146011' date '12/01/2012' time '08:57:18' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.114' message 'basic run command is functional ' id '3525d26a-e18f-4615-bb7e-e207660e29b7' date '11/30/2012' time '19:48:49' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.113' message 'a bit of cleanup post execution work ' id '67e6a8cb-7d7c-40df-9ea9-ac178ee91539' date '11/30/2012' time '15:48:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.112' message 'execution of .st, .sh, and .tpz files is functional ... ' id 'b3c3224e-13be-47d9-b42b-5d84a988125d' date '11/30/2012' time '15:28:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.111' message 'add structure for /st, /st/classes, /st/globals, /st/symbolList ... checkpoint ' id 'fa76c73f-bbff-42e5-81b0-2a1e4521ea89' date '11/30/2012' time '12:25:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.110' message 'proper label for generic Object edit... ' id '0ca2b343-9f20-45fe-b497-bfebda098d05' date '11/30/2012' time '10:31:52' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.109' message 'reimplement touch command to produce different types of leaf nodes: st, sh, tpz, and txt ' id '025a60c5-2c66-4cfc-8995-14899f1a14f0' date '11/30/2012' time '08:43:03' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.108' message 'add Script, Topez, and Smalltalk leaf nodes ... pick some colors ' id '8d671d2c-4ceb-4ab0-bf03-2543b8e4500f' date '11/29/2012' time '20:42:05' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.107' message 'restructure TDNode hierarchy a bit ... aiming for consistent rendering with emphasis and color providing clues to the node type, plus consistent use of extensions ' id 'fda967a0-414a-49ae-be43-4008e10eaf53' date '11/29/2012' time '19:53:07' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.106' message 'parse path and allow path as command name to evaluate to a node and get the block from the node (executable) ' id 'f1f22ff9-5beb-41e6-bd1b-bb7c6955f71b' date '11/29/2012' time '17:04:39' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.105' message 'define standard .readme and finish up first cut at .readme ' id 'e61ac62f-7c70-4a22-8a3a-8ad9d94fbd40' date '11/29/2012' time '16:22:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.104' message 'finished first cut at writing man pages for existing commands ' id '5fb85462-bc8f-464d-aea0-60a02eecd5a3' date '11/29/2012' time '15:05:44' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.103' message 'checkpoint ... writing man pages ' id 'bc877df9-428a-4ccf-984e-76587b6e9415' date '11/29/2012' time '13:20:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.102' message 'implement man command ... make extension responsibility of node (not container) ... node stored in commands instead of block ... add .readme to nodes ' id '83cc5c63-fddc-45d9-be76-bfe296d8b565' date '11/29/2012' time '10:33:20' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.101' message 'add .self and .node special nodes as trap doors for inspector/editor to get access to underlying object and tool object ' id '46204d83-13b0-4f03-8063-cb5cf760f040' date '11/28/2012' time '17:40:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.100' message 'can now cd into objects in shell ... cat node to get printString ' id '2671b066-2a38-40d7-8b7d-0dc11edcfd09' date '11/28/2012' time '14:51:26' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.99' message 'fine tuning TDBlockNode implementation ' id '5bf87068-3177-4767-8c39-9b71355532b9' date '11/28/2012' time '14:08:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.98' message 'normalize the edit window location and reuse window ' id '5dc861df-4449-4482-b3a8-726ebdb4f16f' date '11/28/2012' time '10:27:44' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.97' message 'basic edit object ... need to add asTDObjectNode for navigation and pseudo inspector (or real inspector?) for true editting.... ' id 'f0787a91-f8b9-467e-b016-2f40fe99c648' date '11/28/2012' time '08:25:07' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.96' message 'working towards generic object editting ' id '9ffc49ef-d080-45cc-ae9a-07c5fa2b781b' date '11/28/2012' time '08:03:59' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.95' message 'rename TDObjectNode to TDBlockNode then create TDObjectNode which can hold arbitrary objects in contents iv ... push around notion of edit:tokens:windowId: ' id '684000e7-5c94-4bb0-811e-7ba02303c785' date '11/28/2012' time '07:38:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.94' message 'sqap references to TDNode classes ... ' id 'bbf016ac-8a4c-4f81-b9ba-743354f3059d' date '11/28/2012' time '05:44:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.93' message 'tweak /home/.window creation code ... ' id '98cabd83-9a47-4ad7-97cb-e1e980a0bd63' date '11/27/2012' time '16:41:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.92' message 'create /home/.window object whose contents represents the server element associated with the active window ' id '77b3f88b-439d-47af-a863-c0251983499e' date '11/27/2012' time '16:15:15' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.91' message 'touch, edit, save sequence is working for commands ... execution and two window view not tested/working ... CMD-l should refresh with newly saved contents ' id 'ea729ebe-0c18-4885-ab7e-055daf5e5f7c' date '11/27/2012' time '12:37:21' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.90' message 'push block creation to topez for GemStone ' id 'afdba3bd-2334-4eee-8579-6ad0205a1bde' date '11/27/2012' time '12:14:56' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.89' message 'start work on seriously editting commands: adding new and saving source ' id 'ba6c30a2-9e5f-40bd-98ad-70df5bb7ca96' date '11/27/2012' time '11:11:18' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.88' message 'Streamline the edit stack... ' id '925a1d7d-0e67-4806-a83d-c6524815b175' date '11/27/2012' time '03:15:20' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.87' message 'clean up TZGsMessageSend calls ... TDClientSourceElement is functional ... editor opens correclty ... need to work on save ... ' id 'fd31d3d0-acee-45c3-9475-2cf95862495a' date '11/26/2012' time '20:59:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.86' message 'filling out behavior in TDClientElement and TDClientSourceElement ' id '435dbd80-7ed6-48c3-8730-3d82a38fb2a7' date '11/26/2012' time '19:57:46' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.85' message 'starting work on TDClient/TDServer elements... ' id '3dca6d93-0809-44d2-99e0-aee8c81636ac' date '11/26/2012' time '18:30:53' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.84' message 'tweak edit implementation ' id '2f2c185b-c1b7-481d-bbea-c6807682d681' date '11/26/2012' time '16:31:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.83' message 'edit script is working now ... with correct syntax highlighting ' id 'b4b9bf58-1b7b-4482-8e70-1fe01b513b67' date '11/26/2012' time '16:00:15' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.82' message 'adding edit command ... in progress ' id '2a1cd8b1-70ae-4ebd-9221-fb1fc0d44fd2' date '11/26/2012' time '15:29:08' author 'DataCurator' ancestors ((name 'Topez-Server-Core-dkh.81' message 'upon detecting an exception (on the client), the server-side is notified of the exception, so the debugger can be opened et cetera at the developers leisure' id '63cce05f-1aa5-40ff-bad5-fb086a44fb91' date '11/21/2012' time '16:38:08' author 'dkh' ancestors ((name 'Topez-Server-Core-DataCurator.79' message 'tweak install logic ' id 'c950af3e-68b4-49ea-ab41-1a73c8191fb8' date '11/21/2012' time '10:55:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.78' message 'render text for evaluation results on server-side ' id 'aacf477e-2469-470a-b837-db5b6cc62567' date '11/20/2012' time '17:07:52' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.77' message 'install /home directory ... ls command is working ' id 'e94d51af-4c3b-44f4-906b-e041839f75de' date '11/20/2012' time '16:18:12' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.76' message 'implement navigation commands and some DevTool house cleaning ' id 'e4c92b05-5e92-4f94-b01a-a2177eb9d531' date '11/20/2012' time '11:47:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.75' message 'hook up Transcript and pass tokens from client to server as STON string ' id 'a76ef236-7ec5-4872-a98b-5945b56f7eeb' date '11/20/2012' time '10:45:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.74' message 'register commands in a dictionary on server during install ' id '269324ce-f36d-4206-ad79-d493983b2d78' date '11/19/2012' time '16:43:39' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.73' message 'progress towards new fangled server-side code ' id '1f2e5965-0b9f-467e-a037-4a40535109ac' date '11/19/2012' time '15:46:19' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.72' message 'use clientForwarder to open window on client from server ' id '4672823b-a719-4afe-b48c-12589afa3ada' date '11/18/2012' time '17:30:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.71' message 'remove .../bin contents before adding commands ' id 'f04fc72b-e216-4033-996a-2bb4d7e29836' date '11/14/2012' time '16:36:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.70' message 'starting to build server-side (GemStone) commands and command structure ' id '80e1b790-3404-4b15-bcad-b30a9b746313' date '11/14/2012' time '16:18:35' author 'DataCurator' ancestors ((name 'Topez-Server-Core-dkh.69' message 'additional elementSuperClassName support' id '6be04623-3198-4bba-84c1-2cf648d48698' date '11/11/2012' time '07:41:15' author 'dkh' ancestors ((name 'Topez-Server-Core-DataCurator.68' message 'get diff running in GemStone ' id '34738fab-b821-4a43-9e04-4bc659f9176b' date '11/03/2012' time '13:48:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.67' message 'implement reload and save commands ' id 'cdd67876-6a29-4f1d-b2ef-b1532a08ac61' date '11/01/2012' time '16:34:29' author 'DataCurator' ancestors ((name 'Topez-Server-Core-dkh.66' message 'address infinite loop potential in setting topez for proxies ... open door to using TZGsStonWriter (more compact STON reports)' id '49dfa8d6-0be7-46cb-80ed-9ee66c3fcd54' date '11/01/2012' time '11:44:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.65' message 'address infinite loop potential in setting topez for proxies ... open door to using TZGsStonWriter (more compact STON reports)' id 'b6c2d94a-5642-485b-b2e4-8c68eef15aa8' date '11/01/2012' time '10:25:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.64' message 'avoid using references until https://github.com/svenvc/ston/issues/3 is resolved. I''ve got a patch that should work for STONREader if there is a loop in the traversal, but that patch may not be usable until the vm bug is resolved.' id 'f725a62c-5775-49c6-a80b-871cc33700a0' date '10/30/2012' time '21:07:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.63' message 'checkpoint ... working on GenStone performance issues ...' id '3df2f153-3076-4571-8508-0a143f4e0f59' date '10/30/2012' time '19:35:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.62' message 'add TZGsStonWriter class with added support for storing proxy references ... plus other performance adjustments' id '51aa5f04-1851-44c6-aab4-b959ad976e37' date '10/30/2012' time '16:09:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.61' message 'get /projects working for Gemstone' id '12f2d462-964f-4be0-8590-f372f0926267' date '10/30/2012' time '10:50:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.60' message 'ls /projects/Topez/classes now working on GemStone' id '5ba2598d-7de3-496f-8d8e-d1ec4285b545' date '10/29/2012' time '19:40:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.59' message 'checkpoint ... porting the project structure to GemStone' id 'de15c4f7-f963-4323-98eb-0e118a3d90a8' date '10/29/2012' time '15:36:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.58' message 'a bit of cleanup' id '08a7d25e-782f-4142-beaf-237087fbe13d' date '10/26/2012' time '10:56:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.57' message 'reduce GCI round trips by including literals (String, Symbol, Boolean, SmallInteger and Undefined) in the gemstone header. Also turn off STON pretty printing so the size of the payloads is reduced ...' id '6c6b0e60-d664-4a8c-a09b-9a5999a34cdf' date '10/26/2012' time '00:25:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.56' message 'checkpoint ... context inspector finally functional' id '8096ab05-085d-4122-a9be-e39f95f17339' date '10/25/2012' time '22:51:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.55' message 'checkpoint' id '298857d8-d92e-4836-8134-2b03c0019acd' date '10/25/2012' time '22:12:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.54' message 'add TZFrameContextElement for context inspector' id '8c0b0303-76c2-489b-8a0a-01f359b951ce' date '10/25/2012' time '21:35:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.53' message 'fix up the inspector' id 'da242626-5d6d-431a-ba43-6da1b83427e4' date '10/25/2012' time '16:06:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.52' message 'monkey with offsets and get back to correctly display gemstone stack' id 'b3d847c2-17dc-4150-a930-4be5861d418f' date '10/24/2012' time '12:07:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.51' message 'start calculation selection range for frameMethods' id '14c940a6-f076-4f22-9d79-e4dc076283a1' date '10/24/2012' time '08:57:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.50' message 'fine tune stack frame implementation' id '669a1a3a-d3a6-43c2-8d6b-28836e2304e4' date '10/24/2012' time '00:24:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.49' message 'stack printing correctly via where' id '68e0cad4-f38f-4657-a633-607674f0955f' date '10/23/2012' time '23:36:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.48' message 'TZStackFrameElement used in stack ... finally:) ... still more work to do' id '85467d3d-2f2f-48e9-8889-dac70dea8848' date '10/23/2012' time '21:52:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.47' message 'stash gsprocess (context) in the instance slot so I can get a peek at the stack ... work on creating the stack frame object' id '19d83ee5-2f2b-463e-bae5-70800679c393' date '10/23/2012' time '17:24:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.46' message 'all but one test (expected for now) green' id '3d1d1ec8-bfb5-411d-9a62-e4af67853d7d' date '10/23/2012' time '16:26:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.45' message 'converting GemStone to use TZStackFrameElement' id '7d3a1488-4ade-4699-9c9f-5e127d69d8f5' date '10/23/2012' time '15:43:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.44' message 'TZEngine is now a session singleton ... each session has it''s own instance ... cache is not persistent, so we have to think about running out of memory' id 'a822496c-a4d6-4ed1-bb4e-daef87958eb0' date '10/23/2012' time '10:25:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.43' message 'fix gemstone referencesTo: ... again' id 'dc9042e2-7a07-4bdd-a55e-cbee1f3b7e4d' date '10/23/2012' time '09:56:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.42' message 'conversion of ClassElement to use factory (for recording instances) is complete' id 'edbef02c-7335-4681-a14e-60bb0351dab9' date '10/23/2012' time '09:38:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.41' message 'handle classFactory for ClassElement and record all TzElement instances created in elementCache' id '0270d912-a8b0-423c-bf41-874ade153444' date '10/23/2012' time '07:47:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.40' message 'preparing to cache TZElement instances for GemStone to avoid GC issues ... resolving this issue is why I converted to a instance-side TZEngine implementation' id '4b0504d0-a776-40cd-925a-0a2b092f7026' date '10/23/2012' time '07:30:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.39' message 'need to create methodTemplate on server' id '54724ce8-e478-47da-bb75-d5df16926820' date '10/22/2012' time '23:56:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.38' message 'complete conversion to use TZEngine singleton' id 'eaff581d-7169-4d51-8416-7063128fef5d' date '10/22/2012' time '21:19:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.37' message 'fix inClass problem' id 'f4a05f12-ac11-4d5f-86ba-fd75272bc9bd' date '10/22/2012' time '20:23:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.36' message 'switch to a singleton for TZEngine' id 'd7d20955-a55f-48bf-ae15-bca245db6736' date '10/22/2012' time '15:39:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.35' message 'checkpoint' id 'bfa325f7-d314-4660-95eb-d48fa11b48e3' date '10/22/2012' time '13:39:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.34' message 'adjust indent for instance elements' id '8f8345d1-dfd5-4c90-a86d-a7d89f2d60b4' date '10/22/2012' time '10:35:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.33' message 'usability tweaks while working on debugger' id '357d04fb-3153-45f6-a562-f79147c60439' date '10/22/2012' time '08:19:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.32' message 'bugfixes for gemstone `edit instance`' id '9238c63c-a094-4fcd-8870-def7e1d7b835' date '10/20/2012' time '22:16:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.31' message 'checkpoint ... working on instanceElement logic for GemStone' id 'ae9f290e-f226-402c-ac32-2317e7bc8923' date '10/20/2012' time '16:18:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.30' message 'checkpoint' id '7572f8fc-0e6e-4a8c-8784-e7b3c152d82f' date '10/20/2012' time '09:21:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.29' message 'delete the TZTopezCmd hierarchy ... not really used' id '27856449-3643-4734-a478-bb93b798609e' date '10/19/2012' time '17:42:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.28' message 'checkpoint ... some work on GemStone side, preparing to remove all of the command objects (more complication than needed) ... ' id 'd9975105-4d0a-4538-8da1-425692436ef3' date '10/19/2012' time '17:30:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.27' message 'format the methods' id 'c6bbe647-94ee-4dde-9879-b0c867299f7f' date '10/18/2012' time '19:44:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.26' message 'all tests green' id 'd3ee1b3d-0a48-46d0-90e5-33dfeba58293' date '10/18/2012' time '14:25:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.25' message 'gemstone tests running green' id '41521571-4845-41bc-a51f-717b2c439374' date '10/18/2012' time '14:10:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.24' message 'checkpoint ... gemstone tests ...' id 'a8fd757d-e32f-4547-916e-66b49117ef64' date '10/18/2012' time '12:04:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.23' message 'checkpoint ... gemstone tests' id 'f352d411-c710-4180-92a8-11a8fb873074' date '10/18/2012' time '11:51:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.22' message 'checkpoint ... working on getting GemStone tests to pass' id '8c32cd5e-dec1-4cd1-82cf-5b5b71259234' date '10/18/2012' time '11:39:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.21' message 'checkpoint ... working on getting tests to pass for GemStone' id '0412b011-f5eb-480a-902f-dad043ef5a08' date '10/18/2012' time '07:56:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.20' message 'checkpoint ... implementing hierarchyOf, sendersO' id '8c8a9f64-2211-483e-a5c3-ec3c7f64c798' date '10/17/2012' time '21:38:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.19' message 'rename instance variables in the TZElement hierarchy to get rid of proxy in name ... too confusing ... native tests are now passing (except the new ones)' id '17198e97-3174-466b-81f5-1439535ab1de' date '10/16/2012' time '20:49:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.18' message 'green tests' id 'd280d50b-0e73-486b-bceb-69a7a1c48f6d' date '10/14/2012' time '17:13:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.17' message 'finish up `edit class`' id '185f48f5-1927-4ac6-b41f-ccec13175edf' date '10/14/2012' time '16:37:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.16' message 'working on `edit class` and `find class` commands' id '7c072de2-a0a3-4a7d-9593-6cf3422cc8dd' date '10/14/2012' time '12:39:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.15' message 'class names and selectors left as Symbols, since String variants my not be persisted and are subject to gc ... avoid having to manage gci references as long as possible:)' id '068d2d8e-ceeb-4e01-9324-ac154a3e1b07' date '10/14/2012' time '10:33:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.14' message 'checkpoint ... accept method work for GemStone' id '17691f51-f0e9-45a9-8916-3d6e9f615379' date '10/14/2012' time '08:35:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.13' message 'fix selectors method' id 'cb66bdbc-7ceb-4729-be64-3cfe6ce0debc' date '10/13/2012' time '18:47:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.12' message 'checkpoint ... completed test for `list` commands' id '528d98b1-0e31-4117-b137-bc8dc44f30b7' date '10/13/2012' time '12:11:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.11' message '`edit class` command and accept method' id 'c5010fde-3320-4133-a1f4-d3dc4e0474dd' date '10/12/2012' time '16:00:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.10' message 'green tests' id '8783341a-e89d-4ebb-8c3e-c9dc5f5e2619' date '10/11/2012' time '16:28:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.9' message 'gemstone working again' id '7119d7a5-00c7-4f48-9779-74c2e96ff3d7' date '10/11/2012' time '16:22:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.8' message 'implement history and rename classHierarchy to superclass' id 'fde97278-0897-4a23-aa39-5bdc20fe94fb' date '10/11/2012' time '12:08:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.7' message 'green tests' id '77ea215a-464b-4a8d-96c7-1d0a63a357ec' date '10/09/2012' time '16:57:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.6' message 'giving more responsibility to TZElement classes ... server side mods ... not debugged' id '757a4c21-1c66-4b6d-bc21-2d50db8b7d53' date '10/09/2012' time '16:52:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.5' message 'class selectors support' id '2e67b010-f1c3-4380-8c78-075e9431f761' date '10/08/2012' time '18:44:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.4' message 'prclasses support' id '1d00262c-54a5-4a68-a7e9-c7219586697f' date '10/07/2012' time '18:29:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.3' message 'move tzProxyClass to server core to support native operations' id '1f35d6a7-883e-4aea-9f22-4563cef214f1' date '10/05/2012' time '10:26:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.2' message 'tweak frame format' id '42da5bab-85b4-4314-9ebf-d6c0956b471e' date '10/04/2012' time '16:28:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1' message 'rename from Topez-Core to Topez-Server-Core and Topez-Tests to Topez-Server-Tests' id '0d44d899-49cf-457e-ab56-8c8581ac0a49' date '10/03/2012' time '16:26:23' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Topez-Server-Core-dkh.265' message 'fix a bug in `TDClassDefinition class>>fromClassWithHistory:` where a class is the current class in it''s class history, but not reachable from the users'' symbol list ... needs to be handled as a direct class reference (TDBehaviorReferenceDefinition)' id '043838c9-b380-43c0-a839-1408fbf0390f' date '09/13/2015' time '14:30:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.264' message 'need to be able to compare packages in both directions in repository version browser' id '966a2c29-79c2-413f-971b-8d4a00ffe553' date '09/13/2015' time '11:46:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.263' message 'conditional support for Class>>removeFromClassHistory which fixes bug https://github.com/GsDevKit/GsDevKit/issues/74' id '22c3be7e-f5ef-4009-94a2-a10082c061dc' date '09/12/2015' time '12:28:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.262' message 'fix mistake in commit a73efb4' id '0d61fbc3-06c9-462b-8dbb-c43d76415cc5' date '09/12/2015' time '11:15:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.261' message 'add support for working with classes that are not directly accessible (i.e., not in a symbol dictionary and not in a class history) ... these classes would be incountered in the wild when inspecting instances of classes that have been "removed from the system"' id '2872617e-625f-4b83-b083-b2f67d8fc620' date '09/12/2015' time '09:14:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.260' message '#isTranlogged bugfix' id '334160a1-2b42-4c5f-9769-5db0bf5b8845' date '09/11/2015' time '21:06:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.259' message 'Issue #196: add and update tests for class history work' id 'd338323b-cb80-4ae5-a555-19004843d6de' date '09/11/2015' time '12:30:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.258' message 'Issue #196: a little protective coding .. may be overzealous, but we will see' id 'c855d290-9b14-4709-be9f-6dc84201776d' date '09/11/2015' time '11:32:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.257' message 'Issue #196: implement remove class from class history logic ... plus update a bit o logic for other defintions when removing from system' id '0af54122-0711-45e0-bf51-990be475863e' date '09/11/2015' time '11:28:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.256' message 'Issue #196: implement `cls history --hier` looks like we''re done' id '02c5988b-85af-4455-805b-375d3b56882b' date '09/10/2015' time '18:16:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.255' message 'Issue #196: Adding TDClassDefinition class>>fromClassWithHistory: so that when traversing class hierarchies that include non-current classes in a classhistory we get the relationships "fight" ... there is a bit of funkiness in how ClassOrganizer tracks superclass relationships for classes that are only referenced from within a class history ... but I think that `cls history --hier` will give a definitve list (next up)' id 'eb04b038-de69-441b-8ffa-4e95908ddd19' date '09/10/2015' time '16:08:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.254' message 'Issue #196: get cut/copy/paste straightened out for class history definitions' id 'abe6a7af-9f09-4f9b-a6be-2bf77bd05a0d' date '09/10/2015' time '10:20:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.253' message 'Issue #196: add `browse class history` menu item' id 'eb4610b4-2b78-4d73-8d17-98f9c5ead0ac' date '09/10/2015' time '02:01:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.252' message 'Issue #196: convert class history definition classes to use className and classHistoryIndex instead of direct reference ... add class history protocol and method definitions classic class browser is now functional when invoked from the `cls history` class list' id '4a217939-91d6-45e0-a0c4-3d53ec6e781c' date '09/10/2015' time '01:43:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.251' message 'Issue #196: implement TDClassHistoryDefinition and TDBehaviorHistoryDefinition ... TDOldClassHistoryDefinition is the old implementation of TDClassHistoryDefinition ... need to probably create TDProtocolHistoryDefinition that uses a direct class reference to list method in the historical class .... then the browser portion is complete ... next up is a hierarchy view that includes all class versions ... might do this by default ...' id '64614456-0733-4824-94a0-ecb4b120bf86' date '09/09/2015' time '21:46:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.250' message 'Issue #196: just getting started ... add class history index to class definition labels ... clean up some bugs in `cls history` command and browser' id '3efb05a9-81a8-4da7-924d-bb3ced047be9' date '09/09/2015' time '17:29:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.249' message 'Issue #197: add notTranlogged synthetic field' id '4834ee95-25bf-4963-a3c9-e33b5bfc2395' date '09/07/2015' time '17:27:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.248' message 'save a package diff error in TDRepositoryVersionsBrowser' id '44158134-78c1-4ca5-820d-ca1f4bdb5a3e' date '09/07/2015' time '14:20:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.247' message 'try to clean up random `ds` test failures and fix`ds` man page typo' id '970350db-bc71-4379-b865-6a553f58398e' date '09/01/2015' time '11:39:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.246' message 'don''t register a default handler for GsInteractionRequest if there is no tode client available (no topezClientForwarder defined)' id '5f0c2649-8601-4b82-88ef-2f825744d986' date '09/01/2015' time '11:17:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.245' message 'Issue #186: fix up some protocol pane errors ... clean up some failures for the `bu` command tests' id '1cec028b-515b-4d44-aabc-31e134e63da6' date '09/01/2015' time '10:01:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.244' message 'Issue #184: tweak comment for `windows restore` command' id '17bdce1f-6021-48c4-ac56-80e9324f2fee' date '09/01/2015' time '07:11:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.243' message 'now that we''re honoring canDiscardEdits, need a way to clearUserEditFlag in code editors (used in debugger at the moment)' id '232c5dfd-c7c2-4b65-a35c-f694b68b0f90' date '08/31/2015' time '17:13:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.242' message 'Issue #186: fix bug in new method logic for classic browser' id 'd022bd4d-8d3c-42e3-afbe-1ffae1c48629' date '08/31/2015' time '14:47:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.241' message 'Issue #186: final work on button bar (fingers crossed) ... set default button/state in spec on server' id '64116f8e-52e4-4f0a-9b5a-814d92a5cb00' date '08/31/2015' time '13:20:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.240' message 'Issue #186: cut/copy/paste functional for new ckasses TDClassicClassProtocolListElementBuilder and TDClassicClassSelectorListElementBuilder' id '7eeb6e1d-0615-46cb-8fe9-ff8910ed6e23' date '08/26/2015' time '16:36:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.239' message 'merged by GitFileTree-MergeDriver' id '506a36f6-2559-4e7c-9253-cd1c89ee20ef' date '08/26/2015' time '10:06:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.238' message 'Issue #190: proposed bugfix ... validate package file name against package name when attempting to save the package to a repository' id 'd6b84aa7-1e4e-4946-8821-dd0b06b508c3' date '08/25/2015' time '17:39:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.237' message 'Issue #186: fix new method logic, add commitMessage arg to `mc commit`' id 'd3edb74a-7b49-47fc-9c34-f08df87f54b5' date '08/25/2015' time '14:38:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.236' message 'Issue #186: create new method in classic protocol list' id '41f81c72-9780-43fc-b2a7-7d6ccca935cd' date '08/25/2015' time '13:27:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.235' message 'Issue #186: cleaned up the protocol menu ... make classic browser the default ...' id 'bca5c818-4706-4a5d-b8b9-5f5a568ea040' date '08/20/2015' time '16:53:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.234' message 'Issue #186: basic functionality in the classic browser ... menu in protocol list need some attention ' id '0fc9b625-9cc7-4a44-94ea-61c231981dc5' date '08/20/2015' time '15:17:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.233' message 'Issue #186: start server-side work on button bar example ... implement a `class browser` that has instance/class buttons ... paritally implemented ' id 'e3f90989-af30-4bbe-b37f-b4317983da18' date '08/19/2015' time '21:28:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.232' message 'Issue #186: finish up TodeClientButtonBarElement implementation for server' id '976f14b3-8573-4b1f-97b8-736b6989fdeb' date '08/19/2015' time '17:03:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.231' message 'Issue #186: implement server-side support for TodeClientButtonBarElement' id 'e2380a07-7d94-4b1f-a55f-c73523c995f4' date '08/19/2015' time '15:11:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.230' message 'Issue #184: tweak TDShellTool>>windowsrestore' id 'f28abdc1-3315-42ca-9c19-1397cc7e620c' date '08/18/2015' time '17:40:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.229' message 'Issue #184: need to cache the client elements for windows restore command ... save only 3 sets of caches' id '2bea3fd1-1c64-4cda-a551-8767b28c5a35' date '08/18/2015' time '16:26:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.228' message 'Issue #184: `windows restore` is basically functional ... still some fine tuning to do, but basically in business ... added timestamp to client element ' id 'c59e1a98-97eb-40b6-9c96-19c11e251309' date '08/18/2015' time '16:11:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.227' message 'Issue #184: persistent element cache is managed as a cicular list with 5 elements ... start docs for `windows restore` command ... abort before executing every command is NOT safe ...' id 'd97e8bcc-d56e-4525-9830-f77c809b864c' date '08/18/2015' time '14:38:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.226' message 'Issue #184: saving client elements in a persistent element cache or transient element cache (currently just the debuggers) based on usePersistentClientElementCache field in the client element ... also abort BEFORE each shell command is processed - to avoid one of the most common commit conflicts that occur when running two concurrent tODE sessions against the same stone ... ' id '3cf4217a-8dbc-4896-90f2-7cb84d6d772c' date '08/18/2015' time '13:37:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.225' message 'Issue #184: fiddle with Window menu' id 'ca5e2bca-4f49-4c6f-b23b-0b414fbfc17f' date '08/18/2015' time '09:37:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.224' message 'Issue #184: add server-side support for the `Window > history` menu item' id '7fdd66b4-1a6f-4aa2-b06a-e2042e6824eb' date '08/17/2015' time '17:17:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.223' message 'Issue #184: implement TDTopezServer>>clientEventCache: ... that completes the `drop clientElements` task' id '87b8aa53-ff96-4624-b705-8882f0c888d1' date '08/12/2015' time '13:15:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.222' message 'Issue #184: stub out server-side changes for TDTopezServer>>clientEventCache: and add server-side tODE API version support' id '8f5d9469-789c-4a48-9e17-bfcb217f0963' date '08/12/2015' time '12:47:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.221' message 'Issue #184: start work on better management of clientElements in topez elementCache' id '9f5f21ff-1c17-4458-ba92-90e1a595f043' date '08/11/2015' time '14:51:53' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Topez-Server-Core-dkh.221' message 'Add a commit message argument to the `mc commit` command' id '221fb75f-18f1-4419-8842-c348716639da' date '08/26/2015' time '09:36:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.220' message 'Issue #181: hmphf ... more than one typo' id '2d077e29-64a9-44dd-b690-2535878c0d04' date '08/10/2015' time '14:18:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.219' message 'Issue #181: fix method name typo' id '6e723f05-7dd4-43a6-92e3-2a070bf0bca2' date '08/10/2015' time '14:04:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.218' message 'Issue #181: get browse|find tests passing' id '8e97f155-71c1-4189-974e-282c2afd0e60' date '08/10/2015' time '12:55:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.217' message 'Issue #181: select option should be availabe for `find` command too ... more `browse|find` consolidation' id '2448ecf9-be59-4834-9a00-200515b3f334' date '08/10/2015' time '12:46:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.216' message 'Issue #181: consolidate common arg handling implementations between `browse` and `find` commands ' id '8f8af016-9d90-4c0e-a677-8d134f345f94' date '08/10/2015' time '12:24:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.215' message 'Issue #181: finish up first cut of find commands and add tests' id '216d6f1e-367c-4990-9397-c7bea7d29093' date '08/10/2015' time '11:22:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.214' message 'Issue #181: more progress on properly implementing/documenting `find` commands' id '8c5926ee-6056-43b4-a641-2ddfdeed4270' date '08/07/2015' time '17:04:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.213' message 'Issue #181: begin work on updating man pages and implementation for the `find` command' id '5b48c07c-a650-4ac0-ad8b-983bdc22079e' date '08/07/2015' time '11:27:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.212' message 'new commands that came up while working on Seaside3.2: - `limit transactionMode` - `ps terminate`' id '42f059e7-1910-4231-a7b2-a856cc065cc8' date '07/20/2015' time '11:38:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.211' message 'fix a problem revealed while upgrading a 2.4 with an older tODE installed to 3.2.7 and latest tODE' id 'c351ca9c-3f28-4258-b383-889beb03a590' date '07/13/2015' time '11:03:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.210' message 'add find references to navigator for all objects ... inMemory and inRepository' id '6d1296c6-3ccc-490c-b29b-d849e1545f44' date '07/05/2015' time '13:42:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.209' message '- add synthetic `committed` field to a few places where it was missed - take a list for `gs objectFor`' id '9cfd807d-a3d9-4e46-b91e-a988468c6cbf' date '07/04/2015' time '16:00:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.208' message 'Issue #175: enable client-side objectSerialization and disable use of 0.9.1, so we can - strip out 0.9.1 hacks - implement 0.5.1 compat (pluggalble old-style encoding) - implement the REAL 0.9.1 - hex chars trigger old-style encoding - no hex char encoding at all - tests, tests and tests' id '9122c6f1-f56a-442d-9829-12622c08766a' date '06/25/2015' time '17:50:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.207' message 'Issue #175: convert all users of STON in tODE to use #objectSerializer method ' id '69a5dca7-e0d9-4dc1-ad27-ee6faf51c949' date '06/25/2015' time '16:35:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.206' message 'Issue #175: checkpoint client-side changes for TodeObjectSerializer' id '5ca9d9cc-9265-4f33-aef8-2915c36afd0f' date '06/25/2015' time '15:28:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.205' message 'Issue #175: rename the classes' id '959e4ea7-b884-4e52-98cc-eaef3f232078' date '06/25/2015' time '15:05:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.204' message 'Issue #176: TodeCommunicationProtocol and friends added as better option for managing changes and upgrades to object serialization ... need to have a handshake between client and server to settle on the version of STON to be used and someday may use something other than STON ...' id '25c4a1ec-8843-4832-848d-0dd778446ec8' date '06/25/2015' time '14:57:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.203' message 'Issue #175: fix a typo and baseline error' id '41ee3047-72ea-4c76-ba41-27bf57cea2e8' date '06/25/2015' time '09:46:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.202' message 'Issue #175: major edit to start using the new protocol introduced in STON v0.9.? and pharo-0.9.1?. v0.9.1 and pharo-0.9.1 are on the gemstone_dev and pharo_dev branches so that travis tests can be run ... ' id 'e5e8855e-9ae4-4573-afc4-7a2b047f25d9' date '06/24/2015' time '17:23:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.201' message 'Issue #175: a little too aggressive in removing methods' id '9ec22e44-ff36-4254-8f86-5f7a284797db' date '06/19/2015' time '15:37:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.200' message 'starting to use gemstone_dev branch of STON which is the port of STON 0.9 to GemStone ... the tricky part is to change the encoding scheme' id 'a4561926-528c-4d86-8286-c63ad0ef7e05' date '06/19/2015' time '15:05:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.199' message 'add Topez-Server-33x-Core package ' id '5982e7fe-1983-49bf-9530-a3e5ffd3684b' date '06/18/2015' time '16:34:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.198' message 'expand the package copying API in TDMonticelloTool' id '32a2d476-2f62-48b2-a89c-ceca3e770f9f' date '06/18/2015' time '12:16:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.197' message 'add ''bytes'' as synthetic view for CharacterCollections ... as useful as ''utf8'' ' id 'a1388f12-ad37-4e06-b46c-46d0a84e31cd' date '06/15/2015' time '10:08:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.196' message 'all profiling reports look good except for edunUsage ... I think I might to produce a better report for new object creation...' id 'c94083a0-7953-45df-b037-98769d484ffd' date '06/11/2015' time '12:03:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.195' message 'server-side support for evaluating smalltalk code with variable bindings' id '37fcb10c-e5ba-4099-9b2d-de0fe7a29388' date '04/11/2015' time '12:44:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.194' message 'server-side support for evaluating smalltalk code on server and passing result back as STON ... ' id '2b20ba4a-7c88-4d4e-ab7c-3c747eae676a' date '04/11/2015' time '07:12:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.193' message 'tweaks to command api for `mc commit` and `mr add`' id 'cfebe6e2-aa0d-4bc3-a47c-aa193147daa7' date '04/03/2015' time '15:16:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.192' message 'add `cls create` command' id 'd7c8575a-fae2-404a-acde-f56ead831936' date '03/30/2015' time '17:57:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.191' message 'fix typo in `cls protocol` man page' id '23742b4b-da67-4b2c-8b1d-bcece40a80f0' date '03/26/2015' time '10:31:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.190' message 'snapshot directory needs to be managed by the session description' id 'c8e942c9-293e-4052-8f91-8d1bc775a8af' date '03/22/2015' time '21:00:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.189' message 'Add new command `gemtool` that does GemTools-style prompting for attributes. the `gemtool` commands are being used to implement client-based worldMenu items for opening tools and executing GemTools-style operations ... will eventually migrate all `gs gemtools` functionality to gemtool command ... move TDGemToolsMenuBar to Tode-GemStone-Server-Core package' id 'f4038357-d7cd-44de-836d-08d1c17aa0ab' date '03/21/2015' time '16:20:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.188' message 'custom window location (#workspace) for ws window' id 'ce2ddd75-c949-400a-9b09-f43f202775f5' date '03/19/2015' time '10:22:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.187' message 'add custom project list window location' id '4e5b291d-4ac9-4167-9398-0d4b3d9e5198' date '03/19/2015' time '10:11:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.186' message 'CHECKPOINT: folding extent snapshots into the bu mix' id '22fe0ff1-d17a-4bfe-9e01-677fa587f205' date '03/18/2015' time '21:04:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.185' message 'a couple of infant mortality fixes ...' id '04edfa45-a56d-468e-a506-2aed205da47a' date '03/18/2015' time '10:58:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.184' message 'Restore TDComposedDirectoryNode methods used by tests ...' id '8e6fa06b-4bd4-4f39-939c-775f16fb643c' date '03/17/2015' time '14:37:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.183' message 'fix a bug when trying to display method protocol for class-less methods (doits)' id '51308b2a-7ba0-41fc-bae1-038838ab70af' date '03/16/2015' time '21:47:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.182' message 'no continuation ... need a CR at end of stack' id 'd2df3adf-c4e5-4990-9f35-bfb60f0b7312' date '03/16/2015' time '17:17:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.181' message 'merged by GitFileTree-MergeDriver' id '08131fac-3ba2-42db-9d17-abbceae4eb1b' date '03/16/2015' time '04:36:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.180' message 'fix stone gitRootPath for project clone ..' id '71e2847b-e972-489a-997f-b4fc2f636533' date '03/15/2015' time '13:56:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.179' message 'Add --local|--stone option to project clone ... that change means that we have to specify a projectPath (local or stone) to specify where the project entry will be saved ... rewriting project clone man page results in having the gitRoot slaved to --local|--stone choice since the project entry and gitRoot should play together ...' id '42b628b9-0435-4996-94f8-c425c3ac11a2' date '03/15/2015' time '13:21:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.178' message 'fine tune the recent project entry creation code (infant mortality)' id 'ed5d30ea-82cf-48e6-8ab9-135d5724d1eb' date '03/14/2015' time '21:06:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.177' message 'fix project entry creation for hybird project' id '371f4004-fd05-47eb-9374-714ee4bbaddc' date '03/14/2015' time '20:48:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.176' message 'final bits to get the cloned project entry correct for an unloaded project ...' id '32324efa-0eab-4515-89d3-4d028901598d' date '03/14/2015' time '20:05:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.175' message 'checkpoint ... default TDProjectEntryDefinition class>>defaultGitRootPath is now $GS_HOME/tode/sys/local/git ... finally zeroing in on correct formula for conjuring the loads list for the porject entry ...' id 'aeb3c8ea-e387-440f-87fa-e7b1b733b1b0' date '03/14/2015' time '19:42:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.174' message 'turns out that when composing project entries, we want to filter by the name of the project for the project entry and the actual name of the node is immaterial ... add TDComposedProjectEntryNode and TDPathComposedProjectEntryNodeContents to accomplish this ...' id '2ff192c4-4651-40d7-8713-7c77044a2fad' date '03/14/2015' time '15:57:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.173' message 'Making sense out of project entry template creation when doing a `project clone` ... have to preserve the loads list correctly ... hybrid may still be a mystery and project entry creation for a entryless configuration needs to be looked at' id '48447dc2-e6ec-4af7-a3f4-4303cafafdef' date '03/13/2015' time '17:18:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.172' message 'fatal error on git commit should signal an error' id '943898e3-4e1c-45c8-8bd4-81845b291019' date '03/13/2015' time '11:49:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.171' message 'signal error when git commit fails' id '7f2bdb60-1549-4c40-a198-66e605b1aff3' date '03/13/2015' time '11:47:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.170' message 'fatal error on git commit should toss an error' id 'ce4080b8-d6ef-4105-8cf6-497b243dcf85' date '03/13/2015' time '11:41:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.169' message 'include method protocol in method title ... recommend `git@github.com` for project clone menu item in project list .... a little bit of working on `loads list` for project clone ...' id '9560e282-8e48-479a-866e-6955ba083ba8' date '03/13/2015' time '11:12:47' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Topez-Server-Core-dkh.169' message 'temp branch (65311be_merge_0574edb) for merge from 65311be to dev(0574edb)' id '11bc9617-9c7a-4e30-a35f-7a1f2343e3ca' date '03/16/2015' time '16:36:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.168' message 'change TDTopezServer>>serverTodeStoneRootFor: not that /sys/stones/ is used instead of /sys/stones/stones/' id 'bd69461d-902d-410c-9225-613057603020' date '03/10/2015' time '20:35:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.167' message 'create TDMCMergeDiffBrowser which basically restores the old Monticello merge browser behavior before TDMergeDiffBrowser was converted to support true 3 way merges ... which broke monticello-based merging ..' id '58f2564d-4fe5-4272-9b0f-6fe7710c5cf6' date '03/10/2015' time '16:15:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.166' message 'add `--gitRoot` arg to `project clone` command ... still need work on getting loads imported corectly from registration for `project clone`' id 'ba79bed8-32dd-4d82-91b6-6fd3f1960513' date '03/10/2015' time '07:23:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.165' message 'provide choice of cloning method for `project clone`: https://github.com or git@github.com' id '960bb89a-f352-42ae-9b92-10473256eccf' date '03/04/2015' time '15:18:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.164' message 'Issue #154: loads lists are always additive ... for `project load` command ... `unregister` is always an option if necessary...' id '9bfc7778-eb0a-4ab2-8ee8-b2ee995e30b0' date '02/26/2015' time '13:28:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.163' message 'Issue #152: hook up menu item and fix infant mortality bug' id '2cc209f3-b7e7-4384-b8f7-20ac3b381ec9' date '02/18/2015' time '14:52:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.162' message 'Issue #152: initial implementation' id '590719a3-eb23-4161-acf2-dd3fdba458d3' date '02/18/2015' time '14:41:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.161' message 'add `find` menu to project list ... prompts class/hierarchy/senders/implementors/references/source' id '383e9ae7-6d5e-4dd8-a81f-236186721929' date '02/16/2015' time '20:28:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.160' message 'add TDMetacelloTool>>projectLoad: ... ' id '2c158762-d178-4152-ba37-2db4295a44a7' date '02/11/2015' time '15:40:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.159' message 'implement TDProxyLeafNode>>childNamed:addIfAbsent:' id '33f6968c-2954-417d-93d4-9f1e9e5829a7' date '02/11/2015' time '12:21:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.158' message 'Issue #100: TDProjectEntryDefinition class>>defaultGitRootPath is stashed in session temps' id 'cbf559cd-1e33-4e82-8d0f-022b2eb82874' date '02/08/2015' time '16:43:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.157' message 'Issue #135: revise gemtools man page references after Issue #147 completed' id '859e00ce-af21-4957-8aaf-a3593722879d' date '02/08/2015' time '16:26:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.156' message 'Issue #147: finish up the pass for writing `gs` command man pages ' id '40c3927b-f4ff-4256-a1e7-ce42aa05ab9a' date '02/08/2015' time '16:13:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.155' message 'Issue #135: finish up the menu implementation and finish the `gs gemtools` man page. Get started on Issue #147. A little bit of tODE batch execution love' id '2961dba2-1e8d-4b87-8998-399ed2023ac1' date '02/07/2015' time '15:10:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.154' message 'Issue #135: finish up Admin, Help and Debug... sections ... add --continuation menu item to `ol view` and `ol clear` commands ' id '19d89cba-f239-4bb6-b6e6-4a1084fdf5ed' date '02/07/2015' time '12:44:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.153' message 'Issue #135: finish up the `Admin>DoIt` submenu ... `project summary`, `gs configuration`, `gs sessionReport` commands added, `gs version` command expanded, `ol` commands refactored for use st api' id '4f29758d-bc9b-4901-a63d-ab88b707dbcb' date '02/07/2015' time '11:37:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.152' message 'Issue #135: finish up the `Admin>Repository` submenu items...restructure `bu list`, `bu restore` and `gs mfc` commands' id '1eba367a-5dcd-4402-89ab-1ac44243c08f' date '02/06/2015' time '16:44:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.151' message 'Issue #135: `Tools` submenu completed... man page for `ps list`' id '3967cbcb-c182-4a17-a9de-a8ef87050a74' date '02/06/2015' time '15:03:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.150' message 'Issue #135: finish up the `Find` submenu with `Find>Method...`, `Find>String...`, `Find>Senders...`, and `Find>Case Sensitive String...` ... fine tune `browse source` and `find source` commands and man pages to include case sensitive and case insensitive searches' id '5f02cea4-c7f0-431e-8975-5b8db284e470' date '02/06/2015' time '14:01:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.149' message 'Issue #135: initial implementation of TDGemToolsMenuBar (not actually a menu bar) where gemtools menu items will be implemented ... selecting a menu item brings up the man page for the command that implements the gemtools functionality ... Implementation complete up to `Find>Class References...`' id '055fc437-cec5-4773-9577-21559b1527a4' date '02/06/2015' time '11:05:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.148' message 'need to encode source as utf8 before writing to disk on merge' id '0710d395-e7f0-4144-8d23-660e317ae8bb' date '01/30/2015' time '21:01:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.147' message 'Git merge tool update: - add move merge operation - add view image vs us/them/custom - unconditional delete (define custom as nil and select custom) - automatically resolve deletedByBoth - fix doMerge to work for deletes' id '2d9cb74d-5568-4a15-9f07-b00e481ee4f7' date '01/30/2015' time '16:35:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.146' message 'implement multiple selection for the `git mergetool` browser' id '821fc4d6-dd09-4419-8176-eca89443d247' date '01/29/2015' time '17:02:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.145' message '- operation tag and filtering available - always filter #''deletedByBoth'' when `us = them` (safeToIgnore) unless raw - TDGitDiff>>asMergeOperation should assign ownership to them and show usVsThem - two-way diff ' id '7be2b1d6-b6ad-4674-8dbe-bb290ea2d3ad' date '01/26/2015' time '17:22:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.144' message '- when copying cached diffs, leave operation resolved - add `show unresolved` and `show all` menu items - reorg menu - include cached diffs in operations list - prepare TDGitMergeOperation>>applyTo: ... not tested - add #struckOut emphasis when the file is ''deleted` ' id '82dfda80-5c38-4d36-bb50-2e4cc527135d' date '01/25/2015' time '17:45:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.143' message '- format smalltalk methods before complare to eliminate formating differences - allow for copying of merge operations for cases where class rename is involved and it becomes necessary to copy definition from old to new - next step is to merge in `git diff --cached` operations since they represent the non-conflict operations ... will need to be able to copy (add new), delete, and edit non-conflicting operations ...' id 'edbb4d07-9d7d-48b4-a891-c493caa78224' date '01/25/2015' time '10:51:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.142' message 'add TDGitMergeOperation to replace TDGitConflict. TDGitMergeOperation provides more control over conflict resolution with explicition resolution selection: ancestor, us, them, custom. More viewing options: all meaningful diff combinations plus explicit source view' id '319818f7-533a-4d2e-bc16-4af6c15ff82b' date '01/25/2015' time '09:18:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.141' message 'As a consequence of https://github.com/GsDevKitIssues/54, TDShellTool>>portsentButNotImplemented can get better information about the SENDERS of the unimplemented methods' id '7208d8e9-5071-4407-bc2d-a9d26e0fab7a' date '01/16/2015' time '14:28:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.140' message 'For confirmations, add a third option: abort, so we can have confirm, cancel or abort.' id '80aa1bf2-5f06-4ed4-8f14-ab21aa048724' date '01/16/2015' time '11:06:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.139' message 'tweak `project rehome` command' id '84501ca2-91b7-40a8-ad6d-cbb9699b434e' date '01/12/2015' time '08:04:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.138' message 'add `--loads` option to `project entry` command ... update man page' id 'b103452c-261e-43fe-b5e0-5c2de9e3168f' date '12/28/2014' time '13:58:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.137' message 'add option to turn off autoCommit from `limit` command ... add begin command that does a beginTransaction ... both of these in support of gem server debugging' id '6501c806-6eb6-4ad6-9fba-383aa96786b5' date '12/27/2014' time '20:59:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.136' message 'add example to `mount` man page' id '37aeadf0-6cda-4a3f-8ee3-08ab31e9425c' date '12/19/2014' time '17:11:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.135' message 'support @ for mount command: `mount @/sys/stone/dirs/GsApplicationTools/tode /home gemServer`; now that /sys/stone/dirs provides access to the project directories ...' id 'b7e8154e-b9ed-476b-ad57-1062d517b1c2' date '12/19/2014' time '17:09:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.134' message 'implement TDGitProjectRegistrationDefinition>>gitRootDirectory' id 'fbb2460a-a00a-438e-add8-34a02b42ed49' date '12/19/2014' time '16:53:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.133' message 'Issue #5: implement the `@/repos/ston` variant for tab completion ... now I think I''m done:)' id 'f88375cf-eb1b-4e77-b494-91ade74b2b84' date '12/19/2014' time '16:08:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.132' message 'Issue #5: fixed tab completion for `.` and `~`' id 'e7d51f9b-6d2d-486e-9ca3-9ceb8d0302a7' date '12/19/2014' time '12:15:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.131' message 'Issue #130: implement TDTopezServer>>evaluateCommandStream: ... use TDCommandLine class>>fromStream:selectLine:forEachCommand: in TDTopezServer>>evaluateTopezScript: ' id '4f37dc12-1748-45ef-b659-f2326323367b' date '12/19/2014' time '10:24:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.130' message 'Issue #5: tweak postfix for commands' id 'dddccc02-20f4-4749-9d07-bfd778bcb470' date '12/18/2014' time '17:13:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.129' message 'Issue #5: fix an introduced problem in TDNode>>printOn:' id 'bde2dafa-528f-4d0a-9cdb-925446773cb9' date '12/18/2014' time '16:57:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.128' message 'Issue #5: final fix' id '2a671b2f-f493-4d69-92f3-1acdda81d6f9' date '12/18/2014' time '16:37:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.127' message 'Issue #5: almost final version of tab completion, cient gets an array with prefix, matches, postfix and longestMatch ... longestMatch has become the new command line, but I want a checkpoint where everything is functional ' id '483606ad-1fca-45b3-9456-6f82bbc59175' date '12/18/2014' time '16:30:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.126' message 'Issue #5: working on tab completion based on a path ... findMatchingPathFor: implementations' id '9d54518a-7123-4665-b177-17af05ee6cf9' date '12/17/2014' time '22:19:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.125' message 'Issue #5: getting serious about tab command completion ... server -side mods' id 'a717f9a8-d2cd-42de-81a2-826912f7554c' date '12/17/2014' time '20:59:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.124' message 'TDProxyLeafNode>>removeChildNamed: needed' id 'e414378e-883a-41e3-8caf-8bfd8c2b33b2' date '12/13/2014' time '10:34:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.123' message 'add synthetic (isCommitted) filed to inspector' id '022c0435-10eb-405e-afb6-837abea50e71' date '12/04/2014' time '15:17:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.122' message 'TDProxyLeafNode>>addChildNode: needed' id '1f25656a-20a9-47e1-b626-e3a4651490a1' date '12/04/2014' time '11:18:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.121' message 'patch for problem when an http repo has a .mcz file' id '3bad2fae-0c10-4356-a7ae-627c499d8935' date '12/03/2014' time '14:22:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.120' message 'a couple of tweaks ...' id 'a8b68664-689a-4f88-aa00-df891239ccbf' date '12/02/2014' time '19:38:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.119' message 'Do a better job with showing diffs when config has been editted' id 'c7f2da34-3e7b-450c-8205-1d1017898310' date '11/26/2014' time '13:33:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.118' message 'make TDClassDefinition>>configurationOf a little more robust' id 'cd2290ae-064d-4e13-9e74-4b3b5a267f61' date '11/22/2014' time '13:15:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.117' message 'fix a bug in new project entry code' id '8d06af1e-ae21-4301-ba39-4717c41523f6' date '11/21/2014' time '16:44:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.116' message 'fine tune project entry creation ... force creation of a new project entry in the stone''s projects dir when cloning, so that the entry is correct for the current status of project ...' id '0651b1e6-747f-49b4-8347-2845158966d8' date '11/21/2014' time '16:15:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.115' message 'fix bug in creation of project entries' id '3c606c9c-3728-4bf1-89b0-af713b34ca01' date '11/21/2014' time '15:29:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.114' message 'record original location of project entries ... might want to propogate the idea to all nodes (path to original node before composition)' id '39127949-7952-42d3-857a-8497ae8ae9be' date '11/21/2014' time '15:20:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.113' message 'Automatically create a project entry if one does not already exist for `project list` *Browse>>project entry* menu item' id '2822d29f-7faa-465e-90a3-74946a5b20c7' date '11/21/2014' time '13:04:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.112' message 'Issue #124: proposed fix' id '199b2c40-574a-4eda-b07f-0b5fbd966386' date '11/21/2014' time '10:27:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.111' message 'Issue #125: proposed fix ...' id '48168b62-4b4a-4719-a2d8-eb5906b4c245' date '11/19/2014' time '16:57:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.110' message 'finesse `mount` command to allow direct mounting of --stoneRoot or --todeRoot' id '1ecfdd05-f263-45ae-89d0-bce568daaa82' date '11/17/2014' time '15:33:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.109' message 'Issue #110: fix TDPathComposedDirectoryEntry excludes bug' id '0da232a4-449b-4e9e-8379-03837ec53e5b' date '11/17/2014' time '09:27:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.108' message 'Issue #110: rename TDTopezServer>>serverTodeStoneRoot: to TDTopezServer>>serverTodeStoneRootFor:' id '27e7e152-4e17-4e59-9164-c55ff12bc385' date '11/17/2014' time '09:21:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.107' message 'Issue #110: TDTopezServer>>serverTodeStoneRoot: helper method for /sys/default/bin/validateStoneSysNodes script' id '78adb705-e39d-4142-8df6-fc3c821efae8' date '11/17/2014' time '09:14:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.106' message 'Issue #110 [ci skip]: new TDComposedDirectoryNode creation protocol ' id 'db0ae09f-bc6b-413b-b030-ce6277cd0ce0' date '11/16/2014' time '16:23:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.105' message 'add convenience method TDShellTool>>cp:to:' id '5928d19b-ee16-4fd5-a515-4a938d15b9aa' date '11/14/2014' time '17:07:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.104' message 'Issue #106 and #110: --stoneRoot for mount command redefined as structure for stones was changed to completely isolate the stone dirs' id '2cb58bce-0577-49c4-bffb-312fa5b03915' date '11/14/2014' time '13:43:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.103' message 'Issue #106: bugfix when /projects does not exist' id 'dfe2975e-6a47-4c49-9852-4795f2a81c4d' date '11/13/2014' time '15:07:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.102' message 'implement and document --stoneRoot option for mount command' id '1a9c15a1-b757-4d24-8e03-682b401cce9a' date '11/13/2014' time '15:03:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.101' message 'Issue #106: if a `/projects` node exists, then all non-leaf nodes in the node are expected to return a TDProjectEntryDefinition and the per directory `project` nodes are ignored ...' id 'c28901d0-9e70-44c4-81b9-84a132def367' date '11/13/2014' time '14:27:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.100' message 'Issue #110: mount command now supports directory or file mounting ... add mount command tests and update mount man page' id '3c600e16-aa8a-4207-a7e5-614aa237e840' date '11/12/2014' time '13:30:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.99' message 'Issue #110: add support for mounting a filesystem .ston file (or any file-based leaf node) in addition to mounting a filesystem directory ' id 'f679165f-1a5e-41e2-888a-7784a955c5b5' date '11/12/2014' time '11:08:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.98' message 'Issue #110: fiddle with TDComposedDirectoryNode instace creation protocol' id 'eb10e486-51ed-4446-a8a0-bd6ae8cc4852' date '11/07/2014' time '17:22:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.97' message 'Issue #110: checkpoint implementation of TDPathComposedDirectoryNodeContents still work to be done' id 'c9c681f0-af71-4549-846b-02481b6e4eb6' date '11/07/2014' time '16:42:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.96' message 'Issue #110: round out the composed node implementation add more tests ... clean up duplicate tests' id '533a384e-0ae2-4f6f-b914-dc5edec92882' date '11/07/2014' time '13:41:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.95' message 'Issue #110: get double dispatching for file system (which needs copy and remove instead of remove and add) correct ...' id 'b21155ac-2ac9-4ea4-a39f-088ad29b19dc' date '11/07/2014' time '12:38:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.94' message 'Issue #110: get TDShellFsToSimpleComposedFsMvCpCommandTests tests to pass ... involves a little double dispatching for move, since filesystem move involves a `copy and remove` and object based guys can do a `remove and add` and avoid an object copy' id '0ffdc4d0-54d4-4554-ba52-091e7eb7fe8c' date '11/07/2014' time '11:59:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.93' message 'Issue #110: additional tests to cover the different node types for mv and cp' id '27233380-5e58-4b6f-adde-502e4da77c72' date '11/06/2014' time '15:10:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.92' message 'Issue #110: add some tests for TDComposedDirectoryNode ... passing at the moment ... need to flesh out rest of tests before moving forward with additional TDAbstractComposedDirectoryNodeContents implementations' id 'c8dbfb22-80ae-46e5-9994-a63540f54ce2' date '11/06/2014' time '14:24:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.91' message 'TDComposedDirectoryNode simple link implemented ... now on to some more complicated compositions' id '84c64e5c-5eb5-4dd5-92f6-4f77dd0dfc24' date '10/30/2014' time '17:34:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.90' message 'Initial implementation of TDComposedDirectoryNode and friends ... still rough around edges, but the plan is that I can control the merging of system default /home contents and stone-specific /home contents ... other composition strategies are possible ... The rough part here is that I haven''t quite got the right flavor of Gateway node yet ....' id '22af543b-1c93-4d2a-9beb-cea572e300e0' date '10/30/2014' time '17:07:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.89' message '#useNew and #useLoaded for upgrade exceptions to be compatible with recent Metacello changes' id '55fdb0db-17a9-4cbc-b697-d41cb2235c6e' date '10/10/2014' time '15:15:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.88' message 'clean up some undefined symbols' id 'be503cf2-7607-450d-be5b-e155829a1891' date '10/07/2014' time '15:42:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.87' message 'bullet proof against missing local git repositories' id '1932808a-e23d-4193-9df2-f365d8cfc3d0' date '10/07/2014' time '10:00:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.86' message 'fix bug in `project entry --config...`' id 'cb07054d-0b7a-40c5-8dbe-cb851847ae36' date '10/01/2014' time '09:56:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.85' message 'changes needed to be compatible with Metacello support for bitbucket and gitorious repositories (https://github.com/dalehenrich/metacello-work/issues/233)' id 'd3a9240e-d32a-473c-9757-3a92e81c8717' date '09/29/2014' time '12:48:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.84' message 'implemented TDMonticelloTool>>mclist: and TDMonticelloTool>>mrlist:' id 'a3228c90-a687-4277-a9b9-89fabebd9308' date '09/10/2014' time '16:40:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.83' message 'should be able to `add protocol` without having anything selected' id '25a130ca-1c88-4ce2-a4fc-82820909e891' date '09/05/2014' time '11:56:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.82' message 'transitional support for new metacello `list` implementation. Clena up after MetacelloPreview1.0.0-beta.32.15 is in wide distribution' id '5e599507-50e5-48ee-87ee-656be4e3720f' date '09/04/2014' time '17:02:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.81' message 'shouldn''t allow error getting size to prevent the synthetic size to answer something' id '59a92c43-455d-408b-b9e4-c762837fe373' date '09/04/2014' time '16:52:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.80' message 'sync up with new metacello `list` implementation ' id 'ced1e660-8942-4d40-8558-b120b03cd5b3' date '09/04/2014' time '14:38:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.79' message 'When a commit fails in tODE, grab System class>>transactionConflicts before throwing error, so developer has chance to see what the conflict was' id 'a578ca0f-c8d1-4889-82de-53797395afbc' date '08/27/2014' time '12:31:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.78' message 'fix some bugs related to hybrid projects ... ' id '71bb660f-6442-4742-964a-cf13f09206bf' date '08/20/2014' time '07:36:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.77' message 'Issue #105: allow client to enable/disable Transcript usage to avoid slow responses (server-side)' id 'aad7ccb7-f0b7-4d5d-819f-3e9a3b3bb713' date '08/20/2014' time '06:37:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.76' message 'start to propagate the use of project list throughout the system ... need to centralize some of the key algorithms and project list needs to be consistently used throughout...' id 'e6296fe8-c521-4880-9736-e32e0f07f206' date '08/13/2014' time '17:26:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.75' message 'fix Issue #104: lock on clone' id '6e358a1f-9410-4dfb-a3c5-bc96da88ff5f' date '08/11/2014' time '07:57:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.74' message 'merged by GitFileTree-MergeDriver' id '5115ad50-a392-4523-8f0e-91738c3c173c' date '08/10/2014' time '11:39:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.73' message 'fix project list load bug ... nasty one ... was skipping mirations' id 'd1e65589-fbf8-4637-b865-7fc647c0f055' date '08/10/2014' time '21:32:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.72' message '`project list` display was noticably slow on mac ... added some strategic caches in tODE and in Metacello registrations' id 'e48574f6-e978-4d36-86e3-f3e709c2d46e' date '08/10/2014' time '18:01:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.71' message 'add CMD-t as shortcut for `tode it` command in text windows... add `set window size` menu item on navigator so that folks can easily widen or narrow the defaultWindowSize ... make it too bug you risk taking longer to display and/or craching gem with an OOM exception' id '9ab5e1e6-d92b-4960-94c7-ddf8bb29669e' date '08/07/2014' time '23:17:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.70' message 'support for tutorial projects ...' id '18df5598-636d-4282-af6d-7f8e86583448' date '08/07/2014' time '16:12:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.69' message 'add a bit more color to the test browser/runner and insert a strategic yield...' id '89adcc24-901d-4c56-991d-d75608b81c45' date '08/07/2014' time '12:53:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.68' message 'use Red to highlight projects with version skew' id 'ba22514a-3a99-4bca-bbb1-2c88990a8643' date '08/07/2014' time '11:02:23' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Topez-Server-Core-dkh.68' message 'fix bug that causes problems by not migrating properly durig project list loads' id '2215a20a-b46a-489c-be12-0e820bfc0bac' date '08/10/2014' time '22:03:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.67' message 'change the `project load` command defaults to match the interactive `project load` defaults and document the default values' id '4f4cc708-3c0e-4d61-9827-d09b5ceb320b' date '07/30/2014' time '11:23:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.66' message '- add more elements on end of UnorderedCollection navigation lists - better logic for detecting source code format changes for setting breakpoints' id '201180d7-591f-4fad-8efb-1496a44c949f' date '07/29/2014' time '15:33:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.65' message '- remove some obsolete client protocol (modelSleep) - limit number of elements shown in navigator ... ' id '598b0941-633b-4fd3-878f-cebb61b64271' date '07/29/2014' time '15:12:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.64' message '- fix TodeClientMethodElement>>copyForSpawn - fix spawing method from prof monitor tool' id '5f259855-9405-4b25-8ddc-79dac898a5b4' date '07/29/2014' time '14:03:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.63' message 'add (source) navigator field for ExecBlocks' id '4137ec2f-9acf-49c2-943d-fc02453611be' date '07/29/2014' time '12:32:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.62' message 'finishing touches on project entry creation script and command support... ' id '9f97d5d4-e192-4d31-a186-c744a4c91451' date '07/26/2014' time '12:52:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.61' message 'temp branch (7f679e0_merge_69c2526) for merge from 7f679e0 to dev(69c2526)' id '18010828-2523-4cc3-aa0f-c1fb6bc4e54a' date '07/26/2014' time '12:06:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.60' message 'implement TDProjectEntryDefinition>>printOn: for project entries ... support for project entry creation script...' id '78df92c3-3dbb-4df4-b181-f4ee917aff01' date '07/25/2014' time '22:13:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.59' message 'TDMetacelloTool>>projectRegistrationDefinitionMap locking copies the registration, so locked projectEntry needs to replace registration in the map: ' id '74c03bf5-c168-4563-b347-c6db691d927d' date '07/24/2014' time '20:46:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.58' message 'work on `project load` implementation' id '077715c4-b6af-4a5e-8a42-792dd1a463e3' date '07/24/2014' time '18:44:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.57' message 'shorten TDMetacelloTool>>projectLoad:doGet:gsDeployer:selector:repositoryDescription:className:loads:version:onConflict:onDowngrade:onLock:onUpgrade:ignoreImage:silently:cacheRepository:repositoryOverrides: so that git repo can be used on windows ' id '6602b8c6-74a1-4afc-a048-5d58c5a8a736' date '07/22/2014' time '15:51:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.56' message 'bullet proof project registrations some more' id '1397598f-e31d-4f5b-8801-3b8b681047b4' date '07/16/2014' time '15:55:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.55' message 'UnorderedCollections viewed as array (inspected as internal structure)' id 'fa93184b-a93d-42e5-ac3c-ea72f4dc2068' date '07/15/2014' time '12:15:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.54' message 'reset globals for SHOUT after project load...' id '3983939d-beb1-4774-9aee-1b6bbfb78e6e' date '07/15/2014' time '11:53:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.53' message 'tweak project entry man page and fix a man page bug' id '5100525f-7e43-45b5-94dc-5ad541e0e2c6' date '07/15/2014' time '11:44:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.52' message 'The projectPath for TDProjectEntryDefinition can be set at scan time ...' id 'd3196a1f-33e4-4bcc-8497-9c1d7ebd1bf6' date '07/15/2014' time '08:08:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.51' message '- rename `project new` to `project entry`. - update the `project entry` man page - fix up some minor bugs in the TDManPage implementation' id '522bdfb3-5770-41dc-8b06-f1d8f1f8a2f1' date '07/14/2014' time '11:07:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.50' message '- `project new` will create nodes in path - gateway nodes needed a bit of love' id 'bbee816f-b3a7-434a-8dbe-af2c62af0dc3' date '07/12/2014' time '15:44:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.49' message 'newly created project entry should be active' id 'f395e997-2545-49ad-b378-319e92873367' date '07/12/2014' time '08:48:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.48' message '`project new` command for creating new project entries...' id '21fd0b49-52f3-434f-a2f3-6224a9c39a53' date '07/11/2014' time '22:13:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.47' message '- unregister unloaded project registrations - allow lock specification in the project entry ... forces lock of the project spec' id '3e138f45-1712-439f-9cbc-04bb85ed8309' date '07/11/2014' time '20:40:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.46' message 'make `project list` immune to missing /home directory.' id '8dd2db09-f055-4227-bead-b9861cf7912a' date '07/11/2014' time '18:21:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.45' message 'identify locked/unloaded projects ' id 'a7b41717-1e91-48cc-98a2-cb0aa09e29aa' date '07/10/2014' time '16:34:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.44' message 'Issue #74: implement the full complement of method menu items ...' id 'bbe60a56-ae3c-4ddc-bd5d-0dbc85d781cf' date '07/08/2014' time '15:32:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.43' message 'Issue #74: all class-related menu items implemented' id '41bf0583-73bd-42d1-9ed8-b71149f0b54a' date '07/08/2014' time '10:20:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.42' message 'Issue #74: checkpoint - add class/subclass - class comment - copy class - fileout - move to package' id 'e082b5b3-6db4-427a-bb37-8d1c4ea637c6' date '07/07/2014' time '23:45:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.41' message 'Issue #94: proposed bugfix' id '79cc7af7-6934-45bd-be49-bbc8c8c7fc99' date '07/07/2014' time '20:23:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.40' message 'Issue #94: checkpoint' id '6dca53bb-ae71-4281-8f30-e0f339703fea' date '07/07/2014' time '17:09:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.39' message 'removing formatOnAccept and formatOnDisplay logic from TodeClientSourceElement ... that has been handled on the server side fo rsome time now ...starting on Issue #94' id '6090d3f7-8de8-4f5d-a57e-467b57db3e4d' date '07/07/2014' time '16:35:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.38' message 'more "survive unloaded project" code' id 'c33a427b-ecfc-4b8c-9171-3b238ecfe965' date '07/06/2014' time '09:01:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.37' message 'fiddle with TDMetacelloHybridRegistrationDefinition>>workingCopies to survive an unloaded project...' id 'b5f74026-e4a4-44c7-9545-ece8b6cbe1e5' date '07/05/2014' time '18:34:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.36' message 'get git log for unloaded git projects .... record FileTree dependendency ... bump up number of git log entries retrieved' id '6f63b200-b477-4da0-a037-f7b1f13a2073' date '07/03/2014' time '17:43:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.35' message 'patch when removing configurations' id 'b2b6d1f1-dcd2-4893-908e-621ed9fa9b97' date '07/02/2014' time '14:53:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.34' message 'Issue #92: minor fix ... good to go' id 'd7cee9a1-411a-4292-821a-6a024f191d93' date '07/02/2014' time '13:45:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.33' message 'Issue #92: get started on fix Here''s the sequence of git commands used to implement this feature: - git clone --no-cache - git checkout branch - git symbolic-ref HEAD - if fatal: prompt for new branch name and checkout -b newBrancName' id '309cdc7a-cbbb-4db7-8a17-901f88cdef6c' date '07/02/2014' time '13:24:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.32' message 'hybrid packages/dirty packages listing ' id 'f7bf8964-de11-4314-be14-ff5fac371438' date '07/01/2014' time '16:18:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.31' message 'hybrid project repositories ...' id '5a598b49-f0f9-4619-a74a-74ffe2571281' date '07/01/2014' time '16:11:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.30' message 'clean up the project get logic so that the specified version is preserved ...' id 'cd227445-15f1-4565-ae42-ba8733dcd50f' date '07/01/2014' time '15:58:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.29' message 'a couple more tweaks for handling hybrid projects' id 'dcefaa3b-b2cd-4e78-89df-b804eed34c7a' date '07/01/2014' time '15:11:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.28' message 'Issue #96: remove halt ...' id '7d589b26-8f1a-4d6b-bc9b-79186e18c867' date '07/01/2014' time '11:31:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.27' message 'Issue #96: first cut at fixing this issue ... - apparently all Seaside packages are not being loaded from github repo so these guys need to be looked at' id '3688d35a-f4c6-41c3-9c44-6fce95f85790' date '07/01/2014' time '11:31:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.26' message 'extended notion of hyrid project to unloaded projects ... preparing for clone of hybrid repository ...' id '7322a718-6520-44ae-b037-6169f37a52ae' date '07/01/2014' time '09:56:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.25' message 'more hybrid project support' id 'e4e07da7-1d59-4f5c-8d85-2c92a3788cd0' date '06/30/2014' time '20:23:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.24' message 'enable baseline and configuration for unloaded hybrid projects' id '4a255f3c-4fc6-46a6-90b5-6fa52cd94b6b' date '06/30/2014' time '19:13:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.23' message 'pick up Object>>sunitChanged: ... needed for test browser' id 'dad67b22-becb-41d8-84a6-7f133204a394' date '06/29/2014' time '16:48:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.22' message 'Issue #91: add tracing to object log when running tests (sync with Zn logging) ... commit when saving source (was not routed through `accept` menu item ... yikes)' id 'aa657ce5-3ff7-4d9e-907c-439fd8a892d6' date '06/29/2014' time '11:40:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.21' message '- working on fixing disappearing comments for workspaces (comment no statements) - adding RBWorkspaceNode as extenstion to RB AST... - clean up workspace code so that it''s possible for workspace to correctly access temps and args for debugger context - debugger context browse class and browse full cleaned up' id '2396fa11-0ff3-4289-a018-60ad1805525f' date '06/28/2014' time '15:58:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.20' message 'Issue #91: internal restructuring and support for rerunning different test result sets' id '64423f4b-5609-496e-9e5e-7f0fcd89fe35' date '06/25/2014' time '21:34:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.19' message 'Issue #91: add `debug` and `browse full` menu items to test browser' id '96ef7f62-5796-4afe-a16c-eadf588027b1' date '06/25/2014' time '16:42:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.18' message 'Issue #91: first cut at test browser tool ... hooked into `project list` at the moment ... - new package for some tests that I''m using for testing the test browser ... ' id '6d11b4b6-a2ce-4f86-95c8-5c8dc4b398d4' date '06/25/2014' time '16:18:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.17' message 're-enable `browse full` (CMD-B) in all of the usual places by (correctly) adding classMenuActionSpec to menus and correctly enabling the proper menu items...' id 'bf3b3119-b3bb-400d-a962-956d161909fd' date '06/25/2014' time '11:08:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.16' message 'Issue #74:class/method/object menu monkey business - prep for skeletonizing the method menus ... ' id 'a89f3da0-884d-447c-b94c-bb27b8945f6a' date '06/24/2014' time '17:03:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.15' message 'Issue #74: enable/disable class menu items' id '036ad30e-cb09-4156-a3c8-db642267a208' date '06/24/2014' time '10:19:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.14' message 'Issue #74: sketch out class menu ...' id '0b4a0497-50e6-4d88-93f7-c04e5db18b18' date '06/23/2014' time '20:13:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.13' message 'Issue #74: finish up (really!) search menu items for method text ... text window menus should all be functional now...' id '5a6cf524-ac4e-40bb-80be-4140d7f36dcf' date '06/22/2014' time '13:29:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.12' message 'Issue #75: delete no longer used methods; Issue #74: additional work for text window search methods' id '6bde77ee-859a-4d3b-98ee-819a1092826c' date '06/22/2014' time '12:00:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.11' message 'Issue #74: infant mortality...' id 'b5b44abc-7423-455e-a835-c5323424890d' date '06/22/2014' time '11:46:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.10' message 'Issue #74: text editor `Browse > *` menu items are all functional' id '20e09935-7fed-4c1d-a876-efd896011cf1' date '06/22/2014' time '11:36:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.9' message 'fix a bug...' id '994a213b-80e5-412f-9ab8-e107411bc1c0' date '06/20/2014' time '21:12:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.8' message 'adjustment for hybrid projects' id '8a938bc7-3d8b-46dc-b748-d184d4498410' date '06/20/2014' time '14:53:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.7' message 'fix a project list `load` bug when an entryless project is loaded' id '8ba123de-fab5-4b0b-9d38-4b01286a7b1d' date '06/20/2014' time '14:04:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.6' message 'Issue #84: bugfixes' id '0e57e2cb-c981-422e-b903-c424c4528451' date '06/20/2014' time '13:33:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.5' message 'Issue #89: put commit in menuActionBlock methods - all menu selections and keyboard shortcuts go through the menuActionBlock - remove the commits that were put into the menu actions that needed a commit ... they are all covered now...' id '2dbb08df-ed6c-41ad-9e04-0ee5979f0613' date '06/20/2014' time '13:02:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.4' message 'Issue #84: finish off hybrid project implementation - TDMetacelloRegistrationDefinition is now an abstract class - move responsibilities into TDMetacelloRegistrationDefinition subclasses, so that hybrid project can provide proper behavior - can now edit baseline or configuration from `project list`' id '71c7063a-34aa-4fa9-a39c-1d9c818ad7d0' date '06/20/2014' time '11:00:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.3' message 'Issue #84: more prep work - push some more methods around so that the hybrid registration can do it''s thing' id 'bcc6faf6-10d2-44ba-a2b7-b3fba703a977' date '06/20/2014' time '07:41:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.2' message 'Issue #84: starting to explore the hybrid configuration space ... - so far it seems I might be able to keep Metacello out of this, which would be convenient at the moment the handling of the hybrid configuration for Metacello registrations is pretty much spot on ... - hybird configuration is a configuration that loads a baseline from github (or filetree) - basically the configuration is hanging onto the version (tag) and the repository where the configuration itself was loaded from ... the rest of the useful information comes from the baseline ...' id 'a547bb1b-e824-4834-919f-8366f8462e8a' date '06/19/2014' time '18:18:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1' message 'merged by GitFileTree-MergeDriver' id 'e2afca7f-3a84-4730-9a63-77403c02f174' date '06/18/2014' time '08:55:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1046' message 'fix a `skew save` bug' id '2ce15ec4-d478-4da6-91d4-4196adb8870c' date '06/18/2014' time '20:54:36' author 'dkh' ancestors () stepChildren ())(name 'Topez-Server-Core-dkh.1045' message 'temp branch (61d8d83_merge_09a3826) for merge from 61d8d83 to dev(09a3826)' id '0068ca3f-f225-41da-94d2-dd90de91b970' date '06/18/2014' time '20:51:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1044' message 'Issue #75: rip up all of the old keyboard block support' id 'f03b19bf-e192-4b78-9ad3-2bfa7c08689b' date '06/18/2014' time '17:08:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1043' message 'Issue #75 remove last vestiges of cmdKeyBlock' id '0dbc94da-1bdf-4f4b-9b18-05b026a49d44' date '06/18/2014' time '14:53:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1042' message 'Issue #71: fix inspector label' id '306d852e-96a4-485b-8197-d982c596983b' date '06/18/2014' time '13:40:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1041' message 'final bit for revert ' id '03791061-7a28-41af-a2de-5f1561f82db4' date '06/18/2014' time '10:33:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1040' message 'more work on revert...' id '75903fcf-7922-4c2e-bb03-8b0f34f04f8e' date '06/18/2014' time '10:30:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1039' message 'make sure that dirty baseline will be reverted by TDProjectSpecEntryDefinition>>concreteRevertProjectUsing:registration:' id 'd28d54d0-93b4-41a6-ba8c-13219ff4d06c' date '06/18/2014' time '10:25:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1038' message 'implement configuration lock/unlock properly' id 'd252b1ba-0ab0-4a0c-8f05-9d42b9282ef0' date '06/17/2014' time '12:49:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1037' message 'allow for locking of configuration-based projects' id 'c23eab10-6cce-4b13-a8b5-123c67201f5b' date '06/17/2014' time '12:34:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1036' message 'update man page for `project load`' id 'ba7bf571-eb8d-430d-859b-97c75ec9fbf2' date '06/17/2014' time '12:28:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1035' message 'propogate the className arg further throughout the project load ecosystem' id 'bd8d90a5-cfd1-4b05-bb85-2a79f0d73afd' date '06/17/2014' time '12:27:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1034' message 'adjust project entries to handle configuration classNames different from project name' id 'd382be26-4f3b-4d49-8e4d-1a4ae9bdb36c' date '06/16/2014' time '17:21:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1033' message 'add `configuration` menu item to `project list` - browse the cofiguration or baseline class ' id '587247f8-0932-490c-a9c0-fb149c1d8882' date '06/16/2014' time '16:15:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1032' message 'debug `project load` and `project clone` commands' id 'e5488457-68b3-406a-a4ab-c59381853fb9' date '06/13/2014' time '02:06:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1031' message 'implement `project clone` and `project lock`, augment `project load` - implementations all moved from the `project list` menu items' id 'a00767c4-703c-440e-bcc5-e488dc2a278d' date '06/13/2014' time '01:13:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1030' message 'found a couple of places where parent is wrong when looking at mounted directory nodes (happens when the mount name isn''t the same ... methinks)' id '648e3138-1c84-4eeb-8bd9-3796129e1629' date '06/12/2014' time '14:15:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1029' message 'dalehenrich/metacello-work#223: useNew instead of useIncoming' id '14fc4f5c-0ae3-4871-a4f4-47968fa48c7a' date '06/11/2014' time '17:52:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1028' message '`mr create` doesn''t create ... maybe it should - as reported by Paul[1], `mr create` should check to see if dir and if not, confirm and try to create directory if it doesn''t [1] http://forum.world.st/tode-st-mr-create-any-trick-to-get-it-working-for-server-directories-td4762485.html' id '92433519-00a5-4aff-b49f-aad1fa35664e' date '06/10/2014' time '20:04:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1027' message 'restore bedit tool to standard build ... ABSOLUTELY needed for `cls rename` ...' id '7c6a0df0-5c3f-474f-b419-6949a55e1178' date '06/08/2014' time '14:18:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1026' message 'add a couple of useful menu items to TDGitRawHistoryBrowser: - ''full commit log entry'' - ''changes for commit'' ' id 'f9382dda-361f-4631-9e71-d4586fb5a055' date '06/08/2014' time '13:25:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1025' message 'about time I added the `edit:` method to object ...' id 'e1fa6494-2afc-4a21-ae59-cb74308586fc' date '06/07/2014' time '09:34:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1024' message 'fix up mv logic for proxy/gateway/filesystem leaf node' id 'f59fe3ed-2abe-41b0-a5f7-d1e6420f70c6' date '06/06/2014' time '15:25:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1023' message 'a bit more work getting the cp/proxy/gateway/filesystem eco system in shape' id 'eb90c820-067f-4445-b16d-6053ff27deee' date '06/06/2014' time '12:46:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1022' message 'fix bugs in `cp` command when target and destination are the same node (and the target/destination is a proxy)' id '52077c18-a688-472a-a5e2-308873094fd3' date '06/06/2014' time '12:30:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1021' message 'hook up remote breakpoints mechanism to tODE...still needs testing ...' id 'dac712b5-b240-4d09-b7f1-e8974f8743f9' date '06/05/2014' time '16:18:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1020' message 'implement `create new package` in working copy browser ... bugfix for `project rehome`' id '90f7bbd8-8635-4d41-858f-63b1188c7eb2' date '06/04/2014' time '14:49:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1019' message 'implement `project rehome` command' id '5f8acd4a-9cdd-4eed-9824-645758f447a4' date '06/04/2014' time '13:53:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1018' message 'add `deploy` option (auto|bulk|none) to `project load` command (and api)' id 'bc93adbe-266b-463d-a5b7-f1bbb4362366' date '06/04/2014' time '11:08:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1017' message 'should be able to edit the project file for a non-metacllo project (git only)' id '5b049498-24a4-4d4d-9699-fedb6f55b8ed' date '06/04/2014' time '10:35:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1016' message 'package history needs to use package name plus branch to target the correct directory' id 'c5486e87-f502-4cfb-be5f-453575772cea' date '06/03/2014' time '16:55:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1015' message 'Issue #71: all "browser" windows should have meaningful window labels - all "browser" windows should be block-based. Query is re-run when window refreshed' id '2190aad6-ac10-4082-ae34-8e8ae70221a1' date '06/03/2014' time '14:31:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1014' message 'remove TDObjectLog and TDObjectLogElementBuilder as they are no longer used' id '4eebfc66-5222-439b-bfc4-623d21b18382' date '06/03/2014' time '07:42:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1013' message 'implement `attach` menu item in `ol view` for debugging continuations - actually debugging continuations via RemoteDebuggerLogEntry is problematic: - DebuggerLogEntry class>>createContinuationFor: breaks when used with RemoteDebuggerLogEntry (cannot find compiled method) - when the continuation is continued via `value: #debug`, the process gets a SIGSEGV (in 3.2) - defer til later - attach works fine' id '0d199fb6-58b8-42e1-9624-e34dc6fc0f1e' date '06/03/2014' time '07:35:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1012' message 'finalize implementation of `Configuration > load version` menu item in project list... - should be active whether or not the config is loaded - should be able to load even when configuration has yet to be loaded ...' id '329bd745-3200-47e8-b8ba-b76245216845' date '06/02/2014' time '16:49:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1011' message 'implement `Configuration > load` menu item ...' id '1dd8d9e0-09a2-46e0-b371-723e9bdc31e9' date '06/02/2014' time '16:35:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1010' message 'Issue #79: final fix ... - turns out that when handling MetacelloIgnorePackageLoaded, we need to have the monticello version (file field) if it is available' id 'e528e01f-e98a-4354-80a4-7363d29ae282' date '06/02/2014' time '15:41:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1009' message 'Issue #79: proposed fix ... - load over dirty packages only when package is in list of packages directly contained in project - ignore package loaded only when package is in list of packages directly contained in project' id '666852b3-a71e-4fac-a4b1-4af1071f64a2' date '06/02/2014' time '14:10:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1008' message 'Issue #77: final set of changes to seal the deal' id 'c9731f72-acae-48e7-ad77-90e6f7dd9d53' date '06/02/2014' time '13:56:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1007' message 'issue #77: partial fix ... server-side changes returing true/false in response to text `accept`' id '8c40c0d9-6476-4edd-a74e-1e67028b5e3d' date '06/02/2014' time '12:04:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1006' message 'add `Git > reset` menu item to project list - does a `git reset --hard` used when $+ shows as dirty - `log` menu item not available for github based projects - refine when project list refreshed' id '63f6ea28-0e4e-497a-b6a9-e530755123d6' date '06/02/2014' time '11:33:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1005' message 'add commits to apprpriate menu items in project list - commit belong in the menu call to functions - commands invoked from command line get an auto commit at end of command anyway, so we don''t need to put commits where they aren''t needed' id '0c376c9e-329a-4d78-8719-017f7dc4471f' date '06/02/2014' time '10:24:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1004' message 'fix CMD-L in Categories list' id '1e2c6257-7a43-4577-a545-0c5dd4da0dd3' date '06/02/2014' time '10:08:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1003' message 'fix dirty display in project list for TDGitProjectRegistrationDefinition' id '3cfb97fd-a998-4975-848d-ca51664b2613' date '05/31/2014' time '18:05:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1002' message 'allow save in project list despite version skew' id 'fe9ce53c-5753-440f-baba-99060e56d0f8' date '05/30/2014' time '15:16:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1001' message 'implement install source/destination method in monticello merge browser' id 'f295eb11-c146-40cd-b056-cf53ce2dad70' date '05/30/2014' time '15:15:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1000' message 'add new browse class/method implementors/senders to monticello merge browser - install source/destination not done yet - repurpose TDAbstractDevTool>>parseMethodSpec: to just return TDMethodDefintions (used to return GsNMethods) - TDAbstractDevTool>>methodFromMethodSpec: returns GsNMethods - share Method menu items between TDMergeDiffBrowser and TDFileTreeDiffBrowser via TDAbstractMergeBrowser - touch project list menu yet again - fix TDMonticelloTool>>mcmerge:and:in: - implement flush cache in repository browser ' id '41c157c5-a097-4aed-8f85-cfd6db0747a0' date '05/30/2014' time '13:26:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.999' message 'show both * and + .. - no longer necessary to try to combine image and git diffs in same view - should provide combined git diff view that combines unstaged, working copy and staged diffs into single window...' id 'c03ef9ae-683f-48ab-8e2b-aadc910a9f2d' date '05/30/2014' time '08:28:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.998' message 'first cut at combining metacello project and git status/diffs - ''+'' indicates git repo dirtiniess - popping up `git diff` and `git diff --cached` windows, but unstaged files are not in mix ... - probably best to merge the git changes into a single window where output of the two diffs plus new files are shown in a single view ... ultimately image changes should be combined?' id 'e2e93669-67f6-469c-88c3-4374479b4fad' date '05/30/2014' time '08:18:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.997' message 'dirty for a git project should include dirty git repo - a dirty git repo is on that has staged and unstaged changes - diff should a) image changes, b) disk only changes - not quite there yet for disk changes (unstaged changes not being shown' id '1466089c-6f34-4481-a8d2-84e198a53ee8' date '05/30/2014' time '08:04:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.996' message 'refactor diff/merge to use source/destination instead of local/remote - try to use (-) --> (+) in window labels for clear indication of source and destination (direction of diff) - rename instance variables and selectors to use source/destination terms ' id '43f42b4b-1d60-4742-9d1f-d1e678bf1786' date '05/30/2014' time '07:21:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.995' message 'implement `merge` menu item item for project list' id '379a0d1e-bf78-4f0d-a684-798c60ca95a8' date '05/29/2014' time '17:41:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.994' message 'dirty packages and repositories added to project list menu' id 'baa6631d-0fd6-4790-83e0-a3a82ce21734' date '05/29/2014' time '16:47:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.993' message '`skew save` complete - automatic merge success and failure branches covered ..' id '4ca1c7e5-b074-4d3d-94f9-00184dd30aa4' date '05/29/2014' time '15:09:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.992' message 'skrewing around with skew - diff (cached) menu item - git diff tool now has options for --cached and (not) --cached - use loadProject (not revertProject) as final step in skew save - redecorated project list menu ' id 'e374b87b-d769-43a2-a266-3af4853bcfe2' date '05/29/2014' time '13:51:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.991' message 'tweak project list menu' id '9e9dd42e-5d77-4973-992b-04b8619439b0' date '05/28/2014' time '22:00:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.990' message 'good progress on `save version skew` menu item - git->diff menu item shows outstanding changes in sandbox - skew diff and skew save menu items implemented - git reset command implemented - git merge tool tweaked a bit to break out ''nothing to merge'' test and to allow project tool to supply complete/abort block to merge tool ' id '4a624731-5ecc-4728-9319-5c8eaa010657' date '05/28/2014' time '21:58:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.989' message 'more git menu items (and implementations) project list - git branches, checkout, fetch are the new menu items and implementations - pull, push, diff are new implementations ' id '36d546c1-15a5-4023-85cf-5c6575a26b21' date '05/28/2014' time '16:50:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.988' message 'yet another round of menu wrangling for project list' id '76bdd2e5-c89b-482c-b185-007521f540e6' date '05/28/2014' time '15:39:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.987' message 'reorganize project list menu' id '8262d155-b518-49a3-bbfc-25fed87e0bf7' date '05/28/2014' time '15:12:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.986' message 'fix a `cp` issue involving gateway nodes for file system directory (/home/project)' id '73a642c6-cc1e-4790-b10e-f28f3985214e' date '05/28/2014' time '14:46:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.985' message 'even better home node hack for mount command' id '42678dd2-5869-47e5-ab5d-b1d7ac82fc53' date '05/28/2014' time '13:27:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.984' message 'better handling for reset home node in mount command' id '9200aa98-f931-4edb-a472-07bff931fd0e' date '05/28/2014' time '13:25:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.983' message 'get new `mount` command working - have to reset TDTopezServer>>homeNodeReset as part of mount in case home node redefined ... better hack possible - redefine the scriptPath default' id 'ef2467bb-b02e-483e-b3ad-81f4a1486dc0' date '05/28/2014' time '13:24:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.982' message 'rename serverTodeHome iv in TDSessionDescription to serverTodeRoot - revamp `mount` command - add --todeRoot arg so client scripts don''t have to be customized as customization is done at the TDSessionDescription level - add --asLeafNode arg so that file system directories can be treated as directory nodes (default) or leaf nodes (useful for mounting raw directory structure' id '247229a8-c77f-4af0-aa40-39b96c4b4c51' date '05/28/2014' time '12:14:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.981' message 'hooked up initialization of TDProjectEntryDefinition DefaultGitRootPath from session description at login' id 'f63d5d4d-21af-492d-b52a-0934d7af1c82' date '05/28/2014' time '07:55:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.980' message 'server side support for sharing session descripton' id '665e3643-7cd6-4d85-bf3a-5613e8f50ff7' date '05/28/2014' time '07:30:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.979' message 're-enable autoCommit after logout ... clean TDShellTool>>browseclass' id 'cfcae40b-721d-4377-8d71-f64c8939d52f' date '05/27/2014' time '11:34:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.978' message 'have to include a doGet parameter in `project load` api' id '8ae3dd3d-02b7-49e0-9f97-48e5d4d223d0' date '05/27/2014' time '11:11:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.977' message 'enable GsInteractions for tODE in GemStone 2.4.x' id 'ee1173fd-6759-46c9-b539-038a7a13a11e' date '05/25/2014' time '11:34:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.976' message 'Not all of the defs in Topez-Server-31x-Core package were appropriate for 3.0 - move the defs appropriate for 3.0 to Topez-Server-3x-Core (where they belonged in the first place)' id 'c563075a-7345-4872-a171-f00528bd2e9c' date '05/24/2014' time '09:34:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.975' message 'clean up some sent but not implemented' id 'aa7564da-e917-4cb1-bdda-d350a3976d68' date '05/24/2014' time '08:32:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.974' message 'blow the dust off of the mergetool and do a merge ... - dropped a stitch or two in recent work to push git diff code around' id '0d570ab3-e524-40e0-8773-d3cfcf4d733f' date '05/23/2014' time '13:49:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.973' message 'preserve selected project on refresh after list reorders ... part deaux' id 'ea20b89f-066f-4010-b241-05997ac4a157' date '05/23/2014' time '12:25:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.972' message 'preserve selected project on refresh after list reorders' id 'b3882b7f-0299-4275-8db5-fcda57f8004a' date '05/23/2014' time '12:01:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.971' message 'unloaded project should answer same whether or not configuration/baseline is in image...' id '419505e6-3e4f-4101-a172-b2f431031f6a' date '05/23/2014' time '11:54:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.970' message 'rename Metacello submenu to Project in project list' id 'db88ac0c-1df2-48a0-ae88-168b03c1a3c2' date '05/23/2014' time '11:33:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.969' message 'implement git history for package - define windowLocation iv in TDAbstractToolBuilder - configurationOf/packageOf defined in TDMcPackageDefinition. Previous support methods moved from TDClassDefinition - push project list menu around a bit' id '6a60dbdc-4ca8-4651-b812-be347fe54968' date '05/23/2014' time '11:31:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.968' message 'git-base method versions and class versions - git log displayed with commits that only affect the selected class or method - clicking on the commit comment brings up a diff (for methods) or a difference browser (for classes) that show the changes to the relevant methods/files within the class structure - TDGitRawHistoryBrowser has become the utility browser as it invokes a block on click allowing customization of action ... probably ought to replace other browsers with this style of operation - make unregister project available for all projects ... convenient when you want to completely change how a project is loaded ... unregister, modify @project file, load ... only the changed definitions are loaded (if any) but all project list structures are updated ' id '1ef3d7ba-5ac9-4ddd-aa98-afc1d00b453b' date '05/22/2014' time '18:14:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.967' message 'turns out I need way to look up the project registration from the project list ... who''d a thunk?' id '331e2b33-4e25-414b-8796-b40f4cb33021' date '05/22/2014' time '07:38:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.966' message 'make sure that projects with version skew are visible - try to color the line red (doesn''t work?) - sort to top of project list - funky ()s to draw the eye' id 'c440dcf5-96dc-463c-909e-4ecd098f1b20' date '05/21/2014' time '15:33:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.964' message 'turn red if version skew exists' id 'c547d677-a0d8-4114-886d-c1adf5c35351' date '05/21/2014' time '15:10:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.963' message 'use the @project file to change what gets loaded ... at least for the load list' id '0fcf4139-a2a0-49de-a7fc-0bb0a412e096' date '05/21/2014' time '15:06:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.962' message 'should be legal to clone an unloaded project' id 'dbdc53bd-1e92-4f9f-8754-541a4b6a0361' date '05/21/2014' time '14:26:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.961' message 'filter same source, clone repo fix - option to filter out same source entries in diff - fix clone to properly register the correct repository' id 'ce84beca-d25a-45ec-83ea-dc1511473999' date '05/21/2014' time '11:02:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.960' message 'implement `unregister` which removes an unloaded project from the registry' id 'e89ce9af-675e-4d37-9c52-0c0b37f2f9fd' date '05/21/2014' time '07:28:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.959' message '`man --class` and comment a few classes - class comments! ... well only a couple ... - implement `man --class ' id '2546ecd0-6536-42b5-b5c0-ba5d308535be' date '05/20/2014' time '20:19:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.958' message 'support for lock/unlock of projects & bugfix - handle error condition in TDMetacelloProjectBrowser>>cloneProjectMenuAction:selectionIndex: - lock/unlock of projects - only baseline projects may be locked - honor locks during standard project load - use registry to find projects (not Metacello image) ... so that unloaded/locked projects can be displayed' id 'a55ea65a-7b72-4f5d-8fb6-fccb8a8b6ea1' date '05/20/2014' time '19:42:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.957' message 'implement clone github project in project list - `git clone` implemented - TDMetacelloTool>>projectMap:toRepository: implemented' id 'b7b1f0fc-37c6-416f-a58b-801c43da4f73' date '05/20/2014' time '16:40:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.956' message 'fit edit project file bug ..' id '385a25d0-16f7-4765-95a9-c6397348bb8a' date '05/20/2014' time '11:57:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.955' message 'release version implement for project list - rework configuration commit logic ... don''t attempt to update the configuration if there were no packages committed in this commit ...' id '41d9de64-e571-41fa-93d7-09489e8ab8ca' date '05/20/2014' time '11:41:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.954' message 'implement commit log for configuration-based projects' id 'ccd60d39-3860-4923-9a41-8d8c8aa3212d' date '05/20/2014' time '11:01:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.953' message 'use the new increment/decrement Major/Minor/Patch version numbers for MetacelloSemanticVersionNumber and MetacelloVersionNumber' id '08f9bf31-49eb-4030-b182-22f3fb9fa014' date '05/20/2014' time '10:12:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.952' message 'fix up implementation of project list browse categories' id '46d82fad-289e-4b26-ae0d-3d5b5d268fa8' date '05/20/2014' time '07:56:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.951' message 'version skew implementation had skewed' id 'bd534136-4ce6-44ba-94f8-9312a2ed089f' date '05/20/2014' time '06:34:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.950' message 'implement `browse categories` in project list' id '80a05a9e-1019-42f1-92a1-9a6f16de0917' date '05/19/2014' time '12:32:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.949' message 'fix for 3.1.0.5 and TDMetacelloRegistrationDefinition>>entry default defined - Object>>sourceCompilationContext should just return `self` then `self` can be used in all expressions' id '8f60c04e-1936-4051-b664-110c25af15f2' date '05/19/2014' time '11:53:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.948' message 'progress on configuration-based project support ... tweaks - tweak selector view to allow narrower windows - progress on configuration-based projects - new major/minr/patch menu items - switch/load/revert basically work, but revert needs more testing ' id 'adf5bdd3-6a8a-43ca-991a-c7343d6c52ed' date '05/19/2014' time '10:35:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.947' message 'create TDMetacelloTool>>projectRegisterConfiguration:version: and rename TDMetacelloTool>>projectCreateConfigurationDevelopmentVersion:spec:version:from:' id '8ba2ff5f-1978-4cf0-95a3-54c011ad2f05' date '05/16/2014' time '17:17:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.946' message 'implement `create new version` and `edit project file` in `project browser` - start on `switch version` ... which should end in `project register` command' id 'a885b751-ee5d-4e17-a0eb-577bf9c82e7d' date '05/16/2014' time '17:11:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.945' message 'baseline/configuration specific menu items in project list - permit bulk enable/disable' id '05b4d057-fb86-4fe3-913b-9d5dbd43ce9f' date '05/16/2014' time '15:17:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.944' message 'fiddle with project list menu ...' id '278d6fb8-dbcd-4abd-acdc-045a50c09a2c' date '05/16/2014' time '14:40:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.943' message '`inspect` added, `save` configuration functional - add back `inspect` command ... too useful to lose - add `browse classes` menu item to project list might want to include the configuration, too? - use --porcelain option for `git status` menu item in project browser - configuration-based `save` appears to be working; dirty packages saved and configuration updated and saved ... need to work out scheme for opening a new version for development since registration needs to be updated ... - --config option added to `project commit` command to control whether or not the configuration is updated/saved after saving packages' id '69657ccd-02c0-4178-a522-b34bfe717735' date '05/16/2014' time '14:30:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.942' message 'get unloaded projects functional (get and load) - readjust enabled menu item algorithm - move handful of methods form TDMetacelloRegistrationDefinition to TDMetacelloProjectRegistrationDefinition' id 'b7509ba0-725b-4953-9f86-e4b75c276dce' date '05/16/2014' time '07:15:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.941' message 'github repos are read only ... don''t enable `save` menu item' id '3e3f4ec0-df54-401d-a2e2-863ac0c2e4c9' date '05/16/2014' time '06:22:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.940' message 'add some caching in TDAbstractProjectRegistrationDefinition - isActive and isDirty are expensive operations. The objects in the list are rebuilt every time, so we can afford to cache. - rediculous perfomance improvement ... ' id '8c26c0f4-2547-4818-a232-82e9b46aac18' date '05/15/2014' time '22:33:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.939' message 'support for new style repo node ... - just need to be able to return the repository object for repo node' id '58f6370d-8165-4234-935c-91a7072d6fb1' date '05/15/2014' time '22:08:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.938' message 'final(?) git project adjustment - only the metacello registration needs to track the version info after a commit' id 'fb6c8f3b-a17a-48b0-ae4d-1f04726c9939' date '05/15/2014' time '21:12:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.937' message 'git project improvements - display dirty mark - show git repo branch - MetacelloPlatform method take directory path as arg now' id '6da72ab4-d7b8-4d47-a4c6-23a5372c5760' date '05/15/2014' time '21:00:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.936' message 'arrange for doing diff for git-only repo - history not available in diff browser when doing plain diff' id '09edb7c4-0eb4-43ed-bdcc-2e68b1ade16a' date '05/15/2014' time '20:32:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.935' message 'checkpoint ... major overhaul of `project list` ... add support for pure git repository management - the webEditionHome or todeHome git repository needs to be managed from within tODE ... generic support for managing any old git repo added in - refactored the (former) TDAbstractMetacelloRegistrationDefinition renaming it to TDAbstractProjectRegistrationDefinition and jiggering hierarchy. TDMetacelloRegistrationDefinition survived finding a new place in the hierarchy. - TDProjectEntryDefinition (formerly TDProjectExtensionsDefinition) class hierarchy added to support the on disk project registration node' id 'c4acb325-50f0-4750-be2b-193f21f93074' date '05/15/2014' time '19:12:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.934' message 'unloaded project entries reveal their target version' id '730ba5ba-4bab-4841-89b0-5873281459e1' date '05/15/2014' time '16:11:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.933' message 'project list work (sorting, emphasis, hookup project dirs) - sort dirty and `active` projects at top of project list - unloaded projects included in list (at bottom) - `get` menu item added .. get configuration so you can look at config - project node in a directory in /home gets extension info included ... - node includes projectSpec for loading (if not loaded) - list of overridden functions - whether or not the project is active - wire out auto package/config display ' id 'b69780f9-81c7-4659-83ee-e537e864ef6b' date '05/15/2014' time '15:19:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.932' message 'add `version skew` item to project browser - version skew appears when the git commit associated with the image is different than the HEAD of the git repository. The `version skew` menu item shows the diffs bewteen the two versions.' id 'ec5f387c-c3bb-44a2-b7f4-576d8739f592' date '05/15/2014' time '06:50:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.931' message 'moments away from testing the project extensions - new hierarchy TDAbstractMetacelloRegistrationDefinition TDMetacelloRegistrationDefinition TDMetacelloRegistrationPlaceholderDefinition - take bypass code out of TDMetacelloTool>>findProjectExtensionNodes to start testing' id '2f02851e-5815-4eb1-933d-fe3a5445d1a8' date '05/14/2014' time '21:30:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.930' message 'script testing complete ... happiness' id 'e4877e3a-d250-4548-b655-3678610ed65e' date '05/14/2014' time '20:35:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.929' message 'checkpoint ... 123... testing /home/templates/commit script' id 'dc88fad6-e1a9-42ce-b9e9-8554585bd71e' date '05/14/2014' time '20:34:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.928' message 'testing .... 123' id '57f2540e-3cb3-4f4a-9436-91106ce9d462' date '05/14/2014' time '20:34:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.927' message 'testing .... testing' id '0171069b-6ee9-4263-acc9-325837b55cab' date '05/14/2014' time '20:33:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.926' message 'checkpoint ... testing /home/templates/commit script' id '1dc465bf-ecde-45c4-bdae-72ef85d322fb' date '05/14/2014' time '20:32:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.925' message 'checkpoint ... testing /home/templates/commit script' id '93463f5e-7d52-46b2-bfdd-789ae2314bb6' date '05/14/2014' time '20:27:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.924' message 'checkpoint ... testing /home/templates/commit script' id 'c1a44e57-ccfd-4dca-9278-bd75cf0aca59' date '05/14/2014' time '20:26:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.923' message 'checkpoint ... testing /home/templates/commit script' id '018f319f-b191-4de8-8b1c-dc75de6cbb00' date '05/14/2014' time '20:23:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.922' message 'preparation for hooking scripts defined in /home/tode up to the Project Browser - pushing implementation of selected project menu items (changes, save, load, revert) to TDProjectExtensionsDefinition where it will be possible to override these items with calls to the scripts in the project directory ... thus the user can customize the behavior of these scripts and ensure common behavior between tools and command line. - commands may specify a fifth argument in their blocks to obtain the actual commandNode that implements the command ... primarily useful for shell nodes to determine which directory they are defined in ...' id 'e530162c-fa02-49fb-8dfd-af57435ab4bb' date '05/14/2014' time '16:44:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.921' message 'TDGitFullHistoryBrowser is not block-based (Cmd-l recalculates list)' id '9adad606-1df7-4079-b657-9849045def91' date '05/14/2014' time '11:48:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.920' message 'transcript logging when `save project` is canceled ... ' id 'f768ac56-cac1-42b1-b41f-67c30bdcacfa' date '05/14/2014' time '11:24:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.919' message '`load` and `revert` menu items implemented in project list tool ' id '5277b136-bdda-4dec-abb9-fc8f94dcba28' date '05/14/2014' time '11:22:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.918' message 'don''t auto select category anymore ... if necessary add a menu item to bring up the info about the class (category, package, configuration, etc...)' id '68d237c1-5e98-4ed1-9556-658a19478acb' date '05/14/2014' time '10:18:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.917' message 'when a category is selected in Categories window, display the classes in the category...' id '4c741901-f038-41e7-a932-6019a09e9c87' date '05/14/2014' time '10:13:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.916' message 'fix unnecessary limit in diff command and adjust `project list` menus - MCDiffyTextWriter>>writePatchFrom:to: imposed 10k char limit on size of method BaselineOfMetacello>>baseline: exceeds that limit ... get rid of limit - `project list` - rename menu items - combing last commit log entry and status into one command' id '86994885-177d-45a1-adce-5dc7e618d7ea' date '05/14/2014' time '07:39:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.915' message 'fix bug in project tool `image changes` when there were no diffs ...' id 'baba2f89-81d5-4f3c-8393-3aaeb618fa2f' date '05/13/2014' time '21:46:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.914' message 'implement project browser reload command' id '24eacc61-5bc5-4030-8b1b-478790576fef' date '05/13/2014' time '20:06:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.913' message 'resolving tension for TDStandardTool class>>initializeTools - initializeTools needs to be sent post load for package Topez-Server-Core but during inital install cannot be sent until TDTopezServer class>>instanceMap is install from Tode-GemStone-Server-Core - so during initial install, initializeTools is sent post load for both packages - during update the post load for Topez-Server-Core will kick in as desired' id '6855fda3-15d7-4d4e-a8d7-2244d0113e67' date '05/13/2014' time '19:30:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.912' message 'initializeTools in baseline ... pick up loads from registration ... stub out `bu remove`' id '00a2f8dc-3ee2-4346-bf2c-98d67cb72730' date '05/13/2014' time '16:23:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.911' message 'push some code around' id '72baa71f-0799-42a5-b1af-71019ea4f732' date '05/13/2014' time '16:04:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.910' message 'implement `project load` and `repository flush` commands - standardize registration lookup and git required error - project load api with reasonable defaults ' id '1215ddbb-340d-4dcc-b089-a3e5cec04216' date '05/13/2014' time '15:56:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.909' message 'add `git status` to project browser menu' id 'f0ae98ad-9a6e-4771-bac2-75c634801a7e' date '05/13/2014' time '12:06:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.908' message 'add commits when package/project save operations complete' id 'fa22eb3c-4c59-4c76-878d-c4585725c1be' date '05/13/2014' time '11:56:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.907' message 'add #app3 and #app4 window locations positioned above #app1 and #app2 - created named window locations app3 and app4 for more options positioning "multi-pane functions" - use the new named window locations for monticello browser functionality - add date information to the "oneline" commit log displays - arrange to call `TDTopezGemStoneClient initializeBounds` when Tode-Client-Common is loaded to ensure that we pick up new bounds in TDTopezClient class>>createBoundsDictionary' id '4255f953-41ed-48f7-8964-1d054f1a561b' date '05/13/2014' time '11:07:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.906' message 'add full current log entry menu item' id '7b81fb5f-74da-4bb2-8d21-e24965091ca8' date '05/12/2014' time '19:53:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.905' message 'file tree diff browser gets install remote/local ' id 'fea77918-c7e3-4a4d-add8-2db021341aab' date '05/12/2014' time '19:38:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.904' message 'full commit log browser and project browser tweaked - full commit log entry displayed when log entry selected - finer control over commit log browser window label - project browser menu re-ordred' id '753aee7c-d04a-4f25-826f-fba01df5b032' date '05/12/2014' time '17:48:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.903' message 'tweak project browser - refesh list on commit - re-order menu items' id 'e4defb02-0aad-4583-b680-a344857f7e9c' date '05/12/2014' time '17:36:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.902' message 'Add commit, diff, log menu items to project browser: - `project log` command implemented and documented in support - refacted the `project` implementations to provide Smalltalk API - implement TDGitFullHistoryBrowser>>fullLogMenuAction:selectionIndex: leveraging TDGitTool>>gitlogtool:limit:gitRepoDirectory:' id '62872911-65d9-4430-89a9-9bed02d34265' date '05/12/2014' time '17:34:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.901' message '- add full history browser (on commit log entries) - selected class filter for the file tree diff browser - browse the changes for a single commit menu item added hither and yon - TDGitTool>>gitfiletreeChangestool:gitRepoDirectory: - I like the funtionality, but I think the browser can use a little restructuing ... fortunatley there''s just not a lot of code involved...' id 'faf8c7fc-6aae-4945-a33f-66e2925d84c4' date '05/12/2014' time '15:55:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.900' message '- straighten out logic in commit file history calculation ... limit the commit range to the range for the origin diff - add `diff to here` menu item to complement the `diff from here` menu item in the history browser' id '9d64b516-5034-422b-aa3a-786db3f38bbb' date '05/12/2014' time '14:43:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.899' message '- implement Git History Browser that displays git history of selected method in diff/mrege browsers - hooked up to file tree diff browser at the moment, but need to include with methode vresion history as option ... - enable/disable Method menu items in the filetreediffbrowser based on whether selected item is a method or not ... - getting close to starting work on reworking the TDGitDiff/MergeOperation hierarchy ' id 'ddd95f5b-df2f-40aa-ba7e-97ec335fefd1' date '05/12/2014' time '12:58:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.898' message '- added browse method menu item to file tree diff tool - add toggle view st only menu item to file tree diff tool' id '2c017fb5-e539-4712-a810-629214f46bf7' date '05/10/2014' time '22:26:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.897' message '- fine tune `filetreetool` feature implementations - toggle view st only menu for `filetreetool`' id 'cd30b45f-d342-4daf-b7a3-c53d42d503eb' date '05/10/2014' time '21:03:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.896' message '- improve git diff support 1. better error handling for bad commitish 2. identify add/modify/delete - improve `filetreetool` 1. display method spec for smalltalk methods 2. `browse class` menu item for smalltalk methods' id 'a9a43754-0154-454e-9c40-8f53488b295d' date '05/10/2014' time '20:41:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.895' message '- TDMetacelloTool class>>priority for proper tool registration' id '281f5a40-938d-40b7-96f9-6a78e74f0245' date '05/10/2014' time '10:59:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.894' message '- fix issue when removing class from system in Hierarchy window - fiddle with categoery window - hook up merge diff browse for git merge and mc merge - remove TDMergerClientListElementBuilder and TDMergeTool' id '7e13deeb-dc31-4a3e-9b97-f5f0ae7de413' date '05/10/2014' time '08:11:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.893' message '- remove TDGitDiffer class as it has been replaced by TDGitDiffBrowser - add undefined symbol handling to the code that does reflection on script path nodes. Scripts can have all kinds of undefined symbols, but that should stop us for searching for references or senders or literals ' id '4652e86b-aa2f-4a30-865d-51bc8c4e6fa0' date '05/09/2014' time '21:15:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.892' message 'remove TDDiffClientListElementBuilder' id '74d6587a-a81a-4178-9a05-f59aa4be2971' date '05/09/2014' time '17:18:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.891' message '- remove TDGitDiffer class as it has been replaced by TDGitDiffBrowser - add undefined symbol handling to the code that does reflection on script path nodes. Scripts can have all kinds of undefined symbols, but that should stop us for searching for references or senders or literals ' id '70875ae6-cca9-42fb-9272-dbb50ae17a53' date '05/09/2014' time '17:02:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.890' message '- TDFileTreeDiffBrowser created and looks good (formats the smalltalk methods in FileTree structure before compare) and allows for doing senders and implmentors ... - TDMergeDiffBrowser and TDGitDiffBrowser created, but not hooked in quite yet' id '41d6d057-c73a-4e92-91fe-25b343dfdf6a' date '05/09/2014' time '15:42:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.889' message '- add `inspect` item to object menu - dip toe in water for revamping git diff tool' id 'f127031b-f816-4c2e-9e7c-461de5d42750' date '05/09/2014' time '12:32:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.888' message '- configuration or baseline should be included in project working copies - implement `add repository to package` menu item in repository browser' id '3b290723-2b81-438c-a654-d67264be0de3' date '05/09/2014' time '11:06:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.887' message 'signal command error if sub command is not known ...' id 'f4721a10-368c-40b6-829f-e247ed8b008f' date '05/09/2014' time '10:29:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.886' message 'tweaks...' id '316bb0a0-5b62-4a4d-aa32-b016100ff4fa' date '05/09/2014' time '10:25:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.885' message '- display branch for git repos in `project list`' id 'f36e7afc-61b6-468f-81bd-5baf25809788' date '05/09/2014' time '10:14:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.884' message '- refactor a bit so that monticello operations can be shared amongst tools - rework `project commit` - implement `project compare` for doing git comparison between in-image project SHA and another commitish - implement `project diff` - enhance `project prime` - nicely filling out portfolio of git-based project support' id '29a7c069-03b8-4f21-9b09-10679e73d919' date '05/09/2014' time '08:34:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.883' message '- refactor a bit so that monticello operations can be shared amongst tools - rework `project commit` - implement `project compare` for doing git comparison between in-image project SHA and another commitish - implement `project diff` - enhance `project prime` - nicely filling out portfolio of git-based project support' id '40484b39-1b74-4767-a9ec-22c2ca7aa1f9' date '05/09/2014' time '08:33:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.882' message '- refactor a bit so that monticello operations can be shared amongst tools - rework `project commit` - implement `project compare` for doing git comparison between in-image project SHA and another commitish - implement `project diff` - enhance `project prime` - nicely filling out portfolio of git-based project support' id 'd58f4f09-164f-4721-b522-9a4f124ece68' date '05/09/2014' time '08:30:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.881' message '- get tests passing' id 'c3de5189-1d59-438c-909a-aa8d78ca846d' date '05/08/2014' time '20:39:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.880' message 'fix up commitMessage resolution' id '1f56603e-0c11-4ffb-b378-7cae556734dd' date '05/08/2014' time '20:32:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.879' message '- implement `project commit` command ...' id '022576fc-08fe-4ca0-b3e5-0bcabf1f9c18' date '05/08/2014' time '20:18:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.878' message '- implement `project commit` command ...' id '37803dde-1270-487c-89c2-d8ec66ecce87' date '05/08/2014' time '20:15:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.877' message '- implement `project commit` command ...' id '816d1e37-1914-4540-a7ee-c2700f9efaea' date '05/08/2014' time '20:12:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.876' message '- project browser ... show current SHA opf git repo (if different from image)' id 'fdddafcb-057e-41d4-8307-b21fa4d6b0cb' date '05/08/2014' time '18:34:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.875' message '- project browser ... mark dirty packages' id '4c56dd3e-c379-4449-9d40-92039b684c85' date '05/08/2014' time '17:14:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.874' message '- `project list` command fleshed out - leverages the new repositoryVersionString support in Metacello and TDMetacelloRegistrationDefinition wrapper - MetacelloProjectBrowser display' id '454b6f99-b210-46eb-92f1-7d505ea4624d' date '05/08/2014' time '15:53:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.873' message '- tighten up workspace doit logic' id '63e1f290-b072-4630-9d8c-94320d944993' date '05/08/2014' time '14:04:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.872' message '- checkpoint for `mp` work ... commands names changed to `project`, `package`, and `repository` ...' id '8055b9a1-acea-455f-944d-bbdc4ea8f8e7' date '05/08/2014' time '11:39:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.871' message '- checkpoint for `mp` work ... add man pages with spec for commands ' id '100c404e-b69a-4097-a441-a8552e8b341c' date '05/08/2014' time '08:12:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.870' message '- checkpoint for `mp` work ... fine tune a bit' id '350db181-176c-476e-a5a5-73b68e221c58' date '05/07/2014' time '16:08:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.869' message '- checkpoint for `mp` work ... feeling out the shape of the Metacello proejct space' id '85e3b7df-8f72-4a66-9a33-8853ca9985ba' date '05/07/2014' time '15:02:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.868' message '- checkpoint' id '57186e3d-ad7a-44ff-9fd6-fa65538751f4' date '05/07/2014' time '13:02:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.867' message '- start work on `mp` command ... this is a big one ... push `find` work on the stack ... ' id '7c6754d9-5306-4cc2-8d99-512061e4d68d' date '05/07/2014' time '12:51:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.866' message '- fix up `eval` command ... different implementation between 2.4 and 3.x' id 'ee224447-a330-4e51-8ca7-4efa1aee4128' date '05/05/2014' time '22:15:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.865' message '- fix up `eval` command ... needs same compilation/execution sematics as `ws` command' id '4daa79b0-6e74-4b43-86cc-1d3092df0c95' date '05/05/2014' time '21:29:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.864' message '- implement `edit` command - implement `eval` command - tests - `print`, `inspect`, ''view` commands deleted' id '2f2662d9-a81a-4c4c-90b6-7606e2252434' date '05/05/2014' time '10:40:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.863' message '- start re-implement of `edit` (`print`, `inspect`, ''view` commands will be deleted)' id '2a40ff16-9096-445b-8b66-0bef293158f5' date '05/04/2014' time '16:25:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.862' message '- re-implement ''ds` command - `man` tweaked - tests' id '30700e83-61e7-4d80-861e-7366f9f0cbd3' date '05/04/2014' time '14:56:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.861' message '- `run` and `doit` commands removed - `ws` command tweaked' id '764cc4e6-2f52-4b41-94b8-92518b4fbe9a' date '05/04/2014' time '14:31:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.860' message '- implement `break` family of commands to replace `db break` family - man pages and tests - misc tweaks' id '6e204805-62d7-4d6e-8512-e49a0c9458da' date '05/01/2014' time '04:19:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.859' message '- new man page for `cp` command - tests' id '56ee688b-9dd9-4cbe-b49e-3ef0676427af' date '04/30/2014' time '20:41:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.858' message '- windowName is important attribute for TDAbstractToolBuilder ... needed for `man --all`' id '4a23e452-bd31-4408-91df-a08a527801da' date '04/29/2014' time '08:08:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.857' message '- tweak TDShellTool class>>browseconfigurationsManPage' id 'd7217b8b-482b-4c45-93d2-3fdc843eb38e' date '04/29/2014' time '08:01:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.856' message '- `browse categories`, `browse configurations`, `browse packages` implemented - tests - `configs` and `pkgs` ... gone' id '339ae73d-dcfb-4ede-bacb-f00872db9cbd' date '04/29/2014' time '07:59:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.855' message '- categorization' id '13cd7ace-8bad-4488-9c31-83464b567a77' date '04/28/2014' time '20:57:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.854' message '- tweak TDManPage>>asText' id 'c550cdcc-3d19-4e90-94b6-547934de35ae' date '04/28/2014' time '20:39:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.853' message '- implement `method versions` command - tests - that''s it for the `method` familyof commands' id 'f12504d1-8b0f-4024-ab37-e3ae0d2ab77f' date '04/28/2014' time '20:16:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.852' message '- implement `method remove` command - tests ' id 'afec0a37-fe0c-4f28-94ac-acea46f8019d' date '04/28/2014' time '20:05:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.851' message '- implement `method move` command - tests - isolate the `method` command operations in separate methods for Smalltalk scripting' id 'db64d325-bacd-4afe-a29e-0be1431780e8' date '04/28/2014' time '19:53:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.850' message '- implement `method copy` command - tests' id 'e16c0f43-6e8e-46e7-a9fc-adcc1ed92974' date '04/28/2014' time '18:30:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.849' message '- clean up implementation of `debug it` ... need to be able to access literals in doit context - start work on `method` command - implement `method browse` command - implement `method protocol` command - tests' id '4bd0f63a-6cc7-420b-942b-db64e80490aa' date '04/28/2014' time '17:56:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.848' message '- `commit` command reworked - tests ' id 'eb90f14b-ea90-4879-8e25-d80a4a99ce20' date '04/28/2014' time '16:06:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.847' message '- `cls remove` implemented - tests ' id 'e232d3fc-5008-456b-b340-c69469a805e8' date '04/28/2014' time '15:49:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.846' message '- `cls category` implemented - `cls rename` implemented - document that `cls protocol` accepts @ references.. - define doitContext for debugger source window - fix a bug in TDShellTool>>protocol:rename:to: in Gemstone 2.4 - tests ' id '9f0bd4a4-6464-4d0d-b6b5-2ba652bf69b4' date '04/28/2014' time '13:13:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.845' message '- `cls protocol` implemented - tests - `protocol` command removed ... replaced by `cls protocol`' id 'bfac6e57-8231-4fda-8140-3e76e657c700' date '04/27/2014' time '22:29:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.844' message '- `cls history` revisited' id '0e16618e-7425-486f-b3c6-2984080a2d13' date '04/27/2014' time '21:14:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.843' message '- server-side open workspace support ' id '3e3a99e3-7f87-4f47-b2c0-74aec6e606bc' date '04/27/2014' time '20:27:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.842' message '- implement skeleton `ws` command' id '9ea893c2-69fd-46d7-a1be-1958b32232c4' date '04/27/2014' time '12:28:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.841' message '- TDWorkspaceClientElementBuilder provides for a workspace on an object ... the workspace contents is defined by a string and the objectBlock defines the target object - plan to define a workspace (ws?) command that takes objIn to define the target object... - right now `cls definition` with no args opens a workspace on nil...' id '7081e8af-6d59-4161-88c8-3e998eea1ab9' date '04/27/2014' time '12:18:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.840' message '- implement `cls definition` command - tests - `cls create` command removed ... not very useful ... use the `cls definition` command instead' id '470f682a-01a2-47c0-9c0d-51189d5cb760' date '04/27/2014' time '11:19:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.839' message '- `implement `cls copy` command - fix bugs in `cls accessors` command - tests ' id '3ab32d61-2243-4e9b-942d-4be585195f86' date '04/27/2014' time '09:22:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.838' message '- multiple class args for `cls accessors` and path ref - `implement `cls comment` command - tests' id '6076d9ff-a1b4-4e35-82bc-b4857bf42930' date '04/27/2014' time '08:05:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.837' message '- TDAbstractDevTool class>>performCommand:objIn:commandOptions:todeCommand: to provide for --help for regular commands - --help option added to abort, cat and cd commands ... tests - categorize some TDShellTool methods ... those that have been rewriiten - begin work on the `cls` command ... - `cls accessors` implemented plus tests - fix an option handling error in `bu` command' id '37b3f709-506a-4bab-a922-094bcf309fe7' date '04/26/2014' time '21:09:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.836' message '- convert implementors and senders menu itme in method lists to use blocks .... - slice halos out of system ... make the TDHaloDevTool obsolete - MethodReference>>printOn: make the class inspector friendly' id 'e07d9a93-b1d8-46c0-b026-b1793c8cc416' date '04/26/2014' time '10:00:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.835' message '- obsolete a bushel of classes that are not used right now and/or will have to undergo major changes if they are to be brought back into tool set ... roassal was a proof of concept ...' id '144b60da-48e8-4000-a7ff-e4aa3220637a' date '04/26/2014' time '08:42:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.834' message '- split TDBatchEditTool and friends into separate package ... this is a useful tool, but it needs to be re-written a bit before it becomes part of standard tool set ...' id '1becf109-88de-437f-9664-8ed5c479d336' date '04/26/2014' time '08:26:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.833' message '- move a bunch of classes to the obsolete repository ... these tools have marginal utility and need to be rewritten before re-incorporating in standard tode ...' id '45f55b2e-fbb2-4606-81fd-f053b2df742a' date '04/26/2014' time '07:52:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.832' message '- patch TDManPage>>= ... ' id 'f2b85f9c-77c1-4009-b2bb-c5df2794e192' date '04/20/2014' time '22:41:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.831' message '- add SEE ALSO section to man page - `bu` command man pages and new implementation based on getopts' id 'b68ab87f-845d-4295-bc7e-af8dd4ec0d63' date '04/20/2014' time '21:06:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.830' message '- `man` command test' id '93a881a4-6487-4aaf-860c-bbdd80840874' date '04/20/2014' time '15:22:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.829' message '- re-implement `man` ... support for subcommands and command line options - man page browser - add a commandName to the man page' id 'cba3c7cf-7c95-4f25-9654-f6fb4537edb0' date '04/20/2014' time '13:54:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.828' message '- implement block-based class browsing so that refresh of window recalculates search - the `browse` command is now the poster child for the proper way to implement commands: - man page and subcommand man pages - full use of command and subcommand options - block-based windows so refresh (CMD-l) recalculates original search' id 'a78d5ad7-40b8-4bba-bb79-3be7ffb0bd31' date '04/20/2014' time '10:15:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.827' message '- working on getting tests to pass in GemStone 2.4.x' id '86aecccd-4005-4789-89f4-b2989c174791' date '04/19/2014' time '20:44:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.826' message '- fix problems with labels for the new blobk-based commands - all tests should pass now ...' id '5dbbaeab-4bda-4c8c-a354-d1640c2eaf17' date '04/19/2014' time '15:05:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.825' message '- remove undeclared symbol references from Tode code base - implement block-based method browsing so that refresh of window recalculates search - need block-based class browsing .., - use GsDeployer for class changes - fix up item selected problems ... - add --staticList option bot `browse` command' id '84c01fee-24fb-4f2d-8341-ce11fac12dd3' date '04/19/2014' time '12:14:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.824' message '- `browse source`, `browse undeclared`, `browse variables`, and `browse versions` implemented and man pages written ... and tests defined ... - one final pass to define refresh blocks needed' id 'e3fae755-36c2-4b6c-a8c6-174d23909f84' date '04/19/2014' time '09:03:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.823' message '- recategorize some `browse` methods and throw the unused ones away' id '4704b970-2472-4ebf-b7bd-40f5c458b2c2' date '04/18/2014' time '20:24:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.822' message '- implement and write man page for`browse sender` - fix up problem with --scriptPath option ... create TDShellTool>>browseLeafNodes:pattern:label: method - catch up with tests ' id '53965107-9c91-4fe7-b5a5-5b2af9ea8d8f' date '04/18/2014' time '20:18:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.821' message '- implement and write man page for`browse references`, `browse diff`, `browse list`, `browse package`, `browse project`, `browse method`, `browse class` - stub out `browse variables` and `browse undeclared` - add some tests ... still need to make sure that test are up-to-date with respect to implementation' id 'ce77b6d4-8f24-476f-9147-3008b129fe59' date '04/18/2014' time '17:40:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.820' message '- handle AlmostOutStack as a printing error - add subCommand --help and `man` support to tools - --select option added to all browse commands (need to implement) - `browse category` command added again, plush subCommand man page - `browse class` man page updated for subCommand support (still need to finish `browse class` implementation - `browse` man page updated for subCommand support - `browse symbolDict` command and man page added - tests ' id 'b921c7b6-e4b8-4681-aec7-c9f3c1a50e02' date '04/18/2014' time '14:05:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.819' message '- TDCommandLine>>getOpts:subOpts:optionsAndArguments: makes it possible for a shell block to use sub commands - rename ''Search'' submenu to ''Browse'' to match the command name' id 'f7cb3bd4-9c52-4dd3-9685-93bd2721b031' date '04/18/2014' time '08:17:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.818' message '- add options section to TDManpage - push things around a bit in TDManPage to facilitate the creation of subcommand man pages' id 'acfe972e-4019-4225-97c5-c0234f67c42e' date '04/17/2014' time '21:42:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.817' message '- enhance filter block test to verify that block is being compiled and used correctly - start adding subcommands to man page ... bite the bullet now...' id 'b026658f-72e1-433c-ae4f-de94ded18f3e' date '04/17/2014' time '17:03:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.816' message '- fix problem with incorrect `` escape handling - checkpoint working on add --filter to more `browse` commands including embedding code for filter block - revisit `browse references` --literal option ... just compile literal from the string - `browse category` folded into `browse class` command - currently debugging TDShellBrowseCommandTests>>testBrowseMethod ... will need to review man pages and update commands/tests to match the man pages ... ' id '231adcb6-bec0-45e9-b315-e27d5925711f' date '04/16/2014' time '16:35:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.815' message '- more `browse` command tests' id '7d65ad61-3ba8-4cf8-a8f9-1f6c0668a922' date '04/16/2014' time '07:30:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.814' message '- fix up references searching for method and class definitions, since we''d like to be able to search for variable references within the context of the class ' id '2ddc9e7a-c0d8-425a-a207-0e88b5d346fa' date '04/16/2014' time '07:08:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.813' message '- tweaks to `browse` command - clean up some obsolete `browse` methods - begin work on `browse` command tests' id '63a92d78-cb84-4972-bf59-a5fdc93c0116' date '04/15/2014' time '21:17:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.812' message '- finally finished pass through `browse` command' id '7d3bf98f-729f-44f2-8275-b6f134571225' date '04/15/2014' time '20:24:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.811' message '- allow -r or --regex ... pretty common - implement new `browse source` - implement new `find source` command' id '83e9d5e9-357c-4569-a9fb-6e18043c8ac4' date '04/13/2014' time '18:40:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.810' message '- use TodeCommandError in strategic areas ... avoid debugger popping up for command related errors ...' id '875626cb-d705-4342-882e-67f95a8f0137' date '04/02/2014' time '10:26:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.809' message '- implement `browse --help` - implement `browse category/package/project/versions` - fiddle with `browse class`' id '78e208e6-856a-4fed-8335-9f2611a55580' date '04/01/2014' time '17:36:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.808' message '- CharacterCollection should include size... - ByteArray print shouldn''t be truncated and shouldn''t print the String interpretation...' id '5a740263-61bf-44cf-aab4-88bf9ff63a4b' date '03/31/2014' time '21:38:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.807' message '- `browse references` command re-implemented ... more reference browsing options supported (from command line) ... see if we can support from menu? - new find references methods ... - revamp `browse method|sender|class` for multiple arguments ' id '627c0e27-711d-4245-b81f-062c7dabcfaa' date '03/31/2014' time '17:04:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.806' message '- `browse --scriptPath source` needs to search through all of the objects including non-executable objects' id 'f931f247-0e62-4297-8d19-bac7cb63ed60' date '03/30/2014' time '21:16:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.805' message '- implement `browse class` with options: - browse class [--hier|--full] ' id '52d490af-5ae1-4209-98c3-844fa7eef41a' date '03/30/2014' time '15:24:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.804' message '- make pass through senders menu/shortcut/commands so that they all use the same methods ... - working my way through all of the browse/find commands' id '64bf2f96-1afa-4647-8810-9606e0582cc5' date '03/30/2014' time '13:22:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.803' message '- make pass through implementors menu/shortcut/commands so that they all use the same methods ... - browse/find commands now take command options - amethod, rmethod, method variants collapsed to single subcommand with options - working my way through all of the browse/find commands' id '6a4774e3-d536-4d72-9572-168f5a3241eb' date '03/30/2014' time '12:29:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.802' message 'arrange infrastructure to support primary commands with options and subcommands with options and arguments ...' id '07ccbfac-1593-4903-9088-90d79a689186' date '03/30/2014' time '10:55:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.801' message 'add another windowLabel' id '375c6962-69b3-4c35-8db9-b36020ebea6b' date '03/30/2014' time '07:52:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.800' message '- refine protocol for TDClientSourceElementBuilder methods - implement a few more `Search` submenu items - make sure that all `browse` commands have windowLabels' id '2b640ff0-2650-49e8-bb3a-84e953b24fa9' date '03/29/2014' time '19:41:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.799' message 'add insert timestamp menu item/shortcut' id 'c0dc555f-22c5-45fa-be1f-53b1b3bf5029' date '03/29/2014' time '12:23:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.798' message 'implement the `Method` menu items and sketch out the `Search` menu itmes ...' id '9ce37ece-78d8-4fa6-b475-d1999ccb3ac9' date '03/26/2014' time '22:07:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.797' message 'Object menu functional in code window ... `tode it` and `profile it` menu items implemented ...' id '063467ed-28b9-4a60-860d-85b72899a73e' date '03/26/2014' time '18:59:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.796' message 'add `format method` menu item for method source elements' id '2b4c98e4-42a4-4676-903f-7489281ea717' date '03/26/2014' time '17:10:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.795' message 'server-side ...with auto-formatting it is not necessary to support crWithIndent: ... besides I hate the crWithIndent: algorithm ... counts number of tabs on line without regard to location' id '29ed66fa-6aae-4589-a271-e1d17ad676e3' date '03/26/2014' time '17:06:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.794' message 'server-side ... arrange to allow for the standard text manipulation commands like find, selectAll, etc. to be defined by menu entries and allow for semantics to be switched between crWithIndent: and pure cr ,,, debugIt implemented' id 'd020efff-a40e-45cb-bcdb-e93115475fdf' date '03/26/2014' time '16:28:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.793' message 'client support for basic menu actions working for menu and keyboard shortcut fof text panes ...' id '60f3db58-c6d1-4843-b6b8-e76d9f88f304' date '03/26/2014' time '14:30:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.792' message 'implement framework for extracting key bindings from menu for code editor ... should probably do something similar for the list editor key bindings ... there shouldn''t be a key binding without a menu item ...' id '1b8aeafe-00ce-457b-a332-a6c020d480cc' date '03/25/2014' time '22:07:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.791' message 'adjust the server-side source element menus to provide option for passing in an interval and dirty flag instead of the selection which means we can do things like `set breakpoint`' id '6022df81-66f9-4075-9ccc-e30ea471a778' date '03/25/2014' time '13:25:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.790' message 'server-side support for printIt, doIt, inspectIt' id '875f99f4-4551-45cd-b1c3-e56320137f5c' date '03/24/2014' time '22:20:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.789' message 'add (utf8) synthetic field for CharacterCollections...' id 'e3925a6c-46c7-4ea1-ad17-9d2f3c5d39aa' date '03/24/2014' time '10:40:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.788' message 'more work on getting tests to pass in GemStone 2.4' id '265bac3f-a453-4c50-9281-47562403f204' date '03/23/2014' time '17:54:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.787' message 'pass list and selection index for list in one pass (using an Association)' id 'eb2dd9aa-d4ff-4cac-9f38-c59ae190b20c' date '03/20/2014' time '20:47:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.786' message 'Issue #55: checkpoint implementing menus for code windows' id '050213f5-b6c5-4329-90e4-6ba3b8dfd6fb' date '02/23/2014' time '18:52:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.785' message 'Issue #55: checkpoint adding menus to TodeCodeEditor ...' id '08204d87-e195-4225-8f84-380ba7fd701c' date '02/23/2014' time '12:54:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.784' message 'Issue #55: preparing to add menus to TodeCodeEditor ...' id 'b4237ea5-cc0f-41df-baea-c1082068cb12' date '02/23/2014' time '09:45:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.783' message 'untweak printing for RcIndexBuckets ... protected class can''t extend without special handling ... oh well' id '5dc96b6b-6158-4e6c-ab82-a4527984f858' date '02/18/2014' time '16:24:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.782' message 'tweak printing for RcIndexBuckets' id '60a1450f-a8e3-4b22-b3f1-62b7270ffbbb' date '02/18/2014' time '16:22:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.781' message 'Issue #67: remove TDStackNodeBuilder and TDStackClientListElementBuilder classes as they are completely replaced by TDDebugger. TDStackFrameNodeBuilder is probably obsolete as well ... delete later. Issue #48: remove ''.'' from navigator window and replace with inspect/view menu items ' id 'cb7c2be3-2e84-490a-aa88-2fd9c60d310d' date '02/18/2014' time '11:48:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.780' message 'replace most uses of `System myUserProfile symbolList` with `GsSession currentSession symbolList`, since `GsSession currentSession symbolList` provides access to session-specific symbol list ... which when done should be used ...' id '6423018f-c819-473d-ac76-1fe2d4869789' date '02/07/2014' time '07:56:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.779' message 'bullet proof TDMethodDefinition class>>referencesTo:isMeta:in:' id 'e26a7ec3-eff6-454c-a400-2c9e49251c41' date '02/06/2014' time '11:27:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.778' message 'Issue #53: turns out that visitor and filesytem proxy (file system leaf node) need to have special handling ... we want to accept the proxied leaf node, but we need to pass in the proxy ... TDFileSystemLeafNode in this case ... The TDProxyLeafNode is working fine ' id 'a2321d08-e589-443d-9ea6-182c708d70c1' date '01/31/2014' time '12:01:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.777' message 'Issue #53: add --scriptPath defaults to `/home/.`' id 'b5ea0a6e-1174-46c4-a8e4-fab2f89858a3' date '01/31/2014' time '10:35:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.776' message 'Issue #53: add --scriptPath flag to the following `browse` and `find` commands: browse [--scriptPath=] psender [#] browse [--scriptPath=] references [@filter-block-path] browse [--scriptPath=] rsender [@filter-block-path] browse [--scriptPath=] sender [#] [@filter-block-path] browse [--scriptPath=] source [@filter-block-path] find [--scriptPath=] psender [#] find [--scriptPath=] references find [--scriptPath=] rsender find [--scriptPath=] sender [#] find [--scriptPath=] source For the `browse` command, the definition leafNode list will recalculate on refresh...' id '0dd1caad-6be1-48bf-adf2-fda4e6f30461' date '01/31/2014' time '08:53:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.775' message 'Issue #19: careful sending messages like ifNotNil: to a client forwarder...' id '3b35749e-bebc-4b8a-a0f8-f01b6e1096b7' date '01/29/2014' time '16:47:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.774' message 'Issue #19: more fixes for GemStone2.4' id '632b9ce8-f3f3-4980-a0e7-e4ccd391e7ed' date '01/29/2014' time '14:24:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.773' message 'fix problem when a non-class object is masquerading as a class in a different symbolDictionary...' id '3e32c878-67d4-4243-9c8d-a5362a414720' date '01/27/2014' time '11:44:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.772' message 'porting to GemStone 2.4' id '5f01da53-2864-484d-8756-7440bf393e00' date '01/20/2014' time '16:09:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.771' message 'add `str` type node ... pure String storage that can be editted using standard text editor unlike txt which has a run array that must be maintained ...' id '70483584-9231-44ce-a8bc-1c5c99352d61' date '01/20/2014' time '04:37:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.770' message 'Issue #67: fix TDDebugger>>dbRestart ... add ''~'' as alias for /home' id '9556be8c-dfe8-404d-884d-75bbe33edacb' date '01/11/2014' time '18:02:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.769' message 'Issue #67: implement refreshViewFor: client callback and hook into tdebugger - cause stack view to refresh when method accepted somewhere on stack' id '30a9dc94-c014-414d-9c3b-472039dfd11c' date '01/11/2014' time '09:08:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.768' message 'Issue #67: continue switch over from TDDebugTool-based to TDDebugger-based debugging, knitting together more of the debugger functionality. - tweak TDProcessTool ... - TDTopezServer>>clientElementFor:using: needs to add clientElement to elementCache' id 'a43c4bb4-fbf9-46a9-8fd8-f49ff012bfc5' date '01/10/2014' time '17:08:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.767' message 'When selecting class in hierarchy pane, update all 3 (or 4) client elements at once' id '1cabe105-3347-4009-8269-9359273b3921' date '01/10/2014' time '11:26:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.766' message 'Issue #48: implement Process Browser using TDToolBuilder (no know as TDAbstractToolBuilder) ... refactored and renamed TDToolBuilder hierarchy. `ps` command rafactored to support process browser, but process manipulation commands moved to process browser ...' id '69fa034f-c910-43f0-8b7e-2cee5e99c862' date '01/10/2014' time '08:16:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.765' message 'Method: TDShellTool>>findSymbolDictionary:username: should return symbolDictionary ... add TDShellTool>>findClassDefsInSymbolDictionary:username: to supply class definitions ' id 'b13e7177-ec6e-4956-8db6-a7ebe8dd76f1' date '01/09/2014' time '15:52:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.764' message 'Issue #67: Object>>clientElementUsing: makes it possible to ship multiple window updates in one STON package ... update list/source/context on item select and dbFinishStep with one STON package ' id '776b4276-b749-4035-adda-3e4ae2d890cd' date '01/08/2014' time '22:02:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.763' message 'Issue #67: fine tune debugger update sequence ... turn on TDDebugger as default debugger & lets see what happens' id 'bd2e5a0e-bf83-4247-b3c2-66ed0023df1b' date '01/08/2014' time '20:49:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.762' message 'Issue #67: get step working ... updates still rough - keyboard shortcuts - hook into TDTopezServer>>openDebugger ' id '5c6b67fa-9c0a-43fe-b944-27d8c14821dd' date '01/08/2014' time '20:21:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.761' message 'Issue #67: implement debugger menu items - step over, into, thru; continue; restart; up; down have been implemented in TDDebugger ... not functional - moved TDDebugger to Topez-Server-DebugTools package' id 'b65e4aa0-e6f5-49ab-a807-ed5060fbe8d5' date '01/07/2014' time '08:12:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.760' message 'Issue #67: attack menus and keyboard actions - item selected (source and context windows opened) - closing stack window, closes source and context windows - attachProcess: and debugProcess: ... attach does not terminate process when window closed - add `print window` to window menu - printing goes to window named #printer - `ps attach` and `ps debug` commands open TDDebugger...' id '0474a1e0-2b24-4ee7-ab9a-3836195f3f4a' date '01/06/2014' time '21:21:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.759' message '- on cut actions, refrehList and add to clipbard in one swell foop - start work on new debugger (TDDebugger)' id 'cd8cd530-0054-4938-b1a6-bfc5ba0de74e' date '01/06/2014' time '08:00:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.758' message 'another tweak to TDRepositoryPackageBrowser>>browseVersionsFor:' id 'f43d7d71-fb5f-4365-8fd0-e939e3cb1869' date '12/29/2013' time '08:52:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.757' message 'fix problem when listing package versions in a repository. loadedVersions for TDMonticelloTool>>mrpackageNamesIn: not quite calculated correctly and tweak working copy calculation' id '3e552b0e-09b6-48b9-9cc8-57aa96b9f505' date '12/23/2013' time '19:26:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.756' message 'full range of `mv` and `cp` tests implemented and passing' id '6cea0e51-33a5-4040-9b98-013e080687a6' date '12/23/2013' time '12:52:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.755' message 'checkpoint: gw to gw tests passing 130 run, 130 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes need to add the cross filesystem tests gw to fs, obj to gw, etc....' id '2303d751-811a-40df-a46a-e6a179d63dab' date '12/23/2013' time '12:40:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.754' message 'checkpoint: starting gw to gw work ... failures/errors are gw related ...: 130 run, 116 passes, 0 expected defects, 4 failures, 10 errors, 0 unexpected passes made some fundamental changes to core classes that have not affected non-gw test results.' id 'e354b653-ef29-41c2-8e34-ec185a30d97f' date '12/23/2013' time '10:09:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.753' message 'checkpoint: all tests (including `fs to obj` and `obj to fs` tests) are passing: 104 run, 104 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes' id '5f440f34-270c-47bd-88ac-da63ab7ec57e' date '12/23/2013' time '09:33:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.752' message 'checkpoint: `fs to fs` and `obj to obj` tests are passing' id 'fe766dc6-5524-4455-ba3c-dbc9845df87c' date '12/22/2013' time '21:03:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.751' message 'checkpoint: refactor mv:in: and cp:in: to share a bunch o code' id 'd3862385-7f88-4be9-84c5-337e04b2e372' date '12/22/2013' time '15:53:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.750' message 'checkpoint: rewrite `mv` man page ... a little refactoring ... cp:in: and mv:in: share quite a bit of code ...' id '59daa42d-9dac-48ed-9f22-290cda2b1406' date '12/22/2013' time '15:44:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.749' message 'checkpoint: filled out set of tests for `cp` command ... leaf and directory nodes covered for all combos ... I think' id '98c92633-0167-4fcc-847f-0c82a383add3' date '12/22/2013' time '12:58:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.748' message 'checkpoint: finally get semantics for `cp ` correct ... update the `cp` man page.' id '4214122e-79fe-4eb8-9921-c624f7e3e9e5' date '12/22/2013' time '12:22:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.747' message 'started ''cp directory to directory'' series of tests/implementation' id '17d3e17b-f50b-4c1c-8df0-3606d0769f67' date '12/22/2013' time '10:47:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.746' message 'add cp/mv over self to test cases ...' id 'b44b3f83-7c23-473d-a181-4e79eb3710b6' date '12/22/2013' time '08:43:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.745' message 'tests for `mv` and `cp` commands (about time) ... leaf-based `mv` and `cp` tests written and passing for obj to obj operations ...' id 'ca66a58a-65df-4053-8ff7-eddd77c5c890' date '12/21/2013' time '20:31:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.744' message 'bugfix TDFileSystemDirectoryNode>>addChildFileSystemLeafNode: ... add TDGemStoneTool>>gsfileoutClass:header:on: ' id '3e901008-f088-43d5-a670-2cb6785789d9' date '12/21/2013' time '11:52:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.743' message 'bugfixes for `mv` and ''cp` when proxies are involved ... add `isInvariant` and `dependents` fields to navigator/inspector ... TDTopezServer>>evaluateCommandString: allows you to execute a command string from smalltalk --- let the command line parser do all of the work ' id '604ac7ed-c98a-468a-87ee-5c3c4351ddb9' date '12/20/2013' time '17:21:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.742' message 'use correct workinCopy in TDRepositoryPackageBrowser>>browseVersionsFor:' id '1cda4a0b-7c23-4a6b-851e-749c669ebb9c' date '12/19/2013' time '19:34:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.741' message 'get `cd` to work when a `cd`ing into a proxy node wrapping a filesystem leaf node wrapping a gateway node ...' id '4aad9b69-02aa-42c2-9080-f12c3f2da347' date '12/19/2013' time '07:28:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.740' message 'CMD-SHIFT-P: add window label to printout ... `gs halt` implements an AlmostOutOfMemory handler ...' id '27797b40-44c8-45ae-a475-06b787b238ba' date '12/18/2013' time '21:05:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.739' message 'CMD-SHIFT-P: opens window with printString of client list ... `ps debug` command open debugger on given process ...' id '1a09f2f2-5601-4eb3-ada0-cefbce2b7981' date '12/18/2013' time '19:08:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.738' message 'tweaks and cleanup of various sorts' id 'cd959d7d-0ac3-4ff6-9b1f-98f91ac55920' date '12/18/2013' time '17:04:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.737' message 'remove superfluous logging' id '46695429-cf2f-494c-a94c-0f130a56537b' date '12/16/2013' time '20:30:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.736' message 'TDSessionTempNode is a better way of stashing session temps in the object structure. Basically a "persistence barrier" can be insterted into an object structure. TDSessionObjectNode was an interesting idea, but did not work in practice as the "session tempness" was difficult to preserve ...' id '455af204-eed8-4e71-9eb1-01835cf55b9b' date '12/16/2013' time '19:41:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.735' message 'Need to use FileDirectory readOnlyFileNamed: to correctly get file contents...' id '3405c792-e1ec-4b5d-bf3c-4847fcb3f0cb' date '12/13/2013' time '18:15:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.734' message 'Issue #58: checkpoint for `mv versions -g` work' id 'a3cf5668-0bef-4d55-88d2-2fe288ea0698' date '12/13/2013' time '10:29:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.733' message 'fix a couple of issues that popped up while working with classes/methods from a different user''s UserGlobals dictionary' id 'bef6e7f4-d47e-475d-a259-86ac0be24fb6' date '12/10/2013' time '08:22:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.732' message 'some patches to fix issue when using cp on proxied object structure' id '1af3e5cc-365a-4c53-9a94-747f5da408f9' date '12/09/2013' time '17:42:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.731' message 'tweak TDScriptLeafNode>>minimalScriptTemplate' id '7298b40a-711d-458b-8ba9-193e35a06e46' date '12/09/2013' time '15:03:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.730' message 'Issue #37: implement `mount` command ...' id '578de995-5ce0-4f60-9d23-7c3d6d823dab' date '12/07/2013' time '12:05:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.729' message 'Issue #37: solved puzzle of "how to drop off object references in proxy land?" by using a gateway node to indirectly reference object through /tmp ... the gateway node reference can be serialized .... plus series of extensions to TDFileSystemLeafNode and TDProxyLeafNode to permit a directory-like object to be proxied...' id '0bbbe6b2-8703-4e26-ad0f-e028b0595986' date '12/07/2013' time '08:57:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.728' message 'Issue #37: fix TDFileSystemDirectoryNode>>removeAsChildOfFileSystemDirectoryNode: ... preparing to allow dropping off objects in the proxy strucutre (not planning on simply using STON to drop refs ... I want pure object refs to have an inderect reference)' id 'afaa1596-64a0-459a-adec-818e62d9ab63' date '12/06/2013' time '20:12:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.727' message 'Issue #37: rename `ston rsync` command to just plain `rsync` ... not really limited to `ston` anymore ... rename tests ...' id 'f539c897-a741-472a-b12a-6ec698bc33b0' date '12/06/2013' time '17:57:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.726' message 'Issue #37: use plaintext newlines (not \r) for readability ' id '1d354f02-ca79-4d94-9f4a-85257ca5d978' date '12/06/2013' time '17:34:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.725' message 'Issue #37: fix an rsync bug ... when copying more than one directory...' id 'feb981d6-396b-4106-85c3-d9d8d3eea15a' date '12/06/2013' time '17:08:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.724' message 'Issue #37: working through the issues that pop up when actually attempting to work in an object directory that is proxied from the file system: - TDGatewayNode needs some of the leaf node protocol' id '7a35091e-de8b-498d-af30-8d50cd8fdc49' date '12/06/2013' time '16:57:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.723' message 'Issue #37: working through the issues that pop up when actually attempting to work in an object directory that is proxied from the file system: - TDFileSystemLeafNode contents (part deaux)' id '213fd618-cae6-4aed-8f42-3d73dc42974c' date '12/06/2013' time '16:22:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.722' message 'Issue #37: working through the issues that pop up when actually attempting to work in an object directory that is proxied from the file system: - TDFileSystemLeafNode contents' id '31de6dec-9829-4c66-8110-780fd0c7846f' date '12/06/2013' time '16:16:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.721' message 'test commit...' id '656c89f5-1d57-48cb-bc42-28c9b3b00c4f' date '12/06/2013' time '16:10:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.720' message 'Issue #37: working through the issues that pop up when actually attempting to work in an object directory that is proxied from the file system: - correctly handle topez' id 'e443bd03-238b-4303-afd2-f7457ecd315c' date '12/06/2013' time '16:08:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.719' message 'Issue #37: working through the issues that pop up when actually attempting to work in an object directory that is proxied from the file system: - TDFileSystemLeafNode>>dotSelfObject - TDProxyLeafNode>>parent' id 'f6271b0d-202e-4077-933f-90daf9711398' date '12/06/2013' time '15:44:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.718' message 'aDirectoryEntry' id '36b0276b-0aec-4111-a483-c2fbe286103e' date '12/06/2013' time '15:29:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.717' message 'Issue #37: preparing to implement gateway node schism ... if treated as a source node (directory or leaf) we copy the contents (maybe?), have to be able to tell when to use gateway as a link and when not to ... might have to declare explicitly ... current tests are passing ...' id '9c8d51b7-b236-47db-bb14-2043af4f4ec6' date '12/06/2013' time '14:52:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.716' message 'Issue #37: cover gateway node functionality ...' id '49739d97-91a0-4e76-88a8-6d0a52ac92de' date '12/06/2013' time '14:21:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.715' message 'Issue #37: `rm` of raw file leaf node and object file leaf node' id 'e0984fb8-849e-47c8-97da-cfe6744cdcaa' date '12/06/2013' time '12:05:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.714' message 'Issue #37: allow direct edit of Text instance' id 'ed1f1920-eb78-4929-ae62-ee1fc686f041' date '12/06/2013' time '11:52:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.713' message 'Issue #37: enable edit of .ston objects and raw filesystem files after cd''ing into a gateway reference to a filesystem directory .... open the door to sharing scripts by "directly editting object nodes and leaf nodes hosted in a git repository" ... still need to work on rm/touch combo but this is very close to complete!' id '780ac6f6-3392-46ad-85ad-ae57cf00612b' date '12/06/2013' time '11:49:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.712' message 'Issue #37: fix a bug in the ston implementation for TDDirectoryNode and friends ... splicing in parent can lead to infinite loops' id 'eaf86b36-2dc0-4e69-9e0a-9f5ed1d0bb90' date '12/05/2013' time '22:03:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.711' message 'Issue #37: add support for using a Gateway node as proxy for FileSystem directory and thus src/dest for `ston rsync` command ... start adding tests/support for using a Gateway node as a "symbolic link" to another object node - doesn''t work out of the box so more work needed (or just abandon the idea)' id '6052e724-deba-48ea-898c-dfb638acd939' date '12/05/2013' time '08:36:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.710' message 'Issue #37: `ston rsync` implementation not complete, however, we''ve hit point where perhaps enough of the `rsync` functionality has been completed where with the File System leaf node support, I think we''ve got enough functionality to form the foundation for a pretty nice sharing model ... will start heading in that direction and see if additional `rsync` functionality is called for ... tests are green for all four combos of fs/obj node structure: TDShellFsToFsStonCommandTests TDShellObjToObjStonCommandTests TDShellFsToObjStonCommandTests TDShellObjToFsStonCommandTests' id '9d4048f6-a7aa-47e7-81ac-d1ee289928da' date '12/03/2013' time '15:46:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.709' message 'Issue #37: `rsync rsync --recursive --relative` TDShellFsToFsStonCommandTests tests pass' id 'e5e1963f-92b2-4405-8c33-6006552e46a7' date '12/01/2013' time '20:29:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.708' message 'Issue #37: TDShellFsToFsStonCommandTests tests pass' id '062d1125-4b95-4f93-8e8a-fe0fec89552f' date '12/01/2013' time '19:50:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.707' message 'Issue #37: rsync recurse tests migrated ... TDShellFsToFsStonCommandTests test don''t pass, but that''s because of bug in the way rsync is implemented for file system nodes...' id '5cb11035-5870-488e-93e2-d0d4271b95ed' date '12/01/2013' time '11:56:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.706' message 'Issue #37: TDShellFileSystemStonCommandTests tests passing using TDProxyLeafNode ' id '7061ca00-be14-4027-84ad-3a14a3e80b9b' date '11/30/2013' time '21:54:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.705' message 'Issue #37: TDShellFileSystemStonCommandTests finally tests (using TDPluggableLeafNode), but I am unhappy with the hacks it took to get TDPluggableLeafNode working ... I should build a TDProxyLeafNode ... I don''t think that TDPluggableLeafNode should survive ...' id '73cce08b-63a6-43de-af73-910b243a2166' date '11/30/2013' time '14:45:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.704' message 'Issue #37: fleshed out TDPluggableLeafNode to act as a leaf node proxy for TDFileSystemLeafNode proxy saves edits to disk ... no proxy for directory node because of challenge of saving changes ... so we''ll simply splice the directory node into the structure' id '732278d9-2ace-40fd-a115-34987c20c4fa' date '11/30/2013' time '12:07:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.703' message 'Issue #37: obsoelete TDLeafNodeBuilder and friends ... settled on elementSource and elementSource: as getter/setter api from the editor side of the house .... TDPluggableLeafNode needs some work to be a faithful wrapper for arbitrary leafNodes as needed to wrap leaf nodes stored on file system...' id '19f2b3a0-b9e8-41e1-be5b-e4285cd64aff' date '11/29/2013' time '11:53:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.702' message 'Issue #37: TDShellFileSystemStonCommandTests>>testRsync passes ... "transparent" access to disk-based objects (.ston files) ... oh and rsync objcts from disk to disk ...' id '31034868-e62e-40d1-9750-97ac78b7c164' date '11/29/2013' time '10:00:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.701' message 'Issue #37: work out TDFileSystemDirectoryNode rendering ... push TDShellAbstractStonCommandTests root path handling to satisfy disk-based object paths ... checkpoint as I have to consider best way to represent object structure on disk ... would like to `cd ` where a "directory" will have a bunch of TDNodes serialized to disk and I;d like it to look like a regular TDDirectoryNode with children ... so will probably at `.ston` extension on files and meatrialize `.ston` files when encountered on disk via object shell interaction ... time for some experiments...' id '5cdcf5cd-d3e5-493e-ac00-f847988ae126' date '11/29/2013' time '09:03:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.700' message 'Issue #37: as part of the script sharing work, I am merging the filesystem and objectSystem into a seamless whole...once you''ve spliced a file system "mount point" into the objectory (object directory) you should be able to `cp` and `rsync` objects and files back and forth (with some initial limitiations) objects are stored in STON format on disk and disk entities have a TDFileSystemNode that represents them ... I''ve filled out the basic apis without a lot of testing ...' id '628c39d3-aefc-4e94-bf44-f45efa53c8ef' date '11/27/2013' time '11:20:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.699' message 'checkpoint: `rsync --relative` implemented' id 'bcfb0158-8ede-4124-bc1c-ee911e1f857c' date '11/26/2013' time '15:22:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.698' message 'checkpoint: `rsync --recursive` implemented' id '37c56194-7b8a-4c4d-80b6-d548596846e7' date '11/26/2013' time '12:13:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.697' message 'rsync checkpoint ... rename bunches of methods ... tests passing' id 'e09a9de5-9e4c-48c1-9ce7-10030a403a0c' date '11/26/2013' time '11:33:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.696' message 'fix tiny problem with opening inspector ...' id '046a907f-bfe5-453a-8ff1-490720b505a0' date '11/19/2013' time '14:57:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.695' message 'restructuring around the `mc unload` command ... support additional scriptiong needs ...' id '0b4db4da-86a2-4c54-8b61-6194e75d414c' date '11/17/2013' time '22:47:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.694' message 'implement --times, --existing, and --dry-run (bits and pieces ... testing should wait until all of the options are implemented)' id 'dc7e6961-de8d-45e8-b0fc-ad24db57a019' date '11/17/2013' time '14:41:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.693' message 'sort associations for dictionary builder (TDDictionaryNodeBuilder) ... add `gs sessionDescription` command to easily get the gem pid for attaching gdb ...' id 'cc85c491-5e5d-4dea-bc23-afa3c9950191' date '11/14/2013' time '17:04:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.692' message 'Issue #37: checkpoint on `ston rsync` work ... even more options implemented, even more tests written ...' id '1a6f9ab7-fe56-4a61-a700-bd54fb54055f' date '11/14/2013' time '10:06:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.691' message 'fix typo in TDScriptLeafNode>>minimalScriptTemplate ' id '7cb2dcdc-8760-4ffc-892a-d6319b1009d6' date '11/13/2013' time '10:00:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.690' message 'defined a new script template: TDScriptLeafNode>>minimalScriptTemplate ... define Dictionary>>at:ifAbsent:ifPresent: for better script layout' id '14ac7457-aec0-4bfe-a4df-9e3228c7a518' date '11/12/2013' time '12:59:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.689' message 'update manPage for `ston rsync` and flesh out the first test' id '076130c6-b25f-40b7-836b-c6c6b1704637' date '11/11/2013' time '22:45:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.688' message 'write TDLeafNode creationTime modificationTime for STON' id '2b1c4af7-8de0-4fa2-b01f-a72d2469b9b6' date '11/11/2013' time '22:19:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.687' message 'tweak TDManPage class>>fromString:commandPath:sourceMethod:' id '34064ef7-32a9-4fca-b293-1053db78732f' date '11/11/2013' time '22:10:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.686' message 'define a new script template for TDScriptLeafNode that includes a full help text that describes option handling...' id '5eabbe91-4546-4b81-a82c-3623b750ced2' date '11/11/2013' time '21:35:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.685' message 'Rename some of the methods. getOpts* is a better pattern ... monkey with TDManPage to make it easier to create a man page for a script (in the script), also add EXAMPLES section to man page' id 'f96f74aa-40ac-4581-bf15-afd67d5e56de' date '11/11/2013' time '17:52:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.684' message 'Issue #16: fix a parsing error (plus tests) ... move helper method for doing mixed long and short getOpts from gs tool to TDCommandLine and TDCommandGetOpts ... beef up `gs fileout` command for class/package/category fileouts with options!... write methods as UTF8 ... consolidate fileout methods ..' id '12459d9d-f7be-497a-a2de-d29f287230d6' date '11/11/2013' time '14:49:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.683' message 'Issue #37: attack `ston rsync` implementation ... TDSTONRsync is my visitor ... ' id '0ecdbc4d-3182-4478-abc5-6ba4dba39ca0' date '11/11/2013' time '07:33:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.682' message 'Issue #16: splice the short/long/mixed option handling into TDAbstractDevTool ... TDAbstractDevTool>>processCommandOptions: helper method for creating mixed option specs and getting command options ... implement option/arg handling for `ston rsync` command' id '7a77a5aa-cf0e-423f-b2b8-95ecce980374' date '11/10/2013' time '16:57:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.681' message 'Issue #16: okay, okay, add long getOpts support ... next up is mixed long/short support...might as well just bite the bullet' id 'd390bc2e-f1e5-4ce6-869a-073c103e1d27' date '11/10/2013' time '13:59:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.680' message 'Issue #16: change TDAbstractDevTool args IV to arguments...' id '51e5252c-ae38-4db0-ad68-905ce60f60a3' date '11/10/2013' time '12:17:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.679' message 'Issue #16: TDCommandLine integration complete including getOpt support... current scheme for command blocks is: [:topez :objIn :tokens :todeCommand | ... ] but tokens arg tends to be ignored in favor of todeCommand arg ... tokens IV in TDAbstractDevTool is set automatically ... for handling options http://www.gnu.org/software/libc/manual/html_node/Getopt.html#Getopt was used as spec and the options/args IVs set by calling TDAbstractDevTool>>getOpts: with an optionsSpec (i.e., ''abc:'') ... long options not supported yet' id 'fc8ef604-f743-41e1-a9b3-c26c8cddc776' date '11/10/2013' time '12:08:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.678' message 'Issue #16: convert all command blocks to the form: [ :topez :objIn :tokens :command | ]...convert subCommands to use: TDAbstractDevTool class>>performSubCommand:objIn:todeCommand: ...add better subCommand support to TDCommandLine (teach it to respect subCommands) ... still need to remove windowId and tokens instance variables from TDAbstractDevTool ... TDTopezServer>>evaluateCommand:objIn: and TDTopezServer>>evaluateSTONCommand: are now the primary entry points for command processing ...' id '8c37d450-78a4-4bd0-8080-41dcf9a2b43e' date '11/10/2013' time '11:27:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.677' message 'checkpoint: Issue #16: writing getOpts for tODE in preparation for Issue #37: `ston rsync`' id '0afa58b5-dcb0-4c7f-abfb-cf59f22aaa11' date '11/10/2013' time '06:33:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.676' message 'add support for GsInspectInteraction (Object>>inspect)' id '2cf52143-9c41-4332-8346-8582f1635e9e' date '11/09/2013' time '15:34:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.675' message 'Issue #41: `mr creds` command command for setting user and password for a repository (plus api). `set user/password` menu item defined as well.' id 'ddc6fa90-916b-4e36-ae45-dd6879d79362' date '11/09/2013' time '14:32:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.674' message 'Issue #41: hook up password dialog support' id '14b57e51-48c7-4897-ade6-dced513f770b' date '11/09/2013' time '11:36:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.673' message 'Issue #51: remove remnants fo TDInteractionRequext and friends, using GSInteractions instead...' id '98eb8277-e0dc-4b2a-ad35-52d88d331215' date '11/09/2013' time '09:05:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.672' message 'Final bits for fixing Issue #45 (dependes upon glassdb commit 3f347c0819a3d995efe938e5d95517f5518ff03c or later). Hook into GsInteraction mechanism for tODE ... can now get rid of TDInteractionRequest hierarchy and use GsInteractionRequest ... add TDMonticelloTool>>mccopyVersion:to: in support of TDRepositoryVersionsBrowser>>copyToRepository:selectedIndex: menu item (copy to repository)' id '38d10a7a-7fd2-42b1-a971-c160c0c81613' date '11/08/2013' time '16:37:19' author 'dkh' ancestors ((name 'Topez-Server-Core-.671' message 'define TDMethodDefinition>><= to support sorting ... add TDMiniToolSpec class>>topez:clientListBlock:menuActionSpecBlock:menuActionBlock:itemSelectedBlock: as convenence method ... tweak package display in TDRepositoryPackageBrowser>>packageTextList' id '6fd9d9a2-f246-4db9-983d-9df158032c1b' date '11/05/2013' time '07:27:10' author '' ancestors ((name 'Topez-Server-Core-dkh.670' message 'add `mc compare rimage` for doing reverse compare ... refactor MCTodeDeployTool>>createMethodSectionMapFor:version: ' id '2cf4a922-7633-48c0-95e8-bc6ab95ad9b8' date '10/26/2013' time '20:54:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.669' message 'add support for inspecting objects with dynamic instance variables' id 'e85ea4f4-75d3-4a2c-acce-94497f237450' date '10/24/2013' time '20:30:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.668' message 'clean up TDClientElementTestCase>>testClientElementSerialization' id '8d90fd10-2612-476d-adde-0eaefd3a3863' date '10/21/2013' time '10:17:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.667' message 'clean up failing tests on server-side' id '11011cfb-afae-47f9-8cc7-3f2891f2d6f8' date '10/20/2013' time '20:45:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.665' message 'server-side interaction requests get some meat on their bones ... finish up Monticello Browser functionality with `save` menu items and support for prompting for version name and commit message ...' id '96bdae97-0710-464c-ac62-8574c242fede' date '10/20/2013' time '20:34:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.664' message 'start work on interactions (choices, prompts, etc.) ... down to `save` menu item before completing the Monticello Browser family of tools, which explains need to implement prompt ....' id '46818716-2fb5-464e-9690-d47d00738486' date '10/20/2013' time '14:40:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.663' message 'add windowIsClosing ligic to the TodeCodeEditors (client and server-side logic) ... `create accessors` menu item for class hierarchy window ... add `inspect client element` menu item to standard window menu (replace .window/model stuff) ... TdToolBuilders leverage windowIsClosing logic to close all child windows when parent is closed ... TDToolBuilders use a clientListBlock for generating client list which makes for automatic `refresh` when window contents is refreshed (CML-l) ...' id 'af8106b8-53cf-4b75-84c4-20422addc8bb' date '10/20/2013' time '11:14:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.662' message 'really fix funky hierarchy list bug ... tweak TDProfileTool>>pfview: return value' id 'c4e6b372-af00-4233-8361-36a18f289a91' date '10/18/2013' time '06:10:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.661' message 'fix funky hierarchy list bug, where original "selectedClass" refused to be re-selected' id '16795512-3bfc-4a84-9302-6ac3e7aef6f8' date '10/17/2013' time '09:56:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.660' message 'checkpoint: implement TDRepositoryBrowser>>workingCopyDiff:selectedIndex: (moved form TDWorkingCopyBrowser>>workingCopyDiff:selectedIndex:) and TDRepositoryVersionsBrowser>>loadVersion:selectedIndex: plus supporting TDMonticello tool support' id 'bd5c66e3-eda7-4439-8e8b-a3fb873d7afd' date '10/15/2013' time '16:38:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.659' message 'checkpoint: support for geting backup directory path from client ... need repository for TDRepositoryVersionsBrowser ... make it easier to get text attributes set correctly for loaded versions .... add in stubs for (still) missing menu items for the family of Monticello Browser tools ...' id '44433b74-4dae-422b-9625-c89591a82729' date '10/14/2013' time '16:13:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.658' message 'checkpoint: keyboard shortcut handling for minitool ... rename TDPackageDefinition to TDMcPackageDefinition ... rename TDMonticelloBrowser to TDWorkingCopyBrowser ... add TDRepositoryPackageBrowser and TDRepositoryVersionsBrowser plus TDMonticelloTool support ... use app1 and app2 window locations for the familoy of Monticello browsers ..' id 'dbaa66a6-7a6e-4de0-91a1-a990bd174dcc' date '10/13/2013' time '17:36:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.657' message 'checkpoint: add repository browser with partial implementation ... open repository browser from monticello browser and mr tools (`mr group` and `mr list`)...protocol tool allows for adding/removing multiple protocols' id 'a1e0d1ca-528b-43db-92d7-b63ea5da2785' date '10/12/2013' time '22:36:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.656' message 'checkpoint: implement `delete` and `unload` menu items in monticello browser' id '7bd0aded-60d6-4a2a-b746-e493192f8257' date '10/12/2013' time '21:34:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.655' message 'checkpoint: implement `revert` menu item in monticello browser' id '5cfba30d-21e9-422c-8091-fea3cb4a268a' date '10/12/2013' time '20:27:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.654' message 'checkpoint: working copy browser (monticello browser) and version info browser (history) plus assorted menu items plus a bit of refactoring of the monticello tool .... keep all of the business logic in the tool ... ' id '25596a20-a968-484e-bdf8-5bee642c3164' date '10/12/2013' time '20:04:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.653' message 'use #classCategories window location for Class Category List ... reuse window for mc/mm diff ... ' id 'fcacc4d8-63f7-494d-99ba-033482a53abc' date '10/12/2013' time '12:53:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.652' message 'add ''spawn shell'' to window menu (ESC keystroke)...' id '94457973-9451-4e50-896b-f720ac7a618a' date '10/12/2013' time '11:32:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.651' message 'Attempt to get around security violations in TDSymbolDictionaryDefinition>>classDefinitions ... TDSimpleDiff created to support generic in-image text diff views...' id '9bf654ad-a5e7-4827-9a6a-1e28d5067e69' date '10/11/2013' time '19:34:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.650' message 'replace config/pkgs panes with class category pane after working with Paul DeBruicker' id 'e076a1ed-f750-4a38-acc6-722336c391b6' date '10/10/2013' time '19:56:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.649' message 'ensure that lf is used when compiling methods from tode ... sneaky cr showing up in comments' id '6dce7db2-12ce-4047-8646-78a1441a70fc' date '10/10/2013' time '05:14:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.648' message 'implement TDMiniToolSpec and TDMiniToolClientListElementBuilder which allows for creation of list-based tools without having to create a TDClientListElementBuilder subclass...only need to specify blocks for: TDMiniToolSpec class>>topez:clientListBlock:menuActionSpecBlock:menuActionBlock:itemSelectedBlock: to create custom list behavior. fix `mc fileout` API so that .gs files with multiple classes can be updated correctly (i.e., the method is matched based on proper class)' id '91ea5ad9-c463-4d2b-a74d-36b6e2e814ec' date '10/07/2013' time '14:34:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.647' message 'Issue #38: fix the menu ... we''re looking good!' id 'c616ab8a-6f19-46d6-88e9-f6c22c1aae9c' date '10/06/2013' time '12:41:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.646' message 'Issue #38: first cut at functional tool ... works, but need to fiddle with menus' id '6ff2f7e6-669c-4a43-884b-c83d609636ab' date '10/06/2013' time '11:47:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.645' message 'address test failure: TDClientElementTestCase>>testClientElementSerialization ... update MCMetacelloTodeTool implementation and ignore ''Metacello-Cypress'' package for ConfigurationOfMetacello ...' id '61821b3e-4a33-4b2b-b07f-18d42ba1f79f' date '10/05/2013' time '15:39:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.644' message 'add support for working with classes "imported" from another GemStone user''s symbolList. A TDDefinition may have a `username` specified and if so the definition will use the symbolList of the given user for resolving class/global names. Trying to propogate the username as far as possible forced me (in a good way) to use class definitions EVERYWHERE instead of direct class refs and it follows that the class definition does the lookup and so on ... touch a fair amount of code across a bunch of element builder classes, so there still might be glitches ... added `inspect builder` to window menu ....' id '88fcec49-cab4-4e89-99e8-6faba62596ef' date '10/05/2013' time '13:12:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.643' message 'Fix TDFileSystemLeafNode, so you can save files to disk...' id '57606258-9e67-4458-bad3-076d697aff56' date '10/04/2013' time '11:05:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.642' message '`mc fileout` will now file out source to files (classes and methods) or a single file.. make the `gs fileout` command compatible with the gemstone filein process (entails building our own versions of the class-based fileout methods)' id '59df9b7d-28be-4ba9-b25e-99e80d801ed1' date '10/02/2013' time '17:16:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.641' message 'add variant of `mc fileout`/`gs fileout` API that writes class defs to one file and class methods to another file ... this is the one I will use for deploying Indexing changes for GemStone 3.2.' id '39a8a9e6-bc95-48bb-8d2e-9de997b5d1de' date '10/01/2013' time '21:12:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.640' message 'pull filename map out as arg to `mc filout` API which filters over to changes in the `fs fileout` API. ' id 'c9da1849-4ea6-4a44-99b2-4b4b26428b89' date '10/01/2013' time '17:30:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.639' message 'create `mm fileout` command for doing a fileout of a full configuration .... `gs fileout` command finished up for this round: - one file per class (will change this to allow for alternate groupings) - extension methods overrideds changed in place in existing files new methods added to end - hard-wired class to filename map (will make this an option)' id 'f0f1b242-ca69-4b9a-a94b-f7fdf95b6a38' date '10/01/2013' time '14:47:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.638' message 'Issue #28: finish initial foray into menus for tODE ... now that we''ve got menus, there are plenty of oppotunities to expand the menu items (and/or reorganize).... still need to do text window menus .. Issue #33: continue/restart menu items available in debugger' id 'c8e76092-faf5-44cd-8ad9-d5eb771f0363' date '10/01/2013' time '08:18:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.637' message 'Issue #28: start defining `menu actions` ... starting in TDClientListElementBuilder ..' id 'ce0610cf-fba5-4924-823a-4136aa2ae78e' date '09/30/2013' time '21:39:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.636' message 'Issue #28: defined #menuActionSpec for all subclasses of TDClientListElementBuilder ... covers all keyboard shortcuts ... time to define the menuActionBlocks' id '69e2bfc1-faeb-41d9-a66c-476dc6653506' date '09/30/2013' time '20:51:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.635' message 'add `mc fileout` and `gs fileout` commands ... aimed at providing fileout support that is compatible with saving source as .gs files ' id '3979573b-1509-4bd8-9a85-18be743f8448' date '09/30/2013' time '17:05:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.634' message 'Issue #28: checkpoint ... defining menuActionSpecs for all of the windows ... will implement the menuActionSpecs next ...' id '1e4fb35f-223a-44a4-9c74-4d2e277dbc0b' date '09/30/2013' time '09:53:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.633' message 'Issue #28: continue menuActionSpec theme...define standard submenus' id '0d29f2df-cb6f-4be4-81ef-642c7392b8a4' date '09/29/2013' time '12:29:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.632' message 'Issue #28: checkpoint ... ' id '2ce4d451-1531-41d7-86b6-793a1191bc2a' date '09/29/2013' time '08:52:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.631' message 'flesh out profmonitor viewer tool: - `pf view` can be used to navigate the ProfMonitor results - TDProfileTool>>pfview: is the script API for ProfMonitor viewer tool - TDProfileTool>>pfmonitor: can be used from scripts to profile a block, then use TDProfileTool>>pfview: to look at results - added labels and other goodies to the ProfMonitor viewer tool' id '67be49d3-4549-4f27-a6b9-07fafd53b475' date '09/28/2013' time '13:49:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.630' message 'align #context location with #debugger location ... use debugger width too... use #context location for debugger context display...bump default `list limit` to 140 ... checkpoint the profmonitor analysis tool' id '96d7d12e-9ec8-46a4-8cc8-62ee85aaee66' date '09/27/2013' time '22:09:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.629' message 'it turns out that tODE was making copies of all objects in the navigator when navigating around ... probably not desirable at all, but definitely not desiarable for TDObjectNodes ... take care of TDObjectNode in TDPluggableNode ... ' id '4737d88e-bf42-4ce8-ad85-79737812a9b4' date '09/25/2013' time '17:35:11' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.628' message 'multiple sections allowed for `ts list` command...add `(size)` special for all Collection classes ... add `(index lists)` special to UnorderedCollection for viewing index structures if present ...' id '4eca2561-514c-44dd-9f44-f2e582c2fbae' date '09/25/2013' time '17:01:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.627' message 'checkpoint: CMD-o uses category of selected method or protocol for creating new method.... tweak `cls create` command optional superclass and category... cls create [ [ ] ] create [ @ [ ] ] Issue #27 - method category browse/edit' id '8dd4f13f-3b81-479e-98f6-bb7684822c74' date '09/22/2013' time '14:50:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.626' message 'checkpoint: class history bugfixes ... copy/paste should be working for protocols (paste method on protocol to move method to that protocol or add method in that protocol) ... add `cls accessors` command Issue #27 - method category browse/edit' id '4dc9ac6d-edc8-4d90-903f-fa86f30ade4a' date '09/22/2013' time '13:59:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.625' message 'checkpoint: CMD-t toggles protocol display .... `limit protocol` controls default setting ... man page display reuses window Issue #27 - method category browse/edit' id '7ffdb2f6-db78-486b-8573-bebc45e99801' date '09/22/2013' time '09:51:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.624' message 'checkpoint: TDShellTool class>>protocolManPage Issue #27 - method category browse/edit' id 'f689e2e6-bab8-4589-926c-6dff81e85fc4' date '09/22/2013' time '08:10:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.623' message 'checkpoint: add `protocol` command for method category edits ... `test class` command changed to allow listing of multiple classes protocol add add @ protocol cadd cadd @ protocol cremove cremove @ protocol crename crename @ protocol remove remove @ protocol rename rename @ Issue #30 - class comments Issue #27 - method category browse/edit' id 'aacb3a84-b36b-41bb-b17c-41399c2bac1c' date '09/22/2013' time '07:26:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.622' message 'checkpoint: convert `cls` api to use the class instead of class name ... allow for saving of class comments Issue #30 - class comments Issue #27 - method category browse/edit' id '4257c9c0-e5fb-4447-b13c-7ffc4005ff6a' date '09/22/2013' time '06:27:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.621' message 'checkpoint: `cls` command implementation, remove `rename class` (subsumed in `cls` command ... get serious about testing `cls` api cls comment comment @ cls copy copy @ cls create create @ cls definition definition @ cls history history @ cls protocol add protocol add @ cls protocol remove protocol remove @ cls rename rename @ cls remove remove @ Issue #30 - class comments Issue #27 - method category browse/edit' id '59b02414-7864-4fca-b63a-7d0d989e188c' date '09/22/2013' time '05:52:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.620' message '`git mergetool` implemented ... this is a rough cut implementation as TDMerger and TDGitMerger deserve to be ... merged ... there is a fair amount of shared state and behavior ... TDGitMerger is not based on definitions but files whereas TDMerger is based on monticello definitions...' id '817e877f-c62e-4b32-9e6f-4778826d8eb9' date '09/17/2013' time '12:23:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.619' message '`md diff` no longer takes a regex pattern `mm diff` no longer takes a list of configs ... optional `all` arg will compare all packages, otherwise you only get dirty packages compared' id '10d8ccb8-913a-4353-a516-8c31810b2a20' date '09/17/2013' time '05:32:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.618' message 'add `mc snapshot` command ... record restorve from backup in object log...' id '2d9ece2c-3bef-42f0-8346-78ff48638325' date '09/17/2013' time '04:45:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.617' message 'implement `limit format` command to turn on and off auto formatting ... make it easy to contribute to projects that don''t use same formatter as I do' id '632437f5-70e6-4832-8830-03329137ac72' date '09/15/2013' time '22:03:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.616' message 'TDPluggableNode>>stonExportUsing:to: ignores any contents ... ' id '6e656d6f-c316-4153-aa47-69dd97e478da' date '09/14/2013' time '02:05:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.615' message 'add CMD-j and CMD-k keyboard shortcuts for debugger' id '3365670b-8012-47d8-8072-77f70b84b2d3' date '09/14/2013' time '01:59:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.614' message 'support for structured ston exports ... build directory structure on disk to match internal dir structure and only export as ston the leaf nodes (or leaf node like dirs) ... easier to control what you want included in your image...' id '2ca512c9-0c53-4144-9116-4d97ac8b82df' date '09/14/2013' time '23:41:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.613' message 'checkpoint: Implement `git mergetool` command Add control for loggin in TDAbstractDevTool>>performOnServer:logging: remove TDCypressTool>>cypmerge and TDCypressTool>>cymmerge ... cypress merges handled by `git mergetool`' id 'f1e8e969-3bee-4bcc-9e77-0486d3126231' date '09/04/2013' time '01:21:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.612' message 'Looks like the Monticello merge tool is complete ... for method definitions ... need to handle class definitions Some logging to transcript Check for empty merge ...' id '9408deb3-5614-4f23-97bc-1729b66d42cc' date '09/03/2013' time '21:42:54' author 'dkh' ancestors ((name 'Topez-Server-Core-.611' message 'checkpoint: successful merge of a single method conflict with a merge, discovered that printStrings for MCWorkingCopy did not account for multiple ancestors ... ' id 'eeb246d7-4a89-4d8e-977c-ee467487d347' date '09/03/2013' time '18:48:45' author '' ancestors ((name 'Topez-Server-Core-dkh.610' message 'checkpoint: begin work on the mergeTool for merging Monticello packages and Cypress repositories. create TDSessionObjectNode class that stores object reference in a TransientValue ... avoid persistent refs to things that cannot be persisted. Use TDSessionObjectNode for the debugger... Add TDGitTool>>performGitCommand:in:worktree:with: to allow independent control of location of work-tree ... Actually use the TDEditorSpec>>windowLabel field when building windows. More keyboard shortcut stubs ... Start building merge command "gui" support Implement mc save, so I can create branched mc versions to test merge command.' id 'cff4668a-2162-444f-bd18-8a1f29fe3666' date '09/03/2013' time '15:04:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.609' message 'endeavor to get tests passing ...' id '64c62518-d720-4a67-8c8d-f01b3d9e5dd3' date '09/01/2013' time '07:48:09' author 'dkh' ancestors ((name 'Topez-Server-Core-.608' message 'implement support for Cypress repositories: cym and cyp commands (save and diff) sort mc dirty packages new Topez-Server-CypressTools package' id 'c36471a3-cf69-410f-8dc7-c2c47851b610' date '08/31/2013' time '07:44:59' author '' ancestors ((name 'Topez-Server-Core-dkh.607' message 'implement `find categories`, `find category`, and `browse category`' id '759af4bb-e301-4011-acd3-794a0d2fc225' date '08/29/2013' time '12:11:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.606' message 'fix TDGatewayNode related to loading directory structure from STON' id 'd173f09f-db4d-478b-99c6-0fe407fb4eb3' date '08/28/2013' time '13:00:54' author 'dkh' ancestors ((name 'Topez-Server-Core-.605' message 'as part of Topez-Server-Core TDBatchEditTool should not implement initialize' id 'b2ce3697-63bd-457a-a7e9-7998559a1743' date '08/28/2013' time '06:53:32' author '' ancestors ((name 'Topez-Server-Core-.604' message 'add filter-block option to browse commands ... add `find psender` and `browse psender` commands ... pure sender, no literal refs' id '8b849001-6950-49d7-82d6-71f122980f8b' date '08/28/2013' time '05:05:11' author '' ancestors ((name 'Topez-Server-Core-dkh.603' message 'fix bug in debug tool...reuse the stack window after debugger opens ... keep window id around in the tool instance' id '9bd6fe68-f5c1-43d8-98e0-28dda87baf88' date '08/15/2013' time '17:00:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.602' message 'fix `rename class` bug' id '3625a3fa-571e-453e-ab58-32db04d4b4e4' date '08/15/2013' time '15:32:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.601' message 'improve Smalltalk api for `bedit` family of commands....clean up `find` command Smalltalk api: eliminate use of tokens as args ... pass in the token for those commands that have single args ... `rename class` command now uses `bedit references` command so make it easier to edit source after rename ... RB would work here better, but RB is not ported yet...' id '62c15d33-604d-40dd-8ead-d13d6bcc70da' date '08/15/2013' time '11:43:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.600' message 'expand the list bedit commands to include: bedit class bedit instance bedit list bedit references bedit method bedit rmethod bedit rsender bedit sender bedit source with keyboard mapping: CMD-g - go to next match CMD-j - perform replace, go to next match ' id 'bff73546-cd8e-49af-8254-be6e0090acce' date '08/15/2013' time '08:06:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.599' message 'tweak `bedit` man page' id 'f561ec17-f015-4d56-85ab-bb41032a57ae' date '08/15/2013' time '01:00:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.598' message 'add TDBatchEditTool and `bedit` command...CMD-o skips edit, CMD-p performs edit. both move to next regex match in method or next method' id 'd8dadf86-7b6c-4e6a-bbcb-c4fce19a5402' date '08/15/2013' time '00:57:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.597' message 'add `rename class` command ... move all examples to `/examples`' id '3e563188-cc7a-42a1-900d-d3ea1519637c' date '08/14/2013' time '14:45:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.596' message 'create MCNewFileTreeTodeTool to use command arguments and eliminate structural dependencies. Extend functionality to include doing the `git push` (relying on passwordless ssh access to github). shell examples moved to /examples... better scripting api for git tool for example: TDGitTool>>gitcommitIn:with:. All git commands use a similar form....workaround for `git pull` bug.' id '2a215fc3-acf6-4fc9-9e86-e6fd5335d855' date '08/14/2013' time '11:00:26' author 'dkh' ancestors ((name 'Topez-Server-Core-.595' message 'create TDGitTool>>resolveDefaultGitRepoDirectory. If a `gitRepo` is not present assume that you are in a git repo and use `.` as the git working directory...fix a problem with resolving `.` correctly' id '99fd32b2-9423-4f80-8dbe-200a085b2602' date '08/08/2013' time '06:41:18' author '' ancestors ((name 'Topez-Server-Core-.594' message 'add TDFileSystemDirectoryNode that provides filesystem access for instances of ClientFileDirectory or ServerFileDirectory...especially useful if you create an instance in a gateway node....add TDFileSystemLeafNode that provides access to (text) files for editting and catting from within tODE' id '1307ed94-441c-4985-b5ca-8a18fb77d9a2' date '08/07/2013' time '17:17:58' author '' ancestors ((name 'Topez-Server-Core-.593' message 'add `browse hierarchy`, `browse package`, and `browse project` commands' id '8ef36ed4-0322-4656-9512-a2711b56680a' date '08/05/2013' time '06:25:42' author '' ancestors ((name 'Topez-Server-Core-.592' message 'add `mm locked` command to list locked projects ... update gitManPage to explain that @gitRepo is used as default git repository path' id 'c097fe3c-bfe5-433c-a5b5-f6c1048a7003' date '08/04/2013' time '14:21:40' author '' ancestors ((name 'Topez-Server-Core-.591' message 'add TDTopezServer>>lookup:ifAbsent: to make script writing easier...supported by TDNode>>lookup:with:ifAbsent:' id '8e03b44c-8446-4b90-8ddd-2544fefe8d66' date '08/04/2013' time '12:32:50' author '' ancestors ((name 'Topez-Server-Core-dkh.590' message 'create git tool with support for all common git commands including api support ... create an api for mm commit command' id '9489b3f9-1460-4435-9f09-2761c8326736' date '08/03/2013' time '15:09:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.589' message 'mc diff diffs all dirty packages ' id '6f958d90-de5f-43ad-aa7d-f70d7122e9ea' date '08/02/2013' time '10:23:09' author 'dkh' ancestors ((name 'Topez-Server-Core-.588' message 'tweak mc browse command (allow browse @) ' id 'd708e841-0773-46e0-a6fb-4980cdbd07ed' date '08/01/2013' time '18:20:33' author '' ancestors ((name 'Topez-Server-Core-dkh.587' message 'fix mv command ' id 'dc2c8a25-70e6-432e-9cce-09559635b441' date '07/31/2013' time '18:19:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.586' message '' id '3cf80e7d-66de-48b7-94e0-cf41f63357e1' date '07/31/2013' time '18:13:49' author 'dkh' ancestors ((name 'Topez-Server-Core-.585' message 'fix mv command ' id '066b68c7-169b-44b3-b729-165e54343d72' date '07/31/2013' time '18:09:57' author '' ancestors ((name 'Topez-Server-Core-dkh.584' message 'fix a couple of places where TDAbstractDevTool>>resolveAtPathReference: not used correctly ' id '4ed6d71e-8a7f-49c1-bead-0ade838fe745' date '07/31/2013' time '15:50:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.583' message 'tweak logging for commit ' id '2ebd582f-ca70-4211-836d-581efef3694e' date '07/25/2013' time '11:30:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.582' message 'on commit (mm commit or mc commit), I want to see versions and repositories ' id 'eceb2259-e03f-4fd5-9e73-671db7c93e3e' date '07/25/2013' time '11:29:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.581' message 'remove #objIn: hacks from doit and run commands ' id '81b0e6cf-a2f3-4412-9001-dde371c99b16' date '07/25/2013' time '10:31:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.580' message 'results of commit and expressions involving input should be available ' id 'deb44707-5097-4fee-84e1-80ea1fb0b8f4' date '07/25/2013' time '10:28:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.579' message 'return the newVersion list as result of commit commands (rather than package names) ' id 'cccf888f-77ed-49ad-a9c6-bf0298c5f923' date '07/25/2013' time '10:17:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.578' message 'and now fore the better feedback ' id '8183bb50-3153-4e0a-af86-8638d551be85' date '07/25/2013' time '10:09:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.577' message 'switch from using Gofer for commits ... better feedback if I do it myself ' id '14c64f80-0629-4a33-b159-bae8b78b31b5' date '07/25/2013' time '10:07:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.576' message 'switch from using Gofer for commits ... better feedback if I do it myself ' id 'b31f8c1c-5b70-4928-8ca4-bc890c435f40' date '07/25/2013' time '10:07:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.575' message 'enable debugger keyboard shortcuts from stack window ' id 'c0ded669-ca60-4852-a134-835e486b1a80' date '07/18/2013' time '06:06:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.574' message 'remove logging ... remove process node in /tmp/debug ' id 'dd1cf5e7-74ea-4f18-b145-656606c52fca' date '07/15/2013' time '02:35:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.573' message 'multiple open debuggers now supported issues with running unwind blocks on close appear to be addressed ... took opportunity to toss some of the unused methods like the halos ... the nodes are now stashed in /tmp/debug/...still need to toss node on window exit ' id '1f1ce2cb-4601-4930-802a-7171f8479bc3' date '07/15/2013' time '02:21:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.572' message 'checkpoint: working on reworking debugger implementation ... need to support multiple open debuggers ' id '789f16af-a3cc-4a7d-bb6a-d8232faa7034' date '07/14/2013' time '15:33:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.571' message 'avoid executing ALL st nodes in dir when executing code via doit or run commands ' id '1a8a412e-c892-4a49-95d1-5ea3c90a3fcb' date '07/12/2013' time '10:26:59' author 'dkh' ancestors ((name 'Topez-Server-Core-.570' message 'add mc compare image command...don''t rely on modified packages for comparison...dbstack and dbStack do not coexist well on mac...is this 2013? ' id '32c1f725-e4ad-42dc-b7eb-9b532ef36095' date '07/11/2013' time '07:55:32' author '' ancestors ((name 'Topez-Server-Core-dkh.569' message 'add mc bump command (version bump)...add Transcript logging to various commands...rename test mm command to test project...add test rerun command ' id '28986984-7852-45a8-8a42-ff71c951b04b' date '07/10/2013' time '15:15:31' author 'dkh' ancestors ((name 'Topez-Server-Core-.568' message 'fix a minor bug ' id 'b4985ab7-35c0-4948-9697-7b522b3c151d' date '07/09/2013' time '16:57:40' author '' ancestors ((name 'Topez-Server-Core-.567' message 'use TDAbstractDevTool class>>performSubCommand:objIn:tokens:windowId: whereever appropriate ... lots of places ' id 'f7e3d24e-d0d0-4b85-a445-4a304a64c465' date '07/09/2013' time '16:00:27' author '' ancestors ((name 'Topez-Server-Core-.566' message 'tweaking various commands ... ' id '363c9b64-2f92-4904-9f2a-7d61d686f590' date '07/09/2013' time '15:03:31' author '' ancestors ((name 'Topez-Server-Core-dkh.565' message 'create MCTodeDeployTool and MCMetacelloTodeTool to share code with MCFileTreeTodeTool and provide Metacello deployment commands ... expand mc copy, mc load, mc move and mc version commands .. push code around to taste ' id '4cd96e9e-44ce-443b-b512-74bac3e5b0d9' date '07/02/2013' time '21:25:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.564' message 'revise implementation of mr remove ' id '20c2c0d9-4c22-4179-81f0-68c2336ab995' date '06/23/2013' time '20:26:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.563' message 'implement TDMonticelloTool>>mccopy:from:to: ' id 'e919680a-d0cd-4a3f-9b58-c829da3ff03b' date '06/22/2013' time '10:48:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.562' message 'update deploy command man page ... tweak implementation ... add mc move command ' id '1e630a92-1af3-4bf7-97d6-97679b06ac0e' date '06/17/2013' time '17:40:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.561' message 'MCFileTreeTodeTool work ' id '4b26ca10-7cec-4af7-9828-29bbc3577f5d' date '06/15/2013' time '20:48:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.560' message 'add TDRoassalListElementBuilder in support of roassal ... proof of concept is complete ' id '5f7ade5a-6262-41fa-a719-04ba848c1152' date '06/12/2013' time '07:17:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.559' message 'have to create postLoadDoIt for tode to correctly initialize the tools...' id '40daf930-d6ff-4877-ba46-1c0471619455' date '06/06/2013' time '11:40:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.558' message 'fix a tode load/initialization error' id '23e2269a-4de6-466b-b638-d6ef1c91ea58' date '06/06/2013' time '10:20:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.557' message 'refactor ston command to make calling import/export from smalltalk easier' id 'e8cc848d-909f-4c77-920b-94feb59b6e82' date '06/06/2013' time '10:00:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.556' message 'restore some "required" #respondsTo: logic ... make it possible to inspect a TDObjectNode ... it is used in the inspector so you need to use ''.'' to see underlying TDObjectNode ...' id '3ee7dd8b-4b50-4c89-a938-2817d16c3ba9' date '06/06/2013' time '00:10:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.555' message 'fix nasty TDDirectoryNode bug -> make #copy ... fix editorAspect handling in TDDirectoryNodeClientListElementBuilder>>itemSelected:at:shiftPressed:...TDShellTool>>cat tweak...fix TDShellTool>>run objIn handling...' id '166f5a15-5c6f-4d7b-bc1d-c7ca929f10df' date '06/05/2013' time '22:46:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.554' message 'fix cross-session pkgs/configs bug ... doit/run now have consistent and complimentary interpretation and updated man pages that should make things clear ... add childNamed: to TDDirectoryNode, too...for TDExecutableLeafNode, at least generate some of the fields for manPage by default...update browse/find man pages ... ' id '176d8156-7e6a-44f7-bbcf-b1104ea7eb08' date '06/05/2013' time '13:41:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.553' message 'add TDDirectoryNode>>objectNamed: to simplify script writing ... add sh command...spawns a shell window on given object' id '37635297-9520-4b4d-be4d-5ced96a1c49c' date '06/05/2013' time '05:33:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.552' message 'add stack command for accessing results from result stack ... last 5 results ' id '3b50450a-c729-4010-b850-376046ce6377' date '06/04/2013' time '21:41:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.551' message 'rm removes multiple nodes....avoid IdentitySet when doing find command...use truncate: since we want ellipses...' id '291b2996-6f95-4852-9b46-902f2aac2003' date '06/04/2013' time '20:44:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.550' message 'add FileTree deployment tool ... doit/run commands can now reference nodes in currentNode as temp variables ... browse list command to support definitionList filtering ... implement #= and #hash for TDDefinition hierarchy ' id '8ba0341c-2120-4ddc-a956-fe4a6f17ba46' date '06/04/2013' time '19:14:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.549' message 'consistent use of TDEditorSpec (always supply an editorAspect)... working toward symmetrical operation of inspect and spawnShell (ESC).' id '7d993e0c-d4f6-44e3-9044-ac1c388068e8' date '06/01/2013' time '13:53:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.548' message 'rename listIndex iv in TDClientListItemAttributes to list, since the slot is now expected to be an OrderedCollection...#navigate editor aspect should be reserved to use as the default aspect that brings up the standard navigator for all objects; rename attributes for those that didn''t follow this convention...add some support methods to TDGatewayNode...TDStackFrameContentsClientListElementBuilder should be a subclass of TDDirectoryNodeClientListElementBuilder so that we sharing some important behavior.' id 'ee69107c-3c29-4bd5-84ad-78755a422fa4' date '06/01/2013' time '11:29:32' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.547' message 'rename listIndex iv in TDClientListItemAttributes to list, since the slot is now expected to be an OrderedCollection...#navigate editor aspect should be reserved to use as the default aspect that brings up the standard navigator for all objects; rename attributes for those that didn''t follow this convention...add some support methods to TDGatewayNode...TDStackFrameContentsClientListElementBuilder should be a subclass of TDDirectoryNodeClientListElementBuilder so that we sharing some important behavior.' id '79fcea83-702e-4eee-90b9-bee7816797c8' date '06/01/2013' time '11:23:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.546' message 'fix a few bugs that have crept in ...' id '9b95281c-2a12-40b1-bb47-9e9882701cd8' date '05/30/2013' time '07:44:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.545' message 'parentList must be an OrderedCollection' id 'f537be1f-cdd2-437f-9b6e-864cdf8e8e1c' date '05/30/2013' time '07:28:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.544' message 'convert from using parentListIndex to using parentList for TodeClientListElement and TDEditorSpec instances' id '32e37ff2-8dd5-45c2-87d1-f45636b63a7e' date '05/30/2013' time '07:22:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.543' message 'rename i.v. parentListIndex to parentList for TodeClientListElement and TDEditorSpec' id 'b84c23b8-6b53-462e-805c-097f20c34913' date '05/30/2013' time '07:14:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.542' message 'pharo port tweaks' id 'f762a9c0-95dd-42f7-9ea1-9315e1da8d90' date '05/30/2013' time '07:06:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.541' message 'displayOn: is already taken in Pharo ... replace with displayOnPolicy:' id '30b6c976-8d2a-475c-8899-1405a852e273' date '05/30/2013' time '06:41:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.540' message 'fix bug in TDObjectNodeBuilder>>childNamed:parent:ifAbsent: and get package/config selection working again ' id '3672aef7-6fb9-4158-af60-0d2c26f53441' date '05/28/2013' time '17:05:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.539' message 'Use OrderedCollection for portability (instead of Array) ' id '853a61db-629f-4b7e-a6eb-4be00fe98d7d' date '05/28/2013' time '14:05:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.538' message 'pull back #clientElementOop senders ' id '94e8d97d-093e-4e37-8ff5-239325da8ec1' date '05/28/2013' time '12:01:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.537' message '#className is overloaded ... use theClassName ' id '502b234d-8ce5-4100-9089-3dfc33638814' date '05/28/2013' time '07:51:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.536' message 'start work getting editors working in Pharo ' id 'e7a47418-3e28-440c-957b-19cf1901792a' date '05/28/2013' time '07:40:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.535' message 'isolate the GemStone-speicific classes for now ... ' id '243091d3-ce29-46e8-85fb-5200c700af44' date '05/28/2013' time '07:00:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.534' message 'portable man pages ' id '1ce61ba3-a149-4bab-adba-207bae94ac47' date '05/28/2013' time '06:35:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.533' message 'handle block source in portable manner ' id '3106d90a-6122-44c4-9817-0fd3e28e5e90' date '05/28/2013' time '06:32:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.532' message 'a little hackery to get past the initial phase ' id 'b9d00228-7205-4852-b5fb-9c67e4c0eb9f' date '05/28/2013' time '06:15:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.531' message 'push' id '27077131-29eb-4665-adef-934a3346f107' date '05/28/2013' time '06:02:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.529' message 'set up for registration of TDTopezPharoServer ' id 'b221645f-11f7-45dd-8734-aaa99fb2cbfa' date '05/27/2013' time '20:08:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.528' message 'pushing more things around ' id '437c4309-dfaa-42da-8093-3390c87ff4f5' date '05/27/2013' time '19:36:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.527' message 'and again ' id 'e78601f7-abd2-4e34-9e93-052772ff7ce1' date '05/27/2013' time '19:27:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.526' message 'tweak again ' id 'bfe5f558-b59b-4fbc-b13c-99f657dbb056' date '05/27/2013' time '19:24:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.525' message 'clean up another syntax error for Pharo ' id '63134730-b96f-4734-b342-faf5b3146b5f' date '05/27/2013' time '18:00:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.524' message 'porting to Pharo ' id '786db589-3e5e-4293-91ce-5cc831b5b835' date '05/27/2013' time '17:58:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.523' message 'move CharacterCollection>>printUsing: to Tode-GemStone-Server-Core ' id '77598ba2-4f88-4b56-a771-4687ca1fcf9e' date '05/27/2013' time '17:52:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.522' message 'Issue #25 ... re-packagin in preparation for Pharo port' id '863d36ee-c053-4afc-9239-37e8a641a246' date '05/26/2013' time '10:31:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.521' message 'fix limit oops man page ...' id '67e2ac2e-3814-48dd-b841-42da7676ac28' date '05/20/2013' time '15:42:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.520' message 'fix commit message logic... and again' id '3b51a577-0066-4379-b501-dcbc8f3bcdc5' date '05/18/2013' time '18:07:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.519' message 'fix commit message logic, again' id '5eae3bf9-0410-4b19-83c1-e0422e3bd8af' date '05/18/2013' time '18:06:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.518' message 'fix commit message logic' id '1bf18725-ab4f-49ac-9424-f272ef8101e7' date '05/18/2013' time '18:04:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.517' message '/home/image/commitMessage/' id 'f0c9374c-c5cc-4c8d-b894-8f220922fd20' date '05/18/2013' time '18:02:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.516' message '/home/image/commitMessage/' id '4ecde5f5-cfb7-4f86-b4eb-e8e48bc5703f' date '05/18/2013' time '17:49:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.515' message '/home/image/commitMessage/' id '710cdfce-9950-4568-b510-898eb247a348' date '05/18/2013' time '16:02:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.514' message 'cleanup the recent work on mm diff and extend to mc diff' id '17d1abf1-dab8-424b-b8a8-f03dc65b4449' date '05/18/2013' time '13:08:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.513' message 'add `blockVendor` to TDScriptLeafNode so that programatic tool calls can be routed to correct tool without going going through textual script interface...revamp TDDevProcessSuppot backup and diff using new approach ... refactor bu backup and mm diff commands in support of new approach' id '618dc0d9-ea41-4639-b6c8-16f69cad5030' date '05/18/2013' time '12:32:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.512' message 'refactor TDAbstractDevTool hierarchy a bit to accommodate the addition of TDDevProcessSupport ... added TDStandardTool above the tools to house the code related to installing generally available commands, commands defined in TDDevProcessSupport have to be invoked directly, but the code and manPages deserve to be managed in a class... sticking code for the image dev support into TDDevProcessSupport ... share some common commit code in TDMonticelloTool ... preparing for revising the commit commands a bit (maybe?)' id '499f55f1-cf9d-4ffb-b48c-77e4576839da' date '05/18/2013' time '08:41:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.511' message 'add commit-message-path to mm commit command. all list of configs for mm diff command. Use TDCommandLine for script execution.' id 'fa52792e-b76c-4d1e-8d0d-66b3f87a13cf' date '05/17/2013' time '21:43:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.510' message 'tweak ston command to support import/export commands ' id 'eb526e9b-7903-4101-ab09-c33a22e7b702' date '05/17/2013' time '19:45:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.509' message 'tweaks to gateway and bu backup command ... building up node structure for managing my development environment ' id 'a14bc42b-cf3a-4465-a290-178993b839b6' date '05/17/2013' time '16:50:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.508' message 'gateway tweaks ... tiner with mr packages command to more information in result array ' id '128ad95d-acd4-40c6-b4ad-39a32490bc90' date '05/17/2013' time '14:25:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.507' message 'implement gateway node ... gotta say it''s cool ' id 'ed31931a-0c8c-4135-a6b8-667132592795' date '05/17/2013' time '08:02:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.506' message 'finish up implementation of browse amethod command ' id '0f241b4a-d830-4dd5-a7a7-22571e1e04df' date '05/17/2013' time '06:26:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.505' message 'tweak mc load command to allow @ ' id 'fcd885b7-515a-467a-a754-b8ba6e070ae2' date '05/16/2013' time '20:26:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.504' message 'all # to be used in syntax to disambiguate #> selector from > shell redirect ' id '11fa94ae-7b6f-4a25-b3c6-24a99889b718' date '05/16/2013' time '20:10:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.503' message 'add find amethod and browse amethod commands ... revamp the SEE ALSO section for man page to give pointers to command block source and method where command is implemented ' id 'ccadf861-5d7c-41f6-8cd3-f3c76766d551' date '05/16/2013' time '14:50:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.502' message 'add implementation class name to TDManPage ' id '522b3aa7-d122-4c1d-8802-a782601d647a' date '05/16/2013' time '08:08:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.501' message 'start work on mmb commands ... ' id '0481461c-b72d-4dcd-9335-e9c7e182d7e1' date '05/15/2013' time '21:45:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.500' message 'with wider use of @ for commands, print command becomes practical and navigator view is a natural, since you can spawn a console window on navigator and then do operations using @ ... monticello tool commands revamped to use navigator whereever it makes sense.... ' id '34e9e8ec-b0a1-446f-8f35-fa48373dfe49' date '05/15/2013' time '20:00:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.499' message 'use #dotSelfObject in run and doit commands ... make references to objects in paths easier ' id '76707864-9560-47f5-9e23-65426d5cfac0' date '05/15/2013' time '16:33:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.498' message 'redirect operator (>) is functional ' id '0d90f8c9-1a81-423e-808b-380911a26e70' date '05/15/2013' time '16:22:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.497' message 'checkpoint...adding redirect operator ' id '82a35f19-c4cd-4cd3-b12a-563aed9c7ebf' date '05/15/2013' time '15:56:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.496' message 'fix a bug in creating backups record file ' id '5dc7072b-3bd8-4577-b319-ea1104065952' date '05/14/2013' time '18:27:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.495' message 'create TDGemStoneTool ... primarily backup/restore ' id '226f8ed6-edf2-484e-9781-405013db9190' date '05/14/2013' time '18:17:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.494' message 'add @ option to all appropriate shell commands and update man pages ' id '3aa86c00-2def-41e3-b4be-fe49483577c9' date '05/14/2013' time '10:58:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.493' message 'format method source for source and destination when doing diffs ' id '2a753497-8927-4ffe-8d82-2050c712cfa2' date '05/05/2013' time '17:17:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.492' message 'add browse diff and find methods commands ... improve implementation of find versions command ' id '6370eef1-4606-495e-9afe-39c2cde9442b' date '04/30/2013' time '18:18:38' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.491' message 'add accessor to make export command work better ' id '6d47daa9-c540-4bd0-9e6f-5012d2e82f17' date '04/29/2013' time '12:32:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.490' message 'Object>>dotSelfObject was not packaged correctly ... ' id 'a81f7954-a550-49fa-994a-457c3f7b64a9' date '04/12/2013' time '07:04:22' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.489' message 'Text should be directly editted with CMD-p (add Text>>printUsing:) ' id '140578bf-57d9-489e-b63a-c7d62b667608' date '04/12/2013' time '06:24:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.488' message 'tweak for CMD-p ' id '5a6e3c90-2d37-4c0b-a693-ae6b81137df8' date '04/11/2013' time '22:18:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.487' message 'clean up some misinformation in the navigator and implement CMD-p ... #printUsing: ' id 'e8912811-66f5-46a5-9481-f69e23cac18e' date '04/11/2013' time '21:02:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.486' message 'prepping for CMD-p command ... remove all the references to #print .... ' id 'b961dc5b-a012-4c4d-95af-588fb05449e3' date '04/11/2013' time '20:07:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.485' message 'get started on getting tests to pass ... step 1 eliminate spurious halts step 2 get debugger functional again ... step 3 will be to allow edit (using #print aspect) of objects from navigator ' id 'd91fb15d-72eb-43f7-8ddf-2796be59fc73' date '04/11/2013' time '17:27:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.484' message 'add TDEditorSpec to encapsulate the proliferation of editor arguments ... replace all calls to edit:... with editUsing: that takes a TDEditorSpec as argument ...finally allow for edit of String that brings up source editor and navigate object references to instances of String that views chars in string instead of the node view ... need to be able to bring up an editor on the string FROM navigator ' id 'ff780b7e-254d-4d71-9191-49600dfa16d2' date '04/11/2013' time '16:58:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.483' message 'using #navigate or #edit to replace #browse for editor aspect depending upon context ... ' id 'd94242a4-01ef-4bfa-b2d5-ef25155afb78' date '04/10/2013' time '17:17:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.482' message 'added builderAspect to TDNode remove aspect from TDDirectoryNode and friends to make reading code clearer ... ' id 'a22c0577-f031-4bb3-87ed-33a04fddbab5' date '04/10/2013' time '15:23:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.481' message 'checkpoint: dictionary toggles correctly between view and inspect builder aspects ... now struggling with how to handle String/Text ... want to be able to pop into source view, but navigator must _inspect_ it ' id 'f3cea256-c534-448b-a0eb-afed7829aff5' date '04/10/2013' time '08:07:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.480' message 'checkpoint: attempting to make sense out of #view/#inspect for builders and #browse/#inspect/#??? for editors ... mainly related to what happens with strings dictionaries and hitting the . line item hitting . should toggle not lead down a black hole ' id '8267c5a7-ad49-4540-a168-8e23226bd7f6' date '04/09/2013' time '17:05:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.479' message 'mc diff command should set package modified if it wasn''t already modified ' id '55627c7d-b175-4a22-8cbd-9b9a25415eb3' date '04/08/2013' time '10:24:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.478' message 'support for exporting keyboard mappings ' id 'eeec9389-8971-4458-ae00-74a60d679128' date '04/06/2013' time '15:28:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.477' message 'using TDManPage>>printOn: to write to filesystem ... need to use #lf instead of #cr. ' id '2b08b782-c4ea-40cd-8894-6c000702060f' date '04/06/2013' time '15:14:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.476' message 'not at all ideal translation from test to markdown ... need to use petitparser markdown parser ... then the man pages can be created in markdown format and translated to manPage Text or used asis for github ' id '15d35c04-9a37-412e-98aa-b5f5a0b02805' date '04/06/2013' time '10:52:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.475' message 'add first class man page object (TDManPage) ... rename .bin halo to .man ... ' id '1a95a816-82f4-4c48-ab2c-3a06d0bf5e46' date '04/06/2013' time '10:36:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.474' message 'add .keymap halo ' id 'bc5c5e3e-b458-4175-919e-227feb162b57' date '04/04/2013' time '16:46:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.473' message 'add .bin halo ... update man pages since summary is more visible with inspect .bin ' id '8747a2dc-21bf-4938-a5b6-8147ad863050' date '04/04/2013' time '16:22:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.472' message 'add windowBuilder instance variable to TodeClientElement as developer aid ' id 'ce7ddf0c-96b6-4413-8793-756c35b517ce' date '04/04/2013' time '14:00:40' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.471' message 'even more bullet-proofing ' id 'bb9b04dd-13a4-4770-bf84-2c247d280cd5' date '04/03/2013' time '12:07:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.470' message 'a little bullet-proofing ' id '9c360904-da4b-4a22-a636-a89d5f523a05' date '04/02/2013' time '20:53:31' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.469' message 'get db continue working for debugger with multiple halts involved ' id 'ac23fc2b-048e-4cdb-b81b-7cfd72bde913' date '04/01/2013' time '20:18:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.468' message 'move TDDebugTool>>gsMethodClass to proper package ' id '05f10364-d640-45b8-a095-35adf909dfc2' date '03/31/2013' time '09:28:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.467' message 'gsMethodClass needs to be a class method ' id '5fc6ee63-ee4b-4839-b7ac-77841a993894' date '03/31/2013' time '08:30:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.466' message 'checkpoint: basic shell functionality (including bringing up dewbugger) with GemStone2.4' id '99ac16c1-a3d8-4566-9219-cf33f5a9fdc6' date '03/30/2013' time '16:32:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.465' message 'resolving sent but not implemented in 2.4 ' id '4a5899c0-b44a-4a37-aa24-c33f40731a10' date '03/30/2013' time '09:32:30' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.464' message 'isolate some GemStone 3.1 specific class references/methods ' id 'a44e7a57-517b-4034-95ad-b0ad6146811b' date '03/30/2013' time '08:48:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.463' message 'another port issue ' id 'c18f63a4-750f-43f9-9f12-d22c6b76facc' date '03/29/2013' time '20:08:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.462' message '2.4 porting change ' id '2aa14413-ea7f-4e86-a69e-0cdc143e7714' date '03/29/2013' time '20:03:14' author 'dkh' ancestors ((name 'Topez-Server-Core-.461' message 'fixed a rendering bug in server ' id '60c78039-890c-46d8-a137-96afdc966c67' date '03/29/2013' time '18:08:04' author '' ancestors ((name 'Topez-Server-Core-.460' message 'stripped out obsolete unused classes and methods from server ' id '09d36025-99e5-4ede-a40c-e481b43152eb' date '03/29/2013' time '18:02:04' author '' ancestors ((name 'Topez-Server-Core-dkh.459' message 'server-side tweaks ' id '2fcdd07a-fe32-483d-8a07-562bc52cac99' date '03/29/2013' time '16:13:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.458' message 'implement doit command (equivalent to ./.self | run) ' id 'af6eaf57-9235-4927-9f38-58ccd21a21fe' date '03/28/2013' time '20:36:00' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.457' message 'implement history command ' id 'b94a823f-8480-4189-9c15-627487b79d74' date '03/28/2013' time '20:14:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.456' message 'add support for tab completion ... command completion functional, path completion not tested ' id '76ac8c08-e3d4-4f07-bf9c-f30220b455ba' date '03/28/2013' time '08:55:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.455' message 'implement mc revert command ' id 'ed26485c-276d-4131-8b07-2fef608b396a' date '03/25/2013' time '20:06:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.454' message 'fix mm list command ' id '7192ffb0-380b-4473-be06-dbeec55b44c9' date '03/25/2013' time '17:40:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.453' message 'implement mc recompile and extend mc browse to allow for using a package name (with no repo) ... Issue #14 ' id 'fec08dd6-11b5-43da-a884-388b2f1d5e76' date '03/25/2013' time '08:07:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.452' message 'implement mr flush command ... Issue #14 ' id 'd4267c33-98a1-4d49-b3d0-dce0c5ee762c' date '03/24/2013' time '17:34:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.451' message 'implement mc adopt command ... Issue #14 ' id '878eb029-0a38-46d2-b553-3ff5efb090d4' date '03/24/2013' time '17:18:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.450' message 'implement mc load command ... Issue #14 ' id 'f7603636-b0ce-4906-993a-e4464cfc3891' date '03/24/2013' time '17:09:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.449' message 'implement mc delete command ... Issue #14 ' id '9dbf4439-882f-47a2-a61c-3d4461b90089' date '03/24/2013' time '16:58:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.448' message 'implement mc copy command ' id '4d84bbec-63fd-4494-af4e-bd23b9f30d45' date '03/24/2013' time '13:41:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.447' message 'better label for method window ' id '5075303d-2a02-4e65-82f3-03acfb38c7c5' date '03/24/2013' time '13:27:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.446' message 'mc compare command implemented ... mm diff and mc diff commands now edit results and return a patch object (as does mc compare) ... no need for bin/diff script ' id 'f11f0fca-7a73-4eef-969c-c19d7e10f9ad' date '03/24/2013' time '12:44:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.445' message 'mc browse command implemented ... Issue #14 ' id '8de48ed6-54c5-42e1-92fd-aa2f5dc4192f' date '03/24/2013' time '12:03:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.444' message 'tweak ' id '5382f25c-e5d0-45bb-903d-c360f3a36475' date '03/23/2013' time '20:48:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.443' message 'implement mr packages and mr versions commands ... most of the MonticelloBrowser functionality is covered now .. Issue #14 ' id '4cdb1c56-323c-4c7a-8919-5ee9a528d1e0' date '03/23/2013' time '20:25:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.442' message 'rename mc history to mc ancestors and return ordered array of ancestors ' id '657ebf93-7486-4d99-89a2-e16b6bdc2e02' date '03/23/2013' time '09:24:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.441' message 'mr group and mre remove commands added for Issue #14 ' id '8bc6b617-7237-445a-8b11-068906ecbed1' date '03/23/2013' time '09:10:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.440' message 'add mc unload command ' id '4656833a-473d-4047-b0ee-e7c4f763dcca' date '03/23/2013' time '07:38:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.439' message 'improve TDMonticelloTool>>repositoryFromDescription: * ' id 'da904226-53a1-4447-ac6d-5c7622f761a7' date '03/21/2013' time '18:11:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.438' message 'CMD-v on package after CMD-c of method ... move method into package (Issue #14). mc list searches through the locator section of the url ... ' id '9f2aa456-c910-4987-b416-5ec4c2ea58a2' date '03/20/2013' time '21:05:16' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.437' message 'when class passed around as error argument, return it as the name of the class ... STON does not take kindly to serializing CLASSES ' id '5574ae6c-a0cf-4b4a-9556-7252987ceb80' date '03/19/2013' time '16:03:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.436' message 'Make the ''Please enter commit comment'' text bold ... ' id '559c6bca-d599-40d3-b3b6-3454ca82f461' date '03/18/2013' time '10:11:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.435' message 'change default character limit to 140 ' id '6a6aec44-5b14-42e4-a073-a5490d419567' date '03/18/2013' time '09:51:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.434' message 'allow use of CMD-m and CMD-n (implementors and senders) in a class/method definition list ' id 'd395a737-f67f-4942-a87b-9b74254d4194' date '03/15/2013' time '10:33:28' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.433' message 'found a couple places where I still need to use TDCommandResult ... when you need it you need it ... ' id '5697b880-e588-4930-abd6-2b8bab12746a' date '03/14/2013' time '07:23:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.432' message 'don''t need to use TDCommandResult _everywhere_ ' id '93e67502-2e0d-4160-8356-760b171b5ed2' date '03/14/2013' time '07:19:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.431' message 'use TDCommandResult ... everywhere ' id 'd16b946f-5b3f-4cb1-be6b-245d1d5a278a' date '03/13/2013' time '21:57:50' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.430' message 'insert TDCommandResult so commands have more control over how result is presented without compromising ability to pipe objects around ' id '1f7ac473-057f-4442-9641-95a5ed1de03c' date '03/13/2013' time '08:28:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.429' message 'rework mc history command ' id 'b133af3c-8093-4d26-9764-1c57cca25172' date '03/11/2013' time '08:26:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.428' message 'add find versions and browse versions commands (version history) ' id '3dec02fd-16e1-44ed-b187-e2b371a0bd5d' date '03/10/2013' time '22:36:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.427' message 'bump ' id '24e00f82-9b26-484a-b6d9-0a9cdf37a05c' date '03/10/2013' time '15:17:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.426' message 'bump ' id '3a9a1c47-afba-488f-afb6-7e488c0b2fbf' date '03/10/2013' time '15:12:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.425' message 'mr add, create, list implemented. CMD-v of class on package adds class to package. Package process tools separately (resolve a load order issue). Support dev scenario (with assortment of changes): 1. create package (mc create) 2. move class to package (CMD-v) 3. add package to baseline (manual edit of baseline) 4. diff for baseline package (mc diff) 5. commit baseline (mc commit) 6. produce diff for baseline (mm diff). 7. commit dirty packages in baseline (mm commit) ' id '82748474-fe6e-462f-917c-d74eaf6b950d' date '03/10/2013' time '15:04:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.424' message 'Issue #14: implement mc create command ' id 'bfd87de1-9a9d-49bb-9771-7cc2b94198f6' date '03/10/2013' time '11:49:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.423' message 'convert mc commands to use the mc method prefix ... ' id '58c9a255-9fe9-4fb4-82ac-5759898c9e63' date '03/10/2013' time '11:32:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.422' message 'rename TDTopezServer>>installChildrenAt: to TDTopezServer>>ensureChildrenExistIn: and use that in ston import to create path ' id '70c54abd-1832-47df-ab0a-04f24c42ee7d' date '03/10/2013' time '09:33:33' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.421' message 'a better take on the object log tools (`man ol`)' id 'db3bd1c0-5d22-4b9c-afb7-f78749f4ca14' date '03/09/2013' time '09:11:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.420' message 'add ol command for view object log...' id 'aa5ba7c2-88fd-49f2-99c5-e8d5ecb8f8bc' date '03/09/2013' time '08:13:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.419' message 'arrange for client-side global name cache to be reset at appropriate times ' id 'daea44a8-6938-4917-ab43-b361a2ef62b1' date '02/28/2013' time '12:03:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.418' message 'use correct messagePattern when regex is involved ' id '26b6a05d-f423-4621-ab4a-14fd1d616b05' date '02/27/2013' time '16:56:59' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.417' message 'fix infoant mortality session method bug and handle author initials automagically ' id 'bd433293-6f55-4ba5-8b34-c4362fa1aed4' date '02/27/2013' time '07:27:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.416' message 'remove spurious method ' id 'f5ac1c45-3f21-40c5-bc96-1d6cf13e0d3e' date '02/26/2013' time '18:44:57' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.415' message 'IndirectSymbolAssociation fix ' id '1c46c769-f563-4e89-bb86-5e7d3ef4dd58' date '02/24/2013' time '18:04:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.414' message 'a bunch of mods aimed at making it easier to work with class/method definitions ... filtering a method or class list and then rebrowsing ... ' id 'b69ed603-3b7d-45b3-a474-7bb6a8782543' date '02/24/2013' time '16:41:44' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.413' message 'create IndirectSymbolAssociation ... for handling local values of class variables ... hopefully allowing tode to manage packages and configurations for indirect development ' id 'f7c8d41f-8fa4-4e3b-9f47-a6c401addfad' date '02/24/2013' time '09:23:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.412' message 'a bit of work isolating rendering from under dev env ' id '8f874fce-48c7-4196-a547-1faaf1b530ca' date '02/24/2013' time '06:37:47' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.411' message 'possible to continue dirctly from client after reifying the error args so disable sessionMethods before returning control ' id '321e696f-15e0-4e27-b02f-65ae1cdfbe3c' date '02/23/2013' time '18:37:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.410' message 'need to reenable sessionMethods ' id '40fc382b-6cba-41b8-a464-80929d911d74' date '02/23/2013' time '18:31:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.409' message 'add ensureSessionMethodsEnabled and disableSessionMethods calls to insulate the execution of code in context of dev environment form the tode session methods ' id 'f458ab18-fe18-4069-87ae-100e65aa1d3a' date '02/23/2013' time '18:09:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.408' message 'arrange to look up tode tool classes through TDTopezServer so that tode does not have to be installed IN the dev environment ... view now takes an aspect to facilitate filtering methodDefinitionLists and friends ' id 'c8e4044f-ff5e-4017-bd72-393c54318de6' date '02/23/2013' time '16:39:58' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.407' message 'checkpoint ... tweaking indirect access ' id '213beafc-454f-4f84-9270-6c1308b23bef' date '02/23/2013' time '11:18:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.406' message 'working on supporting indirect access...use tode as development environment for a gemstone user that does not have tode directly installed in his environment ' id 'ced57116-387b-4c6c-9648-f678b83f3a80' date '02/23/2013' time '09:56:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.405' message 'if autoCommit is disabled, turn the promptString red ' id '3979f7e1-04c9-4489-b928-c3386b831c08' date '02/21/2013' time '18:31:55' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.404' message 'keyboard shortcuts for debugger: $i, $o, $t for db into, db over and db thru plus label the debugger shell window correctly ' id '0cc1e14e-ca3f-42d1-8bdb-606e3174f7e9' date '02/18/2013' time '09:28:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.403' message 'fix a bug ' id 'a7828563-a66e-483c-90e0-2e0bde45a95f' date '02/18/2013' time '08:36:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.402' message 'add CMD-T to pkgs and configs windows ... extract test classes ' id 'd2648500-b802-4b59-a250-17e7726416a8' date '02/18/2013' time '07:49:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.401' message 'parentList has to be a stack ... ' id 'df66af70-5bc3-4064-9a24-7f5239b3b698' date '02/17/2013' time '15:10:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.400' message 'arrange to highlight the item in the parent list when clicking on .. entry in navigator ' id '3a855c71-bb31-4d83-b482-2f5bdded8e4b' date '02/17/2013' time '13:35:51' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.399' message 'checkpoint ... converting to server-side formatting ... query block formatting problem outstanding ... ' id '51cb89eb-ab0a-4eb0-9e46-8311217bdd44' date '02/16/2013' time '13:22:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.398' message 'reset pkg and config cache when you run pkgs or configs commands ' id 'e0eed057-c829-48c8-9917-4de9a1d7f173' date '02/16/2013' time '12:16:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.397' message 'fix bug in ston script handling ' id '7c7b1304-11b0-4897-80a4-f4b9f9307de9' date '02/11/2013' time '13:35:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.396' message 'fix the CMD-o implementation ' id '2b1a2ecb-a2f7-4270-945a-bab77e4fa01f' date '02/10/2013' time '20:02:49' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.395' message 'mm diff with no config name diffs all dirty configus ' id 'df4a2a85-2fe8-4b3c-88ec-8b176bf1ef3f' date '02/10/2013' time '15:49:10' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.394' message 'fix mc history bugs ' id '0dfb2479-c580-4d7b-b8a5-9f748bd0760c' date '02/10/2013' time '15:01:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.393' message 'add mm commit command ... ' id '3ad6ba45-4675-4477-8e07-0ec03e2213cc' date '02/10/2013' time '14:41:58' author 'dkh' ancestors ((name 'Topez-Server-Core-DataCurator.392' message 'text highlighting for diffs ... mm dirty, mm get, mm diff, mm list commands implemented ... ' id 'c5372603-fd71-42b6-a62e-2977263bb999' date '02/10/2013' time '13:23:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.391' message 'examples additions and tweak context labels (always have (self) show up) ' id 'b7d6d93a-8691-415e-b1ec-a775f7c27bb7' date '02/10/2013' time '07:24:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.390' message '' id '0f01496e-8d27-4795-aa92-a4caaacd6ac1' date '02/09/2013' time '17:57:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.389' message 'set MCPlatformSupport class>autoCommit and autoMigrate ... authorInitials, too ' id 'ffd105ab-944f-47c0-97e6-aadb3b9cd289' date '02/09/2013' time '17:37:03' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.388' message 'refactor TDDefinition hierarchy to accomodate method templates and add a behavior definition to fix a paste bug ' id '3ec60937-17e7-44f7-b0f7-a91896126aa3' date '02/09/2013' time '11:11:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.387' message 'checkpoint ... generate compilation errors when saving st leaf node ... working on correct behavior for method source view when a different selector is saved ' id '745cb46e-7bdc-4e9e-a528-60f61330085d' date '02/09/2013' time '10:21:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.386' message 'revisit commit on key press ... only commit for selected key press events ... implement ston export and ston import commands ... ' id 'c82c4afd-be3d-45f5-9bd8-26768fb0ec91' date '02/09/2013' time '08:40:29' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.385' message 'commit after all key clicks ' id '4d1d18db-0714-4c78-8153-d9602faba4b5' date '02/08/2013' time '18:17:43' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.384' message 'fix duplicate Hierarchy window opening... ' id 'f4cd825f-5e18-48ee-bd1d-e667e9ed4759' date '02/08/2013' time '17:58:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.383' message 'bugfix ' id 'bb78f387-287a-4770-9b3b-b1656950df1c' date '02/08/2013' time '13:29:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.382' message 'fix TextAttribute filtering so SHOUTed text can be saved ... tweak profile tool ' id '56f47993-f7ad-4c78-8c32-a705d043009c' date '02/07/2013' time '21:19:23' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.381' message 'add profile tool ' id '473d5c3e-7598-41ef-a9b1-fa90dabdccea' date '02/07/2013' time '20:23:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.380' message 'fix sendesOf bug ' id 'a49475be-e488-4967-ac1f-72a290bcc25b' date '02/07/2013' time '17:23:06' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.379' message 'need to pass the live edit source on code editor keyboard events ... CMD-b, CMD-N, CMD-m, and CMD-n honored in all text based editors ' id 'ed6d54bf-8772-48c4-9363-74559429695b' date '02/07/2013' time '16:23:26' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.378' message 'CMD-B from source window ' id '80e8e349-f89a-4239-bd1b-03bd117d7f60' date '02/07/2013' time '15:07:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.377' message 'CMD-N references looking good ' id '52980149-c0bf-49cb-bf64-51fb2a89ad0a' date '02/07/2013' time '14:52:56' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.376' message 'checkpoint ... implementing CMD-N ... ' id '5c0c775c-0eb8-4016-882f-3e89d76ea6a2' date '02/07/2013' time '14:44:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.375' message 'checkpoint ... implement find references and browse references ' id '9969a19b-b702-4265-bcd8-e6dea7838293' date '02/07/2013' time '13:38:08' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.374' message 'seal the deal on messagePattern highlighting ' id 'a73f738c-7cda-4f3f-be9b-c31940d7711a' date '02/07/2013' time '12:26:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.373' message 'checkpoint ... working on messagePattern implementation so that selectors are highlighted for senders/implementors, etc. ' id '33e29b5d-6d7b-49d0-b190-8a59d466f484' date '02/07/2013' time '11:57:17' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.372' message 'tweak senders implementation ' id '4226d08b-4b61-472d-8816-29ddcab983b8' date '02/07/2013' time '10:14:26' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.371' message 'finish off implementation of find command and add browse command which brings up navigator on results of find ' id '89efcf2f-fa0f-4271-b4dd-7b6b7bc50b0a' date '02/07/2013' time '10:09:39' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.370' message 'CMD-m - browse implementors and CMD-n - browse senders appear to be complete ' id '21bda223-1b82-4d39-8ac3-f13f95338b48' date '02/07/2013' time '08:08:35' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.369' message 'do not use #defaultEditorWindowName unless you really want all of the windows to be shared ' id 'e79f3b1a-b374-4e7f-b0ae-dfda118f339c' date '02/07/2013' time '07:30:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.368' message 'checkpoint ... CMD-m CMD-n ... add #methodDefinitionList for special handling of TDMethodDefintions... ' id 'b02445f6-9682-4139-a494-040cf1542037' date '02/06/2013' time '22:12:36' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.367' message 'checkpoint ... CMD-n - sendersOf ' id '680188e0-d8d7-432b-8137-b04cb04fd56c' date '02/06/2013' time '21:11:43' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.366' message 'checkpoint ... CMD-m - implementorsOf ' id '4066449e-cba3-4106-9277-c6ada939c65b' date '02/06/2013' time '20:53:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.365' message 'more CMD-b implementation ' id 'cfc410da-2b74-4860-9a9b-23ed8d46ebc9' date '02/06/2013' time '20:05:59' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.364' message 'CMD-b browse class implementation ' id '1e597f2c-dd84-400e-8eb2-5ee2082a1688' date '02/06/2013' time '19:43:21' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.363' message 'CMD-k is set breakpoint ... CMD-b will be browse class ... later ' id '879c5a06-42a1-42d5-92d9-476976090c3c' date '02/06/2013' time '18:40:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.362' message 'Hierarchy window should recalculate hierarchy when selected (and avoid recursion) ' id '4a67d642-05b0-406a-9b8a-1dbc850c48bd' date '02/06/2013' time '18:18:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.361' message 'checkpoint ... getting good start on find command ' id 'f233f7b6-e63e-4096-9e09-8a2169e70cba' date '02/06/2013' time '08:45:13' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.360' message 'CMD-o - open method template is functional ' id 'a9d0ca38-71d0-4ac2-b099-167c84d5bdf3' date '02/06/2013' time '02:47:13' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.359' message 'implement CMD-x - cut object ... straighten out CMD-B and CMD-v a bit ' id '76ba71e7-66f9-4632-9629-892ff77d9829' date '02/06/2013' time '02:09:59' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.358' message 'make another pass over CMD-B - browse class hierarchy ... cache clientElement on spawn ' id '232f8f3c-d860-45ad-81df-783c4dcd0c2d' date '02/06/2013' time '01:15:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.357' message 'checkpoint ... implementing CMD-v - paste object ... pause for keep alive action for spawned hierarchy elements ' id '70d6a8fc-5cf2-4114-9f8c-2d20d73e902a' date '02/06/2013' time '00:09:06' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.356' message 'CMD-c - copy object ... implemented ' id 'a892f53d-737f-416a-b20b-f8d65e685c28' date '02/05/2013' time '23:10:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.355' message 'polish off CMD-b set breakpoint ' id '7fc663cf-671a-41e9-a97f-409962a39877' date '02/05/2013' time '22:13:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.354' message 'CMD-b in editor implemented ' id '9e14ea45-b23a-45f4-a9b0-6dc69119f390' date '02/05/2013' time '21:53:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.353' message 'CMD-E functional for configs command ... very sweet ' id 'b79c569e-bb85-430d-b0a9-6141ff6d3833' date '02/05/2013' time '16:48:19' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.352' message 'include extension methods in list and add semantics for selecting the extension method ' id 'd73fd80a-ed15-4921-925c-34334d8afccf' date '02/05/2013' time '15:46:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.351' message 'first cut at CMD-E for pkgs list ... no methods included (yet)... ' id 'bcc9c268-daae-48f5-9a35-ef91f8eb3746' date '02/05/2013' time '15:16:24' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.350' message 'configuration selection is now functional ' id '6768a67e-21a4-44ad-8ebe-025dc70617be' date '02/05/2013' time '13:32:39' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.349' message 'optimize the update logic ' id 'ea179bd3-54e2-4fc5-992e-f205a22193a8' date '02/05/2013' time '11:39:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.348' message 'select package in pkgs list when class or method is selected ' id 'd64a2fef-abab-4019-a230-2ad78e4291e1' date '02/05/2013' time '11:36:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.347' message 'add pkgs and configs comands ... includes necessary support infrastructure changes ' id '8fba2e3b-9a0c-42c7-ad34-bfde7a4853b2' date '02/05/2013' time '10:32:11' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.346' message 'add TDDefinition classes ... ' id 'bafd8f71-a0f8-41cb-9788-4803defcf9d1' date '02/05/2013' time '08:22:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.345' message 'minimal change necessary to get acceptable behavior from edit command in navigator window ' id 'f1ec117a-7e9f-4ae1-9dd1-0986429eefa3' date '02/04/2013' time '20:00:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.344' message 'settle on CMD-B as browse class hierarchy ... remove CMD-b no mapping right now ' id 'c013af92-eff0-4151-9c5c-4675e460e060' date '02/04/2013' time '18:41:50' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.343' message 'CMD-b is working correctly (from navigator opened in #view mode) ' id 'b054c1d9-4514-4d89-bcd5-d038dc0a1df7' date '02/04/2013' time '18:16:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.342' message 'click on class in classlist opens hierarchy ... CMD-b in navigator goes to hierarcy not class list: BZZZT wrong (correct for CMD-B)... click on string browses string in place: BZZZZT wrong ' id '3b0d23bf-160c-442b-b41a-f48b9602b92f' date '02/04/2013' time '16:59:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.341' message 'no Shift-clicked logic ... selectionIndex can be specified when opening window ... use selectionIndex for class hierarchy and class list ... ' id '6f9463d8-ea72-458a-b1f5-a5588ac0e826' date '02/04/2013' time '16:42:09' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.340' message 'avoid truncating (via characterlimit) man page... secret? return as Text as Text is not truncated ' id 'acc65870-3931-4fb0-8af2-4f6bf5ebf2be' date '02/04/2013' time '15:15:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.339' message 'open debugger when DEBUG button pressed ' id 'aaac67e5-88c9-4f9c-8deb-8b0b63447764' date '02/04/2013' time '15:03:05' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.338' message 'tests are passing: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ... (value) applies to ALL specials ' id '5d598460-529b-4225-a37b-e397dcd3a326' date '02/04/2013' time '14:17:38' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.337' message 'propogate windowName through navigation ... (value) used only for specials ... ' id '691afb91-b038-479c-9828-9563744acaff' date '02/04/2013' time '13:52:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.336' message 'toggle between #view and #inspect for . in navigator...preserve requested aspect across lookup ... ' id 'bc74156c-5592-4f7f-a65b-9bc0482d4ab1' date '02/04/2013' time '11:56:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.335' message 'add (class) and (oop) fields for Dictionary view ' id '49be26ee-176a-4613-98a7-0c5058088b17' date '02/04/2013' time '11:11:59' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.334' message 'a little bit of cleanup and tests are green: 23 run, 23 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes ' id 'a6f5e686-ea0b-44f4-bbee-5965263d1fcc' date '02/03/2013' time '09:33:07' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.333' message 'add notion of minimal ... skips oops but shows class, etc. collapse displayOn: ' id '089d5412-f5ae-46c9-90f5-7508313831ec' date '02/03/2013' time '09:21:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.332' message 'display policy initial implementation appears to be complete ... testing and clean up needed ... ' id '5ac44a9c-7022-4c75-b6f5-2e165105b9b5' date '02/02/2013' time '09:18:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.331' message 'move displayOn: and friends to server core package ' id 'e6085f4b-c9a8-4a52-89c3-b23207bd026f' date '02/01/2013' time '17:10:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.330' message 'checkpoint ... getting started on display policy ' id 'daedf6e2-a0d6-4da6-b7de-1485d2a0e51d' date '02/01/2013' time '17:07:09' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.329' message 'CMD-b is functional (mostly), but I do have to work on the semantics of CMD-b in the various windows ' id 'ea98a559-4240-4e73-8db9-36e636584bb3' date '01/27/2013' time '22:36:23' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.328' message 'allow specification of windowLocation when doing an edit... ' id 'b2706ea4-59ba-45c1-8185-04fb5ac62469' date '01/27/2013' time '21:03:19' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.327' message 'start work on CMD-b mapping ... leads to detour to expand the args for #edit:... message ' id '3ed56075-19e7-43eb-96e7-aa25ad7278c2' date '01/27/2013' time '20:47:09' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.326' message 'tidy up CMD-C spawn window implementation for navigation ' id '2764e5e7-f284-4b14-b762-b8ca45d5c58c' date '01/27/2013' time '13:06:23' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.325' message 'checkpoint ... working on spawnWindow logic ' id '360ffa19-d359-465b-b9f8-60d5d1d0383e' date '01/27/2013' time '12:28:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.324' message 'checkpoint ... initial cut at first few (special case) events ... ' id 'e17dc382-4692-4b54-85f0-c91f835b975b' date '01/27/2013' time '11:39:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.323' message 'checkpoint ... continued handle event work ' id '95ba1cb7-c996-4c4c-89dc-c7d6bd62f3e0' date '01/27/2013' time '10:41:18' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.322' message 'deconstructed browser has been reconstituted in tode ... keyboard shortcuts on tap ' id '0955356a-ae34-434c-94b4-d8383c06a7ba' date '01/27/2013' time '02:15:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.321' message 'class definition window functional ' id '62898832-c088-44e7-97b8-dc7b0d209420' date '01/27/2013' time '01:13:38' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.320' message 'dictionary #browse defined ... clean up general navigation nits ' id 'e9d6a32d-12ce-4f2d-b162-c5e07a709762' date '01/27/2013' time '00:45:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.319' message 'ESC is marginally functional ' id '943f4a08-af5c-4659-89e7-d137639af839' date '01/26/2013' time '23:51:11' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.318' message 'checkpoint ... ESC is ready to test ' id '13eca5b2-15f2-4eca-9174-3aa357a94faa' date '01/26/2013' time '23:27:47' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.317' message '23 run, 23 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes : after work started 62d22ae360377696b94589bef6c454ace5028a82 ... with a healthy dose of debugger work: db thru and friends ' id 'da98d29f-f8c1-446d-87f6-53a946a9e12b' date '01/26/2013' time '22:41:03' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.316' message 'checkpoint run|run is now working as script and interactive ... still need to look into process termination situation ' id 'ea1dd0cb-bb0b-425d-ae1e-0643d39b2925' date '01/26/2013' time '21:28:36' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.315' message 'run | run works as topez script but not as input in REPL (wrong return value) ... also halts/breakpoints while executing run scripts may not quite work right ... ' id 'cc71b886-f4d7-4b7e-8789-12adfc9d63f1' date '01/26/2013' time '21:02:57' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.314' message 'checkpoint ... windowIsClosing is coming together ' id '6c3ce466-bf1c-4a2c-8926-ad8358593de9' date '01/26/2013' time '18:04:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.313' message 'checkpoint ... run | run problem ' id '41b002ff-1902-4659-802a-926fe21d60f1' date '01/26/2013' time '17:16:56' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.312' message 'run inside topez script is now basically functional ... piped run commands don''t quite work (last result is not returned) this is at command level ' id '85c146ac-beea-40e9-8f2a-6cc78afd27b8' date '01/26/2013' time '15:55:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.311' message 'add index example, fix object pipeline in topez script node ' id '908e2149-a6d3-4179-a497-80ba8e00993e' date '01/26/2013' time '14:39:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.310' message 'fixed issue noted in 62d22ae360377696b94589bef6c454ace5028a82 and fixed infant mortality bug in db thru ' id 'b2a1d4aa-d977-48cf-ac2c-17540850ce57' date '01/26/2013' time '09:17:53' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.309' message 'add autoCommit logic to TodeClientSourceElement>>source: (and friends) ' id 'db0586a6-b0b3-4dbc-bf89-01465394c072' date '01/26/2013' time '07:17:05' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.308' message 'checkpoint ... arrange for final aspect to be passed along after lookup to avoid propogating an aspect that doesn''t match the aspect you ended up using ... txtnodes and friends are losing their parent object somehow during navigation ... ' id '74556eb8-4c60-4baa-a3c3-f22ff7cfe85f' date '01/25/2013' time '17:26:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.307' message 'tweak ' id '24b2aabc-3256-4014-a6f8-1bc5318dafdb' date '01/25/2013' time '16:12:19' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.306' message 'add shift clicked logic for browsing ' id '97e691f9-be3c-4bf4-a3d1-53157978e188' date '01/25/2013' time '15:16:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.305' message 'checkpoint: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ... convert from #edit #inspect to #browse #view #inspect ... still some rough edges ' id 'fc9521ff-8b03-4d84-b9ed-3f67fc12c6cc' date '01/25/2013' time '14:57:56' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.304' message 'direct edit of class will open Hierarchy window ... no click action ... need to add a ClassNodeBuilder to allow mapping of class to Hierarchy window ... should come up with better way since we''re transforming the Class to show up in inspector window... ' id '173fa96e-86e3-4f8d-8fcb-4bbc1368b024' date '01/25/2013' time '02:06:43' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.303' message 'checkpoint ... 20 run, 19 passes, 1 expected defects, 0 failures, 0 errors, 0 unexpected passes ... still need to validate that tests are exercising the code correctly ' id '00c274c7-5986-4d2e-88f9-23011d1da746' date '01/25/2013' time '01:50:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.302' message 'checkpoint ... working through class hierarchy list element issues ... ' id 'adc8df3d-617a-440b-9a06-69170b46f362' date '01/25/2013' time '01:03:23' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.301' message 'make pass through tests to accommodate all of the special handling: 19 run, 18 passes, 1 expected defects, 0 failures, 0 errors, 0 unexpected passes ' id 'c69dfb39-9449-48e5-8adf-9bc205e6caff' date '01/24/2013' time '23:36:05' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.300' message 'add node builder for the specials and add special fields to inspectors: ''(class)'' ''(oop)'' ''(value)'' ' id '40b8ee44-e979-402b-8d22-72e7d81f602f' date '01/24/2013' time '22:36:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.299' message 'scrape off a couple of barnacles ... ' id '40ce9c36-3dc7-4768-991a-62f372814ced' date '01/24/2013' time '18:42:44' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.298' message 'test restructure ... start on #browse aspect ... desire to toggle aspect (between edit and inspect) on . item, but still working out kinks ... edit vs inspect on String is diagnostic at the moment ' id '7e930ecc-ec1f-47d3-8f57-405d736838d3' date '01/24/2013' time '17:22:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.297' message 'finally get that last test for TDTxtLeafNode to pass ... finally realized that given the constraints of the test STON version of output is CORRECT...16 run, 15 passes, 0 expected failures, 0 failures, 0 errors, 1 unexpected passes ' id 'e0948266-a640-45c5-a7dc-7a3093394f4e' date '01/24/2013' time '15:19:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.296' message 'parent for node and clientList elements can be any object ... very important ' id 'baac4ef1-904f-4143-9604-ede030771ceb' date '01/24/2013' time '13:20:02' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.295' message 'editor for directory node looks good ... editor for stack frame looks good ... transition from directory node back to stack frame (following .. chain) not so good ' id 'a419b99d-6a55-4fa6-b8c7-ce4aaf28b2cb' date '01/24/2013' time '12:54:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.294' message 'when editting the parent can be any old object ' id '20fcc907-126b-4e89-a73c-1c414ad0daee' date '01/24/2013' time '11:12:16' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.293' message 'fix continue command ... use #inspect aspect for .self and .node ... have to reset topez instances when system reset ... still have issues with running tests after reset ... when I debug I get proper behavior ... ' id 'efb07a25-c002-4e07-9131-d5f939edf528' date '01/23/2013' time '21:07:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.292' message 'fix test running issues ... pop ' id '379285a7-841b-4161-afab-9e21cdb49621' date '01/23/2013' time '18:30:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.291' message 'renamed and refactored test hierarchy and started adding shell command tests ... hit an issue with running tests that needs to be addressed (related to using TransientValue methinks) ... some additional bugfixes ' id 'fb2b848a-e57a-4a0e-b1d7-44580c6cd891' date '01/23/2013' time '17:25:03' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.290' message 'convert Object>>edit:topez:aspect:windowId: to use the windowBuilder code ... eidt/save different text nodes ... debugger is basically working except for the failing test case: 19 run, 18 passes, 0 expected defects, 1 failures, 0 errors, 0 unexpected passes ' id '08b284bb-531a-4b5e-92e4-8a5b7bff1487' date '01/22/2013' time '23:26:11' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.289' message '19 run, 17 passes, 0 expected defects, 2 failures, 0 errors, 0 unexpected passes ' id 'c435c301-08b8-4837-8d8d-602b16ab76b5' date '01/22/2013' time '15:29:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.288' message '19 run, 14 passes, 0 expected defects, 5 failures, 0 errors, 0 unexpected passes ' id 'fa8cf767-897f-447a-ad5b-34949b1925fa' date '01/22/2013' time '14:59:18' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.287' message 'homeNode needs comment too ' id '2084ac63-d9e3-42fb-99da-7ba3c8de8225' date '01/22/2013' time '14:33:07' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.286' message 'instances of TDTopezServer are referenced by persistent objects, thus making TDTopezServer persistent, however a number of the instance variables (serverStatus, objIn,accumulateBlocks and homeNode) can reference instances of objects that may not be persisted like socket or processScheduler .. so we have use TransientValue to isolate these bits and pieces ... ' id 'ed8094dc-03c9-45b9-8a94-bf1e8ca17de9' date '01/22/2013' time '14:31:16' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.285' message 'ran into a ps bug while improving debug tool tests, so added ps tests: 19 run, 9 passes, 0 expected defects, 3 failures, 7 errors, 0 unexpected passes ' id '952352a3-a24a-42c7-90cf-4f81d93ca9a3' date '01/22/2013' time '11:36:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.284' message 'define editors for stack, stackFrame and leafNodes ... those were the missing editor definitions ... add tests (currently failing) for all of the added editors ... ' id 'd060d863-ddfe-4814-aefb-6be416d7799a' date '01/21/2013' time '18:27:24' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.283' message 'I thought I said: no #inspect aspect for window builders ... inspect command shoud provide focus for how inspecting will work moving forward... ' id '7f95aa91-92e3-4d32-a8bb-bdb3f73a03a3' date '01/21/2013' time '16:39:20' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.282' message 'add inspect command ... ' id 'ef8fed61-90c3-475e-bf43-fde9b36d9444' date '01/21/2013' time '16:35:24' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.281' message 'add an additional test case ... get tests passing (almost) again ' id '62d7cca1-3f9d-479f-af34-bc3ab0d8dbd3' date '01/21/2013' time '16:00:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.280' message 'working through issues ... ' id '835fd4a2-6b04-4b28-a1f2-3d26c816047a' date '01/21/2013' time '14:25:17' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.279' message 'change default aspect to #edit ... #inspect for node builders is a ''standard'' object builder representation of the object ... why is String not cooperating? ... no #inspect for editors ... aspect for edit is used to provide different views of the same objects within different tools ... aspects for nodeBuilder provides transforms of the same objects for different tool ... for a particular tool, you can transform and look at standard view of no transform and look at non-standard view ... no need to couple edit and node builder .... object nodes propogate the aspect for transforms and there is no need to coordinate with the view ... ' id '93d7c0da-c1d5-4adc-a836-013de4c11f7d' date '01/18/2013' time '08:20:52' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.278' message 'generate a testSuite file for each tool and generate a master testSuite for all tools ... ' id 'cff02608-5318-496f-bd0e-e5f7f3818675' date '01/16/2013' time '17:03:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.277' message 'add displayOops and characterLimit to shell tool ... current set of shell tools are passing ... ' id '92ebac4c-1198-43f3-8857-0631a925806b' date '01/16/2013' time '15:46:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.276' message 'finally get TDDirectoryNodeClientListElementBuilder up to snuff ... again need to make displaying oops optional for testing purposes ... of course option oops will be useful for devs as well ' id '6911d1d3-e4e3-4862-b3db-036b77c6b703' date '01/16/2013' time '08:05:04' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.275' message 'don''t dink with nodeBuilders during tests ... move testSuite up one level to make it more accessible ... push server tests around a bit ' id 'a2d6e199-3d76-4935-bce5-a3b032214ab5' date '01/15/2013' time '11:00:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.274' message 'adding initial test case for window builder ... fix some test result display issues ... checkpoint while I revamp testing framework: cannot afford to break basic debugger functionality for the sake of a test:) ' id 'ca624f24-4bdc-4d26-a626-dcd3c92e432a' date '01/15/2013' time '08:47:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.273' message 'start work on WindowBuilder logic ... ' id 'a6060515-f5d5-4a66-942c-8aea0a30458c' date '01/14/2013' time '17:48:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.272' message 'splice node builder in at Object>>asTDObjectNode:topez:aspect: ' id '3d7bee85-1600-47ec-a6cd-a0ce9b6252b9' date '01/14/2013' time '12:04:04' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.271' message 'add displayOops arg to tzNodeDisplay... use it in TDTopezServerTests ... both new tests pass ' id 'dcf5ece3-9704-4f3b-841b-7b0f37f68404' date '01/14/2013' time '08:21:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.270' message 'add test for TDTopezServer>>buildNode:for:aspect: .. not passing yet ' id '97e12faf-c1ca-4db5-98ae-5fa3fdc048d6' date '01/12/2013' time '17:04:09' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.269' message 'stage is set to replace implementation of Object>>asTDObjectNode:topez:aspect: and friends ... same renaming and repackaging left over from addition of test package ' id 'ea653a2e-ff69-412f-b5e8-11d85085a306' date '01/12/2013' time '16:08:13' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.268' message 'nuked the failed builder experiment ... newer approach is superior ' id 'bbc8875a-277b-422e-8c6e-34c42b9d87f9' date '01/11/2013' time '19:30:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.267' message 'builder registration logic ' id '863be3fe-14f6-48a1-9070-e01dd895c592' date '01/11/2013' time '19:08:38' author 'DataCurator' ancestors ((name 'Topez-Server-Core-dkh.266' message 'package up debug tools and debug tools tests separately' id '97ade43a-5e35-4ce0-9d25-8d436649fa7a' date '01/11/2013' time '16:39:42' author 'dkh' ancestors ((name 'Topez-Server-Core-DataCurator.265' message 'another crack at node builder implementation (I like this variant better ... not complete) ' id 'e10bfc3e-32cc-4a32-8517-bf98db49a319' date '01/11/2013' time '16:20:49' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.264' message 'building TDNodeBuilder class hierarchy ... centralize the building of client elements and object nodes, etc. ' id '96a493c3-a57e-4513-90b4-bd5497aa665f' date '01/10/2013' time '21:41:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.263' message 'a bit of cleanup ' id '9ec80fd3-6a7c-44bd-941c-147620a64bf3' date '01/10/2013' time '10:04:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.262' message 'straighten out inspector navigation ... ' id '9a0d0bfe-33c0-4d08-9523-967b55581a49' date '01/09/2013' time '20:36:00' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.261' message 'restore String edit capability ' id 'acdc56ab-0c59-4a1d-bcf8-383fe53c8523' date '01/09/2013' time '16:18:48' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.260' message 'final couple of tweaks to correct problems with the first* caching ... back to original functionality but with many fewer round trips ' id '5a6fbc7c-e23a-4812-bbb8-b31d238b0e76' date '01/08/2013' time '16:56:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.259' message 'TDStack should not _require_ an exception ... ' id 'f8341386-3b82-43e7-9591-3a68f8268308' date '01/08/2013' time '16:16:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.258' message 'finished another round of round trip reduction ... seems that the context window update has been lost ... ' id '651b2041-93c9-424f-9185-4fbe75fd98f7' date '01/08/2013' time '08:19:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.257' message 'checkpoint ... partway through filling clientElement caches: TDDirectoryNode>>clientListElement and TDStack>>clientListElement implemented (first cut) ' id '61e41373-21e6-4c44-85bd-e49a41d00158' date '01/07/2013' time '08:18:17' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.256' message 'caching firstList and firstSource in ClientElements to reduce round trips for opening a window ' id 'd2e4197e-2374-48a6-807f-0a50b6d2e0a1' date '01/07/2013' time '07:55:59' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.255' message 'TDTopezServer>>reifyExceptionArgsForOopList:classNamesForOopList: serializes the exception args in there entirety ' id '38926abf-8b53-46ae-b4c2-2ca611639477' date '01/06/2013' time '19:58:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.254' message 'xxx ' id '070af2a3-5a29-4328-91d9-239851ce966c' date '01/06/2013' time '09:54:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.253' message 'checkpoint .... working through login issues, client forwarder handling (on server), tracking down/eliminating source of pharo deadlock/infinite loop ' id '41fb838a-0250-41ed-9524-120559c0b4e8' date '01/06/2013' time '09:17:12' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.252' message 'checkpoint ... reducing round trips during login ' id '793e8a2b-48e3-4121-b6d1-525ad73e1b83' date '01/05/2013' time '20:33:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.251' message 'TDTopezServer>>reifyOopList:classNamesForOopList: is working ' id '660ae69d-b60a-478d-be6f-01d8d060f041' date '01/05/2013' time '15:51:29' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.250' message 'checkpoint ... need to focus on avoiding concurrent gci calls ' id '734ed8c8-9299-4d5b-a24b-199695dad949' date '01/05/2013' time '11:19:04' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.249' message 'fix broken objIn... ' id 'b31ac663-ed28-4f22-9573-63c2263b9050' date '01/04/2013' time '17:45:49' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.248' message 'checkpoint ... support for optimizing error/forwarder round trips ' id 'b812fa78-75d6-479e-afd7-c3f6b33d85a5' date '01/04/2013' time '08:04:21' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.247' message 'checkpoint ... server side changes ... reducing round trips: one arg for client forwarder ' id '413a8df2-c9b0-4e07-9714-3709c4894729' date '01/02/2013' time '21:10:46' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.246' message 'checkpoint ... working on getting the list-based navigation to work ... a couple outstanding issues: 1) incorrect parentage (frameIndex doubled when following .) 2) bad offset occasionally ' id '86a57bf9-e349-496e-852c-857ac2845751' date '01/02/2013' time '08:12:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.245' message 'straightened out the parent node representation in the client list element ' id '9103aade-51f8-4dfb-9ae1-b9c63082f6c7' date '01/02/2013' time '07:10:12' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.244' message 'replace use of Object>>edit:aspect:windowId: with Object>>edit:topez:aspect:windowId: for many cases ... still need to create parent nodes for stack frame viewer, but the framework is now present ' id 'c21e291e-d50c-4d40-abbb-b4455ff72f6e' date '01/01/2013' time '17:26:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.243' message 'checkpoint ... convert Object>>asTDObjectNode:aspect: to Object>>asTDObjectNode:topez:aspect: ' id '414d0467-7c91-4eff-a008-64578e6a6bca' date '01/01/2013' time '16:10:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.242' message 'functional context window ... need to nuke redundent cds, add . and .. entries, shuffle the stack, context and inspect window locations ' id '1dbbadfe-654e-42e6-ab01-7616e65ce196' date '01/01/2013' time '10:15:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.241' message 'initial cut at adding #aspect to edit.. message ' id 'e4bf1b6c-8cf7-4d29-8763-a4fb6f0e3f14' date '01/01/2013' time '08:19:38' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.240' message 'align the columns for the inspector ' id 'ea96bd09-aa7f-4db6-a683-36ad3c6a293b' date '01/01/2013' time '07:33:46' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.239' message 'inspector is basically working for all nodes ... now ... need to add an aspect to the edit:.. messages to differentiate amongst the various edit contexts ...debug, edit, inspect ... each one should provide a slightly different view ' id '1cfa4fb6-3ec1-46e0-b665-ae9fe9392813' date '12/31/2012' time '09:50:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.238' message 'checkpoint ... inspector is working with directory node ... ' id 'b8949ac3-bd52-4db7-92d1-88f1f2f6cc70' date '12/31/2012' time '09:03:38' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.237' message 'inspector tweaks ' id '690f2679-1276-44e3-8ef9-d407b0ab4e46' date '12/31/2012' time '08:37:49' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.236' message 'checkpoint ... starting work on inspector ' id '337be511-d259-406f-8b0a-91f9b6bfdaf7' date '12/31/2012' time '08:28:18' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.235' message 'deconstructed debugger is working well now ... ' id 'b928f963-8ab2-44b1-abfc-18c507b7417e' date '12/30/2012' time '12:57:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.234' message 'working on getting the correct frame selected in debugger ' id '8de7aea1-c29f-4b79-bc77-13868d5307cb' date '12/30/2012' time '12:40:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.233' message 'debugger tweaks ' id '3cf45c96-17d2-43ff-90a8-a6bd5e2a2aba' date '12/30/2012' time '12:26:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.232' message 'apparently block cache is working as expected ' id '0822f635-9e35-4289-a359-4f1d4e838066' date '12/30/2012' time '11:53:43' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.231' message 'checkpoint ... more client element cache work ' id 'a3f32253-5e1f-4e90-82bf-e5e8fba670bd' date '12/30/2012' time '11:35:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.230' message 'checkpoint ... have to hang onto client element blocks ' id '2d05ef6e-08a7-43d4-addd-1e4cce2778d0' date '12/30/2012' time '11:16:06' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.229' message 'checkpoint ... changing list item selection logic ' id '6a812966-10a0-4420-9b91-ef9f6b4419e6' date '12/30/2012' time '09:26:35' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.228' message 'checkpoint ... a bit of refactoring to accomodate the source and list elements ' id '7a08a77f-9bf3-4a02-8d7e-eff55ee3e190' date '12/30/2012' time '08:59:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.227' message 'open frame on debug ' id '2441276a-7e2d-4521-8436-4a9ff9ca537d' date '12/30/2012' time '07:28:46' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.226' message 'debug command and spawned shell basically functional ... need a bit more testing, then start working on stack list view ' id '36386dbf-2351-4289-831d-26e22e45c037' date '12/29/2012' time '21:37:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.225' message 'checkpoint ... debug command is not quite spawning a new shell ' id '54922309-2534-4cbc-9d60-a9eece6aeeb7' date '12/29/2012' time '12:06:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.224' message 'start work on spawning shell as part of debug command ... implement sourceContainingIt ... ' id '6f09fde8-c098-40ed-9e9b-013047b890e8' date '12/29/2012' time '11:25:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.223' message 'should be an error to attempt to save new methodSource for homeless block ' id '8c739fa0-cb28-4ce3-bb8f-781092ceaee1' date '12/29/2012' time '09:24:56' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.222' message 'handle warnings ... ' id 'a84be395-a690-4cc4-9c25-38b055612b92' date '12/29/2012' time '09:17:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.221' message 'topez errors separated from application errors ' id 'fd6d716b-e821-45a8-b1de-9ab52bfdbc1c' date '12/29/2012' time '08:34:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.220' message 'checkpoint ... attempting to differentiate between command errors and application errors ' id '17ed3625-38c2-48e2-aedb-13b0050a9f6d' date '12/29/2012' time '07:48:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.219' message 'TDStackFrame>>setBlock ' id '1591c7fc-da1e-4bc4-8383-b669891c10c2' date '12/28/2012' time '09:48:06' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.218' message 'for debugger, must always use source from the compiled method associated with the frame ' id '96d5d037-001d-4d6c-9f7b-85fa48a71fd5' date '12/28/2012' time '07:59:24' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.217' message 'checkpoint ... stack frame display ' id '661d6aaa-c12b-468f-a840-84aa008be349' date '12/27/2012' time '17:37:54' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.216' message 'working on bringing up editor for TDStackFrame ' id 'ce0d11e9-8983-4b63-945a-ea9dcbd301d9' date '12/27/2012' time '17:20:01' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.215' message 'edit st, check. edit tpz, check. edit txt, check. edit sh, check....edit frame, BOOM ' id 'f40282bc-5fec-4f40-892e-9055d3b86a5d' date '12/27/2012' time '16:59:42' author 'DataCurator' ancestors ((name 'Topez-Server-Core-dkh.214' message 'finish move ... loose methods' id 'f82381fb-bb08-4bd8-848b-0bfacbe69fbb' date '12/27/2012' time '16:45:21' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.213' message 'moved TDNode hierarchy to Topez-Server-Core' id '6d6f0881-e5e6-4fd7-9f41-2a3bfe3d4317' date '12/27/2012' time '11:49:33' author 'dkh' ancestors ((name 'Topez-Server-Core-DataCurator.212' message 'edit code, no check... ' id '1ba19e26-db82-4f6e-abea-1ba2062974f3' date '12/27/2012' time '11:42:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.211' message 'checkpoint ... getting text editor working ' id 'f43c9a71-f47f-4ebf-a993-efc623443f3c' date '12/27/2012' time '10:29:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.210' message 'mc diff produces diff for changed packages ... mc compare (not yet implemented) is used to compare two different packages ' id '64b90f99-851c-4fd7-b0a5-88a1aa6c0a7b' date '12/26/2012' time '08:29:46' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.209' message 'simple mc diff ... ' id '12284b0b-7c3a-4b3e-8042-4b03831a036f' date '12/26/2012' time '07:48:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.208' message 'implement mc list and mc history commands ' id 'da0e7ae6-1e51-4cfd-a574-c78028b00e2f' date '12/25/2012' time '09:46:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.207' message 'get started on mc commands and .mc halo ' id '5c98641d-39c6-40a7-8a0d-fbd159611e88' date '12/25/2012' time '07:45:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.206' message 'checkpoint ... initial implementation of monticello packages ' id 'bdac7e37-0a62-4905-8026-5dce08fb0981' date '12/24/2012' time '17:48:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.205' message 'checkpoint ... initial cut at /mc/repos structure ... ' id 'c740192f-0ee5-4b16-816c-1ebfb4a360ce' date '12/24/2012' time '13:45:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.204' message 'checkpoint ... creating monticello tool ' id 'd443db62-b9d3-4c8a-b620-0b4396b46225' date '12/24/2012' time '11:47:23' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.203' message 'take into account expectedFailures ' id '2def377a-78f4-42fb-a1cb-0762ee8b4301' date '12/23/2012' time '17:04:05' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.202' message 'additional test cases for debugger ... tests passing ... tweaked test framework based on usage ... ' id '80edc190-a891-496d-91bb-cb945cd7700a' date '12/23/2012' time '13:40:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.201' message 'test tool tests pass .. add ts debug errors/failures/method spec feature ' id '9aa64b4f-98a6-4401-ba5c-5392a6cd67ba' date '12/23/2012' time '12:16:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.200' message 'checkpoint ... updating method lookup parser to handle frame print string with () enclosing the method class ... start adding tests ' id 'aeda8114-b7d9-493e-ae80-be05768a9637' date '12/23/2012' time '11:53:15' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.199' message 'straighten out discrepency between ls and ds ' id 'e0e50592-62c1-46c8-9992-d77c82796abc' date '12/23/2012' time '08:32:36' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.198' message 'add continue command to compliment debug ... use real continue gci call ... leave continueWith: variant for later (continueWith: gets SIGSEGV sometimes) ' id 'ebf8309f-20c0-41bb-99e4-2c8a89fe9785' date '12/23/2012' time '08:02:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.197' message 'riffing on proces debugging and handling dead/dying/orphaned processes ' id 'a23417ab-1497-4e3e-a2a4-b3618ef63fbc' date '12/23/2012' time '07:06:36' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.196' message 'tweak printing again .. ' id '7ca41cd4-2e6c-4ae5-bc1e-9b49f1d0110a' date '12/22/2012' time '17:15:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.195' message 'add ps stacks command ... begin searching for the mystery process from zinc tests that appears after repeated ps yields ' id '83fbeec4-fa1a-45e7-8ea6-b85607a72572' date '12/22/2012' time '09:53:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.194' message 'monkey with ps and ds and tz display code as I work through zinc test failure scenarios ' id 'ffb57ad7-a9e4-42f1-b6b1-a54379f6b432' date '12/22/2012' time '09:22:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.193' message 'add ts list and ts debug commands ' id '25b6b2a3-5b4d-4912-8346-ab2d20f071c8' date '12/21/2012' time '20:32:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.192' message 'restructured the test nodes .. starting work on ts commands ' id '220cbe1d-a033-47bb-a2bc-ceb0673263b5' date '12/21/2012' time '19:56:46' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.191' message 'trim .debug halo items ' id '6fcf50d1-5de6-432d-9c29-e100b774a208' date '12/21/2012' time '18:20:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.190' message 'cycling in on satisfactory test command combo ' id '2a057f49-e44e-4621-a9c5-24170540cb69' date '12/21/2012' time '18:14:50' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.189' message 'better colors ' id '9b1c4812-be6f-4c59-82ff-031e07ddae35' date '12/21/2012' time '17:15:44' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.188' message 'clear up some element rendering bugs and add color to the test nodes ' id '4728b3b1-7c7b-405c-8064-6fedf6760cd4' date '12/21/2012' time '16:59:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.187' message 'getting started on sunit support ' id '0d1052b1-523e-4163-8cdc-6bccf1a8dab9' date '12/21/2012' time '14:15:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.186' message 'rename db steps command to db break steps ' id '7d4b8355-31fa-4352-88e9-e143d301a30c' date '12/21/2012' time '11:40:11' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.185' message 'rename TDCoreDevTool to TDShellTool ' id 'b7ca041e-3e84-48f7-9a0f-380a09023baf' date '12/21/2012' time '11:32:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.184' message 'implement autoCommit ' id 'f6f05483-fd25-4736-883b-8f47dca99d87' date '12/21/2012' time '11:21:50' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.183' message 'implement shell window spawn ... needs a bit more work ' id '19a463c5-968b-43f6-8851-b9c624bb7123' date '12/21/2012' time '10:03:47' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.182' message 'find signallerFrame for initial currentFrame in debugger ... fix frame printString ' id '75628c61-2103-4698-9ff1-05493e453b94' date '12/20/2012' time '21:10:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.181' message 'revamp ps kill logic to use oop ... cannot count on list-index ' id '7e2923d8-8bff-4891-add3-d479ed7205f0' date '12/20/2012' time '15:52:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.180' message 'move ps code to its own class ... add range of kill commands ' id 'a0d28f04-d7b4-4485-989d-4cfb55a62db0' date '12/20/2012' time '14:33:54' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.179' message 'checkpoint ... .processes halo and yield command ' id 'd0aa797f-58e1-4c3d-a942-50d9835e0e30' date '12/20/2012' time '12:41:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.178' message 'finishing touches on breakpoint commands ' id '36147ebc-7962-469b-88a8-5be8cbe1c19a' date '12/20/2012' time '11:01:39' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.177' message 'list breakpoints implemented ' id '20fff03e-52dd-434a-81a0-9970c12be5fc' date '12/20/2012' time '08:59:48' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.176' message 'rename the .ex halo to .debug and use stack for the stack ' id 'f5880b13-c5da-425d-9746-af6392b2a0f5' date '12/20/2012' time '07:57:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.175' message 'update readMe for the halos ' id '25f39f5b-3fb9-4313-b8ec-4ea502f9ef5e' date '12/20/2012' time '07:42:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.174' message 'checkpoint ... set breakpoint works ' id 'afb5e921-1973-4dc3-86b4-003be5ff6878' date '12/19/2012' time '21:19:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.173' message 'checkpoint ... getting started on breakpoints ' id '9da67851-9e30-451a-b748-8124d3150da2' date '12/19/2012' time '21:02:19' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.172' message 'db steps command for displaying stepPoints in a given method ' id 'fcfed690-0da2-4708-b65c-d7cab9a7ba8f' date '12/19/2012' time '20:16:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.171' message 'implement db continue command ' id 'b893920b-b143-4494-b7cd-a8cff446f50d' date '12/19/2012' time '16:59:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.170' message 'implement over and into commands (for step over and step into) plus correct return value when stepping off end of stack ' id '8f69d068-0026-4a5d-91af-ef95eb442abe' date '12/19/2012' time '16:45:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.169' message 'checkpoint ... started implementation of debug control commands ... db step over is basically working ... trouble when running off end ' id '274296c7-4e9e-4688-9316-4380c489ff40' date '12/19/2012' time '14:52:02' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.168' message 'add priority order to dev tools ... debugger now uses db command namespace for all subcommands ' id '2f9cbc7a-ed3f-46b6-95a5-9c3fcc8321cf' date '12/19/2012' time '13:07:47' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.167' message 'checkpoint ... add example txt and more work on getting txt functional ' id 'b636876c-b780-4db1-b0f3-c2fe3bbdffc0' date '12/19/2012' time '08:23:13' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.166' message 'store sourceRange as Array instead of Interval, because of bug: https://github.com/svenvc/ston/issues/5 ' id '00fcfe92-a1f9-4342-915e-8c1b1c7656f7' date '12/17/2012' time '08:46:26' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.165' message 'implement selection interval for stack frame ' id '77abb5fa-8efe-4860-a710-ff2fe3789c4a' date '12/17/2012' time '08:30:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.164' message 'checkpoint ... automatically open editor on frame method source and update source as you navigate amongst frames ' id 'dbe421ef-c84e-4451-85af-5bb986c9a6ea' date '12/16/2012' time '15:57:16' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.163' message 'reuse the window for stackFrame source ... ' id '0028fe3a-4b99-491a-9d19-cf369ac3b425' date '12/16/2012' time '15:36:17' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.162' message 'checkpoint ... open editor on frame method source with syntax highlighting ... need to highlight stepPoint ... allow for method saving (and truncation of stack) ' id '8795be63-a624-430a-8102-f1ebaa685583' date '12/16/2012' time '15:17:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.161' message 'checkpoint ... edit frame progress, keep accumulateBlock alive for duration of run command ... ' id 'acddc8da-7713-46ae-a758-e428ba89203c' date '12/16/2012' time '15:06:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.160' message 'checkpoint ... just getting started on editting method source for debugger ' id '4d34b9aa-22de-4347-a47b-f54c57e6780e' date '12/16/2012' time '14:42:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.159' message 'checkpoint ... implement frame command ' id 'd0ceef3b-86ba-4ba8-8257-87e9db1a1869' date '12/16/2012' time '14:22:56' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.158' message 'checkpoint ... implement up/down commands ' id '975732f9-8c02-408c-b028-2c550d6cce7b' date '12/16/2012' time '13:33:53' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.157' message 'checkpoint ... preparations for navigating stack frames ' id '90da923c-fe79-4e1b-86f7-689e57414bc3' date '12/16/2012' time '11:42:43' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.156' message 'checkpoint ... refactor stack structure ' id 'e7f3c822-12fa-402b-a67f-4f9cc4e5c775' date '12/16/2012' time '10:31:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.155' message 'checkpoint ... add debug command ' id 'c4c3ee01-5ac6-4bee-839b-53ad421d729e' date '12/16/2012' time '10:03:11' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.154' message 'checkpoint ... filling out debugger ' id '06e903c9-c74e-4a3f-9aa6-67fa4b1c2097' date '12/16/2012' time '09:48:37' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.153' message 'checkpoint ... create skeleton TDStackFrame ... need to fill out api and map to the node... ' id 'c09f77d3-d1d0-476d-99b0-76f3c539fa0c' date '12/15/2012' time '19:21:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.152' message 'checkoint ... raw frame contents available ' id '5a9a77df-336b-47bc-9b72-bd472a2229f2' date '12/15/2012' time '19:10:17' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.151' message 'checkpoint ... getting started on debugger tool ' id 'ee3f7271-4b86-49c7-a46f-b44a24a3c1a4' date '12/15/2012' time '12:28:21' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.150' message 'change default list limit to 20 ' id 'd50d1e3d-0271-4c39-9a83-81e9c4f9b844' date '12/15/2012' time '11:36:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.149' message 'add limits for ls and ds commands to minimize issues when navigating large objects ... bigls and bigds commands could be created to allow viewing of ranges of large objects ... ' id '89cf35ff-0d32-4859-8c9e-574a38541e7a' date '12/15/2012' time '11:19:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.148' message 'objIn reset after pipe chain complete ' id '48e37505-b622-4788-b655-f89f3bd51a59' date '12/15/2012' time '08:50:41' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.147' message 'checkpoint ... need to reset objIn after pipe chain is complete ' id '4ec64801-1572-4f0d-8fc5-785ff74ebab8' date '12/15/2012' time '08:43:50' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.146' message 'provide emphasis cue for index elements that are on an index path ' id '1160ec39-d307-4be6-9f73-d01f4c92650d' date '12/14/2012' time '17:23:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.145' message 'add readMe to the index analysis nodes ' id 'ee40ac9a-ab33-4b32-9546-cf764d000ac0' date '12/13/2012' time '21:35:19' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.144' message 'finish implementation of parentLink ... ' id '2569eb69-5ff7-418a-a05b-5b69be86648c' date '12/13/2012' time '21:20:42' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.143' message 'handle BucketValueBag in index dict, fix bugs in run, btree nodes and symbolList ' id 'ed705fba-2af9-4eba-8c04-107127aa2ded' date '12/13/2012' time '20:31:48' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.142' message 'tweaks from using tool to understand a particular set of indexes on a single nsc ' id '43b12ddb-0a91-4e45-887c-93c2dd860d05' date '12/13/2012' time '17:03:36' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.141' message 'fix run objIn handling, fix up index dictionary handling, add lastResult to .run halo for debugging ' id 'b8b89aeb-471b-4d10-897a-9a3680e91b48' date '12/13/2012' time '16:10:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.140' message 'improve ds command, add better handling for btrees, eliminate premature caching, and various bugfixes ' id '1deee9f1-4939-45a6-a06d-f222552b7b17' date '12/13/2012' time '13:08:28' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.139' message 'first cut at trying to control per element extension and text attributes ... somethings not right ... ' id '72f68dc9-fa0f-487c-ac5d-720052ca5c55' date '12/13/2012' time '08:47:52' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.138' message 'straighten out the naming of the nodes in the analyzeNsc node structure ' id 'd1c8c92c-22c5-475d-9ecb-c5c13684f4d8' date '12/13/2012' time '08:14:55' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.137' message 'add indexList to index node along with nsc...list all of the instance variables for index elements ' id 'ac6dbff0-a127-415a-88d2-9bd03a022bb0' date '12/12/2012' time '20:44:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.136' message 'make sure that internal and external node names are the same in the index tool ' id '45ba051e-e87b-4026-83df-7b2cd774e1de' date '12/12/2012' time '17:06:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.135' message 'renamed display command to ds ... ds is the same as ls, except that the object represented by each directory entry is displayed (oop size class and printString) ... ds is more meaningful for inspecting during traversal ' id '2fa81e50-cfd5-4999-83c9-4fe6a372f501' date '12/12/2012' time '16:46:42' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.134' message 'add elementExtensionBlock elementRenderAttributeBlock to TDPluggableNode .. greatly simplifies the definition of listBlock ... only need to generate collection of names ... rendering names into text done elsewhere ' id '9d5e789d-a450-424e-99e1-81234210b5ff' date '12/12/2012' time '16:10:22' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.133' message 'checkpoint ... working on dsiplay command aimed at producing structured display of node contents ... find that I need to be able to traverse children which means cannot use listBlock (because of extension and text) ... listBlock must be reduced to names and extensions and text added separately ... ' id 'ab8979dd-b6e6-458d-bdcb-6e038ca5b1da' date '12/12/2012' time '15:20:47' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.132' message 'index analysis node structure is basically funcational ... need to fine tune ' id 'a51639bb-6f93-4a69-9d8f-5721f99b6923' date '12/12/2012' time '14:27:44' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.131' message 'initial cut at node structure for index analysis tool ' id '9c45b592-5f96-4fcb-ae48-90f94efd7233' date '12/12/2012' time '13:53:49' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.130' message 'start work on the index analysis tool ' id 'd9413328-b7fd-42ca-9669-8b89a86aba9d' date '12/11/2012' time '21:25:43' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.129' message 'get the pipe command to work correctly ' id 'b6c7ab3b-39e5-445f-b5d4-a41ca554b9da' date '12/09/2012' time '17:46:24' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.128' message 'rework edit command with objIn in mind ' id 'ec077ad5-50b3-4d42-bfd4-261069a80188' date '12/09/2012' time '16:36:52' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.127' message 'initial implementation of objIn, introducing | and ; to command line ' id '94421344-d94b-42a2-ad45-3595bb71cbc2' date '12/09/2012' time '14:13:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.126' message 'clean up issues with PluggableNode and extensionBlock and renderTextAttributeBlock ... start work on building interface to tests: /st/tests ' id '513ca68a-d3ce-4b85-b3f2-eeab2872fd9b' date '12/07/2012' time '16:50:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.125' message 'add extensionBlock and renderAttributeBlock TDPluggableNode ' id 'ed5d2812-0111-429f-ba99-a762cc894020' date '12/02/2012' time '08:51:03' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.124' message 'better results display... ' id 'a41e680c-1140-4391-aef1-b0e615cc39c2' date '12/01/2012' time '19:46:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.123' message 'push state for exceptions into TDServerStatus ' id 'e09e963f-9969-4ea2-95d1-750bc91721ad' date '12/01/2012' time '18:24:54' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.122' message 'implement .ex halo (description, exception, process) ' id '4caf0405-1aac-4b2a-9ec3-47b6437a63a4' date '12/01/2012' time '18:13:11' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.121' message 'allow for editting (read/write) of .run/st nodes ... makes for usable doit scenarios ' id '59219592-4504-443f-b8ac-52bab429c6f4' date '12/01/2012' time '17:32:08' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.120' message 'finish first cut at halos implementation ... see halos command manPage ' id '14a59a27-ae67-4361-b94b-68aef1773f90' date '12/01/2012' time '16:48:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.119' message 'rename TDDotObjectsDevTool to TDHaloObjectsDevTool ... prep for more halo work ' id '173ccd55-cf47-4c1d-aad6-3520091b1bed' date '12/01/2012' time '13:27:12' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.118' message 'implement doit command ' id '0b19d2fd-83a3-4d67-b469-14f7f2bc2570' date '12/01/2012' time '13:13:23' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.117' message 'finish implementation of run command ' id 'd7c480bd-84d0-4aa9-a876-14610d0f6146' date '12/01/2012' time '10:56:58' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.116' message '.run implemented ' id 'ec094921-77e6-421d-85a3-e5ade84863e8' date '12/01/2012' time '09:34:48' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.115' message 'implement /home/.run.st node ' id 'b02bc5cb-3919-4f12-b666-a25e9d146011' date '12/01/2012' time '08:57:18' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.114' message 'basic run command is functional ' id '3525d26a-e18f-4615-bb7e-e207660e29b7' date '11/30/2012' time '19:48:49' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.113' message 'a bit of cleanup post execution work ' id '67e6a8cb-7d7c-40df-9ea9-ac178ee91539' date '11/30/2012' time '15:48:45' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.112' message 'execution of .st, .sh, and .tpz files is functional ... ' id 'b3c3224e-13be-47d9-b42b-5d84a988125d' date '11/30/2012' time '15:28:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.111' message 'add structure for /st, /st/classes, /st/globals, /st/symbolList ... checkpoint ' id 'fa76c73f-bbff-42e5-81b0-2a1e4521ea89' date '11/30/2012' time '12:25:14' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.110' message 'proper label for generic Object edit... ' id '0ca2b343-9f20-45fe-b497-bfebda098d05' date '11/30/2012' time '10:31:52' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.109' message 'reimplement touch command to produce different types of leaf nodes: st, sh, tpz, and txt ' id '025a60c5-2c66-4cfc-8995-14899f1a14f0' date '11/30/2012' time '08:43:03' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.108' message 'add Script, Topez, and Smalltalk leaf nodes ... pick some colors ' id '8d671d2c-4ceb-4ab0-bf03-2543b8e4500f' date '11/29/2012' time '20:42:05' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.107' message 'restructure TDNode hierarchy a bit ... aiming for consistent rendering with emphasis and color providing clues to the node type, plus consistent use of extensions ' id 'fda967a0-414a-49ae-be43-4008e10eaf53' date '11/29/2012' time '19:53:07' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.106' message 'parse path and allow path as command name to evaluate to a node and get the block from the node (executable) ' id 'f1f22ff9-5beb-41e6-bd1b-bb7c6955f71b' date '11/29/2012' time '17:04:39' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.105' message 'define standard .readme and finish up first cut at .readme ' id 'e61ac62f-7c70-4a22-8a3a-8ad9d94fbd40' date '11/29/2012' time '16:22:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.104' message 'finished first cut at writing man pages for existing commands ' id '5fb85462-bc8f-464d-aea0-60a02eecd5a3' date '11/29/2012' time '15:05:44' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.103' message 'checkpoint ... writing man pages ' id 'bc877df9-428a-4ccf-984e-76587b6e9415' date '11/29/2012' time '13:20:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.102' message 'implement man command ... make extension responsibility of node (not container) ... node stored in commands instead of block ... add .readme to nodes ' id '83cc5c63-fddc-45d9-be76-bfe296d8b565' date '11/29/2012' time '10:33:20' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.101' message 'add .self and .node special nodes as trap doors for inspector/editor to get access to underlying object and tool object ' id '46204d83-13b0-4f03-8063-cb5cf760f040' date '11/28/2012' time '17:40:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.100' message 'can now cd into objects in shell ... cat node to get printString ' id '2671b066-2a38-40d7-8b7d-0dc11edcfd09' date '11/28/2012' time '14:51:26' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.99' message 'fine tuning TDBlockNode implementation ' id '5bf87068-3177-4767-8c39-9b71355532b9' date '11/28/2012' time '14:08:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.98' message 'normalize the edit window location and reuse window ' id '5dc861df-4449-4482-b3a8-726ebdb4f16f' date '11/28/2012' time '10:27:44' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.97' message 'basic edit object ... need to add asTDObjectNode for navigation and pseudo inspector (or real inspector?) for true editting.... ' id 'f0787a91-f8b9-467e-b016-2f40fe99c648' date '11/28/2012' time '08:25:07' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.96' message 'working towards generic object editting ' id '9ffc49ef-d080-45cc-ae9a-07c5fa2b781b' date '11/28/2012' time '08:03:59' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.95' message 'rename TDObjectNode to TDBlockNode then create TDObjectNode which can hold arbitrary objects in contents iv ... push around notion of edit:tokens:windowId: ' id '684000e7-5c94-4bb0-811e-7ba02303c785' date '11/28/2012' time '07:38:25' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.94' message 'sqap references to TDNode classes ... ' id 'bbf016ac-8a4c-4f81-b9ba-743354f3059d' date '11/28/2012' time '05:44:27' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.93' message 'tweak /home/.window creation code ... ' id '98cabd83-9a47-4ad7-97cb-e1e980a0bd63' date '11/27/2012' time '16:41:30' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.92' message 'create /home/.window object whose contents represents the server element associated with the active window ' id '77b3f88b-439d-47af-a863-c0251983499e' date '11/27/2012' time '16:15:15' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.91' message 'touch, edit, save sequence is working for commands ... execution and two window view not tested/working ... CMD-l should refresh with newly saved contents ' id 'ea729ebe-0c18-4885-ab7e-055daf5e5f7c' date '11/27/2012' time '12:37:21' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.90' message 'push block creation to topez for GemStone ' id 'afdba3bd-2334-4eee-8579-6ad0205a1bde' date '11/27/2012' time '12:14:56' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.89' message 'start work on seriously editting commands: adding new and saving source ' id 'ba6c30a2-9e5f-40bd-98ad-70df5bb7ca96' date '11/27/2012' time '11:11:18' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.88' message 'Streamline the edit stack... ' id '925a1d7d-0e67-4806-a83d-c6524815b175' date '11/27/2012' time '03:15:20' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.87' message 'clean up TZGsMessageSend calls ... TDClientSourceElement is functional ... editor opens correclty ... need to work on save ... ' id 'fd31d3d0-acee-45c3-9475-2cf95862495a' date '11/26/2012' time '20:59:32' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.86' message 'filling out behavior in TDClientElement and TDClientSourceElement ' id '435dbd80-7ed6-48c3-8730-3d82a38fb2a7' date '11/26/2012' time '19:57:46' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.85' message 'starting work on TDClient/TDServer elements... ' id '3dca6d93-0809-44d2-99e0-aee8c81636ac' date '11/26/2012' time '18:30:53' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.84' message 'tweak edit implementation ' id '2f2c185b-c1b7-481d-bbea-c6807682d681' date '11/26/2012' time '16:31:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.83' message 'edit script is working now ... with correct syntax highlighting ' id 'b4b9bf58-1b7b-4482-8e70-1fe01b513b67' date '11/26/2012' time '16:00:15' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.82' message 'adding edit command ... in progress ' id '2a1cd8b1-70ae-4ebd-9221-fb1fc0d44fd2' date '11/26/2012' time '15:29:08' author 'DataCurator' ancestors ((name 'Topez-Server-Core-dkh.81' message 'upon detecting an exception (on the client), the server-side is notified of the exception, so the debugger can be opened et cetera at the developers leisure' id '63cce05f-1aa5-40ff-bad5-fb086a44fb91' date '11/21/2012' time '16:38:08' author 'dkh' ancestors ((name 'Topez-Server-Core-DataCurator.79' message 'tweak install logic ' id 'c950af3e-68b4-49ea-ab41-1a73c8191fb8' date '11/21/2012' time '10:55:40' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.78' message 'render text for evaluation results on server-side ' id 'aacf477e-2469-470a-b837-db5b6cc62567' date '11/20/2012' time '17:07:52' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.77' message 'install /home directory ... ls command is working ' id 'e94d51af-4c3b-44f4-906b-e041839f75de' date '11/20/2012' time '16:18:12' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.76' message 'implement navigation commands and some DevTool house cleaning ' id 'e4c92b05-5e92-4f94-b01a-a2177eb9d531' date '11/20/2012' time '11:47:10' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.75' message 'hook up Transcript and pass tokens from client to server as STON string ' id 'a76ef236-7ec5-4872-a98b-5945b56f7eeb' date '11/20/2012' time '10:45:34' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.74' message 'register commands in a dictionary on server during install ' id '269324ce-f36d-4206-ad79-d493983b2d78' date '11/19/2012' time '16:43:39' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.73' message 'progress towards new fangled server-side code ' id '1f2e5965-0b9f-467e-a037-4a40535109ac' date '11/19/2012' time '15:46:19' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.72' message 'use clientForwarder to open window on client from server ' id '4672823b-a719-4afe-b48c-12589afa3ada' date '11/18/2012' time '17:30:51' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.71' message 'remove .../bin contents before adding commands ' id 'f04fc72b-e216-4033-996a-2bb4d7e29836' date '11/14/2012' time '16:36:31' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.70' message 'starting to build server-side (GemStone) commands and command structure ' id '80e1b790-3404-4b15-bcad-b30a9b746313' date '11/14/2012' time '16:18:35' author 'DataCurator' ancestors ((name 'Topez-Server-Core-dkh.69' message 'additional elementSuperClassName support' id '6be04623-3198-4bba-84c1-2cf648d48698' date '11/11/2012' time '07:41:15' author 'dkh' ancestors ((name 'Topez-Server-Core-DataCurator.68' message 'get diff running in GemStone ' id '34738fab-b821-4a43-9e04-4bc659f9176b' date '11/03/2012' time '13:48:33' author 'DataCurator' ancestors ((name 'Topez-Server-Core-DataCurator.67' message 'implement reload and save commands ' id 'cdd67876-6a29-4f1d-b2ef-b1532a08ac61' date '11/01/2012' time '16:34:29' author 'DataCurator' ancestors ((name 'Topez-Server-Core-dkh.66' message 'address infinite loop potential in setting topez for proxies ... open door to using TZGsStonWriter (more compact STON reports)' id '49dfa8d6-0be7-46cb-80ed-9ee66c3fcd54' date '11/01/2012' time '11:44:26' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.65' message 'address infinite loop potential in setting topez for proxies ... open door to using TZGsStonWriter (more compact STON reports)' id 'b6c2d94a-5642-485b-b2e4-8c68eef15aa8' date '11/01/2012' time '10:25:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.64' message 'avoid using references until https://github.com/svenvc/ston/issues/3 is resolved. I''ve got a patch that should work for STONREader if there is a loop in the traversal, but that patch may not be usable until the vm bug is resolved.' id 'f725a62c-5775-49c6-a80b-871cc33700a0' date '10/30/2012' time '21:07:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.63' message 'checkpoint ... working on GenStone performance issues ...' id '3df2f153-3076-4571-8508-0a143f4e0f59' date '10/30/2012' time '19:35:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.62' message 'add TZGsStonWriter class with added support for storing proxy references ... plus other performance adjustments' id '51aa5f04-1851-44c6-aab4-b959ad976e37' date '10/30/2012' time '16:09:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.61' message 'get /projects working for Gemstone' id '12f2d462-964f-4be0-8590-f372f0926267' date '10/30/2012' time '10:50:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.60' message 'ls /projects/Topez/classes now working on GemStone' id '5ba2598d-7de3-496f-8d8e-d1ec4285b545' date '10/29/2012' time '19:40:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.59' message 'checkpoint ... porting the project structure to GemStone' id 'de15c4f7-f963-4323-98eb-0e118a3d90a8' date '10/29/2012' time '15:36:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.58' message 'a bit of cleanup' id '08a7d25e-782f-4142-beaf-237087fbe13d' date '10/26/2012' time '10:56:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.57' message 'reduce GCI round trips by including literals (String, Symbol, Boolean, SmallInteger and Undefined) in the gemstone header. Also turn off STON pretty printing so the size of the payloads is reduced ...' id '6c6b0e60-d664-4a8c-a09b-9a5999a34cdf' date '10/26/2012' time '00:25:53' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.56' message 'checkpoint ... context inspector finally functional' id '8096ab05-085d-4122-a9be-e39f95f17339' date '10/25/2012' time '22:51:17' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.55' message 'checkpoint' id '298857d8-d92e-4836-8134-2b03c0019acd' date '10/25/2012' time '22:12:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.54' message 'add TZFrameContextElement for context inspector' id '8c0b0303-76c2-489b-8a0a-01f359b951ce' date '10/25/2012' time '21:35:13' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.53' message 'fix up the inspector' id 'da242626-5d6d-431a-ba43-6da1b83427e4' date '10/25/2012' time '16:06:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.52' message 'monkey with offsets and get back to correctly display gemstone stack' id 'b3d847c2-17dc-4150-a930-4be5861d418f' date '10/24/2012' time '12:07:09' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.51' message 'start calculation selection range for frameMethods' id '14c940a6-f076-4f22-9d79-e4dc076283a1' date '10/24/2012' time '08:57:24' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.50' message 'fine tune stack frame implementation' id '669a1a3a-d3a6-43c2-8d6b-28836e2304e4' date '10/24/2012' time '00:24:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.49' message 'stack printing correctly via where' id '68e0cad4-f38f-4657-a633-607674f0955f' date '10/23/2012' time '23:36:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.48' message 'TZStackFrameElement used in stack ... finally:) ... still more work to do' id '85467d3d-2f2f-48e9-8889-dac70dea8848' date '10/23/2012' time '21:52:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.47' message 'stash gsprocess (context) in the instance slot so I can get a peek at the stack ... work on creating the stack frame object' id '19d83ee5-2f2b-463e-bae5-70800679c393' date '10/23/2012' time '17:24:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.46' message 'all but one test (expected for now) green' id '3d1d1ec8-bfb5-411d-9a62-e4af67853d7d' date '10/23/2012' time '16:26:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.45' message 'converting GemStone to use TZStackFrameElement' id '7d3a1488-4ade-4699-9c9f-5e127d69d8f5' date '10/23/2012' time '15:43:20' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.44' message 'TZEngine is now a session singleton ... each session has it''s own instance ... cache is not persistent, so we have to think about running out of memory' id 'a822496c-a4d6-4ed1-bb4e-daef87958eb0' date '10/23/2012' time '10:25:19' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.43' message 'fix gemstone referencesTo: ... again' id 'dc9042e2-7a07-4bdd-a55e-cbee1f3b7e4d' date '10/23/2012' time '09:56:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.42' message 'conversion of ClassElement to use factory (for recording instances) is complete' id 'edbef02c-7335-4681-a14e-60bb0351dab9' date '10/23/2012' time '09:38:27' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.41' message 'handle classFactory for ClassElement and record all TzElement instances created in elementCache' id '0270d912-a8b0-423c-bf41-874ade153444' date '10/23/2012' time '07:47:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.40' message 'preparing to cache TZElement instances for GemStone to avoid GC issues ... resolving this issue is why I converted to a instance-side TZEngine implementation' id '4b0504d0-a776-40cd-925a-0a2b092f7026' date '10/23/2012' time '07:30:48' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.39' message 'need to create methodTemplate on server' id '54724ce8-e478-47da-bb75-d5df16926820' date '10/22/2012' time '23:56:41' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.38' message 'complete conversion to use TZEngine singleton' id 'eaff581d-7169-4d51-8416-7063128fef5d' date '10/22/2012' time '21:19:02' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.37' message 'fix inClass problem' id 'f4a05f12-ac11-4d5f-86ba-fd75272bc9bd' date '10/22/2012' time '20:23:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.36' message 'switch to a singleton for TZEngine' id 'd7d20955-a55f-48bf-ae15-bca245db6736' date '10/22/2012' time '15:39:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.35' message 'checkpoint' id 'bfa325f7-d314-4660-95eb-d48fa11b48e3' date '10/22/2012' time '13:39:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.34' message 'adjust indent for instance elements' id '8f8345d1-dfd5-4c90-a86d-a7d89f2d60b4' date '10/22/2012' time '10:35:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.33' message 'usability tweaks while working on debugger' id '357d04fb-3153-45f6-a562-f79147c60439' date '10/22/2012' time '08:19:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.32' message 'bugfixes for gemstone `edit instance`' id '9238c63c-a094-4fcd-8870-def7e1d7b835' date '10/20/2012' time '22:16:12' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.31' message 'checkpoint ... working on instanceElement logic for GemStone' id 'ae9f290e-f226-402c-ac32-2317e7bc8923' date '10/20/2012' time '16:18:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.30' message 'checkpoint' id '7572f8fc-0e6e-4a8c-8784-e7b3c152d82f' date '10/20/2012' time '09:21:34' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.29' message 'delete the TZTopezCmd hierarchy ... not really used' id '27856449-3643-4734-a478-bb93b798609e' date '10/19/2012' time '17:42:15' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.28' message 'checkpoint ... some work on GemStone side, preparing to remove all of the command objects (more complication than needed) ... ' id 'd9975105-4d0a-4538-8da1-425692436ef3' date '10/19/2012' time '17:30:08' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.27' message 'format the methods' id 'c6bbe647-94ee-4dde-9879-b0c867299f7f' date '10/18/2012' time '19:44:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.26' message 'all tests green' id 'd3ee1b3d-0a48-46d0-90e5-33dfeba58293' date '10/18/2012' time '14:25:56' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.25' message 'gemstone tests running green' id '41521571-4845-41bc-a51f-717b2c439374' date '10/18/2012' time '14:10:35' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.24' message 'checkpoint ... gemstone tests ...' id 'a8fd757d-e32f-4547-916e-66b49117ef64' date '10/18/2012' time '12:04:23' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.23' message 'checkpoint ... gemstone tests' id 'f352d411-c710-4180-92a8-11a8fb873074' date '10/18/2012' time '11:51:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.22' message 'checkpoint ... working on getting GemStone tests to pass' id '8c32cd5e-dec1-4cd1-82cf-5b5b71259234' date '10/18/2012' time '11:39:05' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.21' message 'checkpoint ... working on getting tests to pass for GemStone' id '0412b011-f5eb-480a-902f-dad043ef5a08' date '10/18/2012' time '07:56:45' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.20' message 'checkpoint ... implementing hierarchyOf, sendersO' id '8c8a9f64-2211-483e-a5c3-ec3c7f64c798' date '10/17/2012' time '21:38:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.19' message 'rename instance variables in the TZElement hierarchy to get rid of proxy in name ... too confusing ... native tests are now passing (except the new ones)' id '17198e97-3174-466b-81f5-1439535ab1de' date '10/16/2012' time '20:49:01' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.18' message 'green tests' id 'd280d50b-0e73-486b-bceb-69a7a1c48f6d' date '10/14/2012' time '17:13:36' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.17' message 'finish up `edit class`' id '185f48f5-1927-4ac6-b41f-ccec13175edf' date '10/14/2012' time '16:37:54' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.16' message 'working on `edit class` and `find class` commands' id '7c072de2-a0a3-4a7d-9593-6cf3422cc8dd' date '10/14/2012' time '12:39:39' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.15' message 'class names and selectors left as Symbols, since String variants my not be persisted and are subject to gc ... avoid having to manage gci references as long as possible:)' id '068d2d8e-ceeb-4e01-9324-ac154a3e1b07' date '10/14/2012' time '10:33:18' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.14' message 'checkpoint ... accept method work for GemStone' id '17691f51-f0e9-45a9-8916-3d6e9f615379' date '10/14/2012' time '08:35:03' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.13' message 'fix selectors method' id 'cb66bdbc-7ceb-4729-be64-3cfe6ce0debc' date '10/13/2012' time '18:47:25' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.12' message 'checkpoint ... completed test for `list` commands' id '528d98b1-0e31-4117-b137-bc8dc44f30b7' date '10/13/2012' time '12:11:43' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.11' message '`edit class` command and accept method' id 'c5010fde-3320-4133-a1f4-d3dc4e0474dd' date '10/12/2012' time '16:00:14' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.10' message 'green tests' id '8783341a-e89d-4ebb-8c3e-c9dc5f5e2619' date '10/11/2012' time '16:28:04' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.9' message 'gemstone working again' id '7119d7a5-00c7-4f48-9779-74c2e96ff3d7' date '10/11/2012' time '16:22:37' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.8' message 'implement history and rename classHierarchy to superclass' id 'fde97278-0897-4a23-aa39-5bdc20fe94fb' date '10/11/2012' time '12:08:46' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.7' message 'green tests' id '77ea215a-464b-4a8d-96c7-1d0a63a357ec' date '10/09/2012' time '16:57:42' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.6' message 'giving more responsibility to TZElement classes ... server side mods ... not debugged' id '757a4c21-1c66-4b6d-bc21-2d50db8b7d53' date '10/09/2012' time '16:52:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.5' message 'class selectors support' id '2e67b010-f1c3-4380-8c78-075e9431f761' date '10/08/2012' time '18:44:52' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.4' message 'prclasses support' id '1d00262c-54a5-4a68-a7e9-c7219586697f' date '10/07/2012' time '18:29:29' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.3' message 'move tzProxyClass to server core to support native operations' id '1f35d6a7-883e-4aea-9f22-4563cef214f1' date '10/05/2012' time '10:26:07' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.2' message 'tweak frame format' id '42da5bab-85b4-4314-9ebf-d6c0956b471e' date '10/04/2012' time '16:28:06' author 'dkh' ancestors ((name 'Topez-Server-Core-dkh.1' message 'rename from Topez-Core to Topez-Server-Core and Topez-Tests to Topez-Server-Tests' id '0d44d899-49cf-457e-ab56-8c8581ac0a49' date '10/03/2012' time '16:26:23' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Server-DebugTools.package/TDDebugTool.class/class/registerForRemoteBreakpoints.st b/repository/Topez-Server-DebugTools.package/TDDebugTool.class/class/registerForRemoteBreakpoints.st index f39ffc201..44ce563df 100644 --- a/repository/Topez-Server-DebugTools.package/TDDebugTool.class/class/registerForRemoteBreakpoints.st +++ b/repository/Topez-Server-DebugTools.package/TDDebugTool.class/class/registerForRemoteBreakpoints.st @@ -1,10 +1,7 @@ remote breakpoints registerForRemoteBreakpoints - - GemToGemAnnouncement announcer - on: ClearAllBreakpointsAnnouncement - send: #clearAllBreakpoints: - to: self; - on: SetOrClearBreakpointAnnouncement - send: #setOrClearBreakpoint: - to: self. \ No newline at end of file + GemToGemAnnouncement announcer + on: ClearAllBreakpointsAnnouncement send: #'clearAllBreakpoints:' to: self; + on: SetOrClearBreakpointAnnouncement + send: #'setOrClearBreakpoint:' + to: self \ No newline at end of file diff --git a/repository/Topez-Server-DebugTools.package/TDDebugTool.class/class/sendSetOrClearBreakPointSignal..st b/repository/Topez-Server-DebugTools.package/TDDebugTool.class/class/sendSetOrClearBreakPointSignal..st index a4ecb290e..ada6a7384 100644 --- a/repository/Topez-Server-DebugTools.package/TDDebugTool.class/class/sendSetOrClearBreakPointSignal..st +++ b/repository/Topez-Server-DebugTools.package/TDDebugTool.class/class/sendSetOrClearBreakPointSignal..st @@ -1,10 +1,5 @@ remote breakpoints sendSetOrClearBreakPointSignal: aString - Transcript - cr; - show: - 'sendSetOrClearBreakPointSignal: [0]: ' - , self remoteBreakpointsEnabled printString. self remoteBreakpointsEnabled ifFalse: [ ^ self ]. SetOrClearBreakpointAnnouncement broadcastMessage: aString \ No newline at end of file diff --git a/repository/Topez-Server-DebugTools.package/TDDebugTool.class/class/setOrClearBreakpoint..st b/repository/Topez-Server-DebugTools.package/TDDebugTool.class/class/setOrClearBreakpoint..st index 20a596634..bd9d442bf 100644 --- a/repository/Topez-Server-DebugTools.package/TDDebugTool.class/class/setOrClearBreakpoint..st +++ b/repository/Topez-Server-DebugTools.package/TDDebugTool.class/class/setOrClearBreakpoint..st @@ -1,18 +1,24 @@ remote breakpoints setOrClearBreakpoint: aGemToGemAnnouncement - "Session received a Gem to Gem signal" + "Session received a Gem to Gem signal" - [ aGemToGemAnnouncement signalMessage evaluate ] - on: Error - do: [:ex | | stdout | - (ObjectLogEntry error: 'ERROR during: ', aGemToGemAnnouncement signalMessage printString object: ex) addToLog. - "Cannot count on being in a transaction when exception is signalled, so dump info to stdout" - stdout := GsFile stdoutServer. - stdout nextPutAll: '----------- Remote Breakpoint ERROR Encountered: ', DateAndTime now printString. - stdout cr. - stdout nextPutAll: ex description. - stdout cr. - stdout nextPutAll: (GsProcess stackReportToLevel: 300). - stdout nextPutAll: '-----------'. - stdout cr. - stdout close]. \ No newline at end of file + [ aGemToGemAnnouncement signalMessage evaluate ] + on: Error + do: [ :ex | + | stdout | + (ObjectLogEntry + error: + 'ERROR during: ' , aGemToGemAnnouncement signalMessage printString + object: ex) addToLog. "Cannot count on being in a transaction when exception is signalled, so dump info to stdout" + stdout := GsFile stdoutServer. + stdout + nextPutAll: + '----------- Remote Breakpoint ERROR Encountered: ' + , DateAndTime now printString. + stdout cr. + stdout nextPutAll: ex description. + stdout cr. + stdout nextPutAll: (GsProcess stackReportToLevel: 300). + stdout nextPutAll: '-----------'. + stdout cr. + stdout close ] \ No newline at end of file diff --git a/repository/Topez-Server-DebugTools.package/TDDebugTool.class/instance/breakList..2.st b/repository/Topez-Server-DebugTools.package/TDDebugTool.class/instance/breakList..1.st similarity index 100% rename from repository/Topez-Server-DebugTools.package/TDDebugTool.class/instance/breakList..2.st rename to repository/Topez-Server-DebugTools.package/TDDebugTool.class/instance/breakList..1.st diff --git a/repository/Topez-Server-DebugTools.package/TDDebugTool.class/instance/breaklist..1.st b/repository/Topez-Server-DebugTools.package/TDDebugTool.class/instance/breaklist..2.st similarity index 100% rename from repository/Topez-Server-DebugTools.package/TDDebugTool.class/instance/breaklist..1.st rename to repository/Topez-Server-DebugTools.package/TDDebugTool.class/instance/breaklist..2.st diff --git a/repository/Topez-Server-DebugTools.package/TDDebugTool.class/methodProperties.json b/repository/Topez-Server-DebugTools.package/TDDebugTool.class/methodProperties.json index 583f0dc2f..e69b199c7 100644 --- a/repository/Topez-Server-DebugTools.package/TDDebugTool.class/methodProperties.json +++ b/repository/Topez-Server-DebugTools.package/TDDebugTool.class/methodProperties.json @@ -17,12 +17,12 @@ "installOn:" : "dkh 02/18/2014 11:34", "priority" : "DataCurator 12/19/2012 11:44", "readMeBreakpoint" : "DataCurator 12/20/2012 08:07", - "registerForRemoteBreakpoints" : "dkh 06/05/2014 14:53", + "registerForRemoteBreakpoints" : "dkh 12/05/2014 16:31", "remoteBreakpointsEnabled" : "dkh 06/05/2014 15:33", "sendClearAllBreaksSignal" : "dkh 06/05/2014 14:56", - "sendSetOrClearBreakPointSignal:" : "dkh 06/05/2014 18:59", + "sendSetOrClearBreakPointSignal:" : "dkh 12/06/2014 14:44", "sessionStart" : "dkh 06/05/2014 14:54", - "setOrClearBreakpoint:" : "dkh 06/05/2014 14:57", + "setOrClearBreakpoint:" : "dkh 12/06/2014 14:45", "testSuiteClasses" : "dkh 04/19/2014 12:04", "toolName" : "DataCurator 12/20/2012 07:50", "toolReadMe" : "DataCurator 12/20/2012 07:50" }, diff --git a/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/browseClassDefinitionMenuAction.selectionIndex..st b/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/browseClassDefinitionMenuAction.selectionIndex..st index 6b155c4ec..6ae64303e 100644 --- a/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/browseClassDefinitionMenuAction.selectionIndex..st +++ b/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/browseClassDefinitionMenuAction.selectionIndex..st @@ -4,7 +4,7 @@ browseClassDefinitionMenuAction: listElement selectionIndex: selectionIndex selectionIndex == 0 ifTrue: [ ^ false ]. cls := self theBehavior. - {(TDClassDefinition className: cls theNonMetaClass name)} + {(cls asTDClassDefinition)} editUsing: (TDEditorSpec topez: listElement topez editorAspect: #'definitionList'). ^ true \ No newline at end of file diff --git a/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/dbFinishStep.st b/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/dbFinishStep.st index eb2bdd9ce..ddba941d9 100644 --- a/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/dbFinishStep.st +++ b/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/dbFinishStep.st @@ -10,7 +10,7 @@ dbFinishStep "needed for G/S 2.4 to recognize when process is no longer active .. may be nil" processTerminated == true ]) ifTrue: [ ^ #'close' ]. - ^ STON + ^ self objectSerializer toString: {#'listIndex:'. (currentFrame frameIndex)} \ No newline at end of file diff --git a/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st b/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st index 14f526232..eb701a06b 100644 --- a/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st +++ b/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st @@ -25,7 +25,7 @@ itemSelected: miniTool listElement: listElement selectedIndex: index shiftPresse ifNil: [ sourceWindowId := currentFrame editUsing: sourceEditorSpec. contextWindowId := currentFrame editUsing: contextEditorSpec. - STON + self objectSerializer toString: {#'setMenuCategories:'. enabled. @@ -36,7 +36,7 @@ itemSelected: miniTool listElement: listElement selectedIndex: index shiftPresse ifNotNil: [ sourceClientElement := currentFrame clientElementUsing: sourceEditorSpec. contextClientElement := currentFrame clientElementUsing: contextEditorSpec. - STON + self objectSerializer toString: {#'setMenuCategories:'. enabled. diff --git a/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/refreshView.st b/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/refreshView.st index 0e8a267aa..e67e5d821 100644 --- a/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/refreshView.st +++ b/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/refreshView.st @@ -1,3 +1,7 @@ updating refreshView - self topez refreshViewFor: windowId \ No newline at end of file + "Assume to be sent after successful accept of new version of method" + + self topez + clearUserEditFlagFor: sourceWindowId; + refreshViewFor: windowId \ No newline at end of file diff --git a/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/usePersistentClientElementCache.st b/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/usePersistentClientElementCache.st new file mode 100644 index 000000000..425fefe34 --- /dev/null +++ b/repository/Topez-Server-DebugTools.package/TDDebugger.class/instance/usePersistentClientElementCache.st @@ -0,0 +1,3 @@ +accessing +usePersistentClientElementCache + ^ false \ No newline at end of file diff --git a/repository/Topez-Server-DebugTools.package/TDDebugger.class/methodProperties.json b/repository/Topez-Server-DebugTools.package/TDDebugger.class/methodProperties.json index dbc89e5b0..c869e2c04 100644 --- a/repository/Topez-Server-DebugTools.package/TDDebugger.class/methodProperties.json +++ b/repository/Topez-Server-DebugTools.package/TDDebugger.class/methodProperties.json @@ -3,7 +3,7 @@ }, "instance" : { "attachProcess:" : "dkh 06/03/2014 07:46", - "browseClassDefinitionMenuAction:selectionIndex:" : "dkh 01/10/2014 10:49", + "browseClassDefinitionMenuAction:selectionIndex:" : "dkh 09/12/2015 08:30", "browseFullClassMenuAction:selectionIndex:" : "dkh 03/30/2014 15:18", "browseImplementorsMenuAction:selectionIndex:" : "dkh 05/09/2014 15:18", "browseMethodVersionsMenuAction:selectionIndex:" : "dkh 06/03/2014 14:01", @@ -15,7 +15,7 @@ "dbContinue" : "dkh 01/08/2014 20:11", "dbContinueMenuAction:selectionIndex:" : "dkh 01/12/2014 14:40", "dbDownMenuAction:selectionIndex:" : "dkh 01/07/2014 07:54", - "dbFinishStep" : "dkh 01/08/2014 21:57", + "dbFinishStep" : "dkh 06/25/2015 15:46", "dbRestart" : "dkh 01/11/2014 17:17", "dbRestartMenuAction:selectionIndex:" : "dkh 01/07/2014 07:56", "dbStep:" : "dkh 05/15/2014 15:31", @@ -30,19 +30,20 @@ "frameList" : "dkh 01/11/2014 09:42", "homeMethod" : "dkh 01/05/2014 18:29", "homeMethod:" : "dkh 01/05/2014 18:29", - "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 06/03/2014 08:01", + "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 06/25/2015 15:46", "menuActionSpec:" : "dkh 06/03/2014 07:52", "navigateStack:" : "dkh 01/07/2014 07:53", "objectMenuActionSpec" : "dkh 06/25/2014 11:05", "printObjectMenuAction:selectionIndex:" : "dkh 01/06/2014 21:00", "receiver" : "dkh 01/05/2014 22:07", "receiver:" : "dkh 01/05/2014 22:07", - "refreshView" : "dkh 01/11/2014 08:17", + "refreshView" : "dkh 08/31/2015 16:59", "selectionIndex" : "dkh 01/07/2014 07:10", "stackNode" : "dkh 01/05/2014 18:04", "terminateProcessOnClose" : "dkh 01/06/2014 20:14", "theBehavior" : "dkh 01/10/2014 10:49", "theCurrentFrame" : "dkh 01/10/2014 10:41", "theStack" : "dkh 01/05/2014 18:04", + "usePersistentClientElementCache" : "dkh 08/18/2015 11:06", "windowIsClosing:" : "dkh 01/06/2014 20:16", "windowLocation" : "dkh 05/23/2014 10:16" } } diff --git a/repository/Topez-Server-DebugTools.package/TDStack.class/instance/refreshViews.st b/repository/Topez-Server-DebugTools.package/TDStack.class/instance/refreshViews.st index a10836ec2..06b7363e7 100644 --- a/repository/Topez-Server-DebugTools.package/TDStack.class/instance/refreshViews.st +++ b/repository/Topez-Server-DebugTools.package/TDStack.class/instance/refreshViews.st @@ -1,3 +1,5 @@ as yet unclassified refreshViews + "Assume to be sent after successful accept of new version of method" + self debugTool ifNotNil: [ self debugTool refreshView ] \ No newline at end of file diff --git a/repository/Topez-Server-DebugTools.package/TDStack.class/instance/trimStackTo..st b/repository/Topez-Server-DebugTools.package/TDStack.class/instance/trimStackTo..st index 6b92be637..adc0f5626 100644 --- a/repository/Topez-Server-DebugTools.package/TDStack.class/instance/trimStackTo..st +++ b/repository/Topez-Server-DebugTools.package/TDStack.class/instance/trimStackTo..st @@ -1,5 +1,7 @@ as yet unclassified trimStackTo: level + "Assume to be sent after successful accept of new version of method" + self trimmed: true. self process _trimStackToLevel: level. self resetFrames. diff --git a/repository/Topez-Server-DebugTools.package/TDStack.class/methodProperties.json b/repository/Topez-Server-DebugTools.package/TDStack.class/methodProperties.json index 4acb24f0a..d474c319b 100644 --- a/repository/Topez-Server-DebugTools.package/TDStack.class/methodProperties.json +++ b/repository/Topez-Server-DebugTools.package/TDStack.class/methodProperties.json @@ -15,11 +15,11 @@ "printOn:" : "dkh 03/30/2013 08:56", "process" : "DataCurator 12/16/2012 10:04", "process:" : "DataCurator 12/16/2012 10:04", - "refreshViews" : "dkh 01/10/2014 12:15", + "refreshViews" : "dkh 08/31/2015 16:58", "resetFrames" : "DataCurator 12/19/2012 14:13", "signallerFrame:" : "dkh 01/05/2014 18:02", "stack" : "DataCurator 12/16/2012 14:04", "terminateProcess" : "dkh 01/06/2014 20:17", - "trimStackTo:" : "dkh 03/20/2014 14:40", + "trimStackTo:" : "dkh 08/31/2015 16:57", "trimmed" : "dkh 03/20/2014 14:39", "trimmed:" : "dkh 03/20/2014 14:39" } } diff --git a/repository/Topez-Server-DebugTools.package/TDStackFrameContentsClientListElementBuilder.class/instance/browseClassDefinitionMenuAction.selectionIndex..st b/repository/Topez-Server-DebugTools.package/TDStackFrameContentsClientListElementBuilder.class/instance/browseClassDefinitionMenuAction.selectionIndex..st index bd4402abc..25ce5b6c7 100644 --- a/repository/Topez-Server-DebugTools.package/TDStackFrameContentsClientListElementBuilder.class/instance/browseClassDefinitionMenuAction.selectionIndex..st +++ b/repository/Topez-Server-DebugTools.package/TDStackFrameContentsClientListElementBuilder.class/instance/browseClassDefinitionMenuAction.selectionIndex..st @@ -1,6 +1,6 @@ menu actions browseClassDefinitionMenuAction: listElement selectionIndex: selectionIndex - {(TDClassDefinition className: self theClass name)} + {(self theClass asTDClassDefinition)} editUsing: (TDEditorSpec topez: listElement topez editorAspect: #'definitionList'). ^ true \ No newline at end of file diff --git a/repository/Topez-Server-DebugTools.package/TDStackFrameContentsClientListElementBuilder.class/instance/usePersistentClientElementCache.st b/repository/Topez-Server-DebugTools.package/TDStackFrameContentsClientListElementBuilder.class/instance/usePersistentClientElementCache.st new file mode 100644 index 000000000..425fefe34 --- /dev/null +++ b/repository/Topez-Server-DebugTools.package/TDStackFrameContentsClientListElementBuilder.class/instance/usePersistentClientElementCache.st @@ -0,0 +1,3 @@ +accessing +usePersistentClientElementCache + ^ false \ No newline at end of file diff --git a/repository/Topez-Server-DebugTools.package/TDStackFrameContentsClientListElementBuilder.class/methodProperties.json b/repository/Topez-Server-DebugTools.package/TDStackFrameContentsClientListElementBuilder.class/methodProperties.json index eb775afd4..7cc58b65b 100644 --- a/repository/Topez-Server-DebugTools.package/TDStackFrameContentsClientListElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-DebugTools.package/TDStackFrameContentsClientListElementBuilder.class/methodProperties.json @@ -2,7 +2,7 @@ "class" : { }, "instance" : { - "browseClassDefinitionMenuAction:selectionIndex:" : "dkh 06/28/2014 13:19", + "browseClassDefinitionMenuAction:selectionIndex:" : "dkh 09/12/2015 08:36", "browseFullClassMenuAction:selectionIndex:" : "dkh 06/28/2014 13:19", "clientList:" : "dkh 03/20/2014 20:37", "defaultEditorWindowLocation" : "dkh 09/27/2013 18:28", @@ -10,4 +10,5 @@ "menuActionSpec" : "dkh 02/19/2014 17:37", "selectedClass:selectionIndex:" : "dkh 06/28/2014 13:19", "theBehavior" : "dkh 06/28/2014 13:18", - "theClass" : "dkh 06/28/2014 13:18" } } + "theClass" : "dkh 06/28/2014 13:18", + "usePersistentClientElementCache" : "dkh 08/18/2015 11:18" } } diff --git a/repository/Topez-Server-DebugTools.package/TDStackFrameMethodElementBuilder.class/instance/theBehavior.st b/repository/Topez-Server-DebugTools.package/TDStackFrameMethodElementBuilder.class/instance/theBehavior.st index 67ff0a4b0..4e9563cb1 100644 --- a/repository/Topez-Server-DebugTools.package/TDStackFrameMethodElementBuilder.class/instance/theBehavior.st +++ b/repository/Topez-Server-DebugTools.package/TDStackFrameMethodElementBuilder.class/instance/theBehavior.st @@ -1,6 +1,7 @@ as yet unclassified theBehavior | beh | + self inClass ifNil: [ ^ nil ]. beh := Smalltalk at: self inClass theNonMetaClass name asSymbol. self inClass isMeta ifTrue: [ beh := beh class ]. diff --git a/repository/Topez-Server-DebugTools.package/TDStackFrameMethodElementBuilder.class/instance/usePersistentClientElementCache.st b/repository/Topez-Server-DebugTools.package/TDStackFrameMethodElementBuilder.class/instance/usePersistentClientElementCache.st new file mode 100644 index 000000000..425fefe34 --- /dev/null +++ b/repository/Topez-Server-DebugTools.package/TDStackFrameMethodElementBuilder.class/instance/usePersistentClientElementCache.st @@ -0,0 +1,3 @@ +accessing +usePersistentClientElementCache + ^ false \ No newline at end of file diff --git a/repository/Topez-Server-DebugTools.package/TDStackFrameMethodElementBuilder.class/methodProperties.json b/repository/Topez-Server-DebugTools.package/TDStackFrameMethodElementBuilder.class/methodProperties.json index c7e1c6861..edb22e5fd 100644 --- a/repository/Topez-Server-DebugTools.package/TDStackFrameMethodElementBuilder.class/methodProperties.json +++ b/repository/Topez-Server-DebugTools.package/TDStackFrameMethodElementBuilder.class/methodProperties.json @@ -15,5 +15,6 @@ "selector" : "DataCurator 02/09/2013 09:12", "sourceRange" : "dkh 04/01/2013 20:52", "spawnCopyBlock" : "dkh 07/07/2014 18:37", - "theBehavior" : "DataCurator 02/09/2013 09:06", - "theClass" : "dkh 06/22/2014 11:20" } } + "theBehavior" : "dkh 03/16/2015 20:54", + "theClass" : "dkh 06/22/2014 11:20", + "usePersistentClientElementCache" : "dkh 08/18/2015 11:18" } } diff --git a/repository/Topez-Server-DebugTools.package/monticello.meta/version b/repository/Topez-Server-DebugTools.package/monticello.meta/version index 152ac2066..de42c117b 100644 --- a/repository/Topez-Server-DebugTools.package/monticello.meta/version +++ b/repository/Topez-Server-DebugTools.package/monticello.meta/version @@ -1 +1 @@ -(name 'Topez-Server-DebugTools-dkh.151' message 'Issue #94: proposed bugfix' id '975d320a-ad60-472f-9cb7-b96538483791' date '07/07/2014' time '20:23:16' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.150' message 'Issue #95: proposed bugfix' id '1e046f35-aa90-4a00-bb7f-6f3c2de9f6a4' date '07/07/2014' time '16:01:22' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.149' message '- working on fixing disappearing comments for workspaces (comment no statements) - adding RBWorkspaceNode as extenstion to RB AST... - clean up workspace code so that it''s possible for workspace to correctly access temps and args for debugger context - debugger context browse class and browse full cleaned up' id '06875ce0-155f-45d5-8f3b-22be0215467c' date '06/28/2014' time '15:58:13' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.148' message 're-enable `browse full` (CMD-B) in all of the usual places by (correctly) adding classMenuActionSpec to menus and correctly enabling the proper menu items...' id '8dd57695-adc2-4c92-a741-6161c9b8fb89' date '06/25/2014' time '11:08:41' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.147' message 'Issue #74: text editor `Browse > *` menu items are all functional' id '90f5c0ee-2f67-42cc-b620-c43987981311' date '06/22/2014' time '11:36:38' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.146' message 'Issue #75: rip up all of the old keyboard block support' id 'd356771f-5b16-4671-8c92-64c52a8391d2' date '06/18/2014' time '17:08:43' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.145' message 'correct the `break set` man page' id 'eff49a77-610b-4099-9332-c11a80b2189c' date '06/12/2014' time '19:49:18' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.144' message 'with this change remote breakpoints are "working" ... the breakpoint continuation is dropped into ObjectLog, but the Breakpoint resume: method returns a nil ... need to be able to continue breakpoint exception without having nil sneak in ... this might be GemStone 3.2 bug?' id 'e75c012c-8e3b-4f66-af86-5e4bfce25784' date '06/05/2014' time '21:20:12' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.143' message 'add pid filter to `ol view` command ... add tracking to TDDebugTool class>>sendSetOrClearBreakPointSignal: to see how remote debugging is working' id '34a5edb1-cbd2-4c48-ab41-b7c4e8e79d2b' date '06/05/2014' time '19:18:50' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.142' message 'lost `install` call when I added the remote breakpoint initialize method' id '52483b0f-f788-4c4c-acd8-2f9bdf9893ce' date '06/05/2014' time '17:53:18' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.141' message 'potpourri - abort in `ol view` ... need to parameterize this - fix GsNMethod reference in new remote breakpoint code - tracing for errors during breakpoint tests ... obviously something is not right in the remote breakpoint code, but the tests pass locally (as is usually the case)' id 'f48213c3-b150-4f80-842a-e348e0da990b' date '06/05/2014' time '17:43:55' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.140' message 'hook up remote breakpoints mechanism to tODE...still needs testing ...' id 'de6bb20b-57c6-408e-b62d-dda2dc5749ff' date '06/05/2014' time '16:18:53' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.139' message 'Issue #71: all "browser" windows should have meaningful window labels - all "browser" windows should be block-based. Query is re-run when window refreshed' id '4a601353-48ea-43c2-9a80-388bf3e352be' date '06/03/2014' time '14:31:24' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.138' message 'Issue #39: tweaks to debugger when attached to a continuation - `debug continuation` menu item in TDObjectLogEntryBrowser attaches debugger to the process .. can''t step and continue at the moment - `ol view` command brings up TDObjectLogEntryBrowser' id '8f9d9c55-cdd8-4bd2-abc4-2de1fc51ed30' date '06/03/2014' time '08:06:52' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.137' message 'issue #77: partial fix ... server-side changes returing true/false in response to text `accept`' id 'f4d77e04-0c02-49a8-9eea-6260525d33fd' date '06/02/2014' time '12:04:33' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.136' message 'add new browse class/method implementors/senders to monticello merge browser - install source/destination not done yet - repurpose TDAbstractDevTool>>parseMethodSpec: to just return TDMethodDefintions (used to return GsNMethods) - TDAbstractDevTool>>methodFromMethodSpec: returns GsNMethods - share Method menu items between TDMergeDiffBrowser and TDFileTreeDiffBrowser via TDAbstractMergeBrowser - touch project list menu yet again - fix TDMonticelloTool>>mcmerge:and:in: - implement flush cache in repository browser ' id '8646b938-f770-4e90-b66e-16fa41980f52' date '05/30/2014' time '13:26:40' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.135' message 'implement git history for package - define windowLocation iv in TDAbstractToolBuilder - configurationOf/packageOf defined in TDMcPackageDefinition. Previous support methods moved from TDClassDefinition - push project list menu around a bit' id '893a8e9d-6c94-4e0f-8111-60f4dae84ee8' date '05/23/2014' time '11:31:19' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.134' message 'poor man''s hack for stepping over code that interacts with Transcript - there is a new option the step gci call that should allow stepping over Transcript interactions, however for 3.1 and 2.x this will fill the bill...' id 'a84f6947-5b2f-4dbf-b001-1e542f480a7c' date '05/15/2014' time '15:50:06' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.133' message '- TDFileTreeDiffBrowser created and looks good (formats the smalltalk methods in FileTree structure before compare) and allows for doing senders and implmentors ... - TDMergeDiffBrowser and TDGitDiffBrowser created, but not hooked in quite yet' id '903246a5-e87d-4d79-8108-183a57fd04d1' date '05/09/2014' time '15:42:49' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.132' message '- TDDebugTool class>>_breakReport added for portability' id 'e1ff4ec9-55fd-4087-bc0b-c7071ee26601' date '05/01/2014' time '17:44:29' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.131' message '- implement `break` family of commands to replace `db break` family - man pages and tests - misc tweaks' id '69aa5bd6-4464-43d1-9c4c-0d71c6baba5c' date '05/01/2014' time '04:20:04' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.130' message '- remove the methods left over from the old implmentation of the debugger' id '3b7ef2aa-1387-403c-a9d5-aa1543216b94' date '04/30/2014' time '21:26:36' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.129' message '- clean up implementation of `debug it` ... need to be able to access literals in doit context - start work on `method` command - implement `method browse` command - implement `method protocol` command - tests' id '651c5982-70f0-4aff-88a6-75a333f84f26' date '04/28/2014' time '17:56:54' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.128' message '- `cls category` implemented - `cls rename` implemented - document that `cls protocol` accepts @ references.. - define doitContext for debugger source window - fix a bug in TDShellTool>>protocol:rename:to: in Gemstone 2.4 - tests ' id '80582ca8-e4a0-45b7-9bb4-5e72faf50ec5' date '04/28/2014' time '13:13:11' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.127' message '- woops TDStackFrameNodeBuilder should be obsolete and TDStackFrameContentsClientListElementBuilder should not' id 'fee9f28f-97b1-449e-8261-f0206319830f' date '04/26/2014' time '11:33:24' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.126' message '- convert implementors and senders menu itme in method lists to use blocks .... - slice halos out of system ... make the TDHaloDevTool obsolete - MethodReference>>printOn: make the class inspector friendly' id 'fa1a5377-6989-49ce-95ab-2f56dea09cae' date '04/26/2014' time '10:01:05' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.125' message '- obsolete a bushel of classes that are not used right now and/or will have to undergo major changes if they are to be brought back into tool set ... roassal was a proof of concept ...' id '61eefc92-3f4c-47ed-9104-9076c8efffad' date '04/26/2014' time '08:42:58' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.124' message '- remove undeclared symbol references from Tode code base - implement block-based method browsing so that refresh of window recalculates search - need block-based class browsing .., - use GsDeployer for class changes - fix up item selected problems ... - add --staticList option bot `browse` command' id '20c5cc80-9973-4a06-82f0-4772cd3faa87' date '04/19/2014' time '12:14:44' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.123' message '- fix up debugger for ''implementors''' id '71ade28d-66d3-45d0-98ed-30e9f5f53424' date '04/01/2014' time '22:43:51' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.122' message '- implement `browse class` with options: - browse class [--hier|--full] ' id '8214f2a3-f87d-4b00-b187-39cd5477be4a' date '03/30/2014' time '15:24:49' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.121' message '- make pass through senders menu/shortcut/commands so that they all use the same methods ... - working my way through all of the browse/find commands' id '24c6f973-c57c-4374-82a5-15e7bf0b3c5d' date '03/30/2014' time '13:22:31' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.120' message '- make pass through implementors menu/shortcut/commands so that they all use the same methods ... - browse/find commands now take command options - amethod, rmethod, method variants collapsed to single subcommand with options - working my way through all of the browse/find commands' id '2bfa22a7-d3a0-4319-b5ae-41ec56378338' date '03/30/2014' time '12:29:53' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.119' message 'implement the `Method` menu items and sketch out the `Search` menu itmes ...' id 'c3c2f96e-f451-486f-8de4-7c509a3b788a' date '03/26/2014' time '22:07:39' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.118' message 'pass list and selection index for list in one pass (using an Association)' id '3f1be048-77b7-411b-a1a7-fe01dc29a881' date '03/20/2014' time '20:47:41' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.117' message 'add Parent menu item to object navigator...''.'' has no special meaning any more although it is a placeholder for self ... only show view/inspect item (as appropriate) in navigator menu' id 'f1b7b2e8-5aaf-4692-a84d-e22f7baad047' date '02/19/2014' time '18:32:06' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.116' message 'Issue #67: remove TDStackNodeBuilder and TDStackClientListElementBuilder classes as they are completely replaced by TDDebugger. TDStackFrameNodeBuilder is probably obsolete as well ... delete later. Issue #48: remove ''.'' from navigator window and replace with inspect/view menu items ' id '943492d2-021d-431d-bf90-c7edb682ad1e' date '02/18/2014' time '11:48:57' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.115' message 'fix a selected frame problem in debugger when accepting a mthod up the stack' id '84ddbcf9-0eb3-4781-9f5c-9c0a70402672' date '01/22/2014' time '08:51:47' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.114' message 'Issue #67: fix TDDebugger>>dbContinue ... remove unconditional #close' id 'da2c695e-d1df-4b5d-b8ab-c4e4f8e91f67' date '01/12/2014' time '21:27:46' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.113' message 'Issue #67: fix TDDebugger>>dbRestart ... add ''~'' as alias for /home' id '2e4d1026-65fc-4ed3-baa0-2a092c486ded' date '01/11/2014' time '18:02:08' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.112' message 'Issue #67: implement method menu items (senders/implementers/versions) and find tune the receiver highlighting (use frameSelf)' id 'afdd1269-70b7-4ced-94f8-692e893d42b1' date '01/11/2014' time '09:48:32' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.111' message 'Issue #67: implement refreshViewFor: client callback and hook into tdebugger - cause stack view to refresh when method accepted somewhere on stack' id '88bbe386-aedb-4121-b5eb-703f3923b4fb' date '01/11/2014' time '09:09:04' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.110' message 'Issue #67: continue switch over from TDDebugTool-based to TDDebugger-based debugging, knitting together more of the debugger functionality. - tweak TDProcessTool ... - TDTopezServer>>clientElementFor:using: needs to add clientElement to elementCache' id '4117eea8-247a-4360-bceb-622f1ef6109d' date '01/10/2014' time '17:08:15' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.109' message 'Issue #48 & Issue #67: debugger, process browser, `ps` command enhancements - Object keyboard shortcuts for debugger - bring up process printString when process selected in process browser - add `portable` menu item for process browser (convert to portable from native) - `ps portable` command implement in TDProcessTool to make it possible to set breakpoints in same process instance where you want them active ' id '7f06553d-477d-4b54-85b9-b4c9d0c2feca' date '01/10/2014' time '11:13:06' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.108' message 'Issue #48: implement Process Browser using TDToolBuilder (no know as TDAbstractToolBuilder) ... refactored and renamed TDToolBuilder hierarchy. `ps` command rafactored to support process browser, but process manipulation commands moved to process browser ...' id 'ded1afbf-a19b-400e-9191-04216071d612' date '01/10/2014' time '08:16:22' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.107' message 'Issue #67: Object>>clientElementUsing: makes it possible to ship multiple window updates in one STON package ... update list/source/context on item select and dbFinishStep with one STON package ' id 'b3081d79-65d0-46c2-a878-2ceb699a8b73' date '01/08/2014' time '22:02:39' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.106' message 'Issue #67: fine tune debugger update sequence ... turn on TDDebugger as default debugger & lets see what happens' id '25631e54-41fb-4329-b82c-0078d54cd1e6' date '01/08/2014' time '20:49:56' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.105' message 'Issue #67: get step working ... updates still rough - keyboard shortcuts - hook into TDTopezServer>>openDebugger ' id '265f79be-efb1-4ace-8bc3-4bcd96049c27' date '01/08/2014' time '20:21:12' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.104' message 'Issue #67: implement debugger menu items - step over, into, thru; continue; restart; up; down have been implemented in TDDebugger ... not functional - moved TDDebugger to Topez-Server-DebugTools package' id 'fc60a2c7-89f6-41f3-9e2a-c1f81e6ed2c9' date '01/07/2014' time '08:12:11' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.103' message 'Issue #67: attack menus and keyboard actions - item selected (source and context windows opened) - closing stack window, closes source and context windows - attachProcess: and debugProcess: ... attach does not terminate process when window closed - add `print window` to window menu - printing goes to window named #printer - `ps attach` and `ps debug` commands open TDDebugger...' id '9fd547c5-f2b4-4b4a-9083-1bf28840f947' date '01/06/2014' time '21:21:24' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.102' message '- on cut actions, refrehList and add to clipbard in one swell foop - start work on new debugger (TDDebugger)' id 'fbde0e32-f464-4af4-9d51-f2b0e916159a' date '01/06/2014' time '08:00:56' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.101' message 'CMD-SHIFT-P: opens window with printString of client list ... `ps debug` command open debugger on given process ...' id '9dd500b6-f3ff-489a-9def-0fa51ef06317' date '12/18/2013' time '19:08:10' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.100' message 'TDSessionTempNode is a better way of stashing session temps in the object structure. Basically a "persistence barrier" can be insterted into an object structure. TDSessionObjectNode was an interesting idea, but did not work in practice as the "session tempness" was difficult to preserve ...' id '2602e755-077b-41b8-a9fd-46657093df7e' date '12/16/2013' time '19:41:42' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.99' message 'Issue #16: convert all command blocks to the form: [ :topez :objIn :tokens :command | ]...convert subCommands to use: TDAbstractDevTool class>>performSubCommand:objIn:todeCommand: ...add better subCommand support to TDCommandLine (teach it to respect subCommands) ... still need to remove windowId and tokens instance variables from TDAbstractDevTool ... TDTopezServer>>evaluateCommand:objIn: and TDTopezServer>>evaluateSTONCommand: are now the primary entry points for command processing ...' id '5c328e0d-603b-4444-b109-308ae9f6ec77' date '11/10/2013' time '11:27:20' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.98' message 'Issue #28: finish initial foray into menus for tODE ... now that we''ve got menus, there are plenty of oppotunities to expand the menu items (and/or reorganize).... still need to do text window menus .. Issue #33: continue/restart menu items available in debugger' id '7c173f98-8c9f-44e3-89c2-0ce3213deb06' date '10/01/2013' time '08:18:18' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.97' message 'align #context location with #debugger location ... use debugger width too... use #context location for debugger context display...bump default `list limit` to 140 ... checkpoint the profmonitor analysis tool' id '596225dd-6616-4d87-906b-4937e9ddb6ba' date '09/27/2013' time '22:09:50' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.96' message 'add CMD-j and CMD-k keyboard shortcuts for debugger' id 'd10fc6e6-ad59-45ec-9716-95ad36dc61d6' date '09/14/2013' time '01:59:53' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.95' message 'checkpoint: begin work on the mergeTool for merging Monticello packages and Cypress repositories. create TDSessionObjectNode class that stores object reference in a TransientValue ... avoid persistent refs to things that cannot be persisted. Use TDSessionObjectNode for the debugger... Add TDGitTool>>performGitCommand:in:worktree:with: to allow independent control of location of work-tree ... Actually use the TDEditorSpec>>windowLabel field when building windows. More keyboard shortcut stubs ... Start building merge command "gui" support Implement mc save, so I can create branched mc versions to test merge command.' id 'b2b4e17d-3a61-4ddb-a392-f30c0acd3e88' date '09/03/2013' time '15:04:10' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.94' message 'fix bug in debug tool...reuse the stack window after debugger opens ... keep window id around in the tool instance' id 'c7ca1aa5-b1a0-49da-a697-9754a474c349' date '08/15/2013' time '17:00:16' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.93' message 'add `rename class` command ... move all examples to `/examples`' id '64c0fdd9-ac6b-4faf-83aa-db9691d55dce' date '08/14/2013' time '14:45:45' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.92' message 'remove logging ... remove process node in /tmp/debug ' id 'fc6ca79c-454f-4606-af13-3cfa209d26e4' date '07/15/2013' time '02:35:39' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.91' message 'multiple open debuggers now supported issues with running unwind blocks on close appear to be addressed ... took opportunity to toss some of the unused methods like the halos ... the nodes are now stashed in /tmp/debug/...still need to toss node on window exit ' id '2f2bf83a-6a1d-47dc-9a33-d18f3440d8d3' date '07/15/2013' time '02:21:41' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.90' message 'checkpoint: working on reworking debugger implementation ... need to support multiple open debuggers ' id '3852935d-3982-473b-b894-6b4fc573f4aa' date '07/14/2013' time '15:33:55' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-.89' message 'add mc compare image command...don''t rely on modified packages for comparison...dbstack and dbStack do not coexist well on mac...is this 2013? ' id '4a1fb1b3-5490-40f5-9484-cb999aafb33f' date '07/11/2013' time '07:55:37' author '' ancestors ((name 'Topez-Server-DebugTools-.88' message 'use TDAbstractDevTool class>>performSubCommand:objIn:tokens:windowId: whereever appropriate ... lots of places ' id '67a58142-c6a9-4b95-a381-994e94e788d6' date '07/09/2013' time '16:00:37' author '' ancestors ((name 'Topez-Server-DebugTools-dkh.87' message 'improve db commands api for programmaticly setting breakpoints' id 'd30b1665-20c4-441e-92e6-e9e059a50aaa' date '06/08/2013' time '16:42:38' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.86' message 'rename listIndex iv in TDClientListItemAttributes to list, since the slot is now expected to be an OrderedCollection...#navigate editor aspect should be reserved to use as the default aspect that brings up the standard navigator for all objects; rename attributes for those that didn''t follow this convention...add some support methods to TDGatewayNode...TDStackFrameContentsClientListElementBuilder should be a subclass of TDDirectoryNodeClientListElementBuilder so that we sharing some important behavior.' id 'e609506b-b4c9-410d-aa79-2b02319f7a7b' date '06/01/2013' time '11:23:38' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.85' message 'displayOn: is already taken in Pharo ... replace with displayOnPolicy:' id 'c177428a-0689-4f3e-b50c-eb3ec25bc576' date '05/30/2013' time '06:41:29' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.84' message 'Use OrderedCollection for portability (instead of Array) ' id '1411eddb-9d67-42ec-87c3-57036b71511b' date '05/28/2013' time '14:05:33' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.83' message 'refactor TDAbstractDevTool hierarchy a bit to accommodate the addition of TDDevProcessSupport ... added TDStandardTool above the tools to house the code related to installing generally available commands, commands defined in TDDevProcessSupport have to be invoked directly, but the code and manPages deserve to be managed in a class... sticking code for the image dev support into TDDevProcessSupport ... share some common commit code in TDMonticelloTool ... preparing for revising the commit commands a bit (maybe?)' id '839e0a0b-603d-45ed-8813-eb49a6814669' date '05/18/2013' time '08:41:51' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.82' message 'convert last few remaining users of ds to edit result in navigator ' id '9c077051-2594-4d69-9801-75cb3a234ac4' date '05/16/2013' time '07:18:42' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.81' message 'add @ option to all appropriate shell commands and update man pages ' id '81a60c7f-8810-4855-ba07-0924d7f259d7' date '05/14/2013' time '10:58:19' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.80' message 'prepping for CMD-p command ... remove all the references to #print .... ' id 'fb6d65ee-18e7-4474-817d-ce814d6093b0' date '04/11/2013' time '20:07:09' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.79' message 'get started on getting tests to pass ... step 1 eliminate spurious halts step 2 get debugger functional again ... step 3 will be to allow edit (using #print aspect) of objects from navigator ' id 'e16aa7f4-9a3f-49a9-a576-ca94f85a94c9' date '04/11/2013' time '17:27:22' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.78' message 'add TDEditorSpec to encapsulate the proliferation of editor arguments ... replace all calls to edit:... with editUsing: that takes a TDEditorSpec as argument ...finally allow for edit of String that brings up source editor and navigate object references to instances of String that views chars in string instead of the node view ... need to be able to bring up an editor on the string FROM navigator ' id '5d128d55-1e64-4a6c-8118-25d203ce9a2e' date '04/11/2013' time '16:58:37' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.77' message 'using #navigate or #edit to replace #browse for editor aspect depending upon context ... ' id '03dcd71d-f4ae-428f-8c41-1cbc0aa5d50b' date '04/10/2013' time '17:17:31' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.76' message 'checkpoint: attempting to make sense out of #view/#inspect for builders and #browse/#inspect/#??? for editors ... mainly related to what happens with strings dictionaries and hitting the . line item hitting . should toggle not lead down a black hole ' id '3b955116-9dac-4831-9f8d-f71bbf478621' date '04/09/2013' time '17:05:44' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.75' message 'add .bin halo ... update man pages since summary is more visible with inspect .bin ' id '2e82cc1a-2722-480f-803a-aba66c786978' date '04/04/2013' time '16:22:08' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.74' message 'fix initialization issue ' id '8d0334a5-b74d-4dc2-ad29-137ed6ecf1d5' date '04/03/2013' time '22:08:08' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.73' message 'get db break into/over and db break steps working ... will need to set different breakpoints for 2.4 and 3.1 in the examples ... since the actual step points differ ... ' id 'd53214fd-624d-43ed-8dea-bc38eb5154f8' date '04/01/2013' time '21:28:39' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.72' message 'get db continue working for debugger with multiple halts involved ' id '08b3a031-9822-45f0-ad19-39a9009601a5' date '04/01/2013' time '20:18:43' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.71' message 'move TDDebugTool>>gsMethodClass to proper package ' id '11fbba6b-7715-4d5e-ac89-fc7d59521e4a' date '03/31/2013' time '09:28:58' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.70' message 'get breakpoint list/report ported ' id 'df548b5d-055f-4c81-b712-871e3b32eb7b' date '03/31/2013' time '09:23:57' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.69' message 'eliminate direct references to GsNMethod in Debug tool ' id 'fd8a835c-4fe1-4005-bf7d-45ff9a04069f' date '03/31/2013' time '07:52:03' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.68' message 'checkpoint: basic shell functionality (including bringing up dewbugger) with GemStone2.4' id '66ec83e2-168c-4273-8445-4818109f2743' date '03/30/2013' time '16:33:04' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.67' message 'resolving sent but not implemented in 2.4 ' id '20cf7184-7988-464f-90a7-4a7c9288ead5' date '03/30/2013' time '09:32:36' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.66' message 'isolate some GemStone 3.1 specific class references/methods ' id 'b436db08-bf4a-4e3a-a8d8-f0d1b334eafb' date '03/30/2013' time '08:48:54' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.65' message 'implement mc revert command ' id '48bc5ce3-174b-4278-8ad7-4d4aa79a9464' date '03/25/2013' time '20:06:48' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.64' message 'rename TDTopezServer>>installChildrenAt: to TDTopezServer>>ensureChildrenExistIn: and use that in ston import to create path ' id '6a49d95f-e1c0-4a29-b2db-593ed5f5c8c6' date '03/10/2013' time '09:33:39' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.63' message 'another infant mortality bug for session method stuff ' id '331fb129-513e-4a5e-a805-9c2c2dde72da' date '02/27/2013' time '11:13:23' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.62' message 'fix infoant mortality session method bug and handle author initials automagically ' id '976370dc-357d-4693-b02e-89bc7afdcd8c' date '02/27/2013' time '07:27:57' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.61' message 'add ensureSessionMethodsEnabled and disableSessionMethods calls to insulate the execution of code in context of dev environment form the tode session methods ' id '1d917447-16a3-4f3a-9f5b-ac7b9408656b' date '02/23/2013' time '18:09:24' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.60' message 'need initialize methods for test/debug tools so that they install themselves when loaded ' id '3717e97c-3134-4f32-aa1a-a551a29f63ff' date '02/23/2013' time '14:51:45' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.59' message 'patch for http://kermit.gemstone.com/bug?bug=42802 ' id 'a829141c-f000-46b4-880b-763d355c7693' date '02/19/2013' time '14:10:01' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.58' message 'keyboard shortcuts for debugger: $i, $o, $t for db into, db over and db thru plus label the debugger shell window correctly ' id '80ecba54-abe9-47b0-b7d1-074c8e6554b0' date '02/18/2013' time '09:28:16' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.57' message 'checkpoint ... converting to server-side formatting ... query block formatting problem outstanding ... ' id 'f3f232ba-0403-494e-84e2-330454d38e8a' date '02/16/2013' time '13:22:42' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-DataCurator.56' message 'examples additions and tweak context labels (always have (self) show up) ' id 'ea8c9c4d-39d4-45e4-9775-dab891f0112a' date '02/10/2013' time '07:24:22' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.55' message 'trim stack in debugger when saving method source ' id 'ea1b1c9f-b9f5-4b1d-935e-8e232fb7241b' date '02/09/2013' time '17:01:51' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.54' message 'checkpoint ... generate compilation errors when saving st leaf node ... working on correct behavior for method source view when a different selector is saved ' id '4fba7efb-b31d-4d33-9ef8-60f19b6031a0' date '02/09/2013' time '10:21:54' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.53' message 'checkpoint ... implementing CMD-N ... ' id 'db32e316-5741-41d3-9570-46b2a5763cb6' date '02/07/2013' time '14:44:48' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.52' message 'do not use #defaultEditorWindowName unless you really want all of the windows to be shared ' id '53b9cb4a-205b-4734-b22f-95bc9042a3d2' date '02/07/2013' time '07:30:11' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.51' message 'more CMD-b implementation ' id 'bc8ba6fb-3d69-4bf5-aebc-d91cce8fda24' date '02/06/2013' time '20:05:56' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.50' message 'make another pass over CMD-B - browse class hierarchy ... cache clientElement on spawn ' id '1ebbd8e8-79b9-45ea-9dee-ce6baea694a7' date '02/06/2013' time '01:15:30' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.49' message 'CMD-c - copy object ... implemented ' id 'ce235598-9bd6-4c73-98e9-e98597676793' date '02/05/2013' time '23:10:25' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.48' message 'polish off CMD-b set breakpoint ' id '6fdf4260-f500-4f18-83e5-6569449ac331' date '02/05/2013' time '22:13:52' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.47' message 'no Shift-clicked logic ... selectionIndex can be specified when opening window ... use selectionIndex for class hierarchy and class list ... ' id '2527003e-aee2-4a74-9d5a-08a6c9c3c383' date '02/04/2013' time '16:42:07' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.46' message 'add db restart command ... ' id '2b2e3ba7-94bc-4827-be96-cbec2caf44ba' date '02/04/2013' time '15:23:41' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.45' message 'toggle between #view and #inspect for . in navigator...preserve requested aspect across lookup ... ' id 'aded20e2-54fd-4a4a-a5fc-0b38a6956ba6' date '02/04/2013' time '11:55:58' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.44' message 'a little bit of cleanup and tests are green: 23 run, 23 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes ' id '37ca2fbd-7fc3-4e3a-987a-79228e85cf58' date '02/03/2013' time '09:33:13' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.43' message 'display policy initial implementation appears to be complete ... testing and clean up needed ... ' id 'f7fcae21-8446-4628-a467-0e91c2621a71' date '02/02/2013' time '09:18:58' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.42' message 'CMD-b is functional (mostly), but I do have to work on the semantics of CMD-b in the various windows ' id '126ac4ee-5588-416d-a6bf-bc58b532e70c' date '01/27/2013' time '22:36:20' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.41' message 'checkpoint ... working on spawnWindow logic ' id 'cb166313-42b7-4cf9-a9b8-2a974bd19f47' date '01/27/2013' time '12:28:25' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.40' message 'run | run works as topez script but not as input in REPL (wrong return value) ... also halts/breakpoints while executing run scripts may not quite work right ... ' id '27ee3558-6d57-49be-b301-98fa2870d03c' date '01/26/2013' time '21:03:03' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.39' message 'fixed issue noted in 62d22ae360377696b94589bef6c454ace5028a82 and fixed infant mortality bug in db thru ' id '9cc23e57-6328-42a3-ac8f-202f96e3e31e' date '01/26/2013' time '09:17:51' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.38' message 'add a second example for db thru command ' id 'df1a1c73-5fc5-4fe8-bbc2-d5fd21893514' date '01/26/2013' time '08:57:41' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.37' message 'basic db thru command is functional ' id '107c78a2-905f-4067-b7f8-4f5f4deaf089' date '01/26/2013' time '08:21:27' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.36' message 'add autoCommit logic to TodeClientSourceElement>>source: (and friends) ' id 'f1809aa4-6020-4052-8d96-1f56c4904443' date '01/26/2013' time '07:17:11' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.35' message 'checkpoint ... circling the solution (hopefully the technique will work) ... ' id '3bdd9998-277b-4085-b9ca-b77f5b503a5d' date '01/26/2013' time '00:33:43' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.34' message 'checkpoint ... more progress on db thru command ' id '1f873cf4-5559-403e-971c-34cfb67e9e49' date '01/25/2013' time '23:11:46' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.33' message 'continue and step are working in presence of follow-on errors/halts/breakpoints ... the problem involved the script elements that were running after the test was finished ' id '930f2fb3-1ba9-432f-a3f6-dc3eae2949ff' date '01/25/2013' time '21:31:00' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.32' message 'checkpoint ... db continue is sorta working ... need to work on continue when it runs to end ... more testing needed ... ' id '2d93808f-54b7-426a-bada-fe327500ca01' date '01/25/2013' time '21:12:52' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.31' message 'checkpoint ... handling halt in debugger ... ' id 'b70d48cf-0a6c-4cba-a40b-3af03f78753f' date '01/25/2013' time '20:30:18' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.30' message 'checkpoint ... starting work on getting breakpoints/halt working for db over / db continue / db thru by reusing the debugger ... db over currently stops for breakpoint ... ' id '7c0be1ca-3cfe-489c-84a6-b6ff340c90a6' date '01/25/2013' time '19:44:51' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.29' message 'tweak ' id 'c8e7abcd-c131-4f70-9ee7-ee816c4b533a' date '01/25/2013' time '16:12:17' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.28' message 'add shift clicked logic for browsing ' id 'c53e4bbe-87dd-4705-b457-7fcb3aa1c406' date '01/25/2013' time '15:16:38' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.27' message 'checkpoint: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ... convert from #edit #inspect to #browse #view #inspect ... still some rough edges ' id 'c6e54011-6398-4e68-8045-020ee462b0fa' date '01/25/2013' time '14:57:58' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.26' message 'scrape off a couple of barnacles ... ' id '2f7e6007-e4e0-4fd5-97df-37831cb56745' date '01/24/2013' time '18:42:41' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.25' message 'test restructure ... start on #browse aspect ... desire to toggle aspect (between edit and inspect) on . item, but still working out kinks ... edit vs inspect on String is diagnostic at the moment ' id '3d6d1493-4c8f-4ac8-98bc-5b9c93a2846b' date '01/24/2013' time '17:22:23' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.24' message 'finally get that last test for TDTxtLeafNode to pass ... finally realized that given the constraints of the test STON version of output is CORRECT...16 run, 15 passes, 0 expected failures, 0 failures, 0 errors, 1 unexpected passes ' id 'cebb9c1b-528c-4f39-8f3d-b6b46c8a3173' date '01/24/2013' time '15:18:58' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.23' message 'parent for node and clientList elements can be any object ... very important ' id '71ed4236-f1b0-4a58-8b46-985511aac40e' date '01/24/2013' time '13:20:00' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.22' message 'editor for directory node looks good ... editor for stack frame looks good ... transition from directory node back to stack frame (following .. chain) not so good ' id 'b3ecc77c-33e7-4acb-be36-4806f46e295a' date '01/24/2013' time '12:54:28' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.21' message 'when editting the parent can be any old object ' id '8cfdbadd-c68c-476f-9c63-9c29058854c4' date '01/24/2013' time '11:12:21' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.20' message 'basic fixes to context editor (debug inspector window) ' id '97ef432e-c8a3-4f15-babb-3f04bc23cb24' date '01/24/2013' time '10:52:38' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.19' message 'fix continue command ... use #inspect aspect for .self and .node ... have to reset topez instances when system reset ... still have issues with running tests after reset ... when I debug I get proper behavior ... ' id '3e48ccde-c50e-47f1-be4e-d6e8905319e9' date '01/23/2013' time '21:07:30' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.18' message 'renamed and refactored test hierarchy and started adding shell command tests ... hit an issue with running tests that needs to be addressed (related to using TransientValue methinks) ... some additional bugfixes ' id '663c6386-7073-4451-934d-12e9983562c0' date '01/23/2013' time '17:25:01' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-dkh.17' message 'repackage debug tools tests' id 'ddb2dd7b-f6eb-438d-bf76-af66e73c7db3' date '01/23/2013' time '10:56:53' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-DataCurator.16' message 'convert Object>>edit:topez:aspect:windowId: to use the windowBuilder code ... eidt/save different text nodes ... debugger is basically working except for the failing test case: 19 run, 18 passes, 0 expected defects, 1 failures, 0 errors, 0 unexpected passes ' id '43715f72-a3f5-4e88-ac80-0aff49cf910a' date '01/22/2013' time '23:26:18' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.15' message 'configure tests to make it easier to reproduce and characterize BUG #42698: mysterious process termination ' id '4289058c-f80f-4a86-acb3-0535b86311b2' date '01/22/2013' time '18:15:41' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.14' message '19 run, 19 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes [[wire out TDDebugToolTests>>testWindowBuilder due to process bugs]] ' id 'f6a971b7-b82a-4586-b0b0-7cc757192475' date '01/22/2013' time '16:47:21' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.13' message '19 run, 18 passes, 0 expected defects, 1 failures, 0 errors, 0 unexpected passes ' id '6b63a42e-c6ec-4bb6-a6f7-00015c304ae0' date '01/22/2013' time '15:50:47' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.12' message '19 run, 17 passes, 0 expected defects, 2 failures, 0 errors, 0 unexpected passes ' id 'f51743e8-b483-408c-9a07-4a0184d5e0f1' date '01/22/2013' time '15:29:42' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.11' message 'insulate TDStack>>currentFrame against a terminated process ... ' id '756e03af-aa28-4b29-8076-19f4d7913d1a' date '01/22/2013' time '14:52:05' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.10' message 'checkpoint ... have to deal with persistent ProcessScheduler instances ' id '99d7f93b-4908-4e99-b9cb-f1604c1d5cb6' date '01/22/2013' time '12:08:37' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.9' message 'ran into a ps bug while improving debug tool tests, so added ps tests: 19 run, 9 passes, 0 expected defects, 3 failures, 7 errors, 0 unexpected passes ' id '61d90eb1-5cec-45c4-9694-18b19ea4e4df' date '01/22/2013' time '11:36:34' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.8' message 'define editors for stack, stackFrame and leafNodes ... those were the missing editor definitions ... add tests (currently failing) for all of the added editors ... ' id '262b242c-cfcc-451c-b318-04c79b0d371a' date '01/21/2013' time '18:27:21' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.7' message 'generate a testSuite file for each tool and generate a master testSuite for all tools ... ' id '78173ed8-2e51-4bbb-9525-b18c1df4b5ce' date '01/16/2013' time '17:03:02' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.6' message 'use #edit as the aspect for debug tools ... don''t need tool specific aspect as #edit is enough to distinguish from #inspect ' id 'a83dd158-5e60-4cb1-a437-10f4f2142320' date '01/16/2013' time '07:30:14' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.5' message 'don''t dink with nodeBuilders during tests ... move testSuite up one level to make it more accessible ... push server tests around a bit ' id '8fde4383-bd79-4aeb-b62a-f3ac8bff16ae' date '01/15/2013' time '11:00:24' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.4' message 'splice node builder in at Object>>asTDObjectNode:topez:aspect: ' id 'e00c08ea-4a0d-4d82-8329-9e4079457e73' date '01/14/2013' time '12:04:03' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.3' message 'stage is set to replace implementation of Object>>asTDObjectNode:topez:aspect: and friends ... same renaming and repackaging left over from addition of test package ' id '97e76a4f-2691-48a5-ad78-1fc40297384c' date '01/12/2013' time '16:08:16' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.2' message 'builder registration logic ' id '576a92ef-0dde-4c46-a776-b331c85b988d' date '01/11/2013' time '19:08:36' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-dkh.1' message 'package up debug tools and debug tools tests separately' id '83fb1369-cc8c-423e-8040-7e1817c0d023' date '01/11/2013' time '16:39:56' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Topez-Server-DebugTools-dkh.158' message 'add support for working with classes that are not directly accessible (i.e., not in a symbol dictionary and not in a class history) ... these classes would be incountered in the wild when inspecting instances of classes that have been "removed from the system"' id '4ad751c2-75a0-4767-b8b5-e845d2c48761' date '09/12/2015' time '09:15:05' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.157' message 'now that we''re honoring canDiscardEdits, need a way to clearUserEditFlag in code editors (used in debugger at the moment)' id 'a26beda6-22b8-40d2-81a4-dafe86cec644' date '08/31/2015' time '17:13:33' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.156' message 'Issue #184: saving client elements in a persistent element cache or transient element cache (currently just the debuggers) based on usePersistentClientElementCache field in the client element ... also abort BEFORE each shell command is processed - to avoid one of the most common commit conflicts that occur when running two concurrent tODE sessions against the same stone ... ' id '17ca0bac-14e8-4cb6-98be-91666f4f1887' date '08/18/2015' time '13:37:07' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.155' message 'Issue #175: convert all users of STON in tODE to use #objectSerializer method ' id 'f8c687bf-c1df-4813-a15d-e639981b03e4' date '06/25/2015' time '16:35:57' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.154' message 'Issue #175: major edit to start using the new protocol introduced in STON v0.9.? and pharo-0.9.1?. v0.9.1 and pharo-0.9.1 are on the gemstone_dev and pharo_dev branches so that travis tests can be run ... ' id '345ab9f9-c9e2-4323-9f07-40245199f030' date '06/24/2015' time '17:23:17' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.153' message 'fix a bug when trying to display method protocol for class-less methods (doits)' id '9a8a03ee-d0ca-4588-9834-6444d060265c' date '03/16/2015' time '21:47:24' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.152' message 'remove logging in TDDebugTool class>>sendSetOrClearBreakPointSignal:' id '94f021a0-9ba2-4e7e-8c8f-0b47f96e1ab2' date '12/06/2014' time '14:45:46' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.151' message 'Issue #94: proposed bugfix' id '975d320a-ad60-472f-9cb7-b96538483791' date '07/07/2014' time '20:23:16' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.150' message 'Issue #95: proposed bugfix' id '1e046f35-aa90-4a00-bb7f-6f3c2de9f6a4' date '07/07/2014' time '16:01:22' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.149' message '- working on fixing disappearing comments for workspaces (comment no statements) - adding RBWorkspaceNode as extenstion to RB AST... - clean up workspace code so that it''s possible for workspace to correctly access temps and args for debugger context - debugger context browse class and browse full cleaned up' id '06875ce0-155f-45d5-8f3b-22be0215467c' date '06/28/2014' time '15:58:13' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.148' message 're-enable `browse full` (CMD-B) in all of the usual places by (correctly) adding classMenuActionSpec to menus and correctly enabling the proper menu items...' id '8dd57695-adc2-4c92-a741-6161c9b8fb89' date '06/25/2014' time '11:08:41' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.147' message 'Issue #74: text editor `Browse > *` menu items are all functional' id '90f5c0ee-2f67-42cc-b620-c43987981311' date '06/22/2014' time '11:36:38' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.146' message 'Issue #75: rip up all of the old keyboard block support' id 'd356771f-5b16-4671-8c92-64c52a8391d2' date '06/18/2014' time '17:08:43' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.145' message 'correct the `break set` man page' id 'eff49a77-610b-4099-9332-c11a80b2189c' date '06/12/2014' time '19:49:18' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.144' message 'with this change remote breakpoints are "working" ... the breakpoint continuation is dropped into ObjectLog, but the Breakpoint resume: method returns a nil ... need to be able to continue breakpoint exception without having nil sneak in ... this might be GemStone 3.2 bug?' id 'e75c012c-8e3b-4f66-af86-5e4bfce25784' date '06/05/2014' time '21:20:12' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.143' message 'add pid filter to `ol view` command ... add tracking to TDDebugTool class>>sendSetOrClearBreakPointSignal: to see how remote debugging is working' id '34a5edb1-cbd2-4c48-ab41-b7c4e8e79d2b' date '06/05/2014' time '19:18:50' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.142' message 'lost `install` call when I added the remote breakpoint initialize method' id '52483b0f-f788-4c4c-acd8-2f9bdf9893ce' date '06/05/2014' time '17:53:18' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.141' message 'potpourri - abort in `ol view` ... need to parameterize this - fix GsNMethod reference in new remote breakpoint code - tracing for errors during breakpoint tests ... obviously something is not right in the remote breakpoint code, but the tests pass locally (as is usually the case)' id 'f48213c3-b150-4f80-842a-e348e0da990b' date '06/05/2014' time '17:43:55' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.140' message 'hook up remote breakpoints mechanism to tODE...still needs testing ...' id 'de6bb20b-57c6-408e-b62d-dda2dc5749ff' date '06/05/2014' time '16:18:53' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.139' message 'Issue #71: all "browser" windows should have meaningful window labels - all "browser" windows should be block-based. Query is re-run when window refreshed' id '4a601353-48ea-43c2-9a80-388bf3e352be' date '06/03/2014' time '14:31:24' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.138' message 'Issue #39: tweaks to debugger when attached to a continuation - `debug continuation` menu item in TDObjectLogEntryBrowser attaches debugger to the process .. can''t step and continue at the moment - `ol view` command brings up TDObjectLogEntryBrowser' id '8f9d9c55-cdd8-4bd2-abc4-2de1fc51ed30' date '06/03/2014' time '08:06:52' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.137' message 'issue #77: partial fix ... server-side changes returing true/false in response to text `accept`' id 'f4d77e04-0c02-49a8-9eea-6260525d33fd' date '06/02/2014' time '12:04:33' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.136' message 'add new browse class/method implementors/senders to monticello merge browser - install source/destination not done yet - repurpose TDAbstractDevTool>>parseMethodSpec: to just return TDMethodDefintions (used to return GsNMethods) - TDAbstractDevTool>>methodFromMethodSpec: returns GsNMethods - share Method menu items between TDMergeDiffBrowser and TDFileTreeDiffBrowser via TDAbstractMergeBrowser - touch project list menu yet again - fix TDMonticelloTool>>mcmerge:and:in: - implement flush cache in repository browser ' id '8646b938-f770-4e90-b66e-16fa41980f52' date '05/30/2014' time '13:26:40' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.135' message 'implement git history for package - define windowLocation iv in TDAbstractToolBuilder - configurationOf/packageOf defined in TDMcPackageDefinition. Previous support methods moved from TDClassDefinition - push project list menu around a bit' id '893a8e9d-6c94-4e0f-8111-60f4dae84ee8' date '05/23/2014' time '11:31:19' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.134' message 'poor man''s hack for stepping over code that interacts with Transcript - there is a new option the step gci call that should allow stepping over Transcript interactions, however for 3.1 and 2.x this will fill the bill...' id 'a84f6947-5b2f-4dbf-b001-1e542f480a7c' date '05/15/2014' time '15:50:06' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.133' message '- TDFileTreeDiffBrowser created and looks good (formats the smalltalk methods in FileTree structure before compare) and allows for doing senders and implmentors ... - TDMergeDiffBrowser and TDGitDiffBrowser created, but not hooked in quite yet' id '903246a5-e87d-4d79-8108-183a57fd04d1' date '05/09/2014' time '15:42:49' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.132' message '- TDDebugTool class>>_breakReport added for portability' id 'e1ff4ec9-55fd-4087-bc0b-c7071ee26601' date '05/01/2014' time '17:44:29' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.131' message '- implement `break` family of commands to replace `db break` family - man pages and tests - misc tweaks' id '69aa5bd6-4464-43d1-9c4c-0d71c6baba5c' date '05/01/2014' time '04:20:04' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.130' message '- remove the methods left over from the old implmentation of the debugger' id '3b7ef2aa-1387-403c-a9d5-aa1543216b94' date '04/30/2014' time '21:26:36' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.129' message '- clean up implementation of `debug it` ... need to be able to access literals in doit context - start work on `method` command - implement `method browse` command - implement `method protocol` command - tests' id '651c5982-70f0-4aff-88a6-75a333f84f26' date '04/28/2014' time '17:56:54' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.128' message '- `cls category` implemented - `cls rename` implemented - document that `cls protocol` accepts @ references.. - define doitContext for debugger source window - fix a bug in TDShellTool>>protocol:rename:to: in Gemstone 2.4 - tests ' id '80582ca8-e4a0-45b7-9bb4-5e72faf50ec5' date '04/28/2014' time '13:13:11' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.127' message '- woops TDStackFrameNodeBuilder should be obsolete and TDStackFrameContentsClientListElementBuilder should not' id 'fee9f28f-97b1-449e-8261-f0206319830f' date '04/26/2014' time '11:33:24' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.126' message '- convert implementors and senders menu itme in method lists to use blocks .... - slice halos out of system ... make the TDHaloDevTool obsolete - MethodReference>>printOn: make the class inspector friendly' id 'fa1a5377-6989-49ce-95ab-2f56dea09cae' date '04/26/2014' time '10:01:05' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.125' message '- obsolete a bushel of classes that are not used right now and/or will have to undergo major changes if they are to be brought back into tool set ... roassal was a proof of concept ...' id '61eefc92-3f4c-47ed-9104-9076c8efffad' date '04/26/2014' time '08:42:58' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.124' message '- remove undeclared symbol references from Tode code base - implement block-based method browsing so that refresh of window recalculates search - need block-based class browsing .., - use GsDeployer for class changes - fix up item selected problems ... - add --staticList option bot `browse` command' id '20c5cc80-9973-4a06-82f0-4772cd3faa87' date '04/19/2014' time '12:14:44' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.123' message '- fix up debugger for ''implementors''' id '71ade28d-66d3-45d0-98ed-30e9f5f53424' date '04/01/2014' time '22:43:51' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.122' message '- implement `browse class` with options: - browse class [--hier|--full] ' id '8214f2a3-f87d-4b00-b187-39cd5477be4a' date '03/30/2014' time '15:24:49' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.121' message '- make pass through senders menu/shortcut/commands so that they all use the same methods ... - working my way through all of the browse/find commands' id '24c6f973-c57c-4374-82a5-15e7bf0b3c5d' date '03/30/2014' time '13:22:31' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.120' message '- make pass through implementors menu/shortcut/commands so that they all use the same methods ... - browse/find commands now take command options - amethod, rmethod, method variants collapsed to single subcommand with options - working my way through all of the browse/find commands' id '2bfa22a7-d3a0-4319-b5ae-41ec56378338' date '03/30/2014' time '12:29:53' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.119' message 'implement the `Method` menu items and sketch out the `Search` menu itmes ...' id 'c3c2f96e-f451-486f-8de4-7c509a3b788a' date '03/26/2014' time '22:07:39' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.118' message 'pass list and selection index for list in one pass (using an Association)' id '3f1be048-77b7-411b-a1a7-fe01dc29a881' date '03/20/2014' time '20:47:41' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.117' message 'add Parent menu item to object navigator...''.'' has no special meaning any more although it is a placeholder for self ... only show view/inspect item (as appropriate) in navigator menu' id 'f1b7b2e8-5aaf-4692-a84d-e22f7baad047' date '02/19/2014' time '18:32:06' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.116' message 'Issue #67: remove TDStackNodeBuilder and TDStackClientListElementBuilder classes as they are completely replaced by TDDebugger. TDStackFrameNodeBuilder is probably obsolete as well ... delete later. Issue #48: remove ''.'' from navigator window and replace with inspect/view menu items ' id '943492d2-021d-431d-bf90-c7edb682ad1e' date '02/18/2014' time '11:48:57' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.115' message 'fix a selected frame problem in debugger when accepting a mthod up the stack' id '84ddbcf9-0eb3-4781-9f5c-9c0a70402672' date '01/22/2014' time '08:51:47' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.114' message 'Issue #67: fix TDDebugger>>dbContinue ... remove unconditional #close' id 'da2c695e-d1df-4b5d-b8ab-c4e4f8e91f67' date '01/12/2014' time '21:27:46' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.113' message 'Issue #67: fix TDDebugger>>dbRestart ... add ''~'' as alias for /home' id '2e4d1026-65fc-4ed3-baa0-2a092c486ded' date '01/11/2014' time '18:02:08' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.112' message 'Issue #67: implement method menu items (senders/implementers/versions) and find tune the receiver highlighting (use frameSelf)' id 'afdd1269-70b7-4ced-94f8-692e893d42b1' date '01/11/2014' time '09:48:32' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.111' message 'Issue #67: implement refreshViewFor: client callback and hook into tdebugger - cause stack view to refresh when method accepted somewhere on stack' id '88bbe386-aedb-4121-b5eb-703f3923b4fb' date '01/11/2014' time '09:09:04' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.110' message 'Issue #67: continue switch over from TDDebugTool-based to TDDebugger-based debugging, knitting together more of the debugger functionality. - tweak TDProcessTool ... - TDTopezServer>>clientElementFor:using: needs to add clientElement to elementCache' id '4117eea8-247a-4360-bceb-622f1ef6109d' date '01/10/2014' time '17:08:15' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.109' message 'Issue #48 & Issue #67: debugger, process browser, `ps` command enhancements - Object keyboard shortcuts for debugger - bring up process printString when process selected in process browser - add `portable` menu item for process browser (convert to portable from native) - `ps portable` command implement in TDProcessTool to make it possible to set breakpoints in same process instance where you want them active ' id '7f06553d-477d-4b54-85b9-b4c9d0c2feca' date '01/10/2014' time '11:13:06' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.108' message 'Issue #48: implement Process Browser using TDToolBuilder (no know as TDAbstractToolBuilder) ... refactored and renamed TDToolBuilder hierarchy. `ps` command rafactored to support process browser, but process manipulation commands moved to process browser ...' id 'ded1afbf-a19b-400e-9191-04216071d612' date '01/10/2014' time '08:16:22' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.107' message 'Issue #67: Object>>clientElementUsing: makes it possible to ship multiple window updates in one STON package ... update list/source/context on item select and dbFinishStep with one STON package ' id 'b3081d79-65d0-46c2-a878-2ceb699a8b73' date '01/08/2014' time '22:02:39' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.106' message 'Issue #67: fine tune debugger update sequence ... turn on TDDebugger as default debugger & lets see what happens' id '25631e54-41fb-4329-b82c-0078d54cd1e6' date '01/08/2014' time '20:49:56' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.105' message 'Issue #67: get step working ... updates still rough - keyboard shortcuts - hook into TDTopezServer>>openDebugger ' id '265f79be-efb1-4ace-8bc3-4bcd96049c27' date '01/08/2014' time '20:21:12' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.104' message 'Issue #67: implement debugger menu items - step over, into, thru; continue; restart; up; down have been implemented in TDDebugger ... not functional - moved TDDebugger to Topez-Server-DebugTools package' id 'fc60a2c7-89f6-41f3-9e2a-c1f81e6ed2c9' date '01/07/2014' time '08:12:11' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.103' message 'Issue #67: attack menus and keyboard actions - item selected (source and context windows opened) - closing stack window, closes source and context windows - attachProcess: and debugProcess: ... attach does not terminate process when window closed - add `print window` to window menu - printing goes to window named #printer - `ps attach` and `ps debug` commands open TDDebugger...' id '9fd547c5-f2b4-4b4a-9083-1bf28840f947' date '01/06/2014' time '21:21:24' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.102' message '- on cut actions, refrehList and add to clipbard in one swell foop - start work on new debugger (TDDebugger)' id 'fbde0e32-f464-4af4-9d51-f2b0e916159a' date '01/06/2014' time '08:00:56' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.101' message 'CMD-SHIFT-P: opens window with printString of client list ... `ps debug` command open debugger on given process ...' id '9dd500b6-f3ff-489a-9def-0fa51ef06317' date '12/18/2013' time '19:08:10' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.100' message 'TDSessionTempNode is a better way of stashing session temps in the object structure. Basically a "persistence barrier" can be insterted into an object structure. TDSessionObjectNode was an interesting idea, but did not work in practice as the "session tempness" was difficult to preserve ...' id '2602e755-077b-41b8-a9fd-46657093df7e' date '12/16/2013' time '19:41:42' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.99' message 'Issue #16: convert all command blocks to the form: [ :topez :objIn :tokens :command | ]...convert subCommands to use: TDAbstractDevTool class>>performSubCommand:objIn:todeCommand: ...add better subCommand support to TDCommandLine (teach it to respect subCommands) ... still need to remove windowId and tokens instance variables from TDAbstractDevTool ... TDTopezServer>>evaluateCommand:objIn: and TDTopezServer>>evaluateSTONCommand: are now the primary entry points for command processing ...' id '5c328e0d-603b-4444-b109-308ae9f6ec77' date '11/10/2013' time '11:27:20' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.98' message 'Issue #28: finish initial foray into menus for tODE ... now that we''ve got menus, there are plenty of oppotunities to expand the menu items (and/or reorganize).... still need to do text window menus .. Issue #33: continue/restart menu items available in debugger' id '7c173f98-8c9f-44e3-89c2-0ce3213deb06' date '10/01/2013' time '08:18:18' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.97' message 'align #context location with #debugger location ... use debugger width too... use #context location for debugger context display...bump default `list limit` to 140 ... checkpoint the profmonitor analysis tool' id '596225dd-6616-4d87-906b-4937e9ddb6ba' date '09/27/2013' time '22:09:50' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.96' message 'add CMD-j and CMD-k keyboard shortcuts for debugger' id 'd10fc6e6-ad59-45ec-9716-95ad36dc61d6' date '09/14/2013' time '01:59:53' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.95' message 'checkpoint: begin work on the mergeTool for merging Monticello packages and Cypress repositories. create TDSessionObjectNode class that stores object reference in a TransientValue ... avoid persistent refs to things that cannot be persisted. Use TDSessionObjectNode for the debugger... Add TDGitTool>>performGitCommand:in:worktree:with: to allow independent control of location of work-tree ... Actually use the TDEditorSpec>>windowLabel field when building windows. More keyboard shortcut stubs ... Start building merge command "gui" support Implement mc save, so I can create branched mc versions to test merge command.' id 'b2b4e17d-3a61-4ddb-a392-f30c0acd3e88' date '09/03/2013' time '15:04:10' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.94' message 'fix bug in debug tool...reuse the stack window after debugger opens ... keep window id around in the tool instance' id 'c7ca1aa5-b1a0-49da-a697-9754a474c349' date '08/15/2013' time '17:00:16' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.93' message 'add `rename class` command ... move all examples to `/examples`' id '64c0fdd9-ac6b-4faf-83aa-db9691d55dce' date '08/14/2013' time '14:45:45' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.92' message 'remove logging ... remove process node in /tmp/debug ' id 'fc6ca79c-454f-4606-af13-3cfa209d26e4' date '07/15/2013' time '02:35:39' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.91' message 'multiple open debuggers now supported issues with running unwind blocks on close appear to be addressed ... took opportunity to toss some of the unused methods like the halos ... the nodes are now stashed in /tmp/debug/...still need to toss node on window exit ' id '2f2bf83a-6a1d-47dc-9a33-d18f3440d8d3' date '07/15/2013' time '02:21:41' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.90' message 'checkpoint: working on reworking debugger implementation ... need to support multiple open debuggers ' id '3852935d-3982-473b-b894-6b4fc573f4aa' date '07/14/2013' time '15:33:55' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-.89' message 'add mc compare image command...don''t rely on modified packages for comparison...dbstack and dbStack do not coexist well on mac...is this 2013? ' id '4a1fb1b3-5490-40f5-9484-cb999aafb33f' date '07/11/2013' time '07:55:37' author '' ancestors ((name 'Topez-Server-DebugTools-.88' message 'use TDAbstractDevTool class>>performSubCommand:objIn:tokens:windowId: whereever appropriate ... lots of places ' id '67a58142-c6a9-4b95-a381-994e94e788d6' date '07/09/2013' time '16:00:37' author '' ancestors ((name 'Topez-Server-DebugTools-dkh.87' message 'improve db commands api for programmaticly setting breakpoints' id 'd30b1665-20c4-441e-92e6-e9e059a50aaa' date '06/08/2013' time '16:42:38' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.86' message 'rename listIndex iv in TDClientListItemAttributes to list, since the slot is now expected to be an OrderedCollection...#navigate editor aspect should be reserved to use as the default aspect that brings up the standard navigator for all objects; rename attributes for those that didn''t follow this convention...add some support methods to TDGatewayNode...TDStackFrameContentsClientListElementBuilder should be a subclass of TDDirectoryNodeClientListElementBuilder so that we sharing some important behavior.' id 'e609506b-b4c9-410d-aa79-2b02319f7a7b' date '06/01/2013' time '11:23:38' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.85' message 'displayOn: is already taken in Pharo ... replace with displayOnPolicy:' id 'c177428a-0689-4f3e-b50c-eb3ec25bc576' date '05/30/2013' time '06:41:29' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.84' message 'Use OrderedCollection for portability (instead of Array) ' id '1411eddb-9d67-42ec-87c3-57036b71511b' date '05/28/2013' time '14:05:33' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.83' message 'refactor TDAbstractDevTool hierarchy a bit to accommodate the addition of TDDevProcessSupport ... added TDStandardTool above the tools to house the code related to installing generally available commands, commands defined in TDDevProcessSupport have to be invoked directly, but the code and manPages deserve to be managed in a class... sticking code for the image dev support into TDDevProcessSupport ... share some common commit code in TDMonticelloTool ... preparing for revising the commit commands a bit (maybe?)' id '839e0a0b-603d-45ed-8813-eb49a6814669' date '05/18/2013' time '08:41:51' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.82' message 'convert last few remaining users of ds to edit result in navigator ' id '9c077051-2594-4d69-9801-75cb3a234ac4' date '05/16/2013' time '07:18:42' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.81' message 'add @ option to all appropriate shell commands and update man pages ' id '81a60c7f-8810-4855-ba07-0924d7f259d7' date '05/14/2013' time '10:58:19' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.80' message 'prepping for CMD-p command ... remove all the references to #print .... ' id 'fb6d65ee-18e7-4474-817d-ce814d6093b0' date '04/11/2013' time '20:07:09' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.79' message 'get started on getting tests to pass ... step 1 eliminate spurious halts step 2 get debugger functional again ... step 3 will be to allow edit (using #print aspect) of objects from navigator ' id 'e16aa7f4-9a3f-49a9-a576-ca94f85a94c9' date '04/11/2013' time '17:27:22' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.78' message 'add TDEditorSpec to encapsulate the proliferation of editor arguments ... replace all calls to edit:... with editUsing: that takes a TDEditorSpec as argument ...finally allow for edit of String that brings up source editor and navigate object references to instances of String that views chars in string instead of the node view ... need to be able to bring up an editor on the string FROM navigator ' id '5d128d55-1e64-4a6c-8118-25d203ce9a2e' date '04/11/2013' time '16:58:37' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.77' message 'using #navigate or #edit to replace #browse for editor aspect depending upon context ... ' id '03dcd71d-f4ae-428f-8c41-1cbc0aa5d50b' date '04/10/2013' time '17:17:31' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.76' message 'checkpoint: attempting to make sense out of #view/#inspect for builders and #browse/#inspect/#??? for editors ... mainly related to what happens with strings dictionaries and hitting the . line item hitting . should toggle not lead down a black hole ' id '3b955116-9dac-4831-9f8d-f71bbf478621' date '04/09/2013' time '17:05:44' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.75' message 'add .bin halo ... update man pages since summary is more visible with inspect .bin ' id '2e82cc1a-2722-480f-803a-aba66c786978' date '04/04/2013' time '16:22:08' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.74' message 'fix initialization issue ' id '8d0334a5-b74d-4dc2-ad29-137ed6ecf1d5' date '04/03/2013' time '22:08:08' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.73' message 'get db break into/over and db break steps working ... will need to set different breakpoints for 2.4 and 3.1 in the examples ... since the actual step points differ ... ' id 'd53214fd-624d-43ed-8dea-bc38eb5154f8' date '04/01/2013' time '21:28:39' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.72' message 'get db continue working for debugger with multiple halts involved ' id '08b3a031-9822-45f0-ad19-39a9009601a5' date '04/01/2013' time '20:18:43' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.71' message 'move TDDebugTool>>gsMethodClass to proper package ' id '11fbba6b-7715-4d5e-ac89-fc7d59521e4a' date '03/31/2013' time '09:28:58' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.70' message 'get breakpoint list/report ported ' id 'df548b5d-055f-4c81-b712-871e3b32eb7b' date '03/31/2013' time '09:23:57' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.69' message 'eliminate direct references to GsNMethod in Debug tool ' id 'fd8a835c-4fe1-4005-bf7d-45ff9a04069f' date '03/31/2013' time '07:52:03' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.68' message 'checkpoint: basic shell functionality (including bringing up dewbugger) with GemStone2.4' id '66ec83e2-168c-4273-8445-4818109f2743' date '03/30/2013' time '16:33:04' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.67' message 'resolving sent but not implemented in 2.4 ' id '20cf7184-7988-464f-90a7-4a7c9288ead5' date '03/30/2013' time '09:32:36' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.66' message 'isolate some GemStone 3.1 specific class references/methods ' id 'b436db08-bf4a-4e3a-a8d8-f0d1b334eafb' date '03/30/2013' time '08:48:54' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.65' message 'implement mc revert command ' id '48bc5ce3-174b-4278-8ad7-4d4aa79a9464' date '03/25/2013' time '20:06:48' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.64' message 'rename TDTopezServer>>installChildrenAt: to TDTopezServer>>ensureChildrenExistIn: and use that in ston import to create path ' id '6a49d95f-e1c0-4a29-b2db-593ed5f5c8c6' date '03/10/2013' time '09:33:39' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.63' message 'another infant mortality bug for session method stuff ' id '331fb129-513e-4a5e-a805-9c2c2dde72da' date '02/27/2013' time '11:13:23' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.62' message 'fix infoant mortality session method bug and handle author initials automagically ' id '976370dc-357d-4693-b02e-89bc7afdcd8c' date '02/27/2013' time '07:27:57' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.61' message 'add ensureSessionMethodsEnabled and disableSessionMethods calls to insulate the execution of code in context of dev environment form the tode session methods ' id '1d917447-16a3-4f3a-9f5b-ac7b9408656b' date '02/23/2013' time '18:09:24' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.60' message 'need initialize methods for test/debug tools so that they install themselves when loaded ' id '3717e97c-3134-4f32-aa1a-a551a29f63ff' date '02/23/2013' time '14:51:45' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.59' message 'patch for http://kermit.gemstone.com/bug?bug=42802 ' id 'a829141c-f000-46b4-880b-763d355c7693' date '02/19/2013' time '14:10:01' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.58' message 'keyboard shortcuts for debugger: $i, $o, $t for db into, db over and db thru plus label the debugger shell window correctly ' id '80ecba54-abe9-47b0-b7d1-074c8e6554b0' date '02/18/2013' time '09:28:16' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-dkh.57' message 'checkpoint ... converting to server-side formatting ... query block formatting problem outstanding ... ' id 'f3f232ba-0403-494e-84e2-330454d38e8a' date '02/16/2013' time '13:22:42' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-DataCurator.56' message 'examples additions and tweak context labels (always have (self) show up) ' id 'ea8c9c4d-39d4-45e4-9775-dab891f0112a' date '02/10/2013' time '07:24:22' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.55' message 'trim stack in debugger when saving method source ' id 'ea1b1c9f-b9f5-4b1d-935e-8e232fb7241b' date '02/09/2013' time '17:01:51' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.54' message 'checkpoint ... generate compilation errors when saving st leaf node ... working on correct behavior for method source view when a different selector is saved ' id '4fba7efb-b31d-4d33-9ef8-60f19b6031a0' date '02/09/2013' time '10:21:54' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.53' message 'checkpoint ... implementing CMD-N ... ' id 'db32e316-5741-41d3-9570-46b2a5763cb6' date '02/07/2013' time '14:44:48' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.52' message 'do not use #defaultEditorWindowName unless you really want all of the windows to be shared ' id '53b9cb4a-205b-4734-b22f-95bc9042a3d2' date '02/07/2013' time '07:30:11' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.51' message 'more CMD-b implementation ' id 'bc8ba6fb-3d69-4bf5-aebc-d91cce8fda24' date '02/06/2013' time '20:05:56' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.50' message 'make another pass over CMD-B - browse class hierarchy ... cache clientElement on spawn ' id '1ebbd8e8-79b9-45ea-9dee-ce6baea694a7' date '02/06/2013' time '01:15:30' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.49' message 'CMD-c - copy object ... implemented ' id 'ce235598-9bd6-4c73-98e9-e98597676793' date '02/05/2013' time '23:10:25' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.48' message 'polish off CMD-b set breakpoint ' id '6fdf4260-f500-4f18-83e5-6569449ac331' date '02/05/2013' time '22:13:52' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.47' message 'no Shift-clicked logic ... selectionIndex can be specified when opening window ... use selectionIndex for class hierarchy and class list ... ' id '2527003e-aee2-4a74-9d5a-08a6c9c3c383' date '02/04/2013' time '16:42:07' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.46' message 'add db restart command ... ' id '2b2e3ba7-94bc-4827-be96-cbec2caf44ba' date '02/04/2013' time '15:23:41' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.45' message 'toggle between #view and #inspect for . in navigator...preserve requested aspect across lookup ... ' id 'aded20e2-54fd-4a4a-a5fc-0b38a6956ba6' date '02/04/2013' time '11:55:58' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.44' message 'a little bit of cleanup and tests are green: 23 run, 23 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes ' id '37ca2fbd-7fc3-4e3a-987a-79228e85cf58' date '02/03/2013' time '09:33:13' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.43' message 'display policy initial implementation appears to be complete ... testing and clean up needed ... ' id 'f7fcae21-8446-4628-a467-0e91c2621a71' date '02/02/2013' time '09:18:58' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.42' message 'CMD-b is functional (mostly), but I do have to work on the semantics of CMD-b in the various windows ' id '126ac4ee-5588-416d-a6bf-bc58b532e70c' date '01/27/2013' time '22:36:20' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.41' message 'checkpoint ... working on spawnWindow logic ' id 'cb166313-42b7-4cf9-a9b8-2a974bd19f47' date '01/27/2013' time '12:28:25' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.40' message 'run | run works as topez script but not as input in REPL (wrong return value) ... also halts/breakpoints while executing run scripts may not quite work right ... ' id '27ee3558-6d57-49be-b301-98fa2870d03c' date '01/26/2013' time '21:03:03' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.39' message 'fixed issue noted in 62d22ae360377696b94589bef6c454ace5028a82 and fixed infant mortality bug in db thru ' id '9cc23e57-6328-42a3-ac8f-202f96e3e31e' date '01/26/2013' time '09:17:51' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.38' message 'add a second example for db thru command ' id 'df1a1c73-5fc5-4fe8-bbc2-d5fd21893514' date '01/26/2013' time '08:57:41' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.37' message 'basic db thru command is functional ' id '107c78a2-905f-4067-b7f8-4f5f4deaf089' date '01/26/2013' time '08:21:27' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.36' message 'add autoCommit logic to TodeClientSourceElement>>source: (and friends) ' id 'f1809aa4-6020-4052-8d96-1f56c4904443' date '01/26/2013' time '07:17:11' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.35' message 'checkpoint ... circling the solution (hopefully the technique will work) ... ' id '3bdd9998-277b-4085-b9ca-b77f5b503a5d' date '01/26/2013' time '00:33:43' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.34' message 'checkpoint ... more progress on db thru command ' id '1f873cf4-5559-403e-971c-34cfb67e9e49' date '01/25/2013' time '23:11:46' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.33' message 'continue and step are working in presence of follow-on errors/halts/breakpoints ... the problem involved the script elements that were running after the test was finished ' id '930f2fb3-1ba9-432f-a3f6-dc3eae2949ff' date '01/25/2013' time '21:31:00' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.32' message 'checkpoint ... db continue is sorta working ... need to work on continue when it runs to end ... more testing needed ... ' id '2d93808f-54b7-426a-bada-fe327500ca01' date '01/25/2013' time '21:12:52' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.31' message 'checkpoint ... handling halt in debugger ... ' id 'b70d48cf-0a6c-4cba-a40b-3af03f78753f' date '01/25/2013' time '20:30:18' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.30' message 'checkpoint ... starting work on getting breakpoints/halt working for db over / db continue / db thru by reusing the debugger ... db over currently stops for breakpoint ... ' id '7c0be1ca-3cfe-489c-84a6-b6ff340c90a6' date '01/25/2013' time '19:44:51' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.29' message 'tweak ' id 'c8e7abcd-c131-4f70-9ee7-ee816c4b533a' date '01/25/2013' time '16:12:17' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.28' message 'add shift clicked logic for browsing ' id 'c53e4bbe-87dd-4705-b457-7fcb3aa1c406' date '01/25/2013' time '15:16:38' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.27' message 'checkpoint: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ... convert from #edit #inspect to #browse #view #inspect ... still some rough edges ' id 'c6e54011-6398-4e68-8045-020ee462b0fa' date '01/25/2013' time '14:57:58' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.26' message 'scrape off a couple of barnacles ... ' id '2f7e6007-e4e0-4fd5-97df-37831cb56745' date '01/24/2013' time '18:42:41' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.25' message 'test restructure ... start on #browse aspect ... desire to toggle aspect (between edit and inspect) on . item, but still working out kinks ... edit vs inspect on String is diagnostic at the moment ' id '3d6d1493-4c8f-4ac8-98bc-5b9c93a2846b' date '01/24/2013' time '17:22:23' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.24' message 'finally get that last test for TDTxtLeafNode to pass ... finally realized that given the constraints of the test STON version of output is CORRECT...16 run, 15 passes, 0 expected failures, 0 failures, 0 errors, 1 unexpected passes ' id 'cebb9c1b-528c-4f39-8f3d-b6b46c8a3173' date '01/24/2013' time '15:18:58' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.23' message 'parent for node and clientList elements can be any object ... very important ' id '71ed4236-f1b0-4a58-8b46-985511aac40e' date '01/24/2013' time '13:20:00' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.22' message 'editor for directory node looks good ... editor for stack frame looks good ... transition from directory node back to stack frame (following .. chain) not so good ' id 'b3ecc77c-33e7-4acb-be36-4806f46e295a' date '01/24/2013' time '12:54:28' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.21' message 'when editting the parent can be any old object ' id '8cfdbadd-c68c-476f-9c63-9c29058854c4' date '01/24/2013' time '11:12:21' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.20' message 'basic fixes to context editor (debug inspector window) ' id '97ef432e-c8a3-4f15-babb-3f04bc23cb24' date '01/24/2013' time '10:52:38' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.19' message 'fix continue command ... use #inspect aspect for .self and .node ... have to reset topez instances when system reset ... still have issues with running tests after reset ... when I debug I get proper behavior ... ' id '3e48ccde-c50e-47f1-be4e-d6e8905319e9' date '01/23/2013' time '21:07:30' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.18' message 'renamed and refactored test hierarchy and started adding shell command tests ... hit an issue with running tests that needs to be addressed (related to using TransientValue methinks) ... some additional bugfixes ' id '663c6386-7073-4451-934d-12e9983562c0' date '01/23/2013' time '17:25:01' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-dkh.17' message 'repackage debug tools tests' id 'ddb2dd7b-f6eb-438d-bf76-af66e73c7db3' date '01/23/2013' time '10:56:53' author 'dkh' ancestors ((name 'Topez-Server-DebugTools-DataCurator.16' message 'convert Object>>edit:topez:aspect:windowId: to use the windowBuilder code ... eidt/save different text nodes ... debugger is basically working except for the failing test case: 19 run, 18 passes, 0 expected defects, 1 failures, 0 errors, 0 unexpected passes ' id '43715f72-a3f5-4e88-ac80-0aff49cf910a' date '01/22/2013' time '23:26:18' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.15' message 'configure tests to make it easier to reproduce and characterize BUG #42698: mysterious process termination ' id '4289058c-f80f-4a86-acb3-0535b86311b2' date '01/22/2013' time '18:15:41' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.14' message '19 run, 19 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes [[wire out TDDebugToolTests>>testWindowBuilder due to process bugs]] ' id 'f6a971b7-b82a-4586-b0b0-7cc757192475' date '01/22/2013' time '16:47:21' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.13' message '19 run, 18 passes, 0 expected defects, 1 failures, 0 errors, 0 unexpected passes ' id '6b63a42e-c6ec-4bb6-a6f7-00015c304ae0' date '01/22/2013' time '15:50:47' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.12' message '19 run, 17 passes, 0 expected defects, 2 failures, 0 errors, 0 unexpected passes ' id 'f51743e8-b483-408c-9a07-4a0184d5e0f1' date '01/22/2013' time '15:29:42' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.11' message 'insulate TDStack>>currentFrame against a terminated process ... ' id '756e03af-aa28-4b29-8076-19f4d7913d1a' date '01/22/2013' time '14:52:05' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.10' message 'checkpoint ... have to deal with persistent ProcessScheduler instances ' id '99d7f93b-4908-4e99-b9cb-f1604c1d5cb6' date '01/22/2013' time '12:08:37' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.9' message 'ran into a ps bug while improving debug tool tests, so added ps tests: 19 run, 9 passes, 0 expected defects, 3 failures, 7 errors, 0 unexpected passes ' id '61d90eb1-5cec-45c4-9694-18b19ea4e4df' date '01/22/2013' time '11:36:34' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.8' message 'define editors for stack, stackFrame and leafNodes ... those were the missing editor definitions ... add tests (currently failing) for all of the added editors ... ' id '262b242c-cfcc-451c-b318-04c79b0d371a' date '01/21/2013' time '18:27:21' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.7' message 'generate a testSuite file for each tool and generate a master testSuite for all tools ... ' id '78173ed8-2e51-4bbb-9525-b18c1df4b5ce' date '01/16/2013' time '17:03:02' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.6' message 'use #edit as the aspect for debug tools ... don''t need tool specific aspect as #edit is enough to distinguish from #inspect ' id 'a83dd158-5e60-4cb1-a437-10f4f2142320' date '01/16/2013' time '07:30:14' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.5' message 'don''t dink with nodeBuilders during tests ... move testSuite up one level to make it more accessible ... push server tests around a bit ' id '8fde4383-bd79-4aeb-b62a-f3ac8bff16ae' date '01/15/2013' time '11:00:24' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.4' message 'splice node builder in at Object>>asTDObjectNode:topez:aspect: ' id 'e00c08ea-4a0d-4d82-8329-9e4079457e73' date '01/14/2013' time '12:04:03' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.3' message 'stage is set to replace implementation of Object>>asTDObjectNode:topez:aspect: and friends ... same renaming and repackaging left over from addition of test package ' id '97e76a4f-2691-48a5-ad78-1fc40297384c' date '01/12/2013' time '16:08:16' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-DataCurator.2' message 'builder registration logic ' id '576a92ef-0dde-4c46-a776-b331c85b988d' date '01/11/2013' time '19:08:36' author 'DataCurator' ancestors ((name 'Topez-Server-DebugTools-dkh.1' message 'package up debug tools and debug tools tests separately' id '83fb1369-cc8c-423e-8040-7e1817c0d023' date '01/11/2013' time '16:39:56' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Server-ProcessTools.package/TDProcessBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st b/repository/Topez-Server-ProcessTools.package/TDProcessBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st index 31068e7cb..c77406f83 100644 --- a/repository/Topez-Server-ProcessTools.package/TDProcessBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st +++ b/repository/Topez-Server-ProcessTools.package/TDProcessBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st @@ -1,13 +1,14 @@ tools itemSelected: miniTool listElement: listElement selectedIndex: selectionIndex shiftPressed: shiftPressed - | theProcess | + | theProcess editSpec | selectionIndex == 0 ifTrue: [ ^ false ]. theProcess := self _theProcessList at: selectionIndex. - processWindowId := theProcess - printUsing: - ((TDEditorSpec topez: listElement topez editorAspect: #'edit') - windowName: #'processBrowser'; - windowId: processWindowId; - yourself). + editSpec := (TDEditorSpec topez: listElement topez editorAspect: #'edit') + windowName: #'processBrowser'; + windowId: processWindowId; + yourself. + [ processWindowId := theProcess printUsing: editSpec ] + on: Error + do: [ :ex | theProcess printString editUsing: editSpec ]. ^ true \ No newline at end of file diff --git a/repository/Topez-Server-ProcessTools.package/TDProcessBrowser.class/methodProperties.json b/repository/Topez-Server-ProcessTools.package/TDProcessBrowser.class/methodProperties.json index 8fb9c00ab..82e9a1636 100644 --- a/repository/Topez-Server-ProcessTools.package/TDProcessBrowser.class/methodProperties.json +++ b/repository/Topez-Server-ProcessTools.package/TDProcessBrowser.class/methodProperties.json @@ -7,7 +7,7 @@ "attachProcess:selectionIndex:" : "dkh 01/10/2014 08:08", "clientList:listElement:" : "dkh 03/20/2014 20:38", "debugProcess:selectionIndex:" : "dkh 01/10/2014 08:09", - "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 01/10/2014 10:58", + "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 03/21/2015 13:33", "killProcess:selectionIndex:" : "dkh 01/10/2014 08:09", "menuActionSpec:" : "dkh 01/10/2014 10:19", "portableProcess:selectionIndex:" : "dkh 01/10/2014 10:19", diff --git a/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/class/psManPage.st b/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/class/psManPage.st index cffd7463f..9c1318f29 100644 --- a/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/class/psManPage.st +++ b/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/class/psManPage.st @@ -1,13 +1,23 @@ as yet unclassified psManPage - ^ 'NAME + | manPage | + manPage := TDManPage + commandName: 'ps' + fromString: + 'NAME ps - execute process commands SYNOPSIS ps delay ps list ps portable + ps terminate ps yield DESCRIPTION -' \ No newline at end of file +'. + manPage subCommands + at: 'list' put: self pslistManPage; + at: 'terminate' put: self psterminateManPage; + yourself. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/class/pslistManPage.st b/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/class/pslistManPage.st new file mode 100644 index 000000000..404c267c3 --- /dev/null +++ b/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/class/pslistManPage.st @@ -0,0 +1,33 @@ +as yet unclassified +pslistManPage + | manPage | + manPage := TDManPage + commandName: 'list' + fromString: + 'NAME + ps list - Open a process browser on process instances + +SYNOPSIS + ps list + +DESCRIPTION + The process browser lists each of the active processes in the image. + + Attach and Debug menu items + --------------------------- + One may `attach` or `debug` the selected process. Both commands brings up a debugger on the selected process. + + If `debug` is used, then the process is terminated when the debugger window is closed. If `attach` is used, + then the process is not terminated. + + Kill and terminate menu items + ----------------------------- + `kill` terminates the selected process without running the ensure blocks. `terminate` terminates the selected + process and lets the ensure blocks run. + +EXAMPLES + ps --help + + ps list +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/class/psterminateManPage.st b/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/class/psterminateManPage.st new file mode 100644 index 000000000..e10a7bd0f --- /dev/null +++ b/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/class/psterminateManPage.st @@ -0,0 +1,21 @@ +as yet unclassified +psterminateManPage + | manPage | + manPage := TDManPage + commandName: 'terminate' + fromString: + 'NAME + ps terminate - Terminate all active processes in image + +SYNOPSIS + ps terminate + +DESCRIPTION + Sende #terminate to each of the active processes in the image, except the current one. + +EXAMPLES + ps --help + + ps terminate +'. + ^ manPage \ No newline at end of file diff --git a/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/instance/psTerminateAll.st b/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/instance/psTerminateAll.st new file mode 100644 index 000000000..e1dd4d660 --- /dev/null +++ b/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/instance/psTerminateAll.st @@ -0,0 +1,10 @@ +as yet unclassified +psTerminateAll + | processList currentProcess | + currentProcess := ProcessorScheduler scheduler activeProcess. + processList := self psList reject: [ :ps | ps == currentProcess ]. + processList + do: [ :ps | + ps notNil + ifTrue: [ self psTerminate: ps ] ]. + ^ processList \ No newline at end of file diff --git a/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/instance/psterminate.st b/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/instance/psterminate.st new file mode 100644 index 000000000..2c3806c7f --- /dev/null +++ b/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/instance/psterminate.st @@ -0,0 +1,5 @@ +as yet unclassified +psterminate + "ps terminate" + + ^ self psTerminateAll \ No newline at end of file diff --git a/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/methodProperties.json b/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/methodProperties.json index 35d522171..d6dda2dac 100644 --- a/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/methodProperties.json +++ b/repository/Topez-Server-ProcessTools.package/TDProcessTool.class/methodProperties.json @@ -5,7 +5,9 @@ "installOn:" : "dkh 04/26/2014 09:21", "priority" : "DataCurator 12/20/2012 14:11", "ps" : "dkh 11/10/2013 10:31", - "psManPage" : "dkh 01/10/2014 10:14", + "psManPage" : "dkh 07/20/2015 10:19", + "pslistManPage" : "dkh 02/06/2015 14:39", + "psterminateManPage" : "dkh 07/20/2015 10:21", "readMeProcesses" : "DataCurator 12/20/2012 14:07", "testSuiteClasses" : "dkh 04/19/2014 12:04", "toolName" : "DataCurator 12/20/2012 14:10", @@ -18,8 +20,10 @@ "psList" : "dkh 01/09/2014 18:39", "psPortable:" : "dkh 01/10/2014 16:34", "psTerminate:" : "dkh 01/09/2014 18:45", + "psTerminateAll" : "dkh 07/20/2015 10:43", "psYield" : "dkh 01/09/2014 19:22", "psdelay" : "dkh 09/13/2013 05:51", "pslist" : "dkh 06/27/2014 10:17", "psportable" : "dkh 01/10/2014 10:15", + "psterminate" : "dkh 07/20/2015 10:21", "psyield" : "dkh 01/09/2014 19:23" } } diff --git a/repository/Topez-Server-ProcessTools.package/monticello.meta/version b/repository/Topez-Server-ProcessTools.package/monticello.meta/version index 541ac5dcf..4cd545673 100644 --- a/repository/Topez-Server-ProcessTools.package/monticello.meta/version +++ b/repository/Topez-Server-ProcessTools.package/monticello.meta/version @@ -1 +1 @@ -(name 'Topez-Server-ProcessTools-dkh.25' message 'name the process list window ... only need one' id '1f3e216d-2bd6-4597-afe2-93db2b97214f' date '06/27/2014' time '10:45:59' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.24' message 'Issue #75: rip up all of the old keyboard block support' id '1fed1bc0-23ac-4aa7-8d7a-6050c581ebe8' date '06/18/2014' time '17:08:43' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.23' message 'add TDProcessTool>>psKillAll ...' id '0be246cf-a7d0-4a4c-a5e6-6dcbf1492d0f' date '06/05/2014' time '12:40:31' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.22' message 'implement `attach` menu item in `ol view` for debugging continuations - actually debugging continuations via RemoteDebuggerLogEntry is problematic: - DebuggerLogEntry class>>createContinuationFor: breaks when used with RemoteDebuggerLogEntry (cannot find compiled method) - when the continuation is continued via `value: #debug`, the process gets a SIGSEGV (in 3.2) - defer til later - attach works fine' id 'a16a62c6-151f-41bc-adb5-1aef04509620' date '06/03/2014' time '07:35:29' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.21' message 'first cut at pass re-implement `ol` command - `ol clear` and `ol view` - --age option for specifying a time-based cutoff - for view only select object log entries newer than age - for clear only clear object olog entries older than age - still need to - remove TDObject and TDObjectLogElementBuilder - attach debugger to continuation ' id '8e0822df-000f-4faf-9a81-9204ea58f56b' date '06/02/2014' time '21:43:25' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.20' message '- remove the methods left over from the old implmentation of the debugger' id '2efc2d10-3ffa-45b8-96e0-89f5e1bbf71c' date '04/30/2014' time '21:26:39' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.19' message '- convert implementors and senders menu itme in method lists to use blocks .... - slice halos out of system ... make the TDHaloDevTool obsolete - MethodReference>>printOn: make the class inspector friendly' id '1e5f1784-e20f-4200-84e8-9998acf82647' date '04/26/2014' time '10:01:07' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.18' message '- remove undeclared symbol references from Tode code base - implement block-based method browsing so that refresh of window recalculates search - need block-based class browsing .., - use GsDeployer for class changes - fix up item selected problems ... - add --staticList option bot `browse` command' id '43dd36ed-2665-4111-b2d6-434975394821' date '04/19/2014' time '12:14:45' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.17' message 'pass list and selection index for list in one pass (using an Association)' id '53650717-0523-4daa-9d59-b25c61f92147' date '03/20/2014' time '20:47:43' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.16' message 'Issue #67: continue switch over from TDDebugTool-based to TDDebugger-based debugging, knitting together more of the debugger functionality. - tweak TDProcessTool ... - TDTopezServer>>clientElementFor:using: needs to add clientElement to elementCache' id 'bc27851c-de17-4804-aabb-e751bdb2553a' date '01/10/2014' time '17:08:17' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.15' message 'Issue #48 & Issue #67: debugger, process browser, `ps` command enhancements - Object keyboard shortcuts for debugger - bring up process printString when process selected in process browser - add `portable` menu item for process browser (convert to portable from native) - `ps portable` command implement in TDProcessTool to make it possible to set breakpoints in same process instance where you want them active ' id '8f15610f-bfed-461b-80e4-ede91f10827f' date '01/10/2014' time '11:13:08' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.14' message 'Issue #48: implement Process Browser using TDToolBuilder (no know as TDAbstractToolBuilder) ... refactored and renamed TDToolBuilder hierarchy. `ps` command rafactored to support process browser, but process manipulation commands moved to process browser ...' id '11e3a108-0ac1-4fde-8544-7cd4f2dc0212' date '01/10/2014' time '08:16:24' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.13' message 'Issue #67: attack menus and keyboard actions - item selected (source and context windows opened) - closing stack window, closes source and context windows - attachProcess: and debugProcess: ... attach does not terminate process when window closed - add `print window` to window menu - printing goes to window named #printer - `ps attach` and `ps debug` commands open TDDebugger...' id 'a838e9ed-6c8f-4938-9361-2cd40fa20f3b' date '01/06/2014' time '21:21:27' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.12' message '- on cut actions, refrehList and add to clipbard in one swell foop - start work on new debugger (TDDebugger)' id '430f1bf5-173e-4c5b-9550-6610c29e1026' date '01/06/2014' time '08:00:58' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.11' message 'CMD-SHIFT-P: opens window with printString of client list ... `ps debug` command open debugger on given process ...' id '536bd260-df32-41c7-b50f-ddeec2eff440' date '12/18/2013' time '19:08:12' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.10' message 'Issue #16: convert all command blocks to the form: [ :topez :objIn :tokens :command | ]...convert subCommands to use: TDAbstractDevTool class>>performSubCommand:objIn:todeCommand: ...add better subCommand support to TDCommandLine (teach it to respect subCommands) ... still need to remove windowId and tokens instance variables from TDAbstractDevTool ... TDTopezServer>>evaluateCommand:objIn: and TDTopezServer>>evaluateSTONCommand: are now the primary entry points for command processing ...' id '05a8f8bf-4ee4-4d7d-8ff1-ef7d4b939197' date '11/10/2013' time '11:27:21' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.9' message 'add `ps delay` command' id '1674e114-3967-4822-a8e5-a88d6dd0931c' date '09/13/2013' time '06:00:34' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.8' message 'add `rename class` command ... move all examples to `/examples`' id '74ad9e71-8860-42e5-b1ef-8381dbdfee31' date '08/14/2013' time '14:45:46' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.7' message 'define author in package name ' id 'd7f73f62-6465-49d7-997d-1accaea3b4ef' date '07/31/2013' time '18:21:10' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-.6' message 'use TDAbstractDevTool class>>performSubCommand:objIn:tokens:windowId: whereever appropriate ... lots of places ' id 'bad3a745-6b73-480e-9135-2f672168c29a' date '07/09/2013' time '16:00:39' author '' ancestors ((name 'Topez-Server-ProcessTools-dkh.5' message 'refactor TDAbstractDevTool hierarchy a bit to accommodate the addition of TDDevProcessSupport ... added TDStandardTool above the tools to house the code related to installing generally available commands, commands defined in TDDevProcessSupport have to be invoked directly, but the code and manPages deserve to be managed in a class... sticking code for the image dev support into TDDevProcessSupport ... share some common commit code in TDMonticelloTool ... preparing for revising the commit commands a bit (maybe?)' id '0f1f85a5-c07a-46ae-b70b-838d1d1dc920' date '05/18/2013' time '08:41:53' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.4' message 'convert last few remaining users of ds to edit result in navigator ' id 'ef3df94e-5457-4e3b-a7c4-c17ddeb49f83' date '05/16/2013' time '07:18:45' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.3' message 'add @ option to all appropriate shell commands and update man pages ' id 'b55f8b32-fc80-46d5-bfd2-de89284ec3d7' date '05/14/2013' time '10:58:20' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.2' message 'get db continue working for debugger with multiple halts involved ' id 'fc6199e1-794a-4fb7-97ba-e8d73372ecd8' date '04/01/2013' time '20:18:49' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.1' message 'bump ' id '1900b23b-b420-4234-9187-5950ba385ce1' date '03/10/2013' time '15:17:21' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Topez-Server-ProcessTools-dkh.28' message 'new commands that came up while working on Seaside3.2: - `limit transactionMode` - `ps terminate`' id 'e1427bbb-1b6e-426f-b465-2b48a31acf7d' date '07/20/2015' time '11:38:46' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.27' message 'Add new command `gemtool` that does GemTools-style prompting for attributes. the `gemtool` commands are being used to implement client-based worldMenu items for opening tools and executing GemTools-style operations ... will eventually migrate all `gs gemtools` functionality to gemtool command ... move TDGemToolsMenuBar to Tode-GemStone-Server-Core package' id 'e72f4142-d9b2-4237-bca9-c3acb2eb6766' date '03/21/2015' time '16:20:44' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.26' message 'Issue #135: `Tools` submenu completed... man page for `ps list`' id '1ffddd1b-eb93-4850-91c9-4432de659c03' date '02/06/2015' time '15:03:32' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.25' message 'name the process list window ... only need one' id '1f3e216d-2bd6-4597-afe2-93db2b97214f' date '06/27/2014' time '10:45:59' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.24' message 'Issue #75: rip up all of the old keyboard block support' id '1fed1bc0-23ac-4aa7-8d7a-6050c581ebe8' date '06/18/2014' time '17:08:43' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.23' message 'add TDProcessTool>>psKillAll ...' id '0be246cf-a7d0-4a4c-a5e6-6dcbf1492d0f' date '06/05/2014' time '12:40:31' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.22' message 'implement `attach` menu item in `ol view` for debugging continuations - actually debugging continuations via RemoteDebuggerLogEntry is problematic: - DebuggerLogEntry class>>createContinuationFor: breaks when used with RemoteDebuggerLogEntry (cannot find compiled method) - when the continuation is continued via `value: #debug`, the process gets a SIGSEGV (in 3.2) - defer til later - attach works fine' id 'a16a62c6-151f-41bc-adb5-1aef04509620' date '06/03/2014' time '07:35:29' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.21' message 'first cut at pass re-implement `ol` command - `ol clear` and `ol view` - --age option for specifying a time-based cutoff - for view only select object log entries newer than age - for clear only clear object olog entries older than age - still need to - remove TDObject and TDObjectLogElementBuilder - attach debugger to continuation ' id '8e0822df-000f-4faf-9a81-9204ea58f56b' date '06/02/2014' time '21:43:25' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.20' message '- remove the methods left over from the old implmentation of the debugger' id '2efc2d10-3ffa-45b8-96e0-89f5e1bbf71c' date '04/30/2014' time '21:26:39' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.19' message '- convert implementors and senders menu itme in method lists to use blocks .... - slice halos out of system ... make the TDHaloDevTool obsolete - MethodReference>>printOn: make the class inspector friendly' id '1e5f1784-e20f-4200-84e8-9998acf82647' date '04/26/2014' time '10:01:07' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.18' message '- remove undeclared symbol references from Tode code base - implement block-based method browsing so that refresh of window recalculates search - need block-based class browsing .., - use GsDeployer for class changes - fix up item selected problems ... - add --staticList option bot `browse` command' id '43dd36ed-2665-4111-b2d6-434975394821' date '04/19/2014' time '12:14:45' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.17' message 'pass list and selection index for list in one pass (using an Association)' id '53650717-0523-4daa-9d59-b25c61f92147' date '03/20/2014' time '20:47:43' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.16' message 'Issue #67: continue switch over from TDDebugTool-based to TDDebugger-based debugging, knitting together more of the debugger functionality. - tweak TDProcessTool ... - TDTopezServer>>clientElementFor:using: needs to add clientElement to elementCache' id 'bc27851c-de17-4804-aabb-e751bdb2553a' date '01/10/2014' time '17:08:17' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.15' message 'Issue #48 & Issue #67: debugger, process browser, `ps` command enhancements - Object keyboard shortcuts for debugger - bring up process printString when process selected in process browser - add `portable` menu item for process browser (convert to portable from native) - `ps portable` command implement in TDProcessTool to make it possible to set breakpoints in same process instance where you want them active ' id '8f15610f-bfed-461b-80e4-ede91f10827f' date '01/10/2014' time '11:13:08' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.14' message 'Issue #48: implement Process Browser using TDToolBuilder (no know as TDAbstractToolBuilder) ... refactored and renamed TDToolBuilder hierarchy. `ps` command rafactored to support process browser, but process manipulation commands moved to process browser ...' id '11e3a108-0ac1-4fde-8544-7cd4f2dc0212' date '01/10/2014' time '08:16:24' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.13' message 'Issue #67: attack menus and keyboard actions - item selected (source and context windows opened) - closing stack window, closes source and context windows - attachProcess: and debugProcess: ... attach does not terminate process when window closed - add `print window` to window menu - printing goes to window named #printer - `ps attach` and `ps debug` commands open TDDebugger...' id 'a838e9ed-6c8f-4938-9361-2cd40fa20f3b' date '01/06/2014' time '21:21:27' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.12' message '- on cut actions, refrehList and add to clipbard in one swell foop - start work on new debugger (TDDebugger)' id '430f1bf5-173e-4c5b-9550-6610c29e1026' date '01/06/2014' time '08:00:58' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.11' message 'CMD-SHIFT-P: opens window with printString of client list ... `ps debug` command open debugger on given process ...' id '536bd260-df32-41c7-b50f-ddeec2eff440' date '12/18/2013' time '19:08:12' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.10' message 'Issue #16: convert all command blocks to the form: [ :topez :objIn :tokens :command | ]...convert subCommands to use: TDAbstractDevTool class>>performSubCommand:objIn:todeCommand: ...add better subCommand support to TDCommandLine (teach it to respect subCommands) ... still need to remove windowId and tokens instance variables from TDAbstractDevTool ... TDTopezServer>>evaluateCommand:objIn: and TDTopezServer>>evaluateSTONCommand: are now the primary entry points for command processing ...' id '05a8f8bf-4ee4-4d7d-8ff1-ef7d4b939197' date '11/10/2013' time '11:27:21' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.9' message 'add `ps delay` command' id '1674e114-3967-4822-a8e5-a88d6dd0931c' date '09/13/2013' time '06:00:34' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.8' message 'add `rename class` command ... move all examples to `/examples`' id '74ad9e71-8860-42e5-b1ef-8381dbdfee31' date '08/14/2013' time '14:45:46' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.7' message 'define author in package name ' id 'd7f73f62-6465-49d7-997d-1accaea3b4ef' date '07/31/2013' time '18:21:10' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-.6' message 'use TDAbstractDevTool class>>performSubCommand:objIn:tokens:windowId: whereever appropriate ... lots of places ' id 'bad3a745-6b73-480e-9135-2f672168c29a' date '07/09/2013' time '16:00:39' author '' ancestors ((name 'Topez-Server-ProcessTools-dkh.5' message 'refactor TDAbstractDevTool hierarchy a bit to accommodate the addition of TDDevProcessSupport ... added TDStandardTool above the tools to house the code related to installing generally available commands, commands defined in TDDevProcessSupport have to be invoked directly, but the code and manPages deserve to be managed in a class... sticking code for the image dev support into TDDevProcessSupport ... share some common commit code in TDMonticelloTool ... preparing for revising the commit commands a bit (maybe?)' id '0f1f85a5-c07a-46ae-b70b-838d1d1dc920' date '05/18/2013' time '08:41:53' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.4' message 'convert last few remaining users of ds to edit result in navigator ' id 'ef3df94e-5457-4e3b-a7c4-c17ddeb49f83' date '05/16/2013' time '07:18:45' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.3' message 'add @ option to all appropriate shell commands and update man pages ' id 'b55f8b32-fc80-46d5-bfd2-de89284ec3d7' date '05/14/2013' time '10:58:20' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.2' message 'get db continue working for debugger with multiple halts involved ' id 'fc6199e1-794a-4fb7-97ba-e8d73372ecd8' date '04/01/2013' time '20:18:49' author 'dkh' ancestors ((name 'Topez-Server-ProcessTools-dkh.1' message 'bump ' id '1900b23b-b420-4234-9187-5950ba385ce1' date '03/10/2013' time '15:17:21' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/class/useUpdateThread..st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/class/useUpdateThread..st new file mode 100644 index 000000000..c2313fc07 --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/class/useUpdateThread..st @@ -0,0 +1,5 @@ +accessing +useUpdateThread: aBool + "self useUpdateThread: false" + + UseUpdateThread := aBool \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/class/useUpdateThread.st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/class/useUpdateThread.st new file mode 100644 index 000000000..dafdbe5ee --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/class/useUpdateThread.st @@ -0,0 +1,4 @@ +accessing +useUpdateThread + UseUpdateThread ifNil: [ UseUpdateThread := true ]. + ^ UseUpdateThread \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/debugAllTestsMenuAction.selectionIndex..st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/debugAllTestsMenuAction.selectionIndex..st new file mode 100644 index 000000000..6725f5876 --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/debugAllTestsMenuAction.selectionIndex..st @@ -0,0 +1,15 @@ +menu actions +debugAllTestsMenuAction: listElement selectionIndex: selectionIndex + self log: '================Debug ALL tests================'. + self initResults. + self currentTestCase: 'running...'. + listElement topez refreshViewFor: self windowId. + self + debugTestSuite: self testSuite + with: testResults + refreshing: [ + self applyTestResults. + listElement topez refreshViewFor: self windowId ]. + self finishedTestResults. + listElement topez refreshViewFor: self windowId. + ^ true \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/debugTestMenuAction.selectionIndex..st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/debugTestMenuAction.selectionIndex..st index 5e0134e6c..ad0d3b3af 100644 --- a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/debugTestMenuAction.selectionIndex..st +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/debugTestMenuAction.selectionIndex..st @@ -5,4 +5,5 @@ debugTestMenuAction: listElement selectionIndex: selectionIndex | testCase | testCase := self testCasesAtResultSlot at: selectionIndex - 2. testCase debug. + self inform: 'finished with test'. ^ #'refresh' \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/debugTestSuite.with.refreshing..st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/debugTestSuite.with.refreshing..st new file mode 100644 index 000000000..a6911b694 --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/debugTestSuite.with.refreshing..st @@ -0,0 +1,11 @@ +private +debugTestSuite: aTestSuite with: aTestResult refreshing: refreshBlock + | testBlock | + testBlock := [ + refreshBlock value. + aTestSuite debug: aTestResult. + refreshBlock value ]. + self class useUpdateThread + ifTrue: [ self runUpdateThreadFor: testBlock refreshing: refreshBlock ] + ifFalse: [ testBlock value ]. + self inform: 'finished with tests' \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st index b9602908c..e83252c20 100644 --- a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/itemSelected.listElement.selectedIndex.shiftPressed..st @@ -7,10 +7,14 @@ itemSelected: miniTool listElement: listElement selectedIndex: selectionIndex sh (selectionIndex > 2 and: [ run size <= 0 ]) ifTrue: [ ^ false ]. selectionIndex > 1 - ifTrue: [ resultSlot := selectionIndex ] ] + ifTrue: [ resultSlot := selectionIndex ]. + selectionIndex < 3 + ifTrue: [ self testSuite "force refresh of the test suite" ] ] ifFalse: [ selectionIndex < 3 - ifTrue: [ resultSlot := selectionIndex ] + ifTrue: [ + self testSuite. "force refresh of the test suite" + resultSlot := selectionIndex ] ifFalse: [ | testCase testMethodClass | testCase := self testCasesAtResultSlot at: selectionIndex - 2. @@ -22,13 +26,13 @@ itemSelected: miniTool listElement: listElement selectedIndex: selectionIndex sh selector: testCase selector messagePattern: testCase selector asString messagePatternIsRegex: false) itemSelected: listElement topez. - ^ STON + ^ self objectSerializer toString: {#'setMenuCategories:'. #(#'testMethod'). #'clearMenuCategories:'. #()} ] ]. - ^ STON + ^ self objectSerializer toString: {#'setMenuCategories:'. #(). diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/menuActionSpec..st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/menuActionSpec..st index 632e06643..427540659 100644 --- a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/menuActionSpec..st +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/menuActionSpec..st @@ -10,6 +10,8 @@ menuActionSpec: miniTool #('errors' nil #'runErrorsTestsMenuAction:selectionIndex:'). #('unexpected passes' nil #'runUnexpectedPassesTestsMenuAction:selectionIndex:')})}. #('-'). + {('Debug' -> {#('all' nil #'debugAllTestsMenuAction:selectionIndex:')})}. + #('-'). #('run' $r #'runTestMenuAction:selectionIndex:' nil #'testMethod' false). #('debug' $d #'debugTestMenuAction:selectionIndex:' nil #'testMethod' false). #('-'). diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runAllTestsMenuAction.selectionIndex..st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runAllTestsMenuAction.selectionIndex..st index f95d480bb..2345cdf0c 100644 --- a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runAllTestsMenuAction.selectionIndex..st +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runAllTestsMenuAction.selectionIndex..st @@ -5,7 +5,7 @@ runAllTestsMenuAction: listElement selectionIndex: selectionIndex self currentTestCase: 'running...'. listElement topez refreshViewFor: self windowId. self - runTestSuite: testSuite + runTestSuite: self testSuite with: testResults refreshing: [ self applyTestResults. diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runTestMenuAction.selectionIndex..st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runTestMenuAction.selectionIndex..st index fe985c707..9828c170f 100644 --- a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runTestMenuAction.selectionIndex..st +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runTestMenuAction.selectionIndex..st @@ -8,4 +8,5 @@ runTestMenuAction: listElement selectionIndex: selectionIndex self resetResultsBeforeRun: {testCase}. testCase run: testResults. self finishedTestResults. + self inform: 'finished with test'. ^ #'refresh' \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runTestSuite.with.refreshing..st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runTestSuite.with.refreshing..st index 863e26077..7b79ec7a1 100644 --- a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runTestSuite.with.refreshing..st +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runTestSuite.with.refreshing..st @@ -1,23 +1,11 @@ private runTestSuite: aTestSuite with: aTestResult refreshing: refreshBlock - | notDone delay | - notDone := true. - testProcess := [ - [ - | results | + | testBlock | + testBlock := [ refreshBlock value. - aTestSuite run: aTestResult ] - ensure: [ - notDone := false. - testProcess := nil. - delay - ifNotNil: [ - delay inProgress - ifTrue: [ delay signal ] ] ] ] - fork. - [ testProcess notNil and: [ notDone ] ] - whileTrue: [ - refreshBlock value. - delay := Delay forSeconds: 5. - delay wait. - delay := nil ] \ No newline at end of file + aTestSuite run: aTestResult. + refreshBlock value ]. + self class useUpdateThread + ifTrue: [ self runUpdateThreadFor: testBlock refreshing: refreshBlock ] + ifFalse: [ testBlock value ]. + self inform: 'finished with tests' \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runUpdateThreadFor.refreshing..st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runUpdateThreadFor.refreshing..st new file mode 100644 index 000000000..50677dcea --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/runUpdateThreadFor.refreshing..st @@ -0,0 +1,20 @@ +private +runUpdateThreadFor: testBlock refreshing: refreshBlock + | notDone delay | + notDone := true. + testProcess := [ + testBlock + ensure: [ + notDone := false. + testProcess := nil. + delay + ifNotNil: [ + delay inProgress + ifTrue: [ delay signal ] ] ] ] + forkAt: Processor activePriority - 1. + [ testProcess notNil and: [ notDone ] ] + whileTrue: [ + refreshBlock value. + delay := Delay forSeconds: 5. + delay wait. + delay := nil ] \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/testSuite.st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/testSuite.st index 6f4f31aca..b2ea4dc34 100644 --- a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/testSuite.st +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/testSuite.st @@ -1,4 +1,9 @@ accessing testSuite - - ^testSuite + testSuite + ifNil: [ + | suite | + suite := self testSuiteBlock value. + tests := suite tests. + ^ suite ]. + ^ testSuite \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/testSuiteBlock..st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/testSuiteBlock..st new file mode 100644 index 000000000..241f182cc --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/testSuiteBlock..st @@ -0,0 +1,5 @@ +initialization +testSuiteBlock: aBlock + self initResults. + testSuiteBlock := aBlock. + self testSuite "trigger initial evaluation" \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/testSuiteBlock.st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/testSuiteBlock.st new file mode 100644 index 000000000..e88365370 --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/testSuiteBlock.st @@ -0,0 +1,3 @@ +accessing +testSuiteBlock + ^ testSuiteBlock \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/usePersistentClientElementCache.st b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/usePersistentClientElementCache.st new file mode 100644 index 000000000..425fefe34 --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/instance/usePersistentClientElementCache.st @@ -0,0 +1,3 @@ +accessing +usePersistentClientElementCache + ^ false \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/methodProperties.json b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/methodProperties.json index 4d8a83f8a..8b83a4eb2 100644 --- a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/methodProperties.json +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/methodProperties.json @@ -1,41 +1,49 @@ { "class" : { "currentTestCase" : "dkh 06/25/2014 21:30", - "currentTestCase:" : "dkh 06/25/2014 21:30" }, + "currentTestCase:" : "dkh 06/25/2014 21:30", + "useUpdateThread" : "dkh 02/14/2015 15:52", + "useUpdateThread:" : "dkh 02/14/2015 15:52" }, "instance" : { "applyTestResults" : "dkh 06/25/2014 20:22", "browseFullClassMenuAction:selectionIndex:" : "dkh 06/25/2014 20:39", "clientList:listElement:" : "dkh 08/07/2014 12:38", "currentTestCase" : "dkh 06/25/2014 21:30", "currentTestCase:" : "dkh 06/25/2014 21:30", - "debugTestMenuAction:selectionIndex:" : "dkh 06/25/2014 20:40", + "debugAllTestsMenuAction:selectionIndex:" : "dkh 09/11/2015 13:51", + "debugTestMenuAction:selectionIndex:" : "dkh 02/14/2015 17:19", + "debugTestSuite:with:refreshing:" : "dkh 02/14/2015 15:56", "finishedTestResults" : "dkh 06/25/2014 21:31", "hasErrors" : "dkh 08/07/2014 11:47", "hasFailures" : "dkh 08/07/2014 11:47", "hasPassed" : "dkh 08/07/2014 11:44", "initResults" : "dkh 06/25/2014 21:31", - "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 07/08/2014 10:12", + "itemSelected:listElement:selectedIndex:shiftPressed:" : "dkh 09/11/2015 14:29", "log:" : "dkh 06/29/2014 11:10", - "menuActionSpec:" : "dkh 06/25/2014 20:05", + "menuActionSpec:" : "dkh 01/12/2015 14:12", "resetResultsBeforeRun:" : "dkh 06/29/2014 09:38", "resultSlot" : "dkh 06/25/2014 13:32", "resultsTextFor:spacer:label:" : "dkh 08/07/2014 12:37", - "runAllTestsMenuAction:selectionIndex:" : "dkh 06/29/2014 10:19", + "runAllTestsMenuAction:selectionIndex:" : "dkh 09/11/2015 13:52", "runErrorsTestsMenuAction:selectionIndex:" : "dkh 06/29/2014 10:19", "runExpectedDefectsTestsMenuAction:selectionIndex:" : "dkh 06/29/2014 10:19", "runFailuresTestsMenuAction:selectionIndex:" : "dkh 06/29/2014 10:19", "runPassesTestsMenuAction:selectionIndex:" : "dkh 06/29/2014 10:20", "runTestCases:listElement:" : "dkh 06/29/2014 09:39", - "runTestMenuAction:selectionIndex:" : "dkh 06/29/2014 10:20", - "runTestSuite:with:refreshing:" : "dkh 08/07/2014 12:20", + "runTestMenuAction:selectionIndex:" : "dkh 02/14/2015 17:20", + "runTestSuite:with:refreshing:" : "dkh 02/14/2015 15:57", "runUnexpectedPassesTestsMenuAction:selectionIndex:" : "dkh 06/29/2014 10:20", + "runUpdateThreadFor:refreshing:" : "dkh 02/14/2015 15:56", "testCasesAtResultSlot" : "dkh 06/25/2014 20:55", "testCasesAtSlot:" : "dkh 06/25/2014 20:37", "testResults" : "dkh 06/25/2014 13:02", "testResults:" : "dkh 06/25/2014 12:59", "testResultsPrintString" : "dkh 08/07/2014 11:48", - "testSuite" : "dkh 06/25/2014 11:37", + "testSuite" : "dkh 09/11/2015 13:54", "testSuite:" : "dkh 06/25/2014 20:16", + "testSuiteBlock" : "dkh 09/11/2015 13:50", + "testSuiteBlock:" : "dkh 09/11/2015 13:56", "testSuiteFor:" : "dkh 06/25/2014 20:52", + "usePersistentClientElementCache" : "dkh 09/07/2015 13:17", "windowIsClosing:" : "dkh 06/25/2014 14:44", "windowLocation" : "dkh 06/25/2014 11:56" } } diff --git a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/properties.json b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/properties.json index 4ea448fa6..22bd7ac81 100644 --- a/repository/Topez-Server-TestTools.package/TDTestBrowser.class/properties.json +++ b/repository/Topez-Server-TestTools.package/TDTestBrowser.class/properties.json @@ -3,10 +3,11 @@ "classinstvars" : [ ], "classvars" : [ - ], + "UseUpdateThread" ], "commentStamp" : "", "instvars" : [ "testSuite", + "testSuiteBlock", "testResults", "resultSlot", "testProcess", diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/class/test.st b/repository/Topez-Server-TestTools.package/TDTestTool.class/class/test.st index e1ea3258a..69e164a24 100644 --- a/repository/Topez-Server-TestTools.package/TDTestTool.class/class/test.st +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/class/test.st @@ -1,4 +1,11 @@ as yet unclassified test - ^ [ :topez :objIn :tokens :command | self performSubCommand: topez objIn: objIn todeCommand: command ] \ No newline at end of file + ^ [ :topez :objIn :tokens :command | + self + performSubCommand: topez + objIn: objIn + commandOptions: + {#('help' $h #'none'). + #('batch' nil #'none')} + todeCommand: command ] \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/class/testManPage.st b/repository/Topez-Server-TestTools.package/TDTestTool.class/class/testManPage.st index ee8c02787..419b61f2e 100644 --- a/repository/Topez-Server-TestTools.package/TDTestTool.class/class/testManPage.st +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/class/testManPage.st @@ -4,10 +4,11 @@ testManPage test - execute sunit commands SYNOPSIS - test class [ ... ] - test package - test project - test suite + test [--batch] class [ ... ] + test [--batch] image + test [--batch] package + test [--batch] project + test [--batch] suite suite @ DESCRIPTION @@ -16,7 +17,5 @@ DESCRIPTION The TestSuite instance is derived from the results of evaluating using objIn as the smalltalk node context. - Examples: - - test /home/sunit +EXAMPLES ' \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/batchRunTestSuite..st b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/batchRunTestSuite..st new file mode 100644 index 000000000..5f2874680 --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/batchRunTestSuite..st @@ -0,0 +1,42 @@ +as yet unclassified +batchRunTestSuite: suite + | result defects | + result := suite run. + Transcript + cr; + show: + '******************************************** ******************************************'; + cr; + tab; + show: 'Results for ' , suite name; + cr; + show: result printString; + cr; + show: + '**************************************************************************************'; + cr. + result failures notEmpty + ifTrue: [ + Transcript + show: '*** FAILURES ***'; + show: '****************'; + cr ]. + result failures + do: [ :each | + Transcript tab + show: + each class name asString , ' debug: ' , each selector printString , '.'; + cr ]. + result errors notEmpty + ifTrue: [ + Transcript + show: '*** ERRORS ***'; + show: '****************'; + cr ]. + result errors + do: [ :each | + Transcript tab + show: + each class name asString , ' debug: ' , each selector printString , '.'; + cr ]. + ^ result \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/batchRunTestSuiteBlock..st b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/batchRunTestSuiteBlock..st new file mode 100644 index 000000000..1423070db --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/batchRunTestSuiteBlock..st @@ -0,0 +1,43 @@ +as yet unclassified +batchRunTestSuiteBlock: suiteBlock + | result defects suite | + suite := suiteBlock value. + result := suite run. + Transcript + cr; + show: + '**************************************************************************************'; + cr; + tab; + show: 'Results for ' , suite name; + cr; + show: result printString; + cr; + show: + '**************************************************************************************'; + cr. + result failures notEmpty + ifTrue: [ + Transcript + show: '*** FAILURES ***'; + show: '****************'; + cr ]. + result failures + do: [ :each | + Transcript tab + show: + each class name asString , ' debug: ' , each selector printString , '.'; + cr ]. + result errors notEmpty + ifTrue: [ + Transcript + show: '*** ERRORS ***'; + show: '****************'; + cr ]. + result errors + do: [ :each | + Transcript tab + show: + each class name asString , ' debug: ' , each selector printString , '.'; + cr ]. + ^ result \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/browseTestSuiteBlock.label..st b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/browseTestSuiteBlock.label..st new file mode 100644 index 000000000..09292252b --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/browseTestSuiteBlock.label..st @@ -0,0 +1,8 @@ +as yet unclassified +browseTestSuiteBlock: suiteBlock label: label + ^ (TDTestBrowser new + topez: topez; + testSuiteBlock: suiteBlock; + windowName: #'testBrowser'; + windowLabel: label; + yourself) open \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/doTestFor..st b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/doTestFor..st new file mode 100644 index 000000000..215ddd22f --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/doTestFor..st @@ -0,0 +1,6 @@ +as yet unclassified +doTestFor: suite + ^ self options + at: 'batch' + ifPresent: [ :ignored | self batchRunTestSuite: suite ] + ifAbsent: [ self browseTestSuite: suite ] \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/doTestForBlock.label..st b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/doTestForBlock.label..st new file mode 100644 index 000000000..4d0d910d7 --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/doTestForBlock.label..st @@ -0,0 +1,6 @@ +as yet unclassified +doTestForBlock: suiteBlock label: label + ^ self options + at: 'batch' + ifPresent: [ :ignored | self batchRunTestSuiteBlock: suiteBlock ] + ifAbsent: [ self browseTestSuiteBlock: suiteBlock label: label ] \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testclass..st b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testclass..st index 09ac3aa05..c78b591be 100644 --- a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testclass..st +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testclass..st @@ -1,5 +1,5 @@ as yet unclassified testclass: classNames - | suite cl | - suite := self testSuiteFor: classNames. - ^ self browseTestSuite: suite \ No newline at end of file + ^ self + doTestForBlock: [ self testSuiteFor: classNames ] + label: classNames printString , ' tests' \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testclass.st b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testclass.st index fc2ff7d76..62b8bd49b 100644 --- a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testclass.st +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testclass.st @@ -1,7 +1,6 @@ as yet unclassified testclass - "test class [ ... ]" + "test [--batch] class [ ... ]" - | classNames | - classNames := tokens copyFrom: 2 to: tokens size. - ^ self testclass: classNames \ No newline at end of file + self getSubcommandOptsMixedLongShort: {}. + ^ self testclass: subArguments \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testimage.st b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testimage.st new file mode 100644 index 000000000..ed47b009b --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testimage.st @@ -0,0 +1,12 @@ +as yet unclassified +testimage + "test image" + + | label | + label := 'Image Test Suite'. + ^ self + doTestForBlock: [ + | suite | + suite := TestCase suite. + suite name: label , suite ] + label: label \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testpackage..st b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testpackage..st index e4c8f76d7..22b7ddebd 100644 --- a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testpackage..st +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testpackage..st @@ -1,15 +1,18 @@ as yet unclassified testpackage: packageName - | suite wc classes | - suite := TestSuite named: packageName , ' tests'. - wc := MCWorkingCopy allManagers - detect: [ :wc | wc packageName = packageName ] - ifNone: [ self error: 'No package named ' , packageName printString ]. - classes := (MetacelloPlatform current packageInfoFor: wc) classes. - classes - do: [ :cl | - (cl inheritsFrom: TestCase) - ifTrue: [ - cl isAbstract - ifFalse: [ suite addTests: cl suite tests ] ] ]. - ^ self browseTestSuite: suite \ No newline at end of file + ^ self + doTestForBlock: [ + | suite wc classes | + suite := TestSuite named: packageName , ' tests'. + wc := MCWorkingCopy allManagers + detect: [ :wc | wc packageName = packageName ] + ifNone: [ self error: 'No package named ' , packageName printString ]. + classes := (MetacelloPlatform current packageInfoFor: wc) classes. + classes + do: [ :cl | + (cl inheritsFrom: TestCase) + ifTrue: [ + cl isAbstract + ifFalse: [ suite addTests: cl suite tests ] ] ]. + suite ] + label: packageName , ' tests' \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testpackage.st b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testpackage.st index cc32d017f..579b4dfb1 100644 --- a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testpackage.st +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testpackage.st @@ -1,7 +1,6 @@ as yet unclassified testpackage - "test package " + "test [--batch] package " - | packageName | - packageName := tokens at: 2. - ^ self testpackage: packageName \ No newline at end of file + self getSubcommandOptsMixedLongShort: {}. + ^ self testpackage: (subArguments at: 1) \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testproject..st b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testproject..st index 4402ad9ec..d7c7d03d7 100644 --- a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testproject..st +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testproject..st @@ -1,19 +1,22 @@ as yet unclassified testproject: baseName - | suite projectSpec result | - suite := TestSuite named: baseName , ' tests'. - result := Metacello image - project: baseName; - list. - projectSpec := result isCollection - ifTrue: [ result first ] - ifFalse: [ - "old-style result from `list` command ... safe to remove after MetacelloPreview1.0.0-beta.32.15 is wide distribution" - result ]. - projectSpec version currentlyLoadedClassesInVersion - do: [ :cl | - (cl inheritsFrom: TestCase) - ifTrue: [ - cl isAbstract - ifFalse: [ suite addTests: cl suite tests ] ] ]. - ^ self browseTestSuite: suite \ No newline at end of file + ^ self + doTestForBlock: [ + | suite projectSpec result | + suite := TestSuite named: baseName , ' tests'. + result := Metacello image + project: baseName; + list. + projectSpec := result isCollection + ifTrue: [ result first ] + ifFalse: [ + "old-style result from `list` command ... safe to remove after MetacelloPreview1.0.0-beta.32.15 is wide distribution" + result ]. + projectSpec version currentlyLoadedClassesInVersion + do: [ :cl | + (cl inheritsFrom: TestCase) + ifTrue: [ + cl isAbstract + ifFalse: [ suite addTests: cl suite tests ] ] ]. + suite ] + label: baseName , ' tests' \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testproject.st b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testproject.st index 96e71de96..3de4c00d8 100644 --- a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testproject.st +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testproject.st @@ -1,7 +1,6 @@ as yet unclassified testproject - "test project " + "test [--batch] project " - | baseName | - baseName := tokens at: 2. - ^ self testproject: baseName \ No newline at end of file + self getSubcommandOptsMixedLongShort: {}. + ^ self testproject: (subArguments at: 1) \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testsuite.st b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testsuite.st index 3c878157a..2d37145ab 100644 --- a/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testsuite.st +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/instance/testsuite.st @@ -1,15 +1,16 @@ as yet unclassified testsuite - "test suite + "test [--batch] suite suite @ " | suitePath suite node testNode | - suitePath := tokens at: 2. + self getSubcommandOptsMixedLongShort: {}. + suitePath := subArguments at: 1. suite := (suitePath beginsWith: '@') ifTrue: [ self resolveAtPathReference: suitePath ] ifFalse: [ | suiteNode | suiteNode := self topez lookup: suitePath. suiteNode evaluateInContext: objIn ]. - ^ self browseTestSuite: suite \ No newline at end of file + ^ self doTestFor: suite \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TDTestTool.class/methodProperties.json b/repository/Topez-Server-TestTools.package/TDTestTool.class/methodProperties.json index 6c37373a8..3951faf53 100644 --- a/repository/Topez-Server-TestTools.package/TDTestTool.class/methodProperties.json +++ b/repository/Topez-Server-TestTools.package/TDTestTool.class/methodProperties.json @@ -4,17 +4,22 @@ "installExampleOn:" : "dkh 08/14/2013 11:19", "installOn:" : "dkh 04/11/2013 20:06", "priority" : "DataCurator 12/21/2012 11:43", - "test" : "dkh 11/10/2013 10:33", - "testManPage" : "dkh 09/22/2013 07:22", + "test" : "dkh 02/26/2015 10:15", + "testManPage" : "dkh 02/26/2015 10:22", "toolName" : "DataCurator 12/21/2012 11:43", "toolReadMe" : "DataCurator 12/21/2012 11:43", "ts" : "dkh 11/10/2013 10:33", "tsManPage" : "dkh 09/24/2013 10:13" }, "instance" : { + "batchRunTestSuite:" : "dkh 09/11/2015 14:13", + "batchRunTestSuiteBlock:" : "dkh 09/11/2015 14:13", "browseRegistrationTests:" : "dkh 06/25/2014 15:41", "browseTestSuite:" : "dkh 06/25/2014 15:41", + "browseTestSuiteBlock:label:" : "dkh 09/11/2015 14:09", "defaultHomeResultsPath" : "DataCurator 12/23/2012 13:28", "defaultHomeTestPath" : "dkh 12/06/2013 18:11", + "doTestFor:" : "dkh 03/18/2015 06:02", + "doTestForBlock:label:" : "dkh 09/11/2015 14:13", "resultsNode:results:" : "DataCurator 01/25/2013 10:21", "runSuite:testNode:" : "DataCurator 01/01/2013 15:57", "runTestClass:" : "07/09/2013 14:39", @@ -26,13 +31,14 @@ "testSummary" : "dkh 09/27/2013 11:11", "testSummary:" : "dkh 03/10/2013 12:40", "testSummary:dsLevel:" : "dkh 11/10/2013 10:54", - "testclass" : "dkh 09/27/2013 10:55", - "testclass:" : "dkh 07/07/2014 20:47", - "testpackage" : "dkh 09/27/2013 11:04", - "testpackage:" : "dkh 07/07/2014 20:47", - "testproject" : "dkh 09/27/2013 11:03", - "testproject:" : "dkh 09/04/2014 17:01", - "testsuite" : "dkh 07/07/2014 20:48", + "testclass" : "dkh 02/26/2015 10:42", + "testclass:" : "dkh 09/11/2015 14:15", + "testimage" : "dkh 09/11/2015 14:17", + "testpackage" : "dkh 02/26/2015 10:42", + "testpackage:" : "dkh 09/11/2015 14:17", + "testproject" : "dkh 02/26/2015 10:42", + "testproject:" : "dkh 09/11/2015 14:18", + "testsuite" : "dkh 02/26/2015 10:42", "testsuite:" : "dkh 12/06/2013 18:33", "tsdebug" : "dkh 09/27/2013 11:06", "tsdebug:" : "dkh 02/07/2014 08:57", diff --git a/repository/Topez-Server-TestTools.package/TestCase.extension/class/testSelectors.st b/repository/Topez-Server-TestTools.package/TestCase.extension/class/testSelectors.st new file mode 100644 index 000000000..d2ed98aad --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TestCase.extension/class/testSelectors.st @@ -0,0 +1,4 @@ +*topez-server-testtools +testSelectors + ^ self sunitSelectors + select: [ :each | ('test*' sunitMatch: each) and: [ each numArgs == 0 ] ] \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TestCase.extension/instance/debug..st b/repository/Topez-Server-TestTools.package/TestCase.extension/instance/debug..st new file mode 100644 index 000000000..0647844b3 --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TestCase.extension/instance/debug..st @@ -0,0 +1,3 @@ +*topez-server-testtools +debug: aResult + aResult debugCase: self \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TestCase.extension/methodProperties.json b/repository/Topez-Server-TestTools.package/TestCase.extension/methodProperties.json new file mode 100644 index 000000000..4d961c94d --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TestCase.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + "testSelectors" : "dkh 02/19/2015 09:34" }, + "instance" : { + "debug:" : "dkh 01/12/2015 14:08" } } diff --git a/repository/Topez-Server-TestTools.package/TestCase.extension/properties.json b/repository/Topez-Server-TestTools.package/TestCase.extension/properties.json new file mode 100644 index 000000000..49aad66d5 --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TestCase.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TestCase" } diff --git a/repository/Topez-Server-TestTools.package/TestResult.extension/instance/debugCase..st b/repository/Topez-Server-TestTools.package/TestResult.extension/instance/debugCase..st new file mode 100644 index 000000000..1e1bb537d --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TestResult.extension/instance/debugCase..st @@ -0,0 +1,14 @@ +*topez-server-testtools +debugCase: aTestCase + [ + [ + aTestCase runCase. + passed add: aTestCase ] + sunitOn: self class failure + do: [ :signal | + failures add: aTestCase. + signal pass ] ] + sunitOn: self class error + do: [ :signal | + errors add: aTestCase. + signal pass ] \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TestResult.extension/methodProperties.json b/repository/Topez-Server-TestTools.package/TestResult.extension/methodProperties.json new file mode 100644 index 000000000..baccce25a --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TestResult.extension/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "debugCase:" : "dkh 01/12/2015 14:05" } } diff --git a/repository/Topez-Server-TestTools.package/TestResult.extension/properties.json b/repository/Topez-Server-TestTools.package/TestResult.extension/properties.json new file mode 100644 index 000000000..b365fc860 --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TestResult.extension/properties.json @@ -0,0 +1,2 @@ +{ + "name" : "TestResult" } diff --git a/repository/Topez-Server-TestTools.package/TestSuite.extension/instance/debug..st b/repository/Topez-Server-TestTools.package/TestSuite.extension/instance/debug..st new file mode 100644 index 000000000..abda1a5d1 --- /dev/null +++ b/repository/Topez-Server-TestTools.package/TestSuite.extension/instance/debug..st @@ -0,0 +1,6 @@ +*topez-server-testtools +debug: aResult + self tests + do: [ :each | + self sunitChanged: each. + each debug: aResult ] \ No newline at end of file diff --git a/repository/Topez-Server-TestTools.package/TestSuite.extension/methodProperties.json b/repository/Topez-Server-TestTools.package/TestSuite.extension/methodProperties.json index ef74c50ef..f1ee763e0 100644 --- a/repository/Topez-Server-TestTools.package/TestSuite.extension/methodProperties.json +++ b/repository/Topez-Server-TestTools.package/TestSuite.extension/methodProperties.json @@ -2,4 +2,5 @@ "class" : { }, "instance" : { + "debug:" : "dkh 01/12/2015 14:06", "printOn:" : "DataCurator 12/23/2012 12:54" } } diff --git a/repository/Topez-Server-TestTools.package/monticello.meta/version b/repository/Topez-Server-TestTools.package/monticello.meta/version index d2c15d95e..0340dd26e 100644 --- a/repository/Topez-Server-TestTools.package/monticello.meta/version +++ b/repository/Topez-Server-TestTools.package/monticello.meta/version @@ -1 +1 @@ -(name 'Topez-Server-TestTools-dkh.54' message 'transitional support for new metacello `list` implementation. Clena up after MetacelloPreview1.0.0-beta.32.15 is in wide distribution' id '56652aff-e732-41ce-aba1-550f09645aee' date '09/04/2014' time '17:03:05' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.53' message 'sync up with new metacello `list` implementation ' id 'c31cdcda-d383-4267-8534-565bfa42e2f1' date '09/04/2014' time '14:38:20' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.52' message 'add a bit more color to the test browser/runner and insert a strategic yield...' id 'c80a4e5a-5494-4e51-b655-9b368aae18e8' date '08/07/2014' time '12:54:01' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.51' message 'add color to test browser/runner' id '6cdde49e-9d28-42db-be5b-1f31eff5ec45' date '08/07/2014' time '12:02:33' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.50' message 'Issue #74: all class-related menu items implemented' id '72d73eea-9687-4738-94de-61dd1f4748ae' date '07/08/2014' time '10:20:21' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.49' message 'Issue #91: `test class`, `test project`, `test package` and `test suite` hooked up to the test browser' id '605f806c-722b-4bb3-9576-6bc7f8529488' date '07/07/2014' time '20:52:49' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.48' message 'Issue #91: fix poll for done loop logic in TDTestBrowser' id '1673c380-fe9b-41e4-ba6e-6bb8e089b2f6' date '07/02/2014' time '19:11:59' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.47' message 'Issue #91: add tracing to object log when running tests (sync with Zn logging) ... commit when saving source (was not routed through `accept` menu item ... yikes)' id '540e71b7-94c3-4bfa-8582-9344fa8b0b46' date '06/29/2014' time '11:40:22' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.46' message 'Issue #91: tweak test browser' id '6eebdfa9-b549-484d-8735-33a511f2c168' date '06/25/2014' time '21:54:04' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.45' message 'Issue #91: internal restructuring and support for rerunning different test result sets' id '0d32cae8-8610-425f-aade-7b3d17f0fe98' date '06/25/2014' time '21:34:31' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.44' message 'Issue #91: add `debug` and `browse full` menu items to test browser' id 'cbcaf094-3061-479c-b1b4-17959a0b00d0' date '06/25/2014' time '16:42:17' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.43' message 'Issue #91: first cut at test browser tool ... hooked into `project list` at the moment ... - new package for some tests that I''m using for testing the test browser ... ' id 'fa7ac94b-eabb-4b05-9788-4c8d4767de47' date '06/25/2014' time '16:18:50' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.42' message 'expand the `test` command api a bit ...' id 'd8f688db-98f6-4130-9b04-cb1aefdc263f' date '06/04/2014' time '17:53:00' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.41' message 'fix problem in `ts debug`' id 'ceff1849-b834-4936-8424-cf6d1d6b7cc6' date '02/07/2014' time '09:04:43' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.40' message 'relocate test tools from /home to /tmp/t ... that way /home can be a gateway node. The tests hang objects off of /tmp/t/tests and we don''t want to be in the business of saving objects to disk .... TDShellAbstractRsyncCommandTests running green' id 'c2eb5f64-594d-4e62-803e-587aa6d9f219' date '12/06/2013' time '18:38:20' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.39' message 'Issue #16: convert all command blocks to the form: [ :topez :objIn :tokens :command | ]...convert subCommands to use: TDAbstractDevTool class>>performSubCommand:objIn:todeCommand: ...add better subCommand support to TDCommandLine (teach it to respect subCommands) ... still need to remove windowId and tokens instance variables from TDAbstractDevTool ... TDTopezServer>>evaluateCommand:objIn: and TDTopezServer>>evaluateSTONCommand: are now the primary entry points for command processing ...' id '987c5916-8cf1-4d42-8591-977b41ac1eb7' date '11/10/2013' time '11:27:19' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.38' message 'implement TDMiniToolSpec and TDMiniToolClientListElementBuilder which allows for creation of list-based tools without having to create a TDClientListElementBuilder subclass...only need to specify blocks for: TDMiniToolSpec class>>topez:clientListBlock:menuActionSpecBlock:menuActionBlock:itemSelectedBlock: to create custom list behavior. fix `mc fileout` API so that .gs files with multiple classes can be updated correctly (i.e., the method is matched based on proper class)' id '051cc924-b143-432e-93fe-1b6801205b70' date '10/07/2013' time '14:34:53' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.37' message 'rework TDTestTool so that the `test` and `ts` commands are callable from scripts...' id '46c5af0d-8bd7-41a3-a34a-b02f6c619220' date '09/27/2013' time '15:23:43' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.36' message 'multiple sections allowed for `ts list` command...add `(size)` special for all Collection classes ... add `(index lists)` special to UnorderedCollection for viewing index structures if present ...' id '1d60d97d-611d-4962-a427-246974ecc8a8' date '09/25/2013' time '17:02:01' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.35' message 'checkpoint: add `protocol` command for method category edits ... `test class` command changed to allow listing of multiple classes protocol add add @ protocol cadd cadd @ protocol cremove cremove @ protocol crename crename @ protocol remove remove @ protocol rename rename @ Issue #30 - class comments Issue #27 - method category browse/edit' id '3a2d63de-ad63-4d7d-b1eb-3e9944b94b28' date '09/22/2013' time '07:27:04' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.34' message 'even betterer is for `ts list` reuse the method window ' id 'e50dd95b-cbdf-4190-81c6-7a2db0c433d3' date '09/20/2013' time '08:24:52' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.33' message 'even better is for `ts list` to list test case methods, so that the methods themselves can be viewed ... running the test using CMD-c and `ts run` is then only a step or two away ...' id 'c9b6d558-ee9f-4fca-8e09-bef357253261' date '09/20/2013' time '08:19:55' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.32' message 'more interest for `ts list` to optionally edit the full set of tests in a particular category (errors|failures| passed|expectedDefects|unexpectedPassed) ... navigator gives better view ... eventually run tests from the list, too...' id '0785e60f-94ae-4f89-a5dc-f5f1a0461b0d' date '09/20/2013' time '07:57:36' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.31' message 'add `test class` command...' id '1dda2a8f-f339-4c00-8342-98af25ca0aa8' date '09/20/2013' time '06:52:34' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.30' message 'don''t restrict test projects to baselines...' id 'a2313368-a305-4787-b8f9-5c6e64c42696' date '09/14/2013' time '21:55:30' author 'dkh' ancestors ((name 'Topez-Server-TestTools-.29' message 'implement `test package` command' id 'a378f6fa-241f-4a56-b5da-7c7d329f0db4' date '08/30/2013' time '15:43:38' author '' ancestors ((name 'Topez-Server-TestTools-dkh.28' message 'fix bug in `test project` ... running test cases more than once' id '402a09bb-63dd-4a77-b631-9ca53a52db57' date '08/17/2013' time '09:44:12' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.27' message 'add `rename class` command ... move all examples to `/examples`' id 'a6930468-1953-4c0d-82ba-e786b6e66b20' date '08/14/2013' time '14:45:43' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.26' message 'add mc bump command (version bump)...add Transcript logging to various commands...rename test mm command to test project...add test rerun command ' id '206bf8a8-6c32-40bd-9fd6-4461d28a03e4' date '07/10/2013' time '15:15:35' author 'dkh' ancestors ((name 'Topez-Server-TestTools-.25' message 'use TDAbstractDevTool class>>performSubCommand:objIn:tokens:windowId: whereever appropriate ... lots of places ' id 'd502b62c-ba93-41ad-9b24-3f46a67b9538' date '07/09/2013' time '16:00:35' author '' ancestors ((name 'Topez-Server-TestTools-.24' message 'tweaking various commands ... ' id '94403788-0d54-4fff-935b-d6eb3cf90800' date '07/09/2013' time '15:03:35' author '' ancestors ((name 'Topez-Server-TestTools-dkh.23' message 'displayOn: is already taken in Pharo ... replace with displayOnPolicy:' id 'ddce373a-c729-4783-86be-21d2d3958f3a' date '05/30/2013' time '06:41:27' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.22' message 'refactor TDAbstractDevTool hierarchy a bit to accommodate the addition of TDDevProcessSupport ... added TDStandardTool above the tools to house the code related to installing generally available commands, commands defined in TDDevProcessSupport have to be invoked directly, but the code and manPages deserve to be managed in a class... sticking code for the image dev support into TDDevProcessSupport ... share some common commit code in TDMonticelloTool ... preparing for revising the commit commands a bit (maybe?)' id '97b9a9c0-6685-42f7-bbc1-c6837939e9a1' date '05/18/2013' time '08:41:49' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.21' message 'add @ option to all appropriate shell commands and update man pages ' id 'ac1800d5-269b-40b5-8127-f909d5994616' date '05/14/2013' time '10:58:18' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.20' message 'prepping for CMD-p command ... remove all the references to #print .... ' id '0a33a975-446a-4427-a47d-61b407ead3ef' date '04/11/2013' time '20:07:07' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.19' message 'add TDEditorSpec to encapsulate the proliferation of editor arguments ... replace all calls to edit:... with editUsing: that takes a TDEditorSpec as argument ...finally allow for edit of String that brings up source editor and navigate object references to instances of String that views chars in string instead of the node view ... need to be able to bring up an editor on the string FROM navigator ' id '303a1c44-a586-4726-b655-f72e29ba1009' date '04/11/2013' time '16:58:34' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.18' message 'using #navigate or #edit to replace #browse for editor aspect depending upon context ... ' id '396263ef-2172-413e-a4ed-b8ee89a8a82f' date '04/10/2013' time '17:17:27' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.17' message 'added builderAspect to TDNode remove aspect from TDDirectoryNode and friends to make reading code clearer ... ' id 'f6d2d5b2-3407-4cdd-bf60-d2a8f997638b' date '04/10/2013' time '15:24:03' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.16' message 'add .bin halo ... update man pages since summary is more visible with inspect .bin ' id '7626bc58-3498-4c08-9b41-005f43528a3d' date '04/04/2013' time '16:22:06' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.15' message 'fix a command result issue ' id 'a260b97d-d438-495f-98e5-957b7c4b2861' date '03/14/2013' time '12:45:26' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.14' message 'mr add, create, list implemented. CMD-v of class on package adds class to package. Package process tools separately (resolve a load order issue). Support dev scenario (with assortment of changes): 1. create package (mc create) 2. move class to package (CMD-v) 3. add package to baseline (manual edit of baseline) 4. diff for baseline package (mc diff) 5. commit baseline (mc commit) 6. produce diff for baseline (mm diff). 7. commit dirty packages in baseline (mm commit) ' id '96c6ddc2-3122-4fde-a116-70f3c9adc319' date '03/10/2013' time '15:04:46' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.13' message 'rename TDTopezServer>>installChildrenAt: to TDTopezServer>>ensureChildrenExistIn: and use that in ston import to create path ' id '0c7fbbca-200d-4e27-a825-7e9494261bd9' date '03/10/2013' time '09:33:42' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.12' message 'expand functionality of ts debug command to accept just a class as arg ... run all tests in the class ' id '5a43dd9a-b3fc-441a-a509-5e13c28c92c2' date '03/01/2013' time '08:27:44' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.11' message 'need initialize methods for test/debug tools so that they install themselves when loaded ' id 'fb22a8f3-57ae-4a7a-a1a1-24d0ac917bdd' date '02/23/2013' time '14:51:48' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.10' message 'tweaked ts debug errors ... ' id '45a3c30f-27f9-405c-9769-bee2f56a691b' date '02/18/2013' time '18:57:04' author 'dkh' ancestors ((name 'Topez-Server-TestTools-DataCurator.9' message 'display policy initial implementation appears to be complete ... testing and clean up needed ... ' id 'd038e0b6-d441-4a86-b94b-491a9b4f6d92' date '02/02/2013' time '09:19:00' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.8' message 'checkpoint: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ... convert from #edit #inspect to #browse #view #inspect ... still some rough edges ' id '43dca422-34f3-4656-afc0-0b85a8d1a759' date '01/25/2013' time '14:58:00' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.7' message 'fix test running issues ... pop ' id 'cfd3cebb-7d60-4684-a063-4fa1aaa8f454' date '01/23/2013' time '18:29:58' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.6' message 'tests are green ... which means I need more tests ' id '311bbd7e-8f17-4148-ac96-371a54e2edec' date '01/21/2013' time '16:14:37' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.5' message 'working through issues ... ' id '2cb4de5a-8f34-4cda-87ae-0d93ab238b5c' date '01/21/2013' time '14:25:14' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.4' message 'generate a testSuite file for each tool and generate a master testSuite for all tools ... ' id '752d746d-8309-4569-8bf4-57fe527fcc59' date '01/16/2013' time '17:03:03' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.3' message 'adding initial test case for window builder ... fix some test result display issues ... checkpoint while I revamp testing framework: cannot afford to break basic debugger functionality for the sake of a test:) ' id '578e4d42-9e21-47ba-ba5e-e91f4112f5e0' date '01/15/2013' time '08:47:38' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.2' message 'stage is set to replace implementation of Object>>asTDObjectNode:topez:aspect: and friends ... same renaming and repackaging left over from addition of test package ' id 'f5664274-95c6-486d-a97a-8fb23e4a3eeb' date '01/12/2013' time '16:08:18' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-dkh.1' message 'initial commit' id 'bcd5ed74-860f-4192-a1c7-019cd2920046' date '01/12/2013' time '14:10:19' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Topez-Server-TestTools-dkh.66' message 'add a test suite block to `test browser` so that we''ll always have an up-to-date list of tests ' id 'b74c938d-2078-413b-b15c-ee307a734607' date '09/11/2015' time '14:33:37' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.65' message 'test browser cannot have its client element persisted, because tests may involve aborts, which can upste TDTestBrowser bookkeeping' id '10dd5c10-9bdf-4b5d-bc45-c844aafe9171' date '09/07/2015' time '13:24:00' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.64' message 'Issue #175: convert all users of STON in tODE to use #objectSerializer method ' id '89ed103f-598f-475e-9d36-dd1bc38e0602' date '06/25/2015' time '16:35:56' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.63' message 'Issue #175: major edit to start using the new protocol introduced in STON v0.9.? and pharo-0.9.1?. v0.9.1 and pharo-0.9.1 are on the gemstone_dev and pharo_dev branches so that travis tests can be run ... ' id '7f00ee6a-4bec-42f2-995a-2861fc8f8787' date '06/24/2015' time '17:23:16' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.62' message 'a couple of infant mortality fixes ...' id '36f887c0-e41f-4114-b1a1-ca2f6c2ec666' date '03/18/2015' time '10:58:59' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.61' message 'Issue #157: implement `test --batch` and `test image`' id '99ff99c6-18a9-4ae5-8dea-d5f30f975de6' date '02/26/2015' time '10:45:05' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.60' message 'adopt Pharo-style algorithm in TestCase class>>testSelectors ... Magritte3 tests break the old-style' id '5efb59c7-d27a-4e9f-b05c-683e753e3a19' date '02/19/2015' time '10:33:52' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.59' message 'test browser inform after `run` and `debug`' id 'ef95bd03-2d05-4155-9bef-29fa662bd1f8' date '02/14/2015' time '17:20:51' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.58' message 'make it possible to disable the update thread running tests in test browser in case the tests are sensitive to threading pecularities' id '6b9dfff1-3554-4543-ac29-5e224e80a71d' date '02/14/2015' time '16:01:19' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.57' message 'test browser `debug all` menu item turns out to be pretty useful when trying to catch random errors (i.e., tests with unwanted side effects) ' id '089e70ba-82e9-4caa-bcf8-80d668a16192' date '01/12/2015' time '15:29:33' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.56' message 'Issue #110: add TDShellFsToSimpleComposedFsMvCpCommandTests ... not passing yet ... checkpoint before making experimental bugfixes' id 'a6c55dc4-9d44-4994-86c1-e45838a09da8' date '11/06/2014' time '17:33:50' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.55' message 'Issue #110: add some tests for TDComposedDirectoryNode ... passing at the moment ... need to flesh out rest of tests before moving forward with additional TDAbstractComposedDirectoryNodeContents implementations' id 'f6cfbf96-8191-439a-9c8d-c8aaff485604' date '11/06/2014' time '14:24:10' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.54' message 'transitional support for new metacello `list` implementation. Clena up after MetacelloPreview1.0.0-beta.32.15 is in wide distribution' id '56652aff-e732-41ce-aba1-550f09645aee' date '09/04/2014' time '17:03:05' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.53' message 'sync up with new metacello `list` implementation ' id 'c31cdcda-d383-4267-8534-565bfa42e2f1' date '09/04/2014' time '14:38:20' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.52' message 'add a bit more color to the test browser/runner and insert a strategic yield...' id 'c80a4e5a-5494-4e51-b655-9b368aae18e8' date '08/07/2014' time '12:54:01' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.51' message 'add color to test browser/runner' id '6cdde49e-9d28-42db-be5b-1f31eff5ec45' date '08/07/2014' time '12:02:33' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.50' message 'Issue #74: all class-related menu items implemented' id '72d73eea-9687-4738-94de-61dd1f4748ae' date '07/08/2014' time '10:20:21' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.49' message 'Issue #91: `test class`, `test project`, `test package` and `test suite` hooked up to the test browser' id '605f806c-722b-4bb3-9576-6bc7f8529488' date '07/07/2014' time '20:52:49' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.48' message 'Issue #91: fix poll for done loop logic in TDTestBrowser' id '1673c380-fe9b-41e4-ba6e-6bb8e089b2f6' date '07/02/2014' time '19:11:59' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.47' message 'Issue #91: add tracing to object log when running tests (sync with Zn logging) ... commit when saving source (was not routed through `accept` menu item ... yikes)' id '540e71b7-94c3-4bfa-8582-9344fa8b0b46' date '06/29/2014' time '11:40:22' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.46' message 'Issue #91: tweak test browser' id '6eebdfa9-b549-484d-8735-33a511f2c168' date '06/25/2014' time '21:54:04' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.45' message 'Issue #91: internal restructuring and support for rerunning different test result sets' id '0d32cae8-8610-425f-aade-7b3d17f0fe98' date '06/25/2014' time '21:34:31' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.44' message 'Issue #91: add `debug` and `browse full` menu items to test browser' id 'cbcaf094-3061-479c-b1b4-17959a0b00d0' date '06/25/2014' time '16:42:17' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.43' message 'Issue #91: first cut at test browser tool ... hooked into `project list` at the moment ... - new package for some tests that I''m using for testing the test browser ... ' id 'fa7ac94b-eabb-4b05-9788-4c8d4767de47' date '06/25/2014' time '16:18:50' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.42' message 'expand the `test` command api a bit ...' id 'd8f688db-98f6-4130-9b04-cb1aefdc263f' date '06/04/2014' time '17:53:00' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.41' message 'fix problem in `ts debug`' id 'ceff1849-b834-4936-8424-cf6d1d6b7cc6' date '02/07/2014' time '09:04:43' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.40' message 'relocate test tools from /home to /tmp/t ... that way /home can be a gateway node. The tests hang objects off of /tmp/t/tests and we don''t want to be in the business of saving objects to disk .... TDShellAbstractRsyncCommandTests running green' id 'c2eb5f64-594d-4e62-803e-587aa6d9f219' date '12/06/2013' time '18:38:20' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.39' message 'Issue #16: convert all command blocks to the form: [ :topez :objIn :tokens :command | ]...convert subCommands to use: TDAbstractDevTool class>>performSubCommand:objIn:todeCommand: ...add better subCommand support to TDCommandLine (teach it to respect subCommands) ... still need to remove windowId and tokens instance variables from TDAbstractDevTool ... TDTopezServer>>evaluateCommand:objIn: and TDTopezServer>>evaluateSTONCommand: are now the primary entry points for command processing ...' id '987c5916-8cf1-4d42-8591-977b41ac1eb7' date '11/10/2013' time '11:27:19' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.38' message 'implement TDMiniToolSpec and TDMiniToolClientListElementBuilder which allows for creation of list-based tools without having to create a TDClientListElementBuilder subclass...only need to specify blocks for: TDMiniToolSpec class>>topez:clientListBlock:menuActionSpecBlock:menuActionBlock:itemSelectedBlock: to create custom list behavior. fix `mc fileout` API so that .gs files with multiple classes can be updated correctly (i.e., the method is matched based on proper class)' id '051cc924-b143-432e-93fe-1b6801205b70' date '10/07/2013' time '14:34:53' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.37' message 'rework TDTestTool so that the `test` and `ts` commands are callable from scripts...' id '46c5af0d-8bd7-41a3-a34a-b02f6c619220' date '09/27/2013' time '15:23:43' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.36' message 'multiple sections allowed for `ts list` command...add `(size)` special for all Collection classes ... add `(index lists)` special to UnorderedCollection for viewing index structures if present ...' id '1d60d97d-611d-4962-a427-246974ecc8a8' date '09/25/2013' time '17:02:01' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.35' message 'checkpoint: add `protocol` command for method category edits ... `test class` command changed to allow listing of multiple classes protocol add add @ protocol cadd cadd @ protocol cremove cremove @ protocol crename crename @ protocol remove remove @ protocol rename rename @ Issue #30 - class comments Issue #27 - method category browse/edit' id '3a2d63de-ad63-4d7d-b1eb-3e9944b94b28' date '09/22/2013' time '07:27:04' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.34' message 'even betterer is for `ts list` reuse the method window ' id 'e50dd95b-cbdf-4190-81c6-7a2db0c433d3' date '09/20/2013' time '08:24:52' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.33' message 'even better is for `ts list` to list test case methods, so that the methods themselves can be viewed ... running the test using CMD-c and `ts run` is then only a step or two away ...' id 'c9b6d558-ee9f-4fca-8e09-bef357253261' date '09/20/2013' time '08:19:55' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.32' message 'more interest for `ts list` to optionally edit the full set of tests in a particular category (errors|failures| passed|expectedDefects|unexpectedPassed) ... navigator gives better view ... eventually run tests from the list, too...' id '0785e60f-94ae-4f89-a5dc-f5f1a0461b0d' date '09/20/2013' time '07:57:36' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.31' message 'add `test class` command...' id '1dda2a8f-f339-4c00-8342-98af25ca0aa8' date '09/20/2013' time '06:52:34' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.30' message 'don''t restrict test projects to baselines...' id 'a2313368-a305-4787-b8f9-5c6e64c42696' date '09/14/2013' time '21:55:30' author 'dkh' ancestors ((name 'Topez-Server-TestTools-.29' message 'implement `test package` command' id 'a378f6fa-241f-4a56-b5da-7c7d329f0db4' date '08/30/2013' time '15:43:38' author '' ancestors ((name 'Topez-Server-TestTools-dkh.28' message 'fix bug in `test project` ... running test cases more than once' id '402a09bb-63dd-4a77-b631-9ca53a52db57' date '08/17/2013' time '09:44:12' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.27' message 'add `rename class` command ... move all examples to `/examples`' id 'a6930468-1953-4c0d-82ba-e786b6e66b20' date '08/14/2013' time '14:45:43' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.26' message 'add mc bump command (version bump)...add Transcript logging to various commands...rename test mm command to test project...add test rerun command ' id '206bf8a8-6c32-40bd-9fd6-4461d28a03e4' date '07/10/2013' time '15:15:35' author 'dkh' ancestors ((name 'Topez-Server-TestTools-.25' message 'use TDAbstractDevTool class>>performSubCommand:objIn:tokens:windowId: whereever appropriate ... lots of places ' id 'd502b62c-ba93-41ad-9b24-3f46a67b9538' date '07/09/2013' time '16:00:35' author '' ancestors ((name 'Topez-Server-TestTools-.24' message 'tweaking various commands ... ' id '94403788-0d54-4fff-935b-d6eb3cf90800' date '07/09/2013' time '15:03:35' author '' ancestors ((name 'Topez-Server-TestTools-dkh.23' message 'displayOn: is already taken in Pharo ... replace with displayOnPolicy:' id 'ddce373a-c729-4783-86be-21d2d3958f3a' date '05/30/2013' time '06:41:27' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.22' message 'refactor TDAbstractDevTool hierarchy a bit to accommodate the addition of TDDevProcessSupport ... added TDStandardTool above the tools to house the code related to installing generally available commands, commands defined in TDDevProcessSupport have to be invoked directly, but the code and manPages deserve to be managed in a class... sticking code for the image dev support into TDDevProcessSupport ... share some common commit code in TDMonticelloTool ... preparing for revising the commit commands a bit (maybe?)' id '97b9a9c0-6685-42f7-bbc1-c6837939e9a1' date '05/18/2013' time '08:41:49' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.21' message 'add @ option to all appropriate shell commands and update man pages ' id 'ac1800d5-269b-40b5-8127-f909d5994616' date '05/14/2013' time '10:58:18' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.20' message 'prepping for CMD-p command ... remove all the references to #print .... ' id '0a33a975-446a-4427-a47d-61b407ead3ef' date '04/11/2013' time '20:07:07' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.19' message 'add TDEditorSpec to encapsulate the proliferation of editor arguments ... replace all calls to edit:... with editUsing: that takes a TDEditorSpec as argument ...finally allow for edit of String that brings up source editor and navigate object references to instances of String that views chars in string instead of the node view ... need to be able to bring up an editor on the string FROM navigator ' id '303a1c44-a586-4726-b655-f72e29ba1009' date '04/11/2013' time '16:58:34' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.18' message 'using #navigate or #edit to replace #browse for editor aspect depending upon context ... ' id '396263ef-2172-413e-a4ed-b8ee89a8a82f' date '04/10/2013' time '17:17:27' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.17' message 'added builderAspect to TDNode remove aspect from TDDirectoryNode and friends to make reading code clearer ... ' id 'f6d2d5b2-3407-4cdd-bf60-d2a8f997638b' date '04/10/2013' time '15:24:03' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.16' message 'add .bin halo ... update man pages since summary is more visible with inspect .bin ' id '7626bc58-3498-4c08-9b41-005f43528a3d' date '04/04/2013' time '16:22:06' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.15' message 'fix a command result issue ' id 'a260b97d-d438-495f-98e5-957b7c4b2861' date '03/14/2013' time '12:45:26' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.14' message 'mr add, create, list implemented. CMD-v of class on package adds class to package. Package process tools separately (resolve a load order issue). Support dev scenario (with assortment of changes): 1. create package (mc create) 2. move class to package (CMD-v) 3. add package to baseline (manual edit of baseline) 4. diff for baseline package (mc diff) 5. commit baseline (mc commit) 6. produce diff for baseline (mm diff). 7. commit dirty packages in baseline (mm commit) ' id '96c6ddc2-3122-4fde-a116-70f3c9adc319' date '03/10/2013' time '15:04:46' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.13' message 'rename TDTopezServer>>installChildrenAt: to TDTopezServer>>ensureChildrenExistIn: and use that in ston import to create path ' id '0c7fbbca-200d-4e27-a825-7e9494261bd9' date '03/10/2013' time '09:33:42' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.12' message 'expand functionality of ts debug command to accept just a class as arg ... run all tests in the class ' id '5a43dd9a-b3fc-441a-a509-5e13c28c92c2' date '03/01/2013' time '08:27:44' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.11' message 'need initialize methods for test/debug tools so that they install themselves when loaded ' id 'fb22a8f3-57ae-4a7a-a1a1-24d0ac917bdd' date '02/23/2013' time '14:51:48' author 'dkh' ancestors ((name 'Topez-Server-TestTools-dkh.10' message 'tweaked ts debug errors ... ' id '45a3c30f-27f9-405c-9769-bee2f56a691b' date '02/18/2013' time '18:57:04' author 'dkh' ancestors ((name 'Topez-Server-TestTools-DataCurator.9' message 'display policy initial implementation appears to be complete ... testing and clean up needed ... ' id 'd038e0b6-d441-4a86-b94b-491a9b4f6d92' date '02/02/2013' time '09:19:00' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.8' message 'checkpoint: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ... convert from #edit #inspect to #browse #view #inspect ... still some rough edges ' id '43dca422-34f3-4656-afc0-0b85a8d1a759' date '01/25/2013' time '14:58:00' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.7' message 'fix test running issues ... pop ' id 'cfd3cebb-7d60-4684-a063-4fa1aaa8f454' date '01/23/2013' time '18:29:58' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.6' message 'tests are green ... which means I need more tests ' id '311bbd7e-8f17-4148-ac96-371a54e2edec' date '01/21/2013' time '16:14:37' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.5' message 'working through issues ... ' id '2cb4de5a-8f34-4cda-87ae-0d93ab238b5c' date '01/21/2013' time '14:25:14' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.4' message 'generate a testSuite file for each tool and generate a master testSuite for all tools ... ' id '752d746d-8309-4569-8bf4-57fe527fcc59' date '01/16/2013' time '17:03:03' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.3' message 'adding initial test case for window builder ... fix some test result display issues ... checkpoint while I revamp testing framework: cannot afford to break basic debugger functionality for the sake of a test:) ' id '578e4d42-9e21-47ba-ba5e-e91f4112f5e0' date '01/15/2013' time '08:47:38' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-DataCurator.2' message 'stage is set to replace implementation of Object>>asTDObjectNode:topez:aspect: and friends ... same renaming and repackaging left over from addition of test package ' id 'f5664274-95c6-486d-a97a-8fb23e4a3eeb' date '01/12/2013' time '16:08:18' author 'DataCurator' ancestors ((name 'Topez-Server-TestTools-dkh.1' message 'initial commit' id 'bcd5ed74-860f-4192-a1c7-019cd2920046' date '01/12/2013' time '14:10:19' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/differentLeafNodes.st b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/differentLeafNodes.st index b2846e671..cd860e75f 100644 --- a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/differentLeafNodes.st +++ b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/differentLeafNodes.st @@ -1,4 +1,4 @@ -private +private-node sets differentLeafNodes ^ {(TDSmalltalkLeafNode new name: 'smalltalkLeafNode'; diff --git a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/lookupSimpleComposedFsNode..st b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/lookupSimpleComposedFsNode..st new file mode 100644 index 000000000..2060f998c --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/lookupSimpleComposedFsNode..st @@ -0,0 +1,17 @@ +private +lookupSimpleComposedFsNode: nodePath + | dir diskPath composedNode rootNode path | + diskPath := self fileSystemRootPath , nodePath. + dir := ServerFileDirectory on: diskPath. + dir assureExistence. + rootNode := self lookupNode: self rootNodePath. + path := nodePath findTokens: '/'. + composedNode := TDRawGatewayNode new + name: path last; + contents: + 'TDComposedDirectoryNode serverDiskPath: ' , diskPath printString + , ' topez: self topez'; + topez: self topez; + yourself. + rootNode addChildNode: composedNode. + ^ composedNode \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/lookupSimpleComposedGwNode..st b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/lookupSimpleComposedGwNode..st new file mode 100644 index 000000000..0ec6819cc --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/lookupSimpleComposedGwNode..st @@ -0,0 +1,17 @@ +private +lookupSimpleComposedGwNode: nodePath + | dir diskPath composedNode rootNode path | + diskPath := self fileSystemRootPath , nodePath. + dir := ServerFileDirectory on: diskPath. + dir assureExistence. + rootNode := self lookupNode: self rootNodePath. + path := nodePath findTokens: '/'. + composedNode := TDRawGatewayNode new + name: path last; + contents: + 'TDComposedDirectoryNode gatewayServerDiskPath: ' , diskPath printString + , ' topez: self topez'; + topez: self topez; + yourself. + rootNode addChildNode: composedNode. + ^ composedNode \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/lookupSimpleComposedObjNode..st b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/lookupSimpleComposedObjNode..st new file mode 100644 index 000000000..a6fcfb9d5 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/lookupSimpleComposedObjNode..st @@ -0,0 +1,15 @@ +private +lookupSimpleComposedObjNode: nodePath + | objPath composedNode rootNode path | + objPath := self objNodePath , nodePath. + self topez ensureChildrenExistIn: objPath. + rootNode := self lookupNode: self rootNodePath. + path := objPath findTokens: '/'. + composedNode := TDRawGatewayNode new + name: path last; + contents: + 'TDComposedDirectoryNode objPath: ' , objPath printString , ' topez: self topez'; + topez: self topez; + yourself. + rootNode addChildNode: composedNode. + ^ composedNode \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/objNodePath.st b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/objNodePath.st new file mode 100644 index 000000000..aea3fda28 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/objNodePath.st @@ -0,0 +1,3 @@ +private +objNodePath + ^ '/tmp/tests/obj/' \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/removeTestRootNode.st b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/removeTestRootNode.st index 614479fbb..1666058aa 100644 --- a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/removeTestRootNode.st +++ b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/removeTestRootNode.st @@ -5,4 +5,6 @@ removeTestRootNode dir exists ifTrue: [ dir recursiveDelete ]. (self topez rootNode lookup: self rootNodePath with: self topez ifAbsent: [ ]) + ifNotNil: [ :tmpNode | tmpNode rm ]. + (self topez rootNode lookup: self objNodePath with: self topez ifAbsent: [ ]) ifNotNil: [ :tmpNode | tmpNode rm ] \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/smallSetLeafNodes.st b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/smallSetLeafNodes.st index 5dff14909..65773b980 100644 --- a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/smallSetLeafNodes.st +++ b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/smallSetLeafNodes.st @@ -1,4 +1,4 @@ -private +private-node sets smallSetLeafNodes ^ {(TDSmalltalkLeafNode new name: 'smalltalkLeafNode'; diff --git a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/standardLeafNodes.st b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/standardLeafNodes.st index e6e34fb47..72bbc4142 100644 --- a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/standardLeafNodes.st +++ b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/standardLeafNodes.st @@ -1,4 +1,4 @@ -private +private-node sets standardLeafNodes ^ {(TDSmalltalkLeafNode new name: 'smalltalkLeafNode'; diff --git a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/subtlyDifferentLeafNodes.st b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/subtlyDifferentLeafNodes.st index 4533980a5..3a9930835 100644 --- a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/subtlyDifferentLeafNodes.st +++ b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/instance/subtlyDifferentLeafNodes.st @@ -1,4 +1,4 @@ -private +private-node sets subtlyDifferentLeafNodes ^ {(TDSmalltalkLeafNode new name: 'smalltalkLeafNode'; diff --git a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/methodProperties.json index 5d504ad2f..e9120f1a2 100644 --- a/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/methodProperties.json +++ b/repository/Topez-Server-Tests.package/TDShellAbstractNodeTests.class/methodProperties.json @@ -9,11 +9,15 @@ "lookupGwNode:" : "dkh 12/21/2013 11:58", "lookupNode:" : "dkh 12/21/2013 11:58", "lookupObjNode:" : "dkh 12/21/2013 11:58", + "lookupSimpleComposedFsNode:" : "dkh 11/05/2014 17:38", + "lookupSimpleComposedGwNode:" : "dkh 11/06/2014 14:42", + "lookupSimpleComposedObjNode:" : "dkh 11/06/2014 15:05", "lookupSrcNode:" : "dkh 12/21/2013 12:00", - "removeTestRootNode" : "dkh 12/21/2013 12:00", + "objNodePath" : "dkh 11/06/2014 15:02", + "removeTestRootNode" : "dkh 12/18/2014 20:10", "rootNodePath" : "dkh 12/21/2013 11:59", "setUp" : "dkh 12/21/2013 12:00", - "smallSetLeafNodes" : "dkh 12/21/2013 11:59", + "smallSetLeafNodes" : "dkh 11/05/2014 14:47", "standardLeafNodes" : "dkh 12/21/2013 11:59", "subtlyDifferentLeafNodes" : "dkh 12/21/2013 11:59", "tearDown" : "dkh 12/21/2013 12:00" } } diff --git a/repository/Topez-Server-Tests.package/TDShellBrowseCommandTests.class/instance/testBrowseProject.st b/repository/Topez-Server-Tests.package/TDShellBrowseCommandTests.class/instance/testBrowseProject.st index 59fba4400..1c65bb0d0 100644 --- a/repository/Topez-Server-Tests.package/TDShellBrowseCommandTests.class/instance/testBrowseProject.st +++ b/repository/Topez-Server-Tests.package/TDShellBrowseCommandTests.class/instance/testBrowseProject.st @@ -14,4 +14,5 @@ testBrowseProject cr; show: ex description; cr; - show: (GsProcess stackReportToLevel: 100) ex pass ] \ No newline at end of file + show: (GsProcess stackReportToLevel: 100). + ex pass ] \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellBrowseCommandTests.class/instance/testBrowseSymbolDict.st b/repository/Topez-Server-Tests.package/TDShellBrowseCommandTests.class/instance/testBrowseSymbolDict.st index c2e9b54bb..c2334a26b 100644 --- a/repository/Topez-Server-Tests.package/TDShellBrowseCommandTests.class/instance/testBrowseSymbolDict.st +++ b/repository/Topez-Server-Tests.package/TDShellBrowseCommandTests.class/instance/testBrowseSymbolDict.st @@ -5,9 +5,12 @@ testBrowseSymbolDict self evaluateCommandString: 'browse --help symbolDict'; evaluateCommandString: 'browse symbolDict --user=SystemUser UserGlobals'; + evaluateCommandString: + 'browse symbolDict --hier --user=SystemUser UserGlobals'; evaluateCommandString: 'browse --select=`[:def | ''Tool'' asRegex search: def label ]` symbolDict UserGlobals'; evaluateCommandString: 'browse symbolDict --user=SystemUser'; + evaluateCommandString: 'browse symbolDict --hier --user=SystemUser'; yourself. [ self diff --git a/repository/Topez-Server-Tests.package/TDShellBrowseCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellBrowseCommandTests.class/methodProperties.json index 7ac2f0c22..4a00fe218 100644 --- a/repository/Topez-Server-Tests.package/TDShellBrowseCommandTests.class/methodProperties.json +++ b/repository/Topez-Server-Tests.package/TDShellBrowseCommandTests.class/methodProperties.json @@ -11,11 +11,11 @@ "testBrowseMethod" : "dkh 05/01/2014 04:13", "testBrowsePackage" : "dkh 05/01/2014 04:13", "testBrowsePackages" : "dkh 05/01/2014 04:13", - "testBrowseProject" : "dkh 06/22/2014 16:00", + "testBrowseProject" : "dkh 09/01/2015 08:59", "testBrowseReferences" : "dkh 05/01/2014 04:14", "testBrowseSender" : "dkh 05/01/2014 04:14", "testBrowseSource" : "dkh 05/01/2014 04:14", - "testBrowseSymbolDict" : "dkh 05/01/2014 04:14", + "testBrowseSymbolDict" : "dkh 08/10/2015 12:17", "testBrowseUndeclared" : "dkh 05/01/2014 04:14", "testBrowseVariables" : "dkh 05/01/2014 04:15", "testBrowseVersions" : "dkh 05/01/2014 04:15" } } diff --git a/repository/Topez-Server-Tests.package/TDShellClsCommandTests.class/instance/testClassHistoryRemoval.st b/repository/Topez-Server-Tests.package/TDShellClsCommandTests.class/instance/testClassHistoryRemoval.st new file mode 100644 index 000000000..9b9ad3183 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellClsCommandTests.class/instance/testClassHistoryRemoval.st @@ -0,0 +1,42 @@ +as yet unclassified +testClassHistoryRemoval + | history newClassVersion oldClassVersion clsTool cls clsVersion orphaned versionHistory | + clsTool := self tool. + cls := self mockClass. + history := clsTool clshistory: cls. + self assert: history size == 1. + clsVersion := self createMockClassVersion. + history := clsTool clshistory: cls. + self assert: history size == 2. + clsTool clsRemoveClassFromClassHistory: clsVersion. + history := clsTool clshistory: cls. + self assert: history size == 1. + clsTool clsRemoveClassFromClassHistory: cls. + self assert: (Smalltalk at: self mockClassName) == nil. + (cls respondsTo: #'removeFromClassHistory') + ifFalse: [ + "doesn't have bugfix for opportunistic test for https://github.com/GsDevKit/GsDevKit/issues/74" + ^ self ]. + orphaned := false. + versionHistory := MethodVersionHistory uniqueInstance dictionary. + {cls. + clsVersion} + do: [ :cls | + (cls classHistory includes: cls) + ifFalse: [ + orphaned := true. + versionHistory + at: cls + ifPresent: [ :ignored | + self + assert: false + description: + 'Version history should be cleaned by clsRemoveClassFromClassHistory:' ]. + versionHistory + at: cls class + ifPresent: [ :ignored | + self + assert: false + description: + 'Version history should be cleaned up during clsRemoveClassFromClassHistory:' ] ] ]. + self assert: orphaned description: 'Expecting at least 1 class to be orphaned' \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellClsCommandTests.class/instance/testHistory.st b/repository/Topez-Server-Tests.package/TDShellClsCommandTests.class/instance/testHistory.st index a01019cb9..346170d9d 100644 --- a/repository/Topez-Server-Tests.package/TDShellClsCommandTests.class/instance/testHistory.st +++ b/repository/Topez-Server-Tests.package/TDShellClsCommandTests.class/instance/testHistory.st @@ -2,12 +2,18 @@ as yet unclassified testHistory | history newClassVersion oldClassVersion | self evaluateCommandString: 'cls --help history '. + self evaluateCommandString: 'cls history'. + self evaluateCommandString: 'cls history --hier'. + self evaluateCommandString: 'cls history --hier Symbol ' , self mockClassName. + self evaluateCommandString: 'cls history --hier ' , self mockClassName. history := self evaluateCommandString: 'cls history ' , self mockClassName. self assert: history size = 1. self createMockClassVersion. history := self evaluateCommandString: 'cls history ' , self mockClassName. self assert: history size = 2. - newClassVersion := history first theClass. + newClassVersion := (history detect: [ :each | each classHistoryIndex = 2 ]) + theClass. self assert: newClassVersion allInstVarNames = #(#'instanceVariable'). - oldClassVersion := history second theClass. + oldClassVersion := (history detect: [ :each | each classHistoryIndex = 1 ]) + theClass. self assert: oldClassVersion allInstVarNames size = 0 \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellClsCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellClsCommandTests.class/methodProperties.json index 85e1cf241..7117e9064 100644 --- a/repository/Topez-Server-Tests.package/TDShellClsCommandTests.class/methodProperties.json +++ b/repository/Topez-Server-Tests.package/TDShellClsCommandTests.class/methodProperties.json @@ -7,12 +7,13 @@ "testAccessors01" : "dkh 07/31/2014 07:26", "testAccessors02" : "dkh 05/01/2014 04:15", "testCategory" : "dkh 05/01/2014 04:15", + "testClassHistoryRemoval" : "dkh 09/12/2015 12:27", "testComment01" : "dkh 04/27/2014 07:55", "testComment02" : "dkh 05/01/2014 04:15", "testCopy" : "dkh 05/01/2014 04:16", "testDefinition01" : "dkh 04/27/2014 11:02", "testDefinition02" : "dkh 05/01/2014 04:16", - "testHistory" : "dkh 05/01/2014 04:16", + "testHistory" : "dkh 09/11/2015 11:35", "testProtocolAdd" : "dkh 05/01/2014 04:16", "testProtocolRemove" : "dkh 05/01/2014 04:16", "testProtocolRename" : "dkh 05/01/2014 04:17", diff --git a/repository/Topez-Server-Tests.package/TDShellCommandTests.class/instance/testDsCommand.st b/repository/Topez-Server-Tests.package/TDShellCommandTests.class/instance/testDsCommand.st index ad00aa6ac..9b0e33a28 100644 --- a/repository/Topez-Server-Tests.package/TDShellCommandTests.class/instance/testDsCommand.st +++ b/repository/Topez-Server-Tests.package/TDShellCommandTests.class/instance/testDsCommand.st @@ -2,12 +2,25 @@ as yet unclassified testDsCommand "run without errors ... to keep me honest" + [ | node | self + evaluateCommandString: 'cd'; evaluateCommandString: 'ds --help '; evaluateCommandString: 'ds'; yourself. node := self createSenderNode. + Transcript + cr; + show: 'testDsCommand: ' , node printString. self evaluateCommandString: 'ds --level=2 ' , node printString; - yourself \ No newline at end of file + yourself ] + on: Error + do: [ :ex | + Transcript + cr; + show: 'testDsCommand: ' , ex description; + cr; + show: (GsProcess stackReportToLevel: 100). + ex pass ] \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellCommandTests.class/methodProperties.json index cd96e58f4..21cfa57ea 100644 --- a/repository/Topez-Server-Tests.package/TDShellCommandTests.class/methodProperties.json +++ b/repository/Topez-Server-Tests.package/TDShellCommandTests.class/methodProperties.json @@ -4,7 +4,7 @@ "instance" : { "tearDown" : "dkh 04/28/2014 16:59", "testCpCommand" : "dkh 05/01/2014 04:17", - "testDsCommand" : "dkh 05/04/2014 14:50", + "testDsCommand" : "dkh 09/01/2015 11:38", "testEditCommand" : "dkh 05/05/2014 10:29", "testEvalCommand" : "dkh 05/05/2014 10:31", "testInspectommand" : "dkh 05/16/2014 13:38", diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseCategories.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseCategories.st deleted file mode 100644 index 391952582..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseCategories.st +++ /dev/null @@ -1,8 +0,0 @@ -as yet unclassified -testBrowseCategories - "run without errors ... to keep me honest" - - self - evaluateCommandString: 'browse --help categories'; - evaluateCommandString: 'browse categories'; - yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseClass.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseClass.st deleted file mode 100644 index 711f07556..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseClass.st +++ /dev/null @@ -1,14 +0,0 @@ -as yet unclassified -testBrowseClass - "run without errors ... to keep me honest" - - self - evaluateCommandString: 'browse --help class'; - evaluateCommandString: 'browse class method stream'; - evaluateCommandString: 'browse class --exact GsNMethod'; - evaluateCommandString: 'browse class --hier --exact GsNMethod'; - evaluateCommandString: 'browse class --hier method|stream'; - evaluateCommandString: - 'browse --select=`[:def | (''^OB'' asRegex search: def label) not ]` class --hier method|stream'; - evaluateCommandString: 'browse class --full GsNMethod'; - yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseConfigurations.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseConfigurations.st deleted file mode 100644 index ddc88e7d6..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseConfigurations.st +++ /dev/null @@ -1,8 +0,0 @@ -as yet unclassified -testBrowseConfigurations - "run without errors ... to keep me honest" - - self - evaluateCommandString: 'browse --help configurations'; - evaluateCommandString: 'browse configurations'; - yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseDiff.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseDiff.st deleted file mode 100644 index b007cb1ab..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseDiff.st +++ /dev/null @@ -1,11 +0,0 @@ -as yet unclassified -testBrowseDiff - "run without errors ... to keep me honest" - - self - evaluateCommandString: 'browse --help diff'; - evaluateCommandString: - 'browse diff TDShellBrowseCommandTests>>testBrowseDiff TDShellBrowseCommandTests>>testBrowseDiff'; - evaluateCommandString: - 'browse diff `TDShellTool class>>find`>>findMethods: `TDShellTool class>>browse`'; - yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseList.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseList.st deleted file mode 100644 index 119babb69..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseList.st +++ /dev/null @@ -1,10 +0,0 @@ -as yet unclassified -testBrowseList - "run without errors ... to keep me honest" - - | node | - node := self createDefinitionListNode. - self - evaluateCommandString: 'browse --help list'; - evaluateCommandString: 'browse list ' , node printString; - yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseMethod.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseMethod.st deleted file mode 100644 index 5d993d9bc..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseMethod.st +++ /dev/null @@ -1,22 +0,0 @@ -as yet unclassified -testBrowseMethod - "run without errors ... to keep me honest" - - | node defList | - node := self createSelectBlockNode. - self - evaluateCommandString: 'browse --help method'; - evaluateCommandString: 'browse method at:put: nextPutAll:'; - evaluateCommandString: - 'browse method --spec Dictionary>>at:put: `Dictionary class>>new:`'; - evaluateCommandString: 'browse method --regex at\:put\:|nextPutAll\:'; - evaluateCommandString: 'browse method -r at\:put\:|nextPutAll\:'; - evaluateCommandString: - 'browse --select=@' , node printString , ' method at:put: '; - yourself. - defList := self - evaluateCommandString: 'browse --select=`[:def | true ]` method at:put: '. - self deny: defList isEmpty. - defList := self - evaluateCommandString: 'browse --select=`[:def | false ]` method at:put: '. - self assert: defList isEmpty \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowsePackage.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowsePackage.st deleted file mode 100644 index 2073ed01b..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowsePackage.st +++ /dev/null @@ -1,9 +0,0 @@ -as yet unclassified -testBrowsePackage - "run without errors ... to keep me honest" - - self - evaluateCommandString: 'browse --help package'; - evaluateCommandString: 'browse package topez-server tode'; - evaluateCommandString: 'browse package --exact Topez-Server-Core'; - yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowsePackages.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowsePackages.st deleted file mode 100644 index 8d7361403..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowsePackages.st +++ /dev/null @@ -1,8 +0,0 @@ -as yet unclassified -testBrowsePackages - "run without errors ... to keep me honest" - - self - evaluateCommandString: 'browse --help packages'; - evaluateCommandString: 'browse packages'; - yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseProject.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseProject.st deleted file mode 100644 index 59fba4400..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseProject.st +++ /dev/null @@ -1,17 +0,0 @@ -as yet unclassified -testBrowseProject - "run without errors ... to keep me honest" - - [ - self - evaluateCommandString: 'browse --help project'; - evaluateCommandString: 'browse project tode rb'; - evaluateCommandString: 'browse project --exact Tode'; - yourself ] - on: Error - do: [ :ex | - Transcript - cr; - show: ex description; - cr; - show: (GsProcess stackReportToLevel: 100) ex pass ] \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseReferences.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseReferences.st deleted file mode 100644 index 9c24cecad..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseReferences.st +++ /dev/null @@ -1,26 +0,0 @@ -as yet unclassified -testBrowseReferences - "run without errors ... to keep me honest" - - | node defs | - node := self createSelectBlockNode. - self - evaluateCommandString: 'browse --help references'; - evaluateCommandString: 'browse references GsNMethod'; - evaluateCommandString: - 'browse references --literal `''not yet implemented''`'; - evaluateCommandString: 'browse references --literal `#at:put:`'; - evaluateCommandString: 'browse references --literal `1.0`'; - evaluateCommandString: 'browse references --literal `#( 1 2 3)`'. - ((System stoneVersionAt: 'gsVersion') beginsWith: '3.') - ifTrue: [ self evaluateCommandString: 'browse references --literal `#[ 1 2 3]`' ]. - self - evaluateCommandString: - 'browse references --class=ClassOrganizer --literal `#at:put:`'; - evaluateCommandString: - 'browse references --class=ClassOrganizer SortedCollection'; - yourself. - defs := self - evaluateCommandString: - 'browse --scriptPath=' , node printString , ' references --literal `true`'. - self deny: defs isEmpty \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseSender.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseSender.st deleted file mode 100644 index 62aa0a50e..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseSender.st +++ /dev/null @@ -1,16 +0,0 @@ -as yet unclassified -testBrowseSender - "run without errors ... to keep me honest" - - | node defs | - node := self createSenderNode. - self - evaluateCommandString: 'browse --help sender'; - evaluateCommandString: 'browse sender at:put:'; - evaluateCommandString: 'browse sender --pure at:put:'; - evaluateCommandString: 'browse --staticList sender --regex at\:put\:'; - yourself. - defs := self - evaluateCommandString: - 'browse --scriptPath=' , node printString , ' sender at:put:'. - self deny: defs isEmpty \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseSource.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseSource.st deleted file mode 100644 index cf5a2886f..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseSource.st +++ /dev/null @@ -1,13 +0,0 @@ -as yet unclassified -testBrowseSource - | node defs | - node := self createSenderNode. - self - evaluateCommandString: 'browse --help source'; - evaluateCommandString: 'browse source --exact `hello world`'; - evaluateCommandString: 'browse source `hello world`'; - yourself. - defs := self - evaluateCommandString: - 'browse --scriptPath=' , node printString , ' source `| d |`'. - self deny: defs isEmpty \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseSymbolDict.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseSymbolDict.st deleted file mode 100644 index c2e9b54bb..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseSymbolDict.st +++ /dev/null @@ -1,26 +0,0 @@ -as yet unclassified -testBrowseSymbolDict - "run without errors ... to keep me honest" - - self - evaluateCommandString: 'browse --help symbolDict'; - evaluateCommandString: 'browse symbolDict --user=SystemUser UserGlobals'; - evaluateCommandString: - 'browse --select=`[:def | ''Tool'' asRegex search: def label ]` symbolDict UserGlobals'; - evaluateCommandString: 'browse symbolDict --user=SystemUser'; - yourself. - [ - self - evaluateCommandString: 'browse symbolDict --list --user=SystemUser'; - evaluateCommandString: 'browse symbolDict --list '; - evaluateCommandString: - 'browse --select=`[:dict | (''Global'' asRegex search: dict name asString) ]` symbolDict --list '; - evaluateCommandString: - 'browse symbolDict --globals --user=SystemUser Globals'; - evaluateCommandString: - 'browse --select=`[:assoc | assoc value isString ]` symbolDict --globals --user=SystemUser Globals'; - yourself ] - on: GsInteractionRequest - do: [ :ir | - "inspecting results ... don't bring up a window during tests" - ir resume ] \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseUndeclared.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseUndeclared.st deleted file mode 100644 index d02f086b9..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseUndeclared.st +++ /dev/null @@ -1,8 +0,0 @@ -as yet unclassified -testBrowseUndeclared - "run without errors ... to keep me honest" - - self - evaluateCommandString: 'browse --help undeclared'; - evaluateCommandString: 'browse undeclared'; - yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseVariables.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseVariables.st deleted file mode 100644 index 1aab049f7..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseVariables.st +++ /dev/null @@ -1,8 +0,0 @@ -as yet unclassified -testBrowseVariables - "run without errors ... to keep me honest" - - self - evaluateCommandString: 'browse --help variables'; - evaluateCommandString: 'browse variables --class=TDShellTool listLimit'; - yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseVersions.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseVersions.st deleted file mode 100644 index 4e3226816..000000000 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testBrowseVersions.st +++ /dev/null @@ -1,8 +0,0 @@ -as yet unclassified -testBrowseVersions - "run without errors ... to keep me honest" - - self - evaluateCommandString: 'browse --help versions'; - evaluateCommandString: 'browse versions `Dictionary class>>new:`'; - yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindClass.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindClass.st new file mode 100644 index 000000000..790630b9f --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindClass.st @@ -0,0 +1,13 @@ +as yet unclassified +testFindClass + "run without errors ... to keep me honest" + + self + evaluateCommandString: 'find --help class'; + evaluateCommandString: 'find class method stream'; + evaluateCommandString: 'find class --exact GsNMethod'; + evaluateCommandString: 'find class --hier --exact GsNMethod'; + evaluateCommandString: 'find class --hier method|stream'; + evaluateCommandString: + 'find --select=`[:def | (''^OB'' asRegex search: def label) not ]` class --hier method|stream'; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindConfigurations.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindConfigurations.st new file mode 100644 index 000000000..65153d165 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindConfigurations.st @@ -0,0 +1,8 @@ +as yet unclassified +testFindConfigurations + "run without errors ... to keep me honest" + + self + evaluateCommandString: 'find --help configurations'; + evaluateCommandString: 'find configurations'; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindMethod.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindMethod.st new file mode 100644 index 000000000..3d20c7b85 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindMethod.st @@ -0,0 +1,22 @@ +as yet unclassified +testFindMethod + "run without errors ... to keep me honest" + + | node defList | + node := self createSelectBlockNode. + self + evaluateCommandString: 'find --help method'; + evaluateCommandString: 'find method at:put: nextPutAll:'; + evaluateCommandString: + 'find method --spec Dictionary>>at:put: `Dictionary class>>new:`'; + evaluateCommandString: 'find method --regex at\:put\:|nextPutAll\:'; + evaluateCommandString: 'find method -r at\:put\:|nextPutAll\:'; + evaluateCommandString: + 'find --select=@' , node printString , ' method at:put: '; + yourself. + defList := self + evaluateCommandString: 'find --select=`[:def | true ]` method at:put: '. + self deny: defList isEmpty. + defList := self + evaluateCommandString: 'find --select=`[:def | false ]` method at:put: '. + self assert: defList isEmpty \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindPackage.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindPackage.st new file mode 100644 index 000000000..5a7579ae1 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindPackage.st @@ -0,0 +1,9 @@ +as yet unclassified +testFindPackage + "run without errors ... to keep me honest" + + self + evaluateCommandString: 'find --help package'; + evaluateCommandString: 'find package topez-server tode'; + evaluateCommandString: 'find package --exact Topez-Server-Core'; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindPackages.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindPackages.st new file mode 100644 index 000000000..5e2d8b5fd --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindPackages.st @@ -0,0 +1,8 @@ +as yet unclassified +testFindPackages + "run without errors ... to keep me honest" + + self + evaluateCommandString: 'find --help packages'; + evaluateCommandString: 'find packages'; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindProject.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindProject.st new file mode 100644 index 000000000..fc6a693d8 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindProject.st @@ -0,0 +1,9 @@ +as yet unclassified +testFindProject + "run without errors ... to keep me honest" + + self + evaluateCommandString: 'find --help project'; + evaluateCommandString: 'find project tode rb'; + evaluateCommandString: 'find project --exact Tode'; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindReferences.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindReferences.st new file mode 100644 index 000000000..6cae9a585 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindReferences.st @@ -0,0 +1,25 @@ +as yet unclassified +testFindReferences + "run without errors ... to keep me honest" + + | node defs | + node := self createSelectBlockNode. + self + evaluateCommandString: 'find --help references'; + evaluateCommandString: 'find references GsNMethod'; + evaluateCommandString: 'find references --literal `''not yet implemented''`'; + evaluateCommandString: 'find references --literal `#at:put:`'; + evaluateCommandString: 'find references --literal `1.0`'; + evaluateCommandString: 'find references --literal `#( 1 2 3)`'. + ((System stoneVersionAt: 'gsVersion') beginsWith: '3.') + ifTrue: [ self evaluateCommandString: 'find references --literal `#[ 1 2 3]`' ]. + self + evaluateCommandString: + 'find references --class=ClassOrganizer --literal `#at:put:`'; + evaluateCommandString: + 'find references --class=ClassOrganizer SortedCollection'; + yourself. + defs := self + evaluateCommandString: + 'find --scriptPath=' , node printString , ' references --literal `true`'. + self deny: defs isEmpty \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindSender.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindSender.st new file mode 100644 index 000000000..e54eef5d7 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindSender.st @@ -0,0 +1,15 @@ +as yet unclassified +testFindSender + "run without errors ... to keep me honest" + + | node defs | + node := self createSenderNode. + self + evaluateCommandString: 'find --help sender'; + evaluateCommandString: 'find sender at:put:'; + evaluateCommandString: 'find sender --pure at:put:'; + yourself. + defs := self + evaluateCommandString: + 'find --scriptPath=' , node printString , ' sender at:put:'. + self deny: defs isEmpty \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindSource.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindSource.st new file mode 100644 index 000000000..fbf97c87d --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindSource.st @@ -0,0 +1,15 @@ +as yet unclassified +testFindSource + | node defs | + node := self createSenderNode. + self + evaluateCommandString: 'find --help source'; + evaluateCommandString: 'find source --exact `Hello World`'; + evaluateCommandString: 'find source `hello world`'; + evaluateCommandString: 'find source --exact --noCase `hello world`'; + evaluateCommandString: 'find source --case `Hello World`'; + yourself. + defs := self + evaluateCommandString: + 'find --scriptPath=' , node printString , ' source `| d |`'. + self deny: defs isEmpty \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindSymbolDict.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindSymbolDict.st new file mode 100644 index 000000000..da47d9998 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindSymbolDict.st @@ -0,0 +1,12 @@ +as yet unclassified +testFindSymbolDict + "run without errors ... to keep me honest" + + self + evaluateCommandString: 'find --help symbolDict'; + evaluateCommandString: 'find symbolDict --user=SystemUser UserGlobals'; + evaluateCommandString: 'find symbolDict --user=SystemUser'; + evaluateCommandString: + 'find symbolDict --hier --user=SystemUser UserGlobals'; + evaluateCommandString: 'find symbolDict --hier --user=SystemUser'; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindUndeclared.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindUndeclared.st new file mode 100644 index 000000000..702729984 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindUndeclared.st @@ -0,0 +1,8 @@ +as yet unclassified +testFindUndeclared + "run without errors ... to keep me honest" + + self + evaluateCommandString: 'find --help undeclared'; + evaluateCommandString: 'find undeclared'; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindVariables.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindVariables.st new file mode 100644 index 000000000..3e86326f0 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindVariables.st @@ -0,0 +1,8 @@ +as yet unclassified +testFindVariables + "run without errors ... to keep me honest" + + self + evaluateCommandString: 'find --help variables'; + evaluateCommandString: 'find variables --class=TDShellTool listLimit'; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindVersions.st b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindVersions.st new file mode 100644 index 000000000..459316dd8 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/instance/testFindVersions.st @@ -0,0 +1,8 @@ +as yet unclassified +testFindVersions + "run without errors ... to keep me honest" + + self + evaluateCommandString: 'find --help versions'; + evaluateCommandString: 'find versions `Dictionary class>>new:`'; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/methodProperties.json index 9970a7b53..272cd7c9d 100644 --- a/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/methodProperties.json +++ b/repository/Topez-Server-Tests.package/TDShellFindCommandTests.class/methodProperties.json @@ -2,20 +2,17 @@ "class" : { }, "instance" : { - "testBrowseCategories" : "dkh 05/06/2014 08:16", - "testBrowseClass" : "dkh 05/06/2014 08:16", - "testBrowseConfigurations" : "dkh 05/06/2014 08:16", - "testBrowseDiff" : "dkh 05/06/2014 08:16", - "testBrowseList" : "dkh 05/06/2014 08:16", - "testBrowseMethod" : "dkh 05/06/2014 08:16", - "testBrowsePackage" : "dkh 05/06/2014 08:16", - "testBrowsePackages" : "dkh 05/06/2014 08:16", - "testBrowseProject" : "dkh 06/22/2014 16:00", - "testBrowseReferences" : "dkh 05/06/2014 08:16", - "testBrowseSender" : "dkh 05/06/2014 08:16", - "testBrowseSource" : "dkh 05/06/2014 08:16", - "testBrowseSymbolDict" : "dkh 05/06/2014 08:16", - "testBrowseUndeclared" : "dkh 05/06/2014 08:16", - "testBrowseVariables" : "dkh 05/06/2014 08:16", - "testBrowseVersions" : "dkh 05/06/2014 08:16", - "testFindCategory" : "dkh 05/06/2014 08:17" } } + "testFindCategory" : "dkh 05/06/2014 08:17", + "testFindClass" : "dkh 08/10/2015 11:17", + "testFindConfigurations" : "dkh 08/10/2015 11:17", + "testFindMethod" : "dkh 08/10/2015 11:18", + "testFindPackage" : "dkh 08/10/2015 11:18", + "testFindPackages" : "dkh 08/10/2015 11:18", + "testFindProject" : "dkh 08/10/2015 15:18", + "testFindReferences" : "dkh 08/10/2015 11:19", + "testFindSender" : "dkh 08/10/2015 12:50", + "testFindSource" : "dkh 08/10/2015 11:20", + "testFindSymbolDict" : "dkh 08/10/2015 12:16", + "testFindUndeclared" : "dkh 08/10/2015 11:21", + "testFindVariables" : "dkh 08/10/2015 11:21", + "testFindVersions" : "dkh 08/10/2015 11:21" } } diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..b38bbebc4 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..8f0d7f660 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..7cc5d3041 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/06/2014 15:59", + "lookupSrcNode:" : "dkh 11/06/2014 15:59" } } diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..1ed603a14 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedFsMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellFsToSimpleComposedFsMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..a3b6ab2ca --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedGwNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..8f0d7f660 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..6982c7123 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 13:43", + "lookupSrcNode:" : "dkh 11/07/2014 13:43" } } diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..fd9b91743 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedGwMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellFsToSimpleComposedGwMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..32ea90d50 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedObjNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..8f0d7f660 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..8c1b6a88a --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 13:44", + "lookupSrcNode:" : "dkh 11/07/2014 13:44" } } diff --git a/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..3271b1ecb --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellFsToSimpleComposedObjMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellFsToSimpleComposedObjMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..b38bbebc4 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..7f46285c0 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupGwNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..327fa0e6f --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 12:40", + "lookupSrcNode:" : "dkh 11/07/2014 12:40" } } diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..17d499da9 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedFsMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellGwToSimpleComposedFsMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..a3b6ab2ca --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedGwNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..7f46285c0 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupGwNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..c2070aaf6 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 13:45", + "lookupSrcNode:" : "dkh 11/07/2014 13:45" } } diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..7dcd08545 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedGwMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellGwToSimpleComposedGwMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..32ea90d50 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedObjNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..7f46285c0 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupGwNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..c2070aaf6 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 13:45", + "lookupSrcNode:" : "dkh 11/07/2014 13:45" } } diff --git a/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..eff905e18 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellGwToSimpleComposedObjMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellGwToSimpleComposedObjMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/instance/rootNodePath.st b/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/instance/rootNodePath.st new file mode 100644 index 000000000..18e6a758b --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/instance/rootNodePath.st @@ -0,0 +1,5 @@ +private +rootNodePath + "this path represents pure obj portion of test structure" + + ^ '/tmp/tests/mvcp/' \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/instance/testMountCommand.st b/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/instance/testMountCommand.st new file mode 100644 index 000000000..bba494d3a --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/instance/testMountCommand.st @@ -0,0 +1,35 @@ +tests +testMountCommand + "run without errors ... to keep me honest" + + | mountPointNode mountDirNode mountLeafNode homeStonNode rootPath mountPointPath mountPointFileSystemPath objRoot objRootNode | + rootPath := self rootNodePath. + objRoot := self objNodePath. + self topez ensureChildrenExistIn: objRoot. + objRootNode := self topez lookup: objRoot. + mountPointPath := rootPath , 'mount'. + mountPointNode := self lookupFsNode: mountPointPath. + mountDirNode := mountPointNode addChild: 'home'. + homeStonNode := self smallSetLeafNodes first. + mountLeafNode := mountPointNode addChildNode: homeStonNode. + mountPointFileSystemPath := self fileSystemRootPath , mountPointPath. + self + evaluateCommandString: 'mount --help'; + evaluateCommandString: + 'mount ' , mountPointFileSystemPath , '/home ' , objRootNode printString; + evaluateCommandString: + 'mount ' , mountPointFileSystemPath , '/home ' , objRootNode printString + , ' todeHome'; + evaluateCommandString: + 'mount ' , mountPointFileSystemPath , '/' , homeStonNode name , '.ston ' + , objRootNode printString , ' todeHome'; + yourself. + self topez serverTodeRoot: mountPointFileSystemPath. + self + evaluateCommandString: 'mount --todeRoot home ' , objRootNode printString; + evaluateCommandString: + 'mount --todeRoot home ' , objRootNode printString , ' todeHome'; + evaluateCommandString: + 'mount --todeRoot ' , homeStonNode name , '.ston ' , objRootNode printString + , ' todeHome'; + yourself \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/methodProperties.json new file mode 100644 index 000000000..f6cc00e00 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "rootNodePath" : "dkh 11/12/2014 12:04", + "testMountCommand" : "dkh 11/12/2014 13:37" } } diff --git a/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/properties.json new file mode 100644 index 000000000..e8655fffd --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellMountCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellMountCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractNodeTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..b38bbebc4 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..952fd6110 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupObjNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..a1b7364d5 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 12:42", + "lookupSrcNode:" : "dkh 11/07/2014 12:42" } } diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..cc517787d --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedFsMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellObjToSimpleComposedFsMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..a3b6ab2ca --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedGwNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..952fd6110 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupObjNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..e3f07b41c --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 13:46", + "lookupSrcNode:" : "dkh 11/07/2014 13:46" } } diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..0b79da499 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedGwMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellObjToSimpleComposedGwMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..32ea90d50 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedObjNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..952fd6110 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupObjNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..e448cd3b6 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 13:47", + "lookupSrcNode:" : "dkh 11/07/2014 13:47" } } diff --git a/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..75ff27416 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellObjToSimpleComposedObjMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellObjToSimpleComposedObjMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..a958a8268 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..801f1d190 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupSimpleComposedFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..fe0bfb1d6 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 12:09", + "lookupSrcNode:" : "dkh 11/07/2014 12:09" } } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..00d54eeb3 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToFsMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellSimpleComposedFsToFsMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..c7434b068 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupGwNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..801f1d190 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupSimpleComposedFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..f67691e2d --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 12:41", + "lookupSrcNode:" : "dkh 11/07/2014 12:41" } } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..78b5e6abe --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToGwMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellSimpleComposedFsToGwMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..5d426ce6e --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupObjNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..801f1d190 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupSimpleComposedFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..1f0e901c9 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 13:39", + "lookupSrcNode:" : "dkh 11/07/2014 13:37" } } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..fffed8e9f --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToObjMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellSimpleComposedFsToObjMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..b38bbebc4 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..801f1d190 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupSimpleComposedFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..95f740f45 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/05/2014 13:34", + "lookupSrcNode:" : "dkh 11/05/2014 13:34" } } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..49410b562 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellSimpleComposedFsToSimpleComposedFsMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..a3b6ab2ca --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedGwNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..801f1d190 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupSimpleComposedFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..932039889 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 13:50", + "lookupSrcNode:" : "dkh 11/07/2014 13:50" } } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..3ac4810ba --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellSimpleComposedFsToSimpleComposedGwMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..a3b6ab2ca --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedGwNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..801f1d190 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupSimpleComposedFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..0a11c8689 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 13:51", + "lookupSrcNode:" : "dkh 11/07/2014 13:51" } } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..feff8dfa8 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellSimpleComposedFsToSimpleComposedObjMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..a958a8268 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupFsNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..89207b9e3 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupSimpleComposedGwNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..65f58a2d4 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/07/2014 13:52", + "lookupSrcNode:" : "dkh 11/07/2014 13:52" } } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..b3b149ba8 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToFsMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellSimpleComposedGwToFsMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..a3b6ab2ca --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedGwNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..89207b9e3 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupSimpleComposedGwNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..883451339 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/06/2014 14:40", + "lookupSrcNode:" : "dkh 11/06/2014 14:40" } } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..56c91ebb4 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellSimpleComposedGwToSimpleComposedGwMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/README.md b/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st new file mode 100644 index 000000000..32ea90d50 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/instance/lookupDestNode..st @@ -0,0 +1,3 @@ +running +lookupDestNode: nodePath + ^ self lookupSimpleComposedObjNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st b/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st new file mode 100644 index 000000000..20ae361b0 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/instance/lookupSrcNode..st @@ -0,0 +1,3 @@ +running +lookupSrcNode: nodePath + ^ self lookupSimpleComposedObjNode: nodePath \ No newline at end of file diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/methodProperties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/methodProperties.json new file mode 100644 index 000000000..777f1a673 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "lookupDestNode:" : "dkh 11/06/2014 14:48", + "lookupSrcNode:" : "dkh 11/06/2014 14:48" } } diff --git a/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/properties.json b/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/properties.json new file mode 100644 index 000000000..7da727a39 --- /dev/null +++ b/repository/Topez-Server-Tests.package/TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Topez-Server-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TDShellSimpleComposedObjToSimpleComposedObjMvCpCommandTests", + "pools" : [ + ], + "super" : "TDShellAbstractMvCpCommandTests", + "type" : "normal" } diff --git a/repository/Topez-Server-Tests.package/monticello.meta/version b/repository/Topez-Server-Tests.package/monticello.meta/version index 1e9e720c0..7de9438d5 100644 --- a/repository/Topez-Server-Tests.package/monticello.meta/version +++ b/repository/Topez-Server-Tests.package/monticello.meta/version @@ -1 +1 @@ -(name 'Topez-Server-Tests-dkh.151' message 'add tracing to TDShellClsCommandTests>>testAccessors01 ' id '862a613e-524d-4f0d-8b7a-9fe2279ad970' date '07/31/2014' time '07:27:43' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.150' message 'some tracing to determine source of travis-ci errors ' id '727832db-a616-4fe8-a566-b5d39147080b' date '06/22/2014' time '16:01:22' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.149' message 'clean up some sent but not implemented' id 'cbfd5b46-13d0-4513-aa46-ad07219bb1bc' date '05/24/2014' time '08:32:07' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.148' message '`man --class` and comment a few classes - class comments! ... well only a couple ... - implement `man --class ' id '399a0859-0b5b-4ce0-b1c7-56952ea34093' date '05/20/2014' time '20:19:42' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.147' message '`inspect` added, `save` configuration functional - add back `inspect` command ... too useful to lose - add `browse classes` menu item to project list might want to include the configuration, too? - use --porcelain option for `git status` menu item in project browser - configuration-based `save` appears to be working; dirty packages saved and configuration updated and saved ... need to work out scheme for opening a new version for development since registration needs to be updated ... - --config option added to `project commit` command to control whether or not the configuration is updated/saved after saving packages' id 'ac84fb51-c385-4c95-958a-07ed477f35e0' date '05/16/2014' time '14:30:41' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.146' message '- start work on `find` command - `find category` implemented - add TDShellFindCommandTests class. Copied from TDShellBrowseCommandTests, so there are some extra tests hanging around ... the will be pruned eventually' id '77f8b386-2e36-4b58-aad7-01fe56775ae5' date '05/06/2014' time '20:24:52' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.145' message '- implement `edit` command - implement `eval` command - tests - `print`, `inspect`, ''view` commands deleted' id 'a73561f6-63b6-4580-a742-def7583ce7a6' date '05/05/2014' time '10:41:00' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.144' message '- re-implement ''ds` command - `man` tweaked - tests' id '276a30ce-4c8a-48ae-a66c-e780261b2670' date '05/04/2014' time '14:56:55' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.143' message '- `run` and `doit` commands removed - `ws` command tweaked' id '86bb40e0-b7fb-4d17-a0be-807e095bc04b' date '05/04/2014' time '14:31:38' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.142' message '- implement `break` family of commands to replace `db break` family - man pages and tests - misc tweaks' id '7e3e6f73-30dc-4ad2-a4c6-f87c82ca4102' date '05/01/2014' time '04:19:58' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.141' message '- new man page for `cp` command - tests' id 'aba4a37e-7c9b-4be6-a5e1-73a600d0e1a0' date '04/30/2014' time '20:41:23' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.140' message '- `browse categories`, `browse configurations`, `browse packages` implemented - tests - `configs` and `pkgs` ... gone' id 'd420a86a-9406-475b-821c-f1937224fbf8' date '04/29/2014' time '08:00:02' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.139' message '- expand `cls protocol --remove` test to cover protocol with existing methods ... (remove the methods in the protocol)' id 'e1646e6f-c4fe-4aef-b305-dddc42ff7322' date '04/28/2014' time '20:26:37' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.138' message '- implement `method versions` command - tests - that''s it for the `method` familyof commands' id '156a9a1d-851f-447b-b078-fa338eb740f8' date '04/28/2014' time '20:16:13' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.137' message '- implement `method remove` command - tests ' id '839ab6f1-8690-48fe-9e0b-12f4185b9964' date '04/28/2014' time '20:05:07' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.136' message '- implement `method move` command - tests - isolate the `method` command operations in separate methods for Smalltalk scripting' id '67bfab5b-7065-4b32-90f4-f2d4e5a06a61' date '04/28/2014' time '19:53:43' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.135' message '- implement `method copy` command - tests' id '7b8598ca-3b0a-4dd8-bbed-06dc6ccca26d' date '04/28/2014' time '18:30:52' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.134' message '- clean up implementation of `debug it` ... need to be able to access literals in doit context - start work on `method` command - implement `method browse` command - implement `method protocol` command - tests' id '4a895478-9723-4ee9-bd10-f4f40576aff4' date '04/28/2014' time '17:56:51' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.133' message '- `commit` command reworked - tests ' id 'd922c5cb-a91b-49de-bd8c-862cb25a4046' date '04/28/2014' time '16:06:42' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.132' message '- `cls remove` implemented - tests ' id '995f1a4f-e38e-433e-9e4d-31c69c575a7e' date '04/28/2014' time '15:49:53' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.131' message '- `cls category` implemented - `cls rename` implemented - document that `cls protocol` accepts @ references.. - define doitContext for debugger source window - fix a bug in TDShellTool>>protocol:rename:to: in Gemstone 2.4 - tests ' id 'a328e31b-19f1-4cea-b90c-cf92356e8219' date '04/28/2014' time '13:13:09' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.130' message '- `cls protocol` implemented - tests - `protocol` command removed ... replaced by `cls protocol`' id 'aec639a3-f9c4-48fc-944c-ecd0dc42b566' date '04/27/2014' time '22:30:02' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.129' message '- `cls history` revisited' id '3a5e7da2-3db6-4a44-8739-2b41743fea05' date '04/27/2014' time '21:14:54' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.128' message '- tweak the tests for `ws` and `cls definition`' id '1a43b31d-19a6-4de2-ac4a-7c90f5a38656' date '04/27/2014' time '20:58:57' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.127' message '- implement `cls definition` command - tests - `cls create` command removed ... not very useful ... use the `cls definition` command instead' id '12a3bc1b-51f3-49c1-a6cc-a474613203e8' date '04/27/2014' time '11:19:30' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.126' message '- `implement `cls copy` command - fix bugs in `cls accessors` command - tests ' id 'c1eb587b-ccc3-4ee1-8434-940b1be89459' date '04/27/2014' time '09:22:20' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.125' message '- multiple class args for `cls accessors` and path ref - `implement `cls comment` command - tests' id 'b7cd1a0d-fee4-4fc3-a36c-38ef7d0d597e' date '04/27/2014' time '08:06:01' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.124' message '- TDAbstractDevTool class>>performCommand:objIn:commandOptions:todeCommand: to provide for --help for regular commands - --help option added to abort, cat and cd commands ... tests - categorize some TDShellTool methods ... those that have been rewriiten - begin work on the `cls` command ... - `cls accessors` implemented plus tests - fix an option handling error in `bu` command' id '1ceb461c-df49-4f21-a291-4939877c15ac' date '04/26/2014' time '21:09:13' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.123' message '- fix `man` command tests ...' id '1db00951-8a86-4238-b7d3-69e259a3c681' date '04/20/2014' time '21:19:25' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.122' message '- `man` command test' id '10264062-1a8b-47fb-b849-3c66a099c7bd' date '04/20/2014' time '15:22:27' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.121' message '- working on getting tests to pass in GemStone 2.4.x' id '4b026990-b227-4319-9298-1c445dba1e1a' date '04/19/2014' time '20:44:41' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.120' message '- fix problems with labels for the new blobk-based commands - all tests should pass now ...' id '66e9970a-04ea-434d-a96a-d3aedb0077ad' date '04/19/2014' time '15:06:05' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.119' message '- travis test failure logging' id 'e4bdc7b3-d75d-4f54-a887-c3b146573cf1' date '04/19/2014' time '12:35:51' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.118' message '- remove undeclared symbol references from Tode code base - implement block-based method browsing so that refresh of window recalculates search - need block-based class browsing .., - use GsDeployer for class changes - fix up item selected problems ... - add --staticList option bot `browse` command' id '8d9a148e-ecb3-4859-b15c-c0c106253dc7' date '04/19/2014' time '12:14:42' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.117' message '- `browse source`, `browse undeclared`, `browse variables`, and `browse versions` implemented and man pages written ... and tests defined ... - one final pass to define refresh blocks needed' id 'c0c05cfb-7038-40e4-99d4-0b5e4e0f83d3' date '04/19/2014' time '09:04:01' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.116' message '- implement and write man page for`browse sender` - fix up problem with --scriptPath option ... create TDShellTool>>browseLeafNodes:pattern:label: method - catch up with tests ' id '5862e787-bb69-45f2-980d-84bb51e09fe9' date '04/18/2014' time '20:18:34' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.115' message '- implement and write man page for`browse references`, `browse diff`, `browse list`, `browse package`, `browse project`, `browse method`, `browse class` - stub out `browse variables` and `browse undeclared` - add some tests ... still need to make sure that test are up-to-date with respect to implementation' id '5d2c1305-6df7-4fbb-95e9-4c2f6805cad5' date '04/18/2014' time '17:40:40' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.114' message '- handle AlmostOutStack as a printing error - add subCommand --help and `man` support to tools - --select option added to all browse commands (need to implement) - `browse category` command added again, plush subCommand man page - `browse class` man page updated for subCommand support (still need to finish `browse class` implementation - `browse` man page updated for subCommand support - `browse symbolDict` command and man page added - tests ' id '7f2f44c9-8c83-483d-9edd-d657f64a344e' date '04/18/2014' time '14:05:46' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.113' message '- enhance filter block test to verify that block is being compiled and used correctly - start adding subcommands to man page ... bite the bullet now...' id '892ca134-00d8-4f00-a397-56a8f0aab228' date '04/17/2014' time '17:03:12' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.112' message '- add test for use case where we pass a smalltalk block as a command line option - still need to support this use case in the --filter option for the browse command' id 'f7bdf352-2219-44d0-a9fb-fedeb29e893a' date '04/17/2014' time '10:02:54' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.111' message '- fix problem with incorrect `` escape handling - checkpoint working on add --filter to more `browse` commands including embedding code for filter block - revisit `browse references` --literal option ... just compile literal from the string - `browse category` folded into `browse class` command - currently debugging TDShellBrowseCommandTests>>testBrowseMethod ... will need to review man pages and update commands/tests to match the man pages ... ' id '23ffd53e-77c1-49e7-8fb5-21ead1db7ee8' date '04/16/2014' time '16:35:59' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.110' message '- more `browse` command tests' id '1ce1b1be-1652-4d4b-b4dd-0f4d4725a2b3' date '04/16/2014' time '07:30:33' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.109' message '- tweaks to `browse` command - clean up some obsolete `browse` methods - begin work on `browse` command tests' id '178a2c1e-b4d2-42f2-a7d6-b94d11e6a5ed' date '04/15/2014' time '21:17:43' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.108' message '- porting to GemStone 2.x' id '2e4ac3bd-6243-403e-8920-2390ce46c9ea' date '04/13/2014' time '19:20:50' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.107' message 'more work on getting tests to pass in GemStone 2.4' id 'f48b4c00-e4d6-4f6d-8957-2e4630ef0b74' date '03/23/2014' time '17:54:28' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.106' message 'get 2.4 tests passing...' id 'df4cef60-f1c7-4f88-8812-049de15227d2' date '03/22/2014' time '22:03:37' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.105' message 'full range of `mv` and `cp` tests implemented and passing' id 'bdc0f592-1f6a-4503-854f-bd54cfc41ae4' date '12/23/2013' time '12:52:58' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.104' message 'checkpoint: starting gw to gw work ... failures/errors are gw related ...: 130 run, 116 passes, 0 expected defects, 4 failures, 10 errors, 0 unexpected passes made some fundamental changes to core classes that have not affected non-gw test results.' id 'bb7e9b60-981d-4a31-bc90-8ff06a28de03' date '12/23/2013' time '10:10:03' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.103' message 'checkpoint: all tests (including `fs to obj` and `obj to fs` tests) are passing: 104 run, 104 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes' id '76647d90-48f3-4b9f-bc67-82699ffec7c3' date '12/23/2013' time '09:33:57' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.102' message 'checkpoint: `fs to obj` and `obj to fs` tests are not passing: 104 run, 83 passes, 0 expected defects, 18 failures, 3 errors, 0 unexpected passes will need to do a little more double dispatching as the proxy nodes record their changes to disk (when backed by files) see the TDFileSystemDirectoryNode code which needs to be pushed out one more layer' id 'e77b3736-3537-416f-92a8-371e6e42b51c' date '12/22/2013' time '21:10:49' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.101' message 'checkpoint: `fs to fs` and `obj to obj` tests are passing' id '759edd09-8494-4331-81d5-c482783f6996' date '12/22/2013' time '21:03:25' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.100' message 'checkpoint: preparing for fs to fs tests' id '545d0889-5cce-4777-b12c-1b55126b443c' date '12/22/2013' time '18:53:28' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.99' message 'checkpoint: filled out set of tests for `mv` command' id '9be5a5cc-166f-4322-986f-12f9489492e0' date '12/22/2013' time '18:47:20' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.98' message 'checkpoint: rewrite `mv` man page ... a little refactoring ... cp:in: and mv:in: share quite a bit of code ...' id '7ae63cc2-38ad-42c2-ba37-a393112bd764' date '12/22/2013' time '15:44:17' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.97' message 'checkpoint: filled out set of tests for `cp` command ... leaf and directory nodes covered for all combos ... I think' id '0322becf-d42e-4aa2-b4d9-60cddb6ef2cc' date '12/22/2013' time '12:58:12' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.96' message 'checkpoint: finally get semantics for `cp ` correct ... update the `cp` man page.' id '2e0b036d-c0aa-4eff-a68b-8c87503092e3' date '12/22/2013' time '12:22:23' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.95' message 'started ''cp directory to directory'' series of tests/implementation' id '4ede956e-13e5-4f2e-873c-d07f6f228f3e' date '12/22/2013' time '10:47:38' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.94' message 'add cp/mv over self to test cases ...' id '4df6c1a3-4b34-459a-b8fe-500ff1d43d28' date '12/22/2013' time '08:43:46' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.93' message 'tests for `mv` and `cp` commands (about time) ... leaf-based `mv` and `cp` tests written and passing for obj to obj operations ...' id 'd8cb0d6d-10f8-4d90-a94b-84d4876adfc1' date '12/21/2013' time '20:31:39' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.92' message 'relocate test tools from /home to /tmp/t ... that way /home can be a gateway node. The tests hang objects off of /tmp/t/tests and we don''t want to be in the business of saving objects to disk .... TDShellAbstractRsyncCommandTests running green' id 'f31c9525-2833-42ed-a288-345286218d1c' date '12/06/2013' time '18:38:19' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.91' message 'Issue #37: rename `ston rsync` command to just plain `rsync` ... not really limited to `ston` anymore ... rename tests ...' id '4a8bd504-e1c5-465e-a7a6-004c00379a0c' date '12/06/2013' time '17:57:36' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.90' message 'Issue #37: add support for using a Gateway node as proxy for FileSystem directory and thus src/dest for `ston rsync` command ... start adding tests/support for using a Gateway node as a "symbolic link" to another object node - doesn''t work out of the box so more work needed (or just abandon the idea)' id 'a234d674-3bf5-4a4b-9711-d9e3c0dbc383' date '12/05/2013' time '08:36:51' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.89' message 'Issue #37: `ston rsync` implementation not complete, however, we''ve hit point where perhaps enough of the `rsync` functionality has been completed where with the File System leaf node support, I think we''ve got enough functionality to form the foundation for a pretty nice sharing model ... will start heading in that direction and see if additional `rsync` functionality is called for ... tests are green for all four combos of fs/obj node structure: TDShellFsToFsStonCommandTests TDShellObjToObjStonCommandTests TDShellFsToObjStonCommandTests TDShellObjToFsStonCommandTests' id '1647ac7f-3870-46b8-8985-09867096968f' date '12/03/2013' time '15:46:32' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.88' message 'Issue #37: `use #beRounded DateAndTimes ... avoid SmallDouble serialization impreciseness ... TDShellFsToFsStonCommandTests are green' id 'f92e5e23-76bf-4468-9e23-62989d349a9b' date '12/01/2013' time '21:20:18' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.87' message 'Issue #37: `rsync rsync --recursive --relative` TDShellFsToFsStonCommandTests tests pass .. full path and relative path source...' id 'a15821fc-a35f-4ca5-85d2-1417a67f7822' date '12/01/2013' time '20:46:57' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.86' message 'Issue #37: `rsync rsync --recursive --relative` TDShellFsToFsStonCommandTests tests pass' id '93a8479a-db9b-4671-9714-a900f8002166' date '12/01/2013' time '20:29:57' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.85' message 'Issue #37: TDShellFsToFsStonCommandTests tests pass' id '0afe12ee-d4aa-437d-a08a-283e7d1ea905' date '12/01/2013' time '19:50:52' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.84' message 'Issue #37: rsync recurse tests migrated ... TDShellFsToFsStonCommandTests test don''t pass, but that''s because of bug in the way rsync is implemented for file system nodes...' id '828fd537-ba98-4eab-9791-2037e6d4e2db' date '12/01/2013' time '11:56:55' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.83' message 'Issue #37: rsync checksum tests migrated' id '0d4fa319-31b2-4552-bea0-9b1aadd650b0' date '12/01/2013' time '10:28:58' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.82' message 'Issue #37: tweak before major test migration' id '08485b77-971c-4213-b8bd-e2fe90c96cf6' date '12/01/2013' time '10:08:04' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.81' message 'Issue #37: rename/refactor TDShellAbstractStonCommandTests hierarchy in preparation for testing four combos: - obj to obj - fs to fs - obj to fs - fs to obj' id '25672423-5fac-4064-8872-af7a79136a7a' date '12/01/2013' time '09:59:28' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.80' message 'Issue #37: TDShellFileSystemStonCommandTests>>testRsync passes ... "transparent" access to disk-based objects (.ston files) ... oh and rsync objcts from disk to disk ...' id '5b83eac1-eea1-4747-b7f0-3eed5487a41f' date '11/29/2013' time '10:00:08' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.79' message 'Issue #37: work out TDFileSystemDirectoryNode rendering ... push TDShellAbstractStonCommandTests root path handling to satisfy disk-based object paths ... checkpoint as I have to consider best way to represent object structure on disk ... would like to `cd ` where a "directory" will have a bunch of TDNodes serialized to disk and I;d like it to look like a regular TDDirectoryNode with children ... so will probably at `.ston` extension on files and meatrialize `.ston` files when encountered on disk via object shell interaction ... time for some experiments...' id '68885f8c-d48d-40e1-b416-424f0c618a25' date '11/29/2013' time '09:03:45' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.78' message 'Issue #37: as part of the script sharing work, I am merging the filesystem and objectSystem into a seamless whole...once you''ve spliced a file system "mount point" into the objectory (object directory) you should be able to `cp` and `rsync` objects and files back and forth (with some initial limitiations) objects are stored in STON format on disk and disk entities have a TDFileSystemNode that represents them ... I''ve filled out the basic apis without a lot of testing ...' id 'd36d35c9-3fb0-42b6-a715-9f9b9c5133e8' date '11/27/2013' time '11:20:47' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.77' message 'checkpoint: `rsync --relative` implemented' id 'e27eed4f-2f7a-4717-9172-7b6f2c62f3a2' date '11/26/2013' time '15:22:23' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.76' message 'checkpoint: `rsync --recursive` implemented' id 'ec546524-aa30-40b5-8b0d-15ee6fe9fe33' date '11/26/2013' time '12:13:53' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.75' message 'TDShellStonCommandTests>>testRsyncDir just added test .. doesn''t pass yet...' id 'b3ea5715-1655-4217-b35a-480e052637ae' date '11/20/2013' time '15:56:01' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.74' message 'implement --times, --existing, and --dry-run (bits and pieces ... testing should wait until all of the options are implemented)' id '2930d5ad-bc94-4fd3-bb80-3a758ab65a29' date '11/17/2013' time '14:41:11' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.73' message 'Issue #37: checkpoint on `ston rsync` work ... even more options implemented, even more tests written ...' id '5120b7b3-1048-45ad-9417-6aa8d094b378' date '11/14/2013' time '10:06:47' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.72' message 'update manPage for `ston rsync` and flesh out the first test' id '41659960-8504-407c-b4c5-ada8261417d7' date '11/11/2013' time '22:45:49' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.71' message 'Issue #37: attack `ston rsync` implementation ... TDSTONRsync is my visitor ... ' id 'f9d323d4-6c0f-4ba0-9559-5ec6db154668' date '11/11/2013' time '07:33:06' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.70' message 'clean up failing tests on server-side' id '1932dfa0-f6f5-4637-9dab-5b1d870c92d3' date '10/20/2013' time '20:45:34' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.69' message 'nuke TDAbstractBuilderTests and friends ... too brittle and not really that useful ... new approach needed' id 'd6bc5fce-7bff-4757-9199-23c89f88ea26' date '09/28/2013' time '14:01:54' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.68' message 'checkpoint: class history bugfixes ... copy/paste should be working for protocols (paste method on protocol to move method to that protocol or add method in that protocol) ... add `cls accessors` command Issue #27 - method category browse/edit' id 'ba674bab-1a1b-485d-9b84-798796dc7246' date '09/22/2013' time '13:59:32' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.67' message 'checkpoint: add `protocol` command for method category edits ... `test class` command changed to allow listing of multiple classes protocol add add @ protocol cadd cadd @ protocol cremove cremove @ protocol crename crename @ protocol remove remove @ protocol rename rename @ Issue #30 - class comments Issue #27 - method category browse/edit' id 'a8087e1a-60cc-4496-b8c2-bce6666abcc2' date '09/22/2013' time '07:27:02' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.66' message 'checkpoint: convert `cls` api to use the class instead of class name ... allow for saving of class comments Issue #30 - class comments Issue #27 - method category browse/edit' id 'aded723a-5f45-4f89-9c34-d9dc05dd89c9' date '09/22/2013' time '06:27:23' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.65' message 'checkpoint: `cls` command implementation, remove `rename class` (subsumed in `cls` command ... get serious about testing `cls` api cls comment comment @ cls copy copy @ cls create create @ cls definition definition @ cls history history @ cls protocol add protocol add @ cls protocol remove protocol remove @ cls rename rename @ cls remove remove @ Issue #30 - class comments Issue #27 - method category browse/edit' id '8d252748-6931-4687-934b-c4b2618d8f70' date '09/22/2013' time '05:52:29' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.64' message 'endeavor to get tests passing ...' id '41145e5e-6e10-43da-a0cf-6267b040f9fa' date '09/01/2013' time '07:48:14' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.63' message 'rename listIndex iv in TDClientListItemAttributes to list, since the slot is now expected to be an OrderedCollection...#navigate editor aspect should be reserved to use as the default aspect that brings up the standard navigator for all objects; rename attributes for those that didn''t follow this convention...add some support methods to TDGatewayNode...TDStackFrameContentsClientListElementBuilder should be a subclass of TDDirectoryNodeClientListElementBuilder so that we sharing some important behavior.' id '4a6ce6c8-276b-4bea-aa0c-c1cee1233896' date '06/01/2013' time '11:23:37' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.62' message 'get server tests passing again, with recent changes ... use $` to delimit tokens in command line, can be used to pass strings into commands (like commit messages) or escape tokens containing $; or $> ... ' id '98e01ec6-37f2-4322-b15b-53129f3f66a6' date '05/20/2013' time '22:36:44' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.61' message 'Object>>dotSelfObject was not packaged correctly ... ' id 'adbe55d5-1310-4b82-a0a5-cce754f52ae1' date '04/12/2013' time '07:04:28' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.60' message 'test is erroring out ... need stack ... ' id 'c02602f0-5509-46de-b99a-3f7418b7151a' date '04/12/2013' time '06:55:51' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.59' message 'need clue why test is failing on travis and not locally ' id 'f550289d-983a-450b-850d-1a012a6e8414' date '04/12/2013' time '06:45:36' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.58' message 'checkpoint: 26 run, 26 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes ' id 'd35eb0d1-17fc-4586-b957-d45db5f4b2ee' date '04/11/2013' time '22:02:31' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.57' message 'get started on getting tests to pass ... step 1 eliminate spurious halts step 2 get debugger functional again ... step 3 will be to allow edit (using #print aspect) of objects from navigator ' id 'b19677ea-12e3-405f-ab22-49c46bd4bb57' date '04/11/2013' time '17:27:19' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.56' message 'add TDEditorSpec to encapsulate the proliferation of editor arguments ... replace all calls to edit:... with editUsing: that takes a TDEditorSpec as argument ...finally allow for edit of String that brings up source editor and navigate object references to instances of String that views chars in string instead of the node view ... need to be able to bring up an editor on the string FROM navigator ' id '526f69ac-da4b-4549-a1cb-f6d3d0e30bdc' date '04/11/2013' time '16:58:31' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.55' message 'using #navigate or #edit to replace #browse for editor aspect depending upon context ... ' id '65596b96-1524-46fa-86da-6f42d5c3f0b3' date '04/10/2013' time '17:17:25' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.54' message 'isolate some GemStone 3.1 specific class references/methods ' id '44c219bc-a5ec-4bff-b80d-acbba1943a30' date '03/30/2013' time '08:48:51' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.53' message 'mr add, create, list implemented. CMD-v of class on package adds class to package. Package process tools separately (resolve a load order issue). Support dev scenario (with assortment of changes): 1. create package (mc create) 2. move class to package (CMD-v) 3. add package to baseline (manual edit of baseline) 4. diff for baseline package (mc diff) 5. commit baseline (mc commit) 6. produce diff for baseline (mm diff). 7. commit dirty packages in baseline (mm commit) ' id 'effbe980-3ce0-4174-b6af-4c025728777a' date '03/10/2013' time '15:04:43' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.52' message 'arrange to highlight the item in the parent list when clicking on .. entry in navigator ' id '4b33b07d-4be2-4413-8847-c135c4ff9ae7' date '02/17/2013' time '13:35:57' author 'dkh' ancestors ((name 'Topez-Server-Tests-DataCurator.51' message 'text highlighting for diffs ... mm dirty, mm get, mm diff, mm list commands implemented ... ' id 'bb0a3e39-8374-4728-b211-3d6f782f807c' date '02/10/2013' time '13:23:48' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.50' message 'remove some extra methods ' id '56da7a05-81c0-44ee-92f5-3e37d83ec9f5' date '02/09/2013' time '17:06:52' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.49' message 'trim stack in debugger when saving method source ' id '6f500b0d-3982-445a-8f84-60ca3a1d3a9f' date '02/09/2013' time '17:01:49' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.48' message 'tests passing: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ' id 'b06c73d5-0553-4a5e-a558-7b53950d89c8' date '02/04/2013' time '17:07:58' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.47' message 'tests are passing: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ... (value) applies to ALL specials ' id 'afb9cd8f-42b1-48f3-848c-a64e8fd14c8f' date '02/04/2013' time '14:17:34' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.46' message 'add (class) and (oop) fields for Dictionary view ' id '8bcbb383-e104-447d-8909-bd05c50b49ef' date '02/04/2013' time '11:11:57' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.45' message 'clean up tests after changing navigation logic: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ' id '2357c22a-bd35-4810-9778-5e0f0d96a441' date '02/04/2013' time '10:48:37' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.44' message 'checkpoint ... getting started on display policy ' id '0cbd85c2-7bd5-47a1-b834-c42c98a57eb4' date '02/01/2013' time '17:07:04' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.43' message 'allow specification of windowLocation when doing an edit... ' id '94ac6f94-9533-411e-8e5e-903fd52eed29' date '01/27/2013' time '21:03:16' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.42' message '23 run, 23 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes : after work started 62d22ae360377696b94589bef6c454ace5028a82 ... with a healthy dose of debugger work: db thru and friends ' id '362012d2-0e64-429e-bdb6-4a4d1f90918d' date '01/26/2013' time '22:40:59' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.41' message 'add a second example for db thru command ' id '7c99a92b-a580-46fd-bfbc-95d1c8bc82a0' date '01/26/2013' time '08:57:40' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.40' message 'checkpoint ... circling the solution (hopefully the technique will work) ... ' id '8f7dab54-afe4-48d8-814a-1df98f0a2a65' date '01/26/2013' time '00:33:41' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.39' message 'checkpoint ... more progress on db thru command ' id '21c25eae-9bce-48c4-b800-1a1bb1b1c636' date '01/25/2013' time '23:11:44' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.38' message 'checkpoint ... handling halt in debugger ... ' id '15c21552-5aeb-46ca-8f52-025df45074b4' date '01/25/2013' time '20:30:17' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.37' message 'checkpoint ... starting work on getting breakpoints/halt working for db over / db continue / db thru by reusing the debugger ... db over currently stops for breakpoint ... ' id 'fffb830a-70a6-4f17-a3a3-6dc3e5231d22' date '01/25/2013' time '19:44:50' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.36' message 'checkpoint ... arrange for final aspect to be passed along after lookup to avoid propogating an aspect that doesn''t match the aspect you ended up using ... txtnodes and friends are losing their parent object somehow during navigation ... ' id 'd6d690ff-ac7b-47ce-be9a-87716be7dd1a' date '01/25/2013' time '17:26:29' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.35' message 'checkpoint: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ... convert from #edit #inspect to #browse #view #inspect ... still some rough edges ' id 'bbbb3d71-63f0-491d-92f8-48cd3c812d1f' date '01/25/2013' time '14:57:53' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.34' message 'checkpoint ... working through class hierarchy list element issues ... ' id '749435aa-1a9a-45f4-9127-319337214c4b' date '01/25/2013' time '01:03:21' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.33' message 'make pass through tests to accommodate all of the special handling: 19 run, 18 passes, 1 expected defects, 0 failures, 0 errors, 0 unexpected passes ' id '4709b552-6870-4c77-a27e-02aa4a994e33' date '01/24/2013' time '23:36:01' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.32' message 'add node builder for the specials and add special fields to inspectors: ''(class)'' ''(oop)'' ''(value)'' ' id '81c2cf06-bf3f-4183-8eeb-4a669717a127' date '01/24/2013' time '22:35:57' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.31' message 'test restructure ... start on #browse aspect ... desire to toggle aspect (between edit and inspect) on . item, but still working out kinks ... edit vs inspect on String is diagnostic at the moment ' id '1211d75b-15e1-4cee-b005-12f17d860f7e' date '01/24/2013' time '17:22:22' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.30' message 'finally get that last test for TDTxtLeafNode to pass ... finally realized that given the constraints of the test STON version of output is CORRECT...16 run, 15 passes, 0 expected failures, 0 failures, 0 errors, 1 unexpected passes ' id 'fa104f81-6efa-4ce8-ab36-5fda92eb84cb' date '01/24/2013' time '15:18:57' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.29' message 'basic fixes to context editor (debug inspector window) ' id 'd293b1c2-13e1-4553-8692-40d1ed7ab31b' date '01/24/2013' time '10:52:36' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.28' message 'reshape the builder tests copying scheme from the tool tests ... 16 run, 14 passes, 0 expected failures, 1 failures, 0 errors, 1 unexpected passes ' id '57db9469-326d-4953-ba5a-ac2e84f6ffb0' date '01/24/2013' time '09:36:35' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.27' message 'fix test running problem (abort test ... SHEESH!) ... better framework for TDAbstractToolTests ' id '4beb51a3-6c2c-4433-80c2-06f1bbae8f3b' date '01/23/2013' time '23:42:27' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.26' message 'renamed and refactored test hierarchy and started adding shell command tests ... hit an issue with running tests that needs to be addressed (related to using TransientValue methinks) ... some additional bugfixes ' id '3f69cc98-6bab-491b-bb45-5ab074076e03' date '01/23/2013' time '17:24:58' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.25' message 'convert Object>>edit:topez:aspect:windowId: to use the windowBuilder code ... eidt/save different text nodes ... debugger is basically working except for the failing test case: 19 run, 18 passes, 0 expected defects, 1 failures, 0 errors, 0 unexpected passes ' id 'd9e2a788-9208-45ca-8f8b-3abdff556fda' date '01/22/2013' time '23:26:09' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.24' message 'configure tests to make it easier to reproduce and characterize BUG #42698: mysterious process termination ' id '604b34d8-322b-4b56-8b99-9c5b4a447c34' date '01/22/2013' time '18:15:39' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.23' message '19 run, 17 passes, 0 expected defects, 2 failures, 0 errors, 0 unexpected passes ' id '16a132b8-c9a8-4969-9e3d-bee1f9b1efa0' date '01/22/2013' time '15:29:41' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.22' message 'insulate TDStack>>currentFrame against a terminated process ... ' id '5d53777e-c138-462e-8c48-fb3bb6fd8817' date '01/22/2013' time '14:52:03' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.21' message 'checkpoint ... have to deal with persistent ProcessScheduler instances ' id '6afe03a1-0969-4d00-92a2-6fcce0b776d9' date '01/22/2013' time '12:08:35' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.20' message '19 run, 14 passes, 0 expected defects, 3 failures, 2 errors, 0 unexpected passes ' id '60cf68dc-0cdc-4bb1-a8aa-0808024f7be3' date '01/22/2013' time '11:44:06' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.19' message 'ran into a ps bug while improving debug tool tests, so added ps tests: 19 run, 9 passes, 0 expected defects, 3 failures, 7 errors, 0 unexpected passes ' id 'aa0d7507-b3fd-4a93-bb02-e85016c32e9d' date '01/22/2013' time '11:36:33' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.18' message '9 run, 4 passes, 0 expected defects, 5 failures, 0 errors, 0 unexpected passes ' id '555b6e2d-c8f6-4f62-b0cf-b6d43ad0f2ce' date '01/22/2013' time '10:33:27' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.17' message '9 run, 3 passes, 0 expected defects, 6 failures, 0 errors, 0 unexpected passes ' id 'f3eba48f-2fa8-4f3b-ac03-cf41716b1b0d' date '01/22/2013' time '10:23:54' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.16' message 'define editors for stack, stackFrame and leafNodes ... those were the missing editor definitions ... add tests (currently failing) for all of the added editors ... ' id '9a4d3406-b652-4f06-b016-359a769df909' date '01/21/2013' time '18:27:20' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.15' message 'I thought I said: no #inspect aspect for window builders ... inspect command shoud provide focus for how inspecting will work moving forward... ' id '542fe44d-c0f7-4745-9dae-4cd1de0a9c01' date '01/21/2013' time '16:39:18' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.14' message 'tests are green ... which means I need more tests ' id '4fe451db-676b-477a-b516-cb9fceca5e78' date '01/21/2013' time '16:14:35' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.13' message 'add an additional test case ... get tests passing (almost) again ' id '05b78bd6-567a-4f84-b90f-cb05cbdf3dea' date '01/21/2013' time '16:00:32' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.12' message 'working through issues ... ' id 'c6a7b1c0-6320-4c6f-a777-192c06764c41' date '01/21/2013' time '14:25:13' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.11' message 'change default aspect to #edit ... #inspect for node builders is a ''standard'' object builder representation of the object ... why is String not cooperating? ... no #inspect for editors ... aspect for edit is used to provide different views of the same objects within different tools ... aspects for nodeBuilder provides transforms of the same objects for different tool ... for a particular tool, you can transform and look at standard view of no transform and look at non-standard view ... no need to couple edit and node builder .... object nodes propogate the aspect for transforms and there is no need to coordinate with the view ... ' id '6e899064-e3e2-475c-9855-0268f94a4ebc' date '01/18/2013' time '08:20:50' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.10' message 'add displayOops and characterLimit to shell tool ... current set of shell tools are passing ... ' id '2964ceb6-391a-41a1-95b4-16762393106a' date '01/16/2013' time '15:46:36' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.9' message 'don''t dink with nodeBuilders during tests ... move testSuite up one level to make it more accessible ... push server tests around a bit ' id '71cdcf07-7362-439f-9b9e-eed476c5bfa1' date '01/15/2013' time '11:00:23' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.8' message 'adding initial test case for window builder ... fix some test result display issues ... checkpoint while I revamp testing framework: cannot afford to break basic debugger functionality for the sake of a test:) ' id '8ea5a3f4-306c-4942-b679-f582cee2a5ff' date '01/15/2013' time '08:47:37' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.7' message 'add displayOops arg to tzNodeDisplay... use it in TDTopezServerTests ... both new tests pass ' id '322ebf7d-b16b-4246-9394-b7ec8fb81d29' date '01/14/2013' time '08:20:55' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.6' message 'add test for TDTopezServer>>buildNode:for:aspect: .. not passing yet ' id '6b2b3301-936f-43ab-aa9e-d84e42179f9a' date '01/12/2013' time '17:04:07' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.5' message 'stage is set to replace implementation of Object>>asTDObjectNode:topez:aspect: and friends ... same renaming and repackaging left over from addition of test package ' id 'db9fa690-c52b-463e-b584-793f5e56dd98' date '01/12/2013' time '16:08:11' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-dkh.4' message 'package up debug tools and debug tools tests separately' id 'ab07cb11-8287-41d1-90d9-703b5a985e70' date '01/11/2013' time '16:40:16' author 'dkh' ancestors ((name 'Topez-Server-Tests-DataCurator.3' message 'additional test cases for debugger ... tests passing ... tweaked test framework based on usage ... ' id 'd118f023-eba0-411b-8944-629807eb2485' date '12/23/2012' time '13:40:13' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.2' message 'checkpoint ... updating method lookup parser to handle frame print string with () enclosing the method class ... start adding tests ' id '95fa0b96-604e-4729-a000-8bf236597f23' date '12/23/2012' time '11:53:13' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-dkh.1' message 'rename from Topez-Core to Topez-Server-Core and Topez-Tests to Topez-Server-Tests' id 'ae719401-f7a3-4312-bf2b-230dc2a2439d' date '10/03/2012' time '16:26:34' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Topez-Server-Tests-dkh.171' message 'conditional support for Class>>removeFromClassHistory which fixes bug https://github.com/GsDevKit/GsDevKit/issues/74' id 'a682d65a-dc28-4da7-9f6b-873a2eff8c34' date '09/12/2015' time '12:28:57' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.170' message 'Issue #196: add and update tests for class history work' id '8c72b9a0-a04a-4ada-8ec3-e9165fa4cc08' date '09/11/2015' time '12:30:15' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.169' message 'Issue #196: tweak `cls history` tests .... ' id '68505b2a-3aba-45bd-bdf7-891b622a00c4' date '09/10/2015' time '20:23:13' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.168' message 'try to clean up random `ds` test failures and fix`ds` man page typo' id '770da9e0-fc96-4677-8b12-686a39ce7690' date '09/01/2015' time '11:39:34' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.167' message 'fix typo in TDShellBrowseCommandTests>>testBrowseProject' id '08073f1f-96e1-4c31-af6f-80ed9deca972' date '09/01/2015' time '08:59:44' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.166' message 'fix typo in TDShellCommandTests>>testDsCommand' id '1b757351-61e5-438a-babb-e1f99aac1fa1' date '09/01/2015' time '08:58:22' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.165' message 'stack logging for random failures in TDShellCommandTests>>testDsCommand' id '3b36074c-79e8-4df0-ac3b-fc65794dbfa1' date '08/10/2015' time '15:19:33' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.164' message 'Issue #181: get browse|find tests passing' id 'd45140b6-b635-49b0-b5b5-86a1c0b8730f' date '08/10/2015' time '12:55:28' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.163' message 'Issue #181: consolidate common arg handling implementations between `browse` and `find` commands ' id '9bb51e09-cdfb-4f8c-b5c4-7ea71e512d42' date '08/10/2015' time '12:24:18' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.162' message 'Issue #181: finish up first cut of find commands and add tests' id '90dd254d-3105-42d4-9191-897bbdfa987d' date '08/10/2015' time '11:22:58' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.161' message 'Issue #135: finish up the `Find` submenu with `Find>Method...`, `Find>String...`, `Find>Senders...`, and `Find>Case Sensitive String...` ... fine tune `browse source` and `find source` commands and man pages to include case sensitive and case insensitive searches' id 'd0f76928-531f-4a39-860d-60e97a38cad9' date '02/06/2015' time '14:01:43' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.160' message 'work on TDShellAbstractNodeTests>>removeTestRootNode ... have been getting random errors during tests that I suspect is due to improper clean up after tests ...' id '5a657481-6f40-4417-b775-bfb547cfb61f' date '12/18/2014' time '20:11:37' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.159' message 'Issue #110: avoid stomping around / and /home when running mount tests ...' id '50a9febe-e125-44f1-bf59-4916d47b91dc' date '11/12/2014' time '13:43:53' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.158' message 'Issue #110: mount command now supports directory or file mounting ... add mount command tests and update mount man page' id 'b315d755-bd6b-469a-b183-cfea6771aef6' date '11/12/2014' time '13:31:03' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.157' message 'Issue #110: more test cases ... I don''t think that I need to create tests for all of the combinations involving SimpleCopsedDirectoryNode..' id '044bcf7f-b990-4720-b4aa-70214d6313af' date '11/07/2014' time '13:54:25' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.156' message 'Issue #110: round out the composed node implementation add more tests ... clean up duplicate tests' id '9fb0337b-98a0-4ed8-b4d8-7456f7820a9c' date '11/07/2014' time '13:41:26' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.155' message 'Issue #110: add TDShellSimpleComposedFsToFsMvCpCommandTests' id '9df6a0f1-9e01-4433-9bbd-aeca7d9a4ae3' date '11/07/2014' time '12:10:56' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.154' message 'Issue #110: add TDShellFsToSimpleComposedFsMvCpCommandTests ... not passing yet ... checkpoint before making experimental bugfixes' id '1c51a495-e947-47bb-a88b-76ff7e7dc853' date '11/06/2014' time '17:33:47' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.153' message 'Issue #110: additional tests to cover the different node types for mv and cp' id 'a1e3c47a-6578-4a24-85aa-1a42851837a7' date '11/06/2014' time '15:10:40' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.152' message 'Issue #110: add some tests for TDComposedDirectoryNode ... passing at the moment ... need to flesh out rest of tests before moving forward with additional TDAbstractComposedDirectoryNodeContents implementations' id '60a22bee-e8f2-41c6-b560-0f81163b16b5' date '11/06/2014' time '14:24:09' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.151' message 'add tracing to TDShellClsCommandTests>>testAccessors01 ' id '862a613e-524d-4f0d-8b7a-9fe2279ad970' date '07/31/2014' time '07:27:43' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.150' message 'some tracing to determine source of travis-ci errors ' id '727832db-a616-4fe8-a566-b5d39147080b' date '06/22/2014' time '16:01:22' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.149' message 'clean up some sent but not implemented' id 'cbfd5b46-13d0-4513-aa46-ad07219bb1bc' date '05/24/2014' time '08:32:07' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.148' message '`man --class` and comment a few classes - class comments! ... well only a couple ... - implement `man --class ' id '399a0859-0b5b-4ce0-b1c7-56952ea34093' date '05/20/2014' time '20:19:42' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.147' message '`inspect` added, `save` configuration functional - add back `inspect` command ... too useful to lose - add `browse classes` menu item to project list might want to include the configuration, too? - use --porcelain option for `git status` menu item in project browser - configuration-based `save` appears to be working; dirty packages saved and configuration updated and saved ... need to work out scheme for opening a new version for development since registration needs to be updated ... - --config option added to `project commit` command to control whether or not the configuration is updated/saved after saving packages' id 'ac84fb51-c385-4c95-958a-07ed477f35e0' date '05/16/2014' time '14:30:41' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.146' message '- start work on `find` command - `find category` implemented - add TDShellFindCommandTests class. Copied from TDShellBrowseCommandTests, so there are some extra tests hanging around ... the will be pruned eventually' id '77f8b386-2e36-4b58-aad7-01fe56775ae5' date '05/06/2014' time '20:24:52' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.145' message '- implement `edit` command - implement `eval` command - tests - `print`, `inspect`, ''view` commands deleted' id 'a73561f6-63b6-4580-a742-def7583ce7a6' date '05/05/2014' time '10:41:00' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.144' message '- re-implement ''ds` command - `man` tweaked - tests' id '276a30ce-4c8a-48ae-a66c-e780261b2670' date '05/04/2014' time '14:56:55' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.143' message '- `run` and `doit` commands removed - `ws` command tweaked' id '86bb40e0-b7fb-4d17-a0be-807e095bc04b' date '05/04/2014' time '14:31:38' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.142' message '- implement `break` family of commands to replace `db break` family - man pages and tests - misc tweaks' id '7e3e6f73-30dc-4ad2-a4c6-f87c82ca4102' date '05/01/2014' time '04:19:58' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.141' message '- new man page for `cp` command - tests' id 'aba4a37e-7c9b-4be6-a5e1-73a600d0e1a0' date '04/30/2014' time '20:41:23' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.140' message '- `browse categories`, `browse configurations`, `browse packages` implemented - tests - `configs` and `pkgs` ... gone' id 'd420a86a-9406-475b-821c-f1937224fbf8' date '04/29/2014' time '08:00:02' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.139' message '- expand `cls protocol --remove` test to cover protocol with existing methods ... (remove the methods in the protocol)' id 'e1646e6f-c4fe-4aef-b305-dddc42ff7322' date '04/28/2014' time '20:26:37' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.138' message '- implement `method versions` command - tests - that''s it for the `method` familyof commands' id '156a9a1d-851f-447b-b078-fa338eb740f8' date '04/28/2014' time '20:16:13' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.137' message '- implement `method remove` command - tests ' id '839ab6f1-8690-48fe-9e0b-12f4185b9964' date '04/28/2014' time '20:05:07' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.136' message '- implement `method move` command - tests - isolate the `method` command operations in separate methods for Smalltalk scripting' id '67bfab5b-7065-4b32-90f4-f2d4e5a06a61' date '04/28/2014' time '19:53:43' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.135' message '- implement `method copy` command - tests' id '7b8598ca-3b0a-4dd8-bbed-06dc6ccca26d' date '04/28/2014' time '18:30:52' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.134' message '- clean up implementation of `debug it` ... need to be able to access literals in doit context - start work on `method` command - implement `method browse` command - implement `method protocol` command - tests' id '4a895478-9723-4ee9-bd10-f4f40576aff4' date '04/28/2014' time '17:56:51' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.133' message '- `commit` command reworked - tests ' id 'd922c5cb-a91b-49de-bd8c-862cb25a4046' date '04/28/2014' time '16:06:42' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.132' message '- `cls remove` implemented - tests ' id '995f1a4f-e38e-433e-9e4d-31c69c575a7e' date '04/28/2014' time '15:49:53' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.131' message '- `cls category` implemented - `cls rename` implemented - document that `cls protocol` accepts @ references.. - define doitContext for debugger source window - fix a bug in TDShellTool>>protocol:rename:to: in Gemstone 2.4 - tests ' id 'a328e31b-19f1-4cea-b90c-cf92356e8219' date '04/28/2014' time '13:13:09' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.130' message '- `cls protocol` implemented - tests - `protocol` command removed ... replaced by `cls protocol`' id 'aec639a3-f9c4-48fc-944c-ecd0dc42b566' date '04/27/2014' time '22:30:02' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.129' message '- `cls history` revisited' id '3a5e7da2-3db6-4a44-8739-2b41743fea05' date '04/27/2014' time '21:14:54' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.128' message '- tweak the tests for `ws` and `cls definition`' id '1a43b31d-19a6-4de2-ac4a-7c90f5a38656' date '04/27/2014' time '20:58:57' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.127' message '- implement `cls definition` command - tests - `cls create` command removed ... not very useful ... use the `cls definition` command instead' id '12a3bc1b-51f3-49c1-a6cc-a474613203e8' date '04/27/2014' time '11:19:30' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.126' message '- `implement `cls copy` command - fix bugs in `cls accessors` command - tests ' id 'c1eb587b-ccc3-4ee1-8434-940b1be89459' date '04/27/2014' time '09:22:20' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.125' message '- multiple class args for `cls accessors` and path ref - `implement `cls comment` command - tests' id 'b7cd1a0d-fee4-4fc3-a36c-38ef7d0d597e' date '04/27/2014' time '08:06:01' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.124' message '- TDAbstractDevTool class>>performCommand:objIn:commandOptions:todeCommand: to provide for --help for regular commands - --help option added to abort, cat and cd commands ... tests - categorize some TDShellTool methods ... those that have been rewriiten - begin work on the `cls` command ... - `cls accessors` implemented plus tests - fix an option handling error in `bu` command' id '1ceb461c-df49-4f21-a291-4939877c15ac' date '04/26/2014' time '21:09:13' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.123' message '- fix `man` command tests ...' id '1db00951-8a86-4238-b7d3-69e259a3c681' date '04/20/2014' time '21:19:25' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.122' message '- `man` command test' id '10264062-1a8b-47fb-b849-3c66a099c7bd' date '04/20/2014' time '15:22:27' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.121' message '- working on getting tests to pass in GemStone 2.4.x' id '4b026990-b227-4319-9298-1c445dba1e1a' date '04/19/2014' time '20:44:41' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.120' message '- fix problems with labels for the new blobk-based commands - all tests should pass now ...' id '66e9970a-04ea-434d-a96a-d3aedb0077ad' date '04/19/2014' time '15:06:05' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.119' message '- travis test failure logging' id 'e4bdc7b3-d75d-4f54-a887-c3b146573cf1' date '04/19/2014' time '12:35:51' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.118' message '- remove undeclared symbol references from Tode code base - implement block-based method browsing so that refresh of window recalculates search - need block-based class browsing .., - use GsDeployer for class changes - fix up item selected problems ... - add --staticList option bot `browse` command' id '8d9a148e-ecb3-4859-b15c-c0c106253dc7' date '04/19/2014' time '12:14:42' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.117' message '- `browse source`, `browse undeclared`, `browse variables`, and `browse versions` implemented and man pages written ... and tests defined ... - one final pass to define refresh blocks needed' id 'c0c05cfb-7038-40e4-99d4-0b5e4e0f83d3' date '04/19/2014' time '09:04:01' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.116' message '- implement and write man page for`browse sender` - fix up problem with --scriptPath option ... create TDShellTool>>browseLeafNodes:pattern:label: method - catch up with tests ' id '5862e787-bb69-45f2-980d-84bb51e09fe9' date '04/18/2014' time '20:18:34' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.115' message '- implement and write man page for`browse references`, `browse diff`, `browse list`, `browse package`, `browse project`, `browse method`, `browse class` - stub out `browse variables` and `browse undeclared` - add some tests ... still need to make sure that test are up-to-date with respect to implementation' id '5d2c1305-6df7-4fbb-95e9-4c2f6805cad5' date '04/18/2014' time '17:40:40' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.114' message '- handle AlmostOutStack as a printing error - add subCommand --help and `man` support to tools - --select option added to all browse commands (need to implement) - `browse category` command added again, plush subCommand man page - `browse class` man page updated for subCommand support (still need to finish `browse class` implementation - `browse` man page updated for subCommand support - `browse symbolDict` command and man page added - tests ' id '7f2f44c9-8c83-483d-9edd-d657f64a344e' date '04/18/2014' time '14:05:46' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.113' message '- enhance filter block test to verify that block is being compiled and used correctly - start adding subcommands to man page ... bite the bullet now...' id '892ca134-00d8-4f00-a397-56a8f0aab228' date '04/17/2014' time '17:03:12' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.112' message '- add test for use case where we pass a smalltalk block as a command line option - still need to support this use case in the --filter option for the browse command' id 'f7bdf352-2219-44d0-a9fb-fedeb29e893a' date '04/17/2014' time '10:02:54' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.111' message '- fix problem with incorrect `` escape handling - checkpoint working on add --filter to more `browse` commands including embedding code for filter block - revisit `browse references` --literal option ... just compile literal from the string - `browse category` folded into `browse class` command - currently debugging TDShellBrowseCommandTests>>testBrowseMethod ... will need to review man pages and update commands/tests to match the man pages ... ' id '23ffd53e-77c1-49e7-8fb5-21ead1db7ee8' date '04/16/2014' time '16:35:59' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.110' message '- more `browse` command tests' id '1ce1b1be-1652-4d4b-b4dd-0f4d4725a2b3' date '04/16/2014' time '07:30:33' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.109' message '- tweaks to `browse` command - clean up some obsolete `browse` methods - begin work on `browse` command tests' id '178a2c1e-b4d2-42f2-a7d6-b94d11e6a5ed' date '04/15/2014' time '21:17:43' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.108' message '- porting to GemStone 2.x' id '2e4ac3bd-6243-403e-8920-2390ce46c9ea' date '04/13/2014' time '19:20:50' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.107' message 'more work on getting tests to pass in GemStone 2.4' id 'f48b4c00-e4d6-4f6d-8957-2e4630ef0b74' date '03/23/2014' time '17:54:28' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.106' message 'get 2.4 tests passing...' id 'df4cef60-f1c7-4f88-8812-049de15227d2' date '03/22/2014' time '22:03:37' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.105' message 'full range of `mv` and `cp` tests implemented and passing' id 'bdc0f592-1f6a-4503-854f-bd54cfc41ae4' date '12/23/2013' time '12:52:58' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.104' message 'checkpoint: starting gw to gw work ... failures/errors are gw related ...: 130 run, 116 passes, 0 expected defects, 4 failures, 10 errors, 0 unexpected passes made some fundamental changes to core classes that have not affected non-gw test results.' id 'bb7e9b60-981d-4a31-bc90-8ff06a28de03' date '12/23/2013' time '10:10:03' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.103' message 'checkpoint: all tests (including `fs to obj` and `obj to fs` tests) are passing: 104 run, 104 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes' id '76647d90-48f3-4b9f-bc67-82699ffec7c3' date '12/23/2013' time '09:33:57' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.102' message 'checkpoint: `fs to obj` and `obj to fs` tests are not passing: 104 run, 83 passes, 0 expected defects, 18 failures, 3 errors, 0 unexpected passes will need to do a little more double dispatching as the proxy nodes record their changes to disk (when backed by files) see the TDFileSystemDirectoryNode code which needs to be pushed out one more layer' id 'e77b3736-3537-416f-92a8-371e6e42b51c' date '12/22/2013' time '21:10:49' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.101' message 'checkpoint: `fs to fs` and `obj to obj` tests are passing' id '759edd09-8494-4331-81d5-c482783f6996' date '12/22/2013' time '21:03:25' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.100' message 'checkpoint: preparing for fs to fs tests' id '545d0889-5cce-4777-b12c-1b55126b443c' date '12/22/2013' time '18:53:28' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.99' message 'checkpoint: filled out set of tests for `mv` command' id '9be5a5cc-166f-4322-986f-12f9489492e0' date '12/22/2013' time '18:47:20' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.98' message 'checkpoint: rewrite `mv` man page ... a little refactoring ... cp:in: and mv:in: share quite a bit of code ...' id '7ae63cc2-38ad-42c2-ba37-a393112bd764' date '12/22/2013' time '15:44:17' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.97' message 'checkpoint: filled out set of tests for `cp` command ... leaf and directory nodes covered for all combos ... I think' id '0322becf-d42e-4aa2-b4d9-60cddb6ef2cc' date '12/22/2013' time '12:58:12' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.96' message 'checkpoint: finally get semantics for `cp ` correct ... update the `cp` man page.' id '2e0b036d-c0aa-4eff-a68b-8c87503092e3' date '12/22/2013' time '12:22:23' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.95' message 'started ''cp directory to directory'' series of tests/implementation' id '4ede956e-13e5-4f2e-873c-d07f6f228f3e' date '12/22/2013' time '10:47:38' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.94' message 'add cp/mv over self to test cases ...' id '4df6c1a3-4b34-459a-b8fe-500ff1d43d28' date '12/22/2013' time '08:43:46' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.93' message 'tests for `mv` and `cp` commands (about time) ... leaf-based `mv` and `cp` tests written and passing for obj to obj operations ...' id 'd8cb0d6d-10f8-4d90-a94b-84d4876adfc1' date '12/21/2013' time '20:31:39' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.92' message 'relocate test tools from /home to /tmp/t ... that way /home can be a gateway node. The tests hang objects off of /tmp/t/tests and we don''t want to be in the business of saving objects to disk .... TDShellAbstractRsyncCommandTests running green' id 'f31c9525-2833-42ed-a288-345286218d1c' date '12/06/2013' time '18:38:19' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.91' message 'Issue #37: rename `ston rsync` command to just plain `rsync` ... not really limited to `ston` anymore ... rename tests ...' id '4a8bd504-e1c5-465e-a7a6-004c00379a0c' date '12/06/2013' time '17:57:36' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.90' message 'Issue #37: add support for using a Gateway node as proxy for FileSystem directory and thus src/dest for `ston rsync` command ... start adding tests/support for using a Gateway node as a "symbolic link" to another object node - doesn''t work out of the box so more work needed (or just abandon the idea)' id 'a234d674-3bf5-4a4b-9711-d9e3c0dbc383' date '12/05/2013' time '08:36:51' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.89' message 'Issue #37: `ston rsync` implementation not complete, however, we''ve hit point where perhaps enough of the `rsync` functionality has been completed where with the File System leaf node support, I think we''ve got enough functionality to form the foundation for a pretty nice sharing model ... will start heading in that direction and see if additional `rsync` functionality is called for ... tests are green for all four combos of fs/obj node structure: TDShellFsToFsStonCommandTests TDShellObjToObjStonCommandTests TDShellFsToObjStonCommandTests TDShellObjToFsStonCommandTests' id '1647ac7f-3870-46b8-8985-09867096968f' date '12/03/2013' time '15:46:32' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.88' message 'Issue #37: `use #beRounded DateAndTimes ... avoid SmallDouble serialization impreciseness ... TDShellFsToFsStonCommandTests are green' id 'f92e5e23-76bf-4468-9e23-62989d349a9b' date '12/01/2013' time '21:20:18' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.87' message 'Issue #37: `rsync rsync --recursive --relative` TDShellFsToFsStonCommandTests tests pass .. full path and relative path source...' id 'a15821fc-a35f-4ca5-85d2-1417a67f7822' date '12/01/2013' time '20:46:57' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.86' message 'Issue #37: `rsync rsync --recursive --relative` TDShellFsToFsStonCommandTests tests pass' id '93a8479a-db9b-4671-9714-a900f8002166' date '12/01/2013' time '20:29:57' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.85' message 'Issue #37: TDShellFsToFsStonCommandTests tests pass' id '0afe12ee-d4aa-437d-a08a-283e7d1ea905' date '12/01/2013' time '19:50:52' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.84' message 'Issue #37: rsync recurse tests migrated ... TDShellFsToFsStonCommandTests test don''t pass, but that''s because of bug in the way rsync is implemented for file system nodes...' id '828fd537-ba98-4eab-9791-2037e6d4e2db' date '12/01/2013' time '11:56:55' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.83' message 'Issue #37: rsync checksum tests migrated' id '0d4fa319-31b2-4552-bea0-9b1aadd650b0' date '12/01/2013' time '10:28:58' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.82' message 'Issue #37: tweak before major test migration' id '08485b77-971c-4213-b8bd-e2fe90c96cf6' date '12/01/2013' time '10:08:04' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.81' message 'Issue #37: rename/refactor TDShellAbstractStonCommandTests hierarchy in preparation for testing four combos: - obj to obj - fs to fs - obj to fs - fs to obj' id '25672423-5fac-4064-8872-af7a79136a7a' date '12/01/2013' time '09:59:28' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.80' message 'Issue #37: TDShellFileSystemStonCommandTests>>testRsync passes ... "transparent" access to disk-based objects (.ston files) ... oh and rsync objcts from disk to disk ...' id '5b83eac1-eea1-4747-b7f0-3eed5487a41f' date '11/29/2013' time '10:00:08' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.79' message 'Issue #37: work out TDFileSystemDirectoryNode rendering ... push TDShellAbstractStonCommandTests root path handling to satisfy disk-based object paths ... checkpoint as I have to consider best way to represent object structure on disk ... would like to `cd ` where a "directory" will have a bunch of TDNodes serialized to disk and I;d like it to look like a regular TDDirectoryNode with children ... so will probably at `.ston` extension on files and meatrialize `.ston` files when encountered on disk via object shell interaction ... time for some experiments...' id '68885f8c-d48d-40e1-b416-424f0c618a25' date '11/29/2013' time '09:03:45' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.78' message 'Issue #37: as part of the script sharing work, I am merging the filesystem and objectSystem into a seamless whole...once you''ve spliced a file system "mount point" into the objectory (object directory) you should be able to `cp` and `rsync` objects and files back and forth (with some initial limitiations) objects are stored in STON format on disk and disk entities have a TDFileSystemNode that represents them ... I''ve filled out the basic apis without a lot of testing ...' id 'd36d35c9-3fb0-42b6-a715-9f9b9c5133e8' date '11/27/2013' time '11:20:47' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.77' message 'checkpoint: `rsync --relative` implemented' id 'e27eed4f-2f7a-4717-9172-7b6f2c62f3a2' date '11/26/2013' time '15:22:23' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.76' message 'checkpoint: `rsync --recursive` implemented' id 'ec546524-aa30-40b5-8b0d-15ee6fe9fe33' date '11/26/2013' time '12:13:53' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.75' message 'TDShellStonCommandTests>>testRsyncDir just added test .. doesn''t pass yet...' id 'b3ea5715-1655-4217-b35a-480e052637ae' date '11/20/2013' time '15:56:01' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.74' message 'implement --times, --existing, and --dry-run (bits and pieces ... testing should wait until all of the options are implemented)' id '2930d5ad-bc94-4fd3-bb80-3a758ab65a29' date '11/17/2013' time '14:41:11' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.73' message 'Issue #37: checkpoint on `ston rsync` work ... even more options implemented, even more tests written ...' id '5120b7b3-1048-45ad-9417-6aa8d094b378' date '11/14/2013' time '10:06:47' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.72' message 'update manPage for `ston rsync` and flesh out the first test' id '41659960-8504-407c-b4c5-ada8261417d7' date '11/11/2013' time '22:45:49' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.71' message 'Issue #37: attack `ston rsync` implementation ... TDSTONRsync is my visitor ... ' id 'f9d323d4-6c0f-4ba0-9559-5ec6db154668' date '11/11/2013' time '07:33:06' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.70' message 'clean up failing tests on server-side' id '1932dfa0-f6f5-4637-9dab-5b1d870c92d3' date '10/20/2013' time '20:45:34' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.69' message 'nuke TDAbstractBuilderTests and friends ... too brittle and not really that useful ... new approach needed' id 'd6bc5fce-7bff-4757-9199-23c89f88ea26' date '09/28/2013' time '14:01:54' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.68' message 'checkpoint: class history bugfixes ... copy/paste should be working for protocols (paste method on protocol to move method to that protocol or add method in that protocol) ... add `cls accessors` command Issue #27 - method category browse/edit' id 'ba674bab-1a1b-485d-9b84-798796dc7246' date '09/22/2013' time '13:59:32' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.67' message 'checkpoint: add `protocol` command for method category edits ... `test class` command changed to allow listing of multiple classes protocol add add @ protocol cadd cadd @ protocol cremove cremove @ protocol crename crename @ protocol remove remove @ protocol rename rename @ Issue #30 - class comments Issue #27 - method category browse/edit' id 'a8087e1a-60cc-4496-b8c2-bce6666abcc2' date '09/22/2013' time '07:27:02' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.66' message 'checkpoint: convert `cls` api to use the class instead of class name ... allow for saving of class comments Issue #30 - class comments Issue #27 - method category browse/edit' id 'aded723a-5f45-4f89-9c34-d9dc05dd89c9' date '09/22/2013' time '06:27:23' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.65' message 'checkpoint: `cls` command implementation, remove `rename class` (subsumed in `cls` command ... get serious about testing `cls` api cls comment comment @ cls copy copy @ cls create create @ cls definition definition @ cls history history @ cls protocol add protocol add @ cls protocol remove protocol remove @ cls rename rename @ cls remove remove @ Issue #30 - class comments Issue #27 - method category browse/edit' id '8d252748-6931-4687-934b-c4b2618d8f70' date '09/22/2013' time '05:52:29' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.64' message 'endeavor to get tests passing ...' id '41145e5e-6e10-43da-a0cf-6267b040f9fa' date '09/01/2013' time '07:48:14' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.63' message 'rename listIndex iv in TDClientListItemAttributes to list, since the slot is now expected to be an OrderedCollection...#navigate editor aspect should be reserved to use as the default aspect that brings up the standard navigator for all objects; rename attributes for those that didn''t follow this convention...add some support methods to TDGatewayNode...TDStackFrameContentsClientListElementBuilder should be a subclass of TDDirectoryNodeClientListElementBuilder so that we sharing some important behavior.' id '4a6ce6c8-276b-4bea-aa0c-c1cee1233896' date '06/01/2013' time '11:23:37' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.62' message 'get server tests passing again, with recent changes ... use $` to delimit tokens in command line, can be used to pass strings into commands (like commit messages) or escape tokens containing $; or $> ... ' id '98e01ec6-37f2-4322-b15b-53129f3f66a6' date '05/20/2013' time '22:36:44' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.61' message 'Object>>dotSelfObject was not packaged correctly ... ' id 'adbe55d5-1310-4b82-a0a5-cce754f52ae1' date '04/12/2013' time '07:04:28' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.60' message 'test is erroring out ... need stack ... ' id 'c02602f0-5509-46de-b99a-3f7418b7151a' date '04/12/2013' time '06:55:51' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.59' message 'need clue why test is failing on travis and not locally ' id 'f550289d-983a-450b-850d-1a012a6e8414' date '04/12/2013' time '06:45:36' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.58' message 'checkpoint: 26 run, 26 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes ' id 'd35eb0d1-17fc-4586-b957-d45db5f4b2ee' date '04/11/2013' time '22:02:31' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.57' message 'get started on getting tests to pass ... step 1 eliminate spurious halts step 2 get debugger functional again ... step 3 will be to allow edit (using #print aspect) of objects from navigator ' id 'b19677ea-12e3-405f-ab22-49c46bd4bb57' date '04/11/2013' time '17:27:19' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.56' message 'add TDEditorSpec to encapsulate the proliferation of editor arguments ... replace all calls to edit:... with editUsing: that takes a TDEditorSpec as argument ...finally allow for edit of String that brings up source editor and navigate object references to instances of String that views chars in string instead of the node view ... need to be able to bring up an editor on the string FROM navigator ' id '526f69ac-da4b-4549-a1cb-f6d3d0e30bdc' date '04/11/2013' time '16:58:31' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.55' message 'using #navigate or #edit to replace #browse for editor aspect depending upon context ... ' id '65596b96-1524-46fa-86da-6f42d5c3f0b3' date '04/10/2013' time '17:17:25' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.54' message 'isolate some GemStone 3.1 specific class references/methods ' id '44c219bc-a5ec-4bff-b80d-acbba1943a30' date '03/30/2013' time '08:48:51' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.53' message 'mr add, create, list implemented. CMD-v of class on package adds class to package. Package process tools separately (resolve a load order issue). Support dev scenario (with assortment of changes): 1. create package (mc create) 2. move class to package (CMD-v) 3. add package to baseline (manual edit of baseline) 4. diff for baseline package (mc diff) 5. commit baseline (mc commit) 6. produce diff for baseline (mm diff). 7. commit dirty packages in baseline (mm commit) ' id 'effbe980-3ce0-4174-b6af-4c025728777a' date '03/10/2013' time '15:04:43' author 'dkh' ancestors ((name 'Topez-Server-Tests-dkh.52' message 'arrange to highlight the item in the parent list when clicking on .. entry in navigator ' id '4b33b07d-4be2-4413-8847-c135c4ff9ae7' date '02/17/2013' time '13:35:57' author 'dkh' ancestors ((name 'Topez-Server-Tests-DataCurator.51' message 'text highlighting for diffs ... mm dirty, mm get, mm diff, mm list commands implemented ... ' id 'bb0a3e39-8374-4728-b211-3d6f782f807c' date '02/10/2013' time '13:23:48' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.50' message 'remove some extra methods ' id '56da7a05-81c0-44ee-92f5-3e37d83ec9f5' date '02/09/2013' time '17:06:52' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.49' message 'trim stack in debugger when saving method source ' id '6f500b0d-3982-445a-8f84-60ca3a1d3a9f' date '02/09/2013' time '17:01:49' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.48' message 'tests passing: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ' id 'b06c73d5-0553-4a5e-a558-7b53950d89c8' date '02/04/2013' time '17:07:58' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.47' message 'tests are passing: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ... (value) applies to ALL specials ' id 'afb9cd8f-42b1-48f3-848c-a64e8fd14c8f' date '02/04/2013' time '14:17:34' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.46' message 'add (class) and (oop) fields for Dictionary view ' id '8bcbb383-e104-447d-8909-bd05c50b49ef' date '02/04/2013' time '11:11:57' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.45' message 'clean up tests after changing navigation logic: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ' id '2357c22a-bd35-4810-9778-5e0f0d96a441' date '02/04/2013' time '10:48:37' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.44' message 'checkpoint ... getting started on display policy ' id '0cbd85c2-7bd5-47a1-b834-c42c98a57eb4' date '02/01/2013' time '17:07:04' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.43' message 'allow specification of windowLocation when doing an edit... ' id '94ac6f94-9533-411e-8e5e-903fd52eed29' date '01/27/2013' time '21:03:16' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.42' message '23 run, 23 passes, 0 expected defects, 0 failures, 0 errors, 0 unexpected passes : after work started 62d22ae360377696b94589bef6c454ace5028a82 ... with a healthy dose of debugger work: db thru and friends ' id '362012d2-0e64-429e-bdb6-4a4d1f90918d' date '01/26/2013' time '22:40:59' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.41' message 'add a second example for db thru command ' id '7c99a92b-a580-46fd-bfbc-95d1c8bc82a0' date '01/26/2013' time '08:57:40' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.40' message 'checkpoint ... circling the solution (hopefully the technique will work) ... ' id '8f7dab54-afe4-48d8-814a-1df98f0a2a65' date '01/26/2013' time '00:33:41' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.39' message 'checkpoint ... more progress on db thru command ' id '21c25eae-9bce-48c4-b800-1a1bb1b1c636' date '01/25/2013' time '23:11:44' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.38' message 'checkpoint ... handling halt in debugger ... ' id '15c21552-5aeb-46ca-8f52-025df45074b4' date '01/25/2013' time '20:30:17' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.37' message 'checkpoint ... starting work on getting breakpoints/halt working for db over / db continue / db thru by reusing the debugger ... db over currently stops for breakpoint ... ' id 'fffb830a-70a6-4f17-a3a3-6dc3e5231d22' date '01/25/2013' time '19:44:50' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.36' message 'checkpoint ... arrange for final aspect to be passed along after lookup to avoid propogating an aspect that doesn''t match the aspect you ended up using ... txtnodes and friends are losing their parent object somehow during navigation ... ' id 'd6d690ff-ac7b-47ce-be9a-87716be7dd1a' date '01/25/2013' time '17:26:29' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.35' message 'checkpoint: 23 run, 23 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes ... convert from #edit #inspect to #browse #view #inspect ... still some rough edges ' id 'bbbb3d71-63f0-491d-92f8-48cd3c812d1f' date '01/25/2013' time '14:57:53' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.34' message 'checkpoint ... working through class hierarchy list element issues ... ' id '749435aa-1a9a-45f4-9127-319337214c4b' date '01/25/2013' time '01:03:21' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.33' message 'make pass through tests to accommodate all of the special handling: 19 run, 18 passes, 1 expected defects, 0 failures, 0 errors, 0 unexpected passes ' id '4709b552-6870-4c77-a27e-02aa4a994e33' date '01/24/2013' time '23:36:01' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.32' message 'add node builder for the specials and add special fields to inspectors: ''(class)'' ''(oop)'' ''(value)'' ' id '81c2cf06-bf3f-4183-8eeb-4a669717a127' date '01/24/2013' time '22:35:57' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.31' message 'test restructure ... start on #browse aspect ... desire to toggle aspect (between edit and inspect) on . item, but still working out kinks ... edit vs inspect on String is diagnostic at the moment ' id '1211d75b-15e1-4cee-b005-12f17d860f7e' date '01/24/2013' time '17:22:22' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.30' message 'finally get that last test for TDTxtLeafNode to pass ... finally realized that given the constraints of the test STON version of output is CORRECT...16 run, 15 passes, 0 expected failures, 0 failures, 0 errors, 1 unexpected passes ' id 'fa104f81-6efa-4ce8-ab36-5fda92eb84cb' date '01/24/2013' time '15:18:57' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.29' message 'basic fixes to context editor (debug inspector window) ' id 'd293b1c2-13e1-4553-8692-40d1ed7ab31b' date '01/24/2013' time '10:52:36' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.28' message 'reshape the builder tests copying scheme from the tool tests ... 16 run, 14 passes, 0 expected failures, 1 failures, 0 errors, 1 unexpected passes ' id '57db9469-326d-4953-ba5a-ac2e84f6ffb0' date '01/24/2013' time '09:36:35' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.27' message 'fix test running problem (abort test ... SHEESH!) ... better framework for TDAbstractToolTests ' id '4beb51a3-6c2c-4433-80c2-06f1bbae8f3b' date '01/23/2013' time '23:42:27' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.26' message 'renamed and refactored test hierarchy and started adding shell command tests ... hit an issue with running tests that needs to be addressed (related to using TransientValue methinks) ... some additional bugfixes ' id '3f69cc98-6bab-491b-bb45-5ab074076e03' date '01/23/2013' time '17:24:58' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.25' message 'convert Object>>edit:topez:aspect:windowId: to use the windowBuilder code ... eidt/save different text nodes ... debugger is basically working except for the failing test case: 19 run, 18 passes, 0 expected defects, 1 failures, 0 errors, 0 unexpected passes ' id 'd9e2a788-9208-45ca-8f8b-3abdff556fda' date '01/22/2013' time '23:26:09' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.24' message 'configure tests to make it easier to reproduce and characterize BUG #42698: mysterious process termination ' id '604b34d8-322b-4b56-8b99-9c5b4a447c34' date '01/22/2013' time '18:15:39' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.23' message '19 run, 17 passes, 0 expected defects, 2 failures, 0 errors, 0 unexpected passes ' id '16a132b8-c9a8-4969-9e3d-bee1f9b1efa0' date '01/22/2013' time '15:29:41' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.22' message 'insulate TDStack>>currentFrame against a terminated process ... ' id '5d53777e-c138-462e-8c48-fb3bb6fd8817' date '01/22/2013' time '14:52:03' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.21' message 'checkpoint ... have to deal with persistent ProcessScheduler instances ' id '6afe03a1-0969-4d00-92a2-6fcce0b776d9' date '01/22/2013' time '12:08:35' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.20' message '19 run, 14 passes, 0 expected defects, 3 failures, 2 errors, 0 unexpected passes ' id '60cf68dc-0cdc-4bb1-a8aa-0808024f7be3' date '01/22/2013' time '11:44:06' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.19' message 'ran into a ps bug while improving debug tool tests, so added ps tests: 19 run, 9 passes, 0 expected defects, 3 failures, 7 errors, 0 unexpected passes ' id 'aa0d7507-b3fd-4a93-bb02-e85016c32e9d' date '01/22/2013' time '11:36:33' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.18' message '9 run, 4 passes, 0 expected defects, 5 failures, 0 errors, 0 unexpected passes ' id '555b6e2d-c8f6-4f62-b0cf-b6d43ad0f2ce' date '01/22/2013' time '10:33:27' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.17' message '9 run, 3 passes, 0 expected defects, 6 failures, 0 errors, 0 unexpected passes ' id 'f3eba48f-2fa8-4f3b-ac03-cf41716b1b0d' date '01/22/2013' time '10:23:54' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.16' message 'define editors for stack, stackFrame and leafNodes ... those were the missing editor definitions ... add tests (currently failing) for all of the added editors ... ' id '9a4d3406-b652-4f06-b016-359a769df909' date '01/21/2013' time '18:27:20' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.15' message 'I thought I said: no #inspect aspect for window builders ... inspect command shoud provide focus for how inspecting will work moving forward... ' id '542fe44d-c0f7-4745-9dae-4cd1de0a9c01' date '01/21/2013' time '16:39:18' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.14' message 'tests are green ... which means I need more tests ' id '4fe451db-676b-477a-b516-cb9fceca5e78' date '01/21/2013' time '16:14:35' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.13' message 'add an additional test case ... get tests passing (almost) again ' id '05b78bd6-567a-4f84-b90f-cb05cbdf3dea' date '01/21/2013' time '16:00:32' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.12' message 'working through issues ... ' id 'c6a7b1c0-6320-4c6f-a777-192c06764c41' date '01/21/2013' time '14:25:13' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.11' message 'change default aspect to #edit ... #inspect for node builders is a ''standard'' object builder representation of the object ... why is String not cooperating? ... no #inspect for editors ... aspect for edit is used to provide different views of the same objects within different tools ... aspects for nodeBuilder provides transforms of the same objects for different tool ... for a particular tool, you can transform and look at standard view of no transform and look at non-standard view ... no need to couple edit and node builder .... object nodes propogate the aspect for transforms and there is no need to coordinate with the view ... ' id '6e899064-e3e2-475c-9855-0268f94a4ebc' date '01/18/2013' time '08:20:50' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.10' message 'add displayOops and characterLimit to shell tool ... current set of shell tools are passing ... ' id '2964ceb6-391a-41a1-95b4-16762393106a' date '01/16/2013' time '15:46:36' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.9' message 'don''t dink with nodeBuilders during tests ... move testSuite up one level to make it more accessible ... push server tests around a bit ' id '71cdcf07-7362-439f-9b9e-eed476c5bfa1' date '01/15/2013' time '11:00:23' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.8' message 'adding initial test case for window builder ... fix some test result display issues ... checkpoint while I revamp testing framework: cannot afford to break basic debugger functionality for the sake of a test:) ' id '8ea5a3f4-306c-4942-b679-f582cee2a5ff' date '01/15/2013' time '08:47:37' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.7' message 'add displayOops arg to tzNodeDisplay... use it in TDTopezServerTests ... both new tests pass ' id '322ebf7d-b16b-4246-9394-b7ec8fb81d29' date '01/14/2013' time '08:20:55' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.6' message 'add test for TDTopezServer>>buildNode:for:aspect: .. not passing yet ' id '6b2b3301-936f-43ab-aa9e-d84e42179f9a' date '01/12/2013' time '17:04:07' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.5' message 'stage is set to replace implementation of Object>>asTDObjectNode:topez:aspect: and friends ... same renaming and repackaging left over from addition of test package ' id 'db9fa690-c52b-463e-b584-793f5e56dd98' date '01/12/2013' time '16:08:11' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-dkh.4' message 'package up debug tools and debug tools tests separately' id 'ab07cb11-8287-41d1-90d9-703b5a985e70' date '01/11/2013' time '16:40:16' author 'dkh' ancestors ((name 'Topez-Server-Tests-DataCurator.3' message 'additional test cases for debugger ... tests passing ... tweaked test framework based on usage ... ' id 'd118f023-eba0-411b-8944-629807eb2485' date '12/23/2012' time '13:40:13' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-DataCurator.2' message 'checkpoint ... updating method lookup parser to handle frame print string with () enclosing the method class ... start adding tests ' id '95fa0b96-604e-4729-a000-8bf236597f23' date '12/23/2012' time '11:53:13' author 'DataCurator' ancestors ((name 'Topez-Server-Tests-dkh.1' message 'rename from Topez-Core to Topez-Server-Core and Topez-Tests to Topez-Server-Tests' id 'ae719401-f7a3-4312-bf2b-230dc2a2439d' date '10/03/2012' time '16:26:34' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/scripts/readme b/scripts/readme deleted file mode 100644 index 7172be929..000000000 --- a/scripts/readme +++ /dev/null @@ -1 +0,0 @@ -this is some stuff \ No newline at end of file diff --git a/scripts/x.ston b/scripts/x.ston deleted file mode 100644 index ed313d4f9..000000000 --- a/scripts/x.ston +++ /dev/null @@ -1 +0,0 @@ -TDScriptLeafNode{#name:'x',#contents:nil,#creationTime:DateAndTime['2013-12-06T12:16:23.55266308784485-08:00'],#modificationTime:@2} \ No newline at end of file diff --git a/scripts/xx.ston b/scripts/xx.ston deleted file mode 100644 index f7163d324..000000000 --- a/scripts/xx.ston +++ /dev/null @@ -1 +0,0 @@ -TDSmalltalkLeafNode{#name:'xx',#contents:'| tmp |\ntmp := 3 + 5.\n^ tmp',#creationTime:DateAndTime['2013-12-06T12:07:15.99387001991272-08:00'],#modificationTime:DateAndTime['2013-12-06T12:07:24.90553188323975-08:00']} \ No newline at end of file diff --git a/tests/travisCI.st b/tests/travisCI.st index 0f6f43068..9861d4a0d 100644 --- a/tests/travisCI.st +++ b/tests/travisCI.st @@ -7,18 +7,25 @@ gitPath := (Smalltalk at: #'FileDirectory' ifAbsent: [ ]) ifNil: [ ((Smalltalk at: #'FileSystem') workingDirectory / gitCache) pathString ] ifNotNil: [:fileDirectoryClass | (fileDirectoryClass default directoryNamed: gitCache ) fullName]. -Smalltalk at: #ConfigurationOfGLASS ifPresent: [:cls | - "Upgrade to GLASS 1.0-beta.9.3" - GsDeployer deploy: [ - | glassVersion | +(Smalltalk at: #ConfigurationOfGLASS ifAbsent: []) + ifNotNil: [:cls | + "Upgrade to GLASS1" Gofer new - package: 'ConfigurationOfGLASS'; - url: 'http://seaside.gemtalksystems.com/ss/MetacelloRepository'; + package: 'GsUpgrader-Core'; + url: 'http://ss3.gemtalksystems.com/ss/gsUpgrader'; load. - glassVersion := cls project currentVersion. - ((((Smalltalk at: #System) stoneVersionAt: 'gsVersion') beginsWith: '2.') and: [glassVersion versionNumber < '1.0-beta.9.2' asMetacelloVersionNumber]) - ifTrue: [ (cls project version: '1.0-beta.9.2') load ]. - (cls project version: '1.0-beta.9.3') load ] ]. + (Smalltalk at: #GsUpgrader) upgradeGLASS1 ] + ifNil: [ + "Upgrade to latest Metacello" + Metacello new + baseline: 'Metacello'; + repository: 'github://dalehenrich/metacello-work:master/repository'; + get. + Metacello new + baseline: 'Metacello'; + repository: 'github://dalehenrich/metacello-work:master/repository'; + onConflict: [:ex | ex allow]; + load ]. "Load Tode ... " loadBlock := [ diff --git a/tode/defs.ston b/tode/defs.ston new file mode 100644 index 000000000..f636079f0 --- /dev/null +++ b/tode/defs.ston @@ -0,0 +1 @@ +TDTopezLeafNode{#name:'defs',#contents:'browse class --hier TDDefinition',#creationTime:DateAndTime['2014-05-14T10:05:41.9277820587158-07:00'],#modificationTime:DateAndTime['2014-05-14T10:05:58.6368811130523-07:00']} \ No newline at end of file diff --git a/tode/initTools.ston b/tode/initTools.ston new file mode 100644 index 000000000..6ffbb85d6 --- /dev/null +++ b/tode/initTools.ston @@ -0,0 +1 @@ +TDSmalltalkLeafNode{#name:'initTools',#contents:'TDStandardTool initializeTools',#creationTime:DateAndTime['2014-05-20T19:57:09.4244010448455-07:00'],#modificationTime:@2} \ No newline at end of file diff --git a/tode/nodes.ston b/tode/nodes.ston new file mode 100644 index 000000000..0816cd28a --- /dev/null +++ b/tode/nodes.ston @@ -0,0 +1 @@ +TDTopezLeafNode{#name:'nodes',#contents:'browse class --hier TDNode TDAbstractComposedDirectoryNodeContents TDPathComposedDirectoryEntry',#creationTime:DateAndTime['2013-12-06T17:30:33.25754189491272-08:00'],#modificationTime:DateAndTime['2014-11-07T15:48:07.2476019859314-08:00']} \ No newline at end of file diff --git a/tode/projects.ston b/tode/projects.ston new file mode 100644 index 000000000..83806c5a9 --- /dev/null +++ b/tode/projects.ston @@ -0,0 +1 @@ +TDTopezLeafNode{#name:'projects',#contents:'browse class --hier --exact TDProjectExtensionsDefinition TDAbstractMetacelloRegistrationDefinition TDProjectSpecDefinition',#creationTime:DateAndTime['2014-05-15T15:00:33.566358089447-07:00'],#modificationTime:DateAndTime['2014-05-15T16:52:25.6530110836029-07:00']} \ No newline at end of file diff --git a/tode/refs.ston b/tode/refs.ston new file mode 100644 index 000000000..afed12308 --- /dev/null +++ b/tode/refs.ston @@ -0,0 +1 @@ +TDTopezLeafNode{#name:'refs',#contents:'eval `System abort. SystemRepository findAllReferencePathsToObjects: {(UserGlobals associationAt: #TDTopezServer)} printToLog: false`; edit',#creationTime:DateAndTime['2015-01-22T12:01:05.02474308013916-08:00'],#modificationTime:DateAndTime['2015-01-22T12:02:53.0462720394134-08:00']} \ No newline at end of file diff --git a/tode/tools.ston b/tode/tools.ston new file mode 100644 index 000000000..472642adf --- /dev/null +++ b/tode/tools.ston @@ -0,0 +1,2 @@ +TDTopezLeafNode{#name:'tools',#contents:'browse class --hier TDAbstractDevTool +browse class --hier TDAbstractToolBuilder',#creationTime:DateAndTime['2013-12-06T17:30:33.36334204673767-08:00'],#modificationTime:DateAndTime['2014-03-30T20:48:46.333219051361-07:00']} \ No newline at end of file