<commit_before>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 ].
			options
				at: 'clientScriptPath'
				ifPresent: [ :dirname | 
					| path |
					path := dirname.
					(dirname beginsWith: '/')
						ifFalse: [ path := TDShell updateServerHome , dirname ].
					scriptDirectory := self filetreeUtilityClass directoryFromPath: path ]
				ifAbsent: [ 
					options
						at: 'serverScriptPath'
						ifPresent: [ :dirname | 
							| path |
							path := dirname.
							(dirname beginsWith: '/')
								ifFalse: [ path := TDShell updateServerHome , dirname ].
							scriptDirectory := self filetreeUtilityClass directoryFromPath: path ]
						ifAbsent: [ scriptDirectory := self scriptDirectoryFromBaselineOfTode ] ].
			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=<server-script-directory> 
  installServer [-t|--topaz] --clientScriptPath=<client-script-directory>
  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.<commit_msg>picked wrong side of merge<commit_after>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=<server-script-directory> 
  installServer [-t|--topaz] --clientScriptPath=<client-script-directory>
  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.
{'fraction_non_alphanumeric': 0.0930379746835443, 'fraction_numerical': 0.004219409282700422, 'mean_word_length': 3.8675564681724848, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2657832', 'n_tokens_mistral': 1545, 'n_tokens_neox': 1355, 'n_words': 444}