Skip to content

Commit

Permalink
Rename and migrate Squot to git/s
Browse files Browse the repository at this point in the history
* all classes, packages and extension methods that refer to Squot are
  renamed
* GSSelfUpdater now handles self-updating and produces a version-pinned
  install script for .sar files
* .squot-metadata is renamed to .git-s-metadata
* SquotTrackedObjectMetadata and the old names of mapper and metadata
  classes are handled using TonelReader's classes instVar, which is used
  as a fallback for global name lookup
* on install, registered instances of old working copy classes are
  migrated and Squot is uninstalled
  • Loading branch information
MariusDoe committed Oct 9, 2024
1 parent 0256ced commit 1d1dec8
Show file tree
Hide file tree
Showing 2,734 changed files with 4,979 additions and 4,846 deletions.
52 changes: 52 additions & 0 deletions .git-s-metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
GSMetadata {
#version : 1,
#mappers : [
GSCypressMapper {
#version : 1,
#isTracked : true,
#package : MCPackage {
#name : 'VersionControl'
},
#path : FSAbsolutePath [
'src'
]
},
GSCypressMapper {
#version : 1,
#isTracked : true,
#package : MCPackage {
#name : 'GitS-Compatibility'
},
#path : FSAbsolutePath [
'src'
]
},
GSCypressMapper {
#version : 1,
#isTracked : true,
#package : MCPackage {
#name : 'FileSystem-Git'
},
#path : FSAbsolutePath [
'src'
]
},
GSCypressMapper {
#version : 1,
#isTracked : true,
#package : MCPackage {
#name : 'GitS-Core'
},
#path : @8
},
GSCypressMapper {
#version : 1,
#isTracked : true,
#package : MCPackage {
#name : 'BaselineOfGitS'
},
#path : @8
}
],
#name : 'Squot'
}
54 changes: 0 additions & 54 deletions .squot-metadata

This file was deleted.

File renamed without changes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
baseline
baseline: spec
<baseline>
spec for: #common do: [
spec
baseline: 'Ston' with: [
spec
repository: 'github://squeak-smalltalk/squeak-ston:squeak/repository'];
baseline: 'FileTree' with: [
spec
repository: 'github://dalehenrich/filetree:squeak4.3/repository'];
baseline: 'Tonel' with: [
spec
repository: 'github://squeak-smalltalk/squeak-tonel:squeak/'];
package: 'JSON' with: [
spec
repository: 'https://www.squeaksource.com/JSON'];
package: 'SqueakSSL-Core' with: [
spec
repository: 'http://source.squeak.org/trunk'];
package: 'WebClient-Core' with: [
spec
repository: 'http://source.squeak.org/trunk';
file: 'WebClient-Core-jr.104'];
package: 'WebClient-HTTP' with: [
spec
repository: 'http://source.squeak.org/trunk';
file: 'WebClient-HTTP-cmm.6'];
package: 'INIFile' with: [
spec
repository: 'http://www.squeaksource.com/INIFile';
file: 'INIFile-jf.3'];
package: 'DiffMerge' with: [
spec
repository: 'http://www.squeaksource.com/DiffMerge';
file: 'DiffMerge-tonyg.12'];
baseline: 'FileSystem' with: [
spec
repository: 'github://squeak-smalltalk/squeak-filesystem:master/src';
loads: #('default' 'tests')];
package: 'VersionControl';
package: 'FileSystem-Git' with: [
spec
requires: #('FileSystem' 'VersionControl' 'INIFile')];
package: 'GitS-Core' with: [
spec
requires: #('FileSystem' 'VersionControl' 'FileSystem-Git' 'DiffMerge' 'Ston' 'Tonel');
postLoadDoIt: #postLoad].
spec
group: 'FileSystemGit' with: #('FileSystem-Git');
group: 'default' with: #('GitS-Core');
group: 'tests' with: #('default')].

spec for: #'squeakCommon' do: [
spec
package: 'GitS-Compatibility';
package: 'GitS-Core' with: [
spec includes: 'GitS-Compatibility']].
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
accessing
installedVersion
^ ((self project version spec repositorySpecs collect: #createRepository)
detect: [:each | each projectPath = GSSelfUpdater fullRepositoryName])
projectVersion
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
post-load
postLoad
GSSelfUpdater postInstallVersion: self installedVersion.
GSBaseWorkingCopy doPostUpdateMigrations.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"class" : {
},
"instance" : {
"baseline:" : "mad 10/9/2024 18:43",
"installedVersion" : "mad 10/9/2024 21:00",
"postLoad" : "mad 10/9/2024 19:35",
"projectClass" : "jr 5/4/2017 17:25" } }
14 changes: 14 additions & 0 deletions src/BaselineOfGitS.package/BaselineOfGitS.class/properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"category" : "BaselineOfGitS",
"classinstvars" : [
],
"classvars" : [
],
"commentStamp" : "",
"instvars" : [
],
"name" : "BaselineOfGitS",
"pools" : [
],
"super" : "BaselineOf",
"type" : "normal" }
1 change: 1 addition & 0 deletions src/BaselineOfGitS.package/monticello.meta/categories.st
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SystemOrganization addCategory: #BaselineOfGitS!
File renamed without changes.

This file was deleted.

This file was deleted.

This file was deleted.

14 changes: 0 additions & 14 deletions src/BaselineOfSquot.package/BaselineOfSquot.class/properties.json

This file was deleted.

1 change: 0 additions & 1 deletion src/BaselineOfSquot.package/monticello.meta/categories.st

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ handleTerminalCommandTemplateCharacter: aCharacter from: aReadStream into: aWrit
replacements := (aReadStream upTo: $}) splitBy: ','.
command := aString.
(replacements includes: 'no-key') ifFalse: [command := command, '; read -n 1 -p "Press any key to continue..."'].
command := 'sh -c ', (SquotTextUtilities quote: command).
command := 'sh -c ', (GSTextUtilities quote: command).
replacements do: [:each |
command := self performTerminalCommandTemplateReplacement: each in: command].
aWriteStream nextPutAll: command.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ git porcelain - external
performTerminalCommandTemplateReplacement: aString in: anotherString
| needle parts replacement |
({''. 'no-key'} includes: aString) ifTrue: [^ anotherString].
aString = 'quote' ifTrue: [^ SquotTextUtilities quote: anotherString].
aString = 'quote' ifTrue: [^ GSTextUtilities quote: anotherString].
parts := aString splitBy: ':'.
needle := parts first.
replacement := parts second.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@
"flushCaches" : "jr 7/2/2017 19:12",
"gitStoreOn:" : "CamilloBruni 9/2/2012 12:33",
"handleConnectionClosed:whileTryingTo:ifRetry:" : "mad 4/22/2024 17:21",
"handleTerminalCommandTemplateCharacter:from:into:withCommand:" : "mad 4/3/2024 16:18",
"handleTerminalCommandTemplateCharacter:from:into:withCommand:" : "mad 10/9/2024 15:07",
"head" : "jr 8/13/2020 23:10",
"headReference" : "jr 3/4/2020 00:47",
"initializeOn:" : "MaxLeske 7/23/2010 09:59",
"knownTerminalCommands" : "mad 5/18/2024 12:02",
"orphanedHead" : "jr 1/29/2017 22:52",
"performTerminalCommandTemplateReplacement:in:" : "mad 4/3/2024 16:18",
"performTerminalCommandTemplateReplacement:in:" : "mad 10/9/2024 15:07",
"pruneRefs:keep:" : "mad 4/7/2024 14:44",
"push:toRemote:" : "mad 5/18/2024 11:30",
"push:toRemote:force:" : "mad 5/18/2024 11:30",
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*Squot-Compatibility-SqueakCommon
*GitS-Compatibility-SqueakCommon
asInteger
"Convert me to an Integer, network byte order, most significant byte first, big endian"

Expand Down
25 changes: 25 additions & 0 deletions src/GitS-Compatibility.package/CRC.class/properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"category" : "GitS-Compatibility-SqueakCommon",
"classinstvars" : [
],
"classvars" : [
],
"commentStamp" : "<historical>",
"instvars" : [
"width",
"polynome",
"registerFill",
"finalXorBytes",
"shouldReflectOutput",
"lookupTable",
"widthMask",
"theRegister",
"shouldReflectInput",
"message",
"runMethodSelector",
"lowestByteShift" ],
"name" : "CRC",
"pools" : [
],
"super" : "Checksum",
"type" : "normal" }
14 changes: 14 additions & 0 deletions src/GitS-Compatibility.package/Checksum.class/properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"category" : "GitS-Compatibility-SqueakCommon",
"classinstvars" : [
],
"classvars" : [
],
"commentStamp" : "<historical>",
"instvars" : [
],
"name" : "Checksum",
"pools" : [
],
"super" : "Object",
"type" : "normal" }
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SystemOrganization addCategory: #'GitS-Compatibility-SqueakCommon'!
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*GitS-Core-Code-Cypress-Support
name
^ self basename
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*GitS-Core-Code-Cypress-Support
readStreamDo: aBlock
^ reference readStreamDo: aBlock
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*Squot-Core-STON
*GitS-Core-STON
fromSton: stonReader
| path |
path := self new.
Expand Down
Loading

0 comments on commit 1d1dec8

Please sign in to comment.