From bc02589ae0107f4ff402fd7ea9fbda43d1fd1082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marius=20D=C3=B6rbandt?= Date: Tue, 8 Oct 2024 09:18:46 +0200 Subject: [PATCH] WIP: add SquotPendingChanges --- .../instance/actionCherryPick..st | 9 --- ...seNewRepositoryLocationForActiveProject.st | 5 +- .../instance/actionCommit.st | 3 +- ...ialogToCommitChangeSets.initialMessage..st | 9 --- ...nDialogToCommitImageWithInitialMessage..st | 9 --- .../instance/workingCopyAction..st | 6 ++ .../SquotBrowser.class/methodProperties.json | 10 ++-- .../instance/cherryPick..st | 6 ++ .../instance/openDialogToCommitImage.st | 3 + ...nDialogToCommitImageWithInitialMessage..st | 6 ++ .../instance/pendingChangeSets..st | 5 ++ .../instance/pendingChangeSetsForPick..st | 8 +++ ...ingChangeSetsForPick.windowTitlePrefix..st | 8 +++ .../instance/pendingChangeSetsToCommit..st | 5 ++ .../instance/pendingChanges.st | 5 ++ .../methodProperties.json | 8 +++ .../SquotPendingChanges.class/README.md | 0 .../instance/alwaysMaterialize.st | 3 + .../instance/alwaysOpenDialog.st | 3 + .../instance/basicCommit.st | 6 ++ .../instance/basicMaterialize.st | 3 + .../instance/basicWindowTitle.st | 3 + .../instance/changeSets..st | 3 + .../instance/changeSets.st | 3 + .../instance/checkHasConflictsWhile..st | 5 ++ .../instance/checkIsAtOriginalHeadCommit.st | 5 ++ .../instance/checkIsMessageEmpty.st | 5 ++ .../instance/commit.st | 5 ++ .../instance/commitActionName.st | 3 + .../instance/commitButtonLabel.st | 3 + .../instance/commitNow.st | 6 ++ .../instance/currentHeadCommit.st | 3 + .../instance/dialog..st | 3 + .../instance/dialog.st | 3 + .../instance/doAmend.st | 3 + .../instance/doMerge..st | 5 ++ .../instance/doRegularCommit.st | 3 + .../instance/done.st | 5 ++ .../instance/hasConflicts.st | 3 + .../instance/initialMessage..st | 3 + .../instance/initialMessage.st | 3 + .../instance/initialize.st | 6 ++ .../instance/isAtOriginalHeadCommit.st | 3 + .../instance/isMerge.st | 3 + .../instance/materialize.st | 5 ++ .../instance/materializeIfNecessary.st | 3 + .../instance/materializeNow.st | 6 ++ .../instance/message.st | 3 + .../instance/nothingToCommit.st | 4 ++ .../instance/nothingToMaterialize.st | 4 ++ .../instance/openDialog.action.label..st | 9 +++ .../instance/openDialogToCommit.st | 8 +++ .../instance/openDialogToMaterialize.st | 6 ++ .../instance/originalHeadCommit..st | 3 + .../instance/originalHeadCommit.st | 3 + .../instance/parents..st | 3 + .../instance/parents.st | 3 + .../instance/postDialogCommit.st | 6 ++ .../instance/postDialogMaterialize.st | 4 ++ .../instance/prefixWindowTitle..st | 3 + .../instance/promise.st | 3 + .../instance/shouldAlwaysMaterialize..st | 3 + .../instance/shouldAlwaysMaterialize.st | 3 + .../instance/shouldAlwaysOpenDialog..st | 3 + .../instance/shouldAlwaysOpenDialog.st | 3 + .../instance/shouldMaterialize.st | 6 ++ .../instance/shouldOpenDialog.st | 4 ++ .../instance/windowTitle..st | 3 + .../instance/windowTitle.st | 5 ++ .../instance/workingCopy..st | 6 ++ .../instance/workingCopy.st | 3 + .../methodProperties.json | 58 +++++++++++++++++++ .../SquotPendingChanges.class/properties.json | 23 ++++++++ .../instance/commitImage.st | 2 +- .../methodProperties.json | 2 +- .../instance/run.st | 2 +- .../methodProperties.json | 2 +- 77 files changed, 370 insertions(+), 41 deletions(-) delete mode 100644 src/Squot-Core.package/SquotBrowser.class/instance/actionCherryPick..st delete mode 100644 src/Squot-Core.package/SquotBrowser.class/instance/openDialogToCommitChangeSets.initialMessage..st delete mode 100644 src/Squot-Core.package/SquotBrowser.class/instance/openDialogToCommitImageWithInitialMessage..st create mode 100644 src/Squot-Core.package/SquotBrowser.class/instance/workingCopyAction..st create mode 100644 src/Squot-Core.package/SquotGitWorkingCopy.class/instance/cherryPick..st create mode 100644 src/Squot-Core.package/SquotGitWorkingCopy.class/instance/openDialogToCommitImage.st create mode 100644 src/Squot-Core.package/SquotGitWorkingCopy.class/instance/openDialogToCommitImageWithInitialMessage..st create mode 100644 src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSets..st create mode 100644 src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSetsForPick..st create mode 100644 src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSetsForPick.windowTitlePrefix..st create mode 100644 src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSetsToCommit..st create mode 100644 src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChanges.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/README.md create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/alwaysMaterialize.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/alwaysOpenDialog.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/basicCommit.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/basicMaterialize.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/basicWindowTitle.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/changeSets..st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/changeSets.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/checkHasConflictsWhile..st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/checkIsAtOriginalHeadCommit.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/checkIsMessageEmpty.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/commit.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/commitActionName.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/commitButtonLabel.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/commitNow.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/currentHeadCommit.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/dialog..st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/dialog.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/doAmend.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/doMerge..st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/doRegularCommit.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/done.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/hasConflicts.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/initialMessage..st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/initialMessage.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/initialize.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/isAtOriginalHeadCommit.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/isMerge.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/materialize.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/materializeIfNecessary.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/materializeNow.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/message.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/nothingToCommit.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/nothingToMaterialize.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/openDialog.action.label..st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/openDialogToCommit.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/openDialogToMaterialize.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/originalHeadCommit..st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/originalHeadCommit.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/parents..st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/parents.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/postDialogCommit.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/postDialogMaterialize.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/prefixWindowTitle..st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/promise.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysMaterialize..st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysMaterialize.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysOpenDialog..st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysOpenDialog.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/shouldMaterialize.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/shouldOpenDialog.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/windowTitle..st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/windowTitle.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/workingCopy..st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/instance/workingCopy.st create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/methodProperties.json create mode 100644 src/Squot-Core.package/SquotPendingChanges.class/properties.json diff --git a/src/Squot-Core.package/SquotBrowser.class/instance/actionCherryPick..st b/src/Squot-Core.package/SquotBrowser.class/instance/actionCherryPick..st deleted file mode 100644 index 1b11d1c5a..000000000 --- a/src/Squot-Core.package/SquotBrowser.class/instance/actionCherryPick..st +++ /dev/null @@ -1,9 +0,0 @@ -actions -actionCherryPick: aCommit - ^ self - actionPick: aCommit - message: aCommit message - windowTitlePrefix: 'Cherry-pick' - revert: false - amend: false - alwaysOpenDialog: false \ No newline at end of file diff --git a/src/Squot-Core.package/SquotBrowser.class/instance/actionChooseNewRepositoryLocationForActiveProject.st b/src/Squot-Core.package/SquotBrowser.class/instance/actionChooseNewRepositoryLocationForActiveProject.st index fc1534154..10a232010 100644 --- a/src/Squot-Core.package/SquotBrowser.class/instance/actionChooseNewRepositoryLocationForActiveProject.st +++ b/src/Squot-Core.package/SquotBrowser.class/instance/actionChooseNewRepositoryLocationForActiveProject.st @@ -1,4 +1,5 @@ actions actionChooseNewRepositoryLocationForActiveProject - (self activeWorkingCopyIfNilInformAnd: [^ self]) requestAndMoveToNewRepositoryLocation. - self everythingChanged. \ No newline at end of file + self workingCopyAction: [:workingCopy | + workingCopy requestAndMoveToNewRepositoryLocation. + self everythingChanged]. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotBrowser.class/instance/actionCommit.st b/src/Squot-Core.package/SquotBrowser.class/instance/actionCommit.st index eec80d778..908fd0501 100644 --- a/src/Squot-Core.package/SquotBrowser.class/instance/actionCommit.st +++ b/src/Squot-Core.package/SquotBrowser.class/instance/actionCommit.st @@ -1,4 +1,3 @@ actions actionCommit - self activeWorkingCopyIfNilInformAnd: [^ self]. - self openDialogToCommitImageWithInitialMessage: ''. \ No newline at end of file + self workingCopyAction: #openDialogToCommitImage. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotBrowser.class/instance/openDialogToCommitChangeSets.initialMessage..st b/src/Squot-Core.package/SquotBrowser.class/instance/openDialogToCommitChangeSets.initialMessage..st deleted file mode 100644 index bbba14b41..000000000 --- a/src/Squot-Core.package/SquotBrowser.class/instance/openDialogToCommitChangeSets.initialMessage..st +++ /dev/null @@ -1,9 +0,0 @@ -dialog -openDialogToCommitChangeSets: aCollection initialMessage: aString - ^ self - openDialogToCommitChangeSets: aCollection - windowTitle: 'Changes to commit' - initialMessage: aString - additionalParents: {} - onlyAdditionalParents: false - materializeChangeSets: false \ No newline at end of file diff --git a/src/Squot-Core.package/SquotBrowser.class/instance/openDialogToCommitImageWithInitialMessage..st b/src/Squot-Core.package/SquotBrowser.class/instance/openDialogToCommitImageWithInitialMessage..st deleted file mode 100644 index 2707cd847..000000000 --- a/src/Squot-Core.package/SquotBrowser.class/instance/openDialogToCommitImageWithInitialMessage..st +++ /dev/null @@ -1,9 +0,0 @@ -dialog -openDialogToCommitImageWithInitialMessage: aString - | changeSets | - changeSets := self activeWorkingCopy changeSetsFromHeadCommitToImage. - (SquotChangeSet allEmpty: changeSets) - ifTrue: [self inform: 'Nothing to commit.'. ^ Promise unit: nil]. - ^ self - openDialogToCommitChangeSets: changeSets - initialMessage: aString \ No newline at end of file diff --git a/src/Squot-Core.package/SquotBrowser.class/instance/workingCopyAction..st b/src/Squot-Core.package/SquotBrowser.class/instance/workingCopyAction..st new file mode 100644 index 000000000..02aab1048 --- /dev/null +++ b/src/Squot-Core.package/SquotBrowser.class/instance/workingCopyAction..st @@ -0,0 +1,6 @@ +actions +workingCopyAction: aBlock + self activeWorkingCopy ifNil: [ + self inform: 'Please select a project first.'. + ^ self]. + aBlock value: self activeWorkingCopy. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotBrowser.class/methodProperties.json b/src/Squot-Core.package/SquotBrowser.class/methodProperties.json index f1a5f0e80..ffc1f6f22 100644 --- a/src/Squot-Core.package/SquotBrowser.class/methodProperties.json +++ b/src/Squot-Core.package/SquotBrowser.class/methodProperties.json @@ -9,10 +9,9 @@ "unload" : "mad 9/26/2023 15:50", "unregisterFromWorldMenu" : "mad 9/19/2023 13:45" }, "instance" : { - "actionCherryPick:" : "mad 4/5/2024 00:37", - "actionChooseNewRepositoryLocationForActiveProject" : "mad 12/22/2023 18:15", + "actionChooseNewRepositoryLocationForActiveProject" : "mad 10/7/2024 22:56", "actionCloneProject" : "mad 10/6/2024 20:42", - "actionCommit" : "mad 4/5/2024 15:21", + "actionCommit" : "mad 10/7/2024 19:52", "actionCompareActiveCommitToImage" : "mad 4/5/2024 19:07", "actionCompareActiveCommitToParent" : "mad 4/5/2024 19:07", "actionCompareCommitToImage:" : "mad 4/5/2024 19:00", @@ -129,9 +128,7 @@ "newProject:" : "mad 3/19/2024 21:29", "onConflictOpenDialogToMaterializeChangeSets:windowTitle:" : "mad 4/10/2024 16:16", "open" : "mad 8/30/2023 17:41", - "openDialogToCommitChangeSets:initialMessage:" : "mad 4/5/2024 15:17", "openDialogToCommitChangeSets:windowTitle:initialMessage:additionalParents:onlyAdditionalParents:materializeChangeSets:" : "mad 4/5/2024 01:20", - "openDialogToCommitImageWithInitialMessage:" : "mad 4/5/2024 15:20", "openDialogToMaterializeChangeSets:windowTitle:" : "mad 10/24/2023 16:22", "openDialogToMaterializeCommit:" : "mad 10/24/2023 17:36", "openDialogToMaterializeCommit:displayName:windowTitlePrefix:" : "mad 8/13/2024 17:56", @@ -160,4 +157,5 @@ "validateDialogState:andOriginalHeadCommit:before:" : "mad 9/19/2023 12:37", "warnIfImageNotClean:" : "mad 11/7/2023 15:24", "windowTitle" : "mad 10/18/2023 15:14", - "withUnitOfWork:" : "mad 9/19/2023 12:37" } } + "withUnitOfWork:" : "mad 9/19/2023 12:37", + "workingCopyAction:" : "mad 10/7/2024 19:52" } } diff --git a/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/cherryPick..st b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/cherryPick..st new file mode 100644 index 000000000..7c559b9a0 --- /dev/null +++ b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/cherryPick..st @@ -0,0 +1,6 @@ +git-operations +cherryPick: aCommit + ^ (self pendingChangeSetsForPick: aCommit) + prefixWindowTitle: 'Cherry-pick '; + initialMessage: aCommit message; + commit \ No newline at end of file diff --git a/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/openDialogToCommitImage.st b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/openDialogToCommitImage.st new file mode 100644 index 000000000..308531369 --- /dev/null +++ b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/openDialogToCommitImage.st @@ -0,0 +1,3 @@ +dialog +openDialogToCommitImage + ^ self openDialogToCommitImageWithInitialMessage: '' \ No newline at end of file diff --git a/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/openDialogToCommitImageWithInitialMessage..st b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/openDialogToCommitImageWithInitialMessage..st new file mode 100644 index 000000000..48e831e9d --- /dev/null +++ b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/openDialogToCommitImageWithInitialMessage..st @@ -0,0 +1,6 @@ +dialog +openDialogToCommitImageWithInitialMessage: aString + ^ (self pendingChangeSetsToCommit: self changeSetsFromHeadCommitToImage) + initialMessage: aString; + alwaysOpenDialog; + commit \ No newline at end of file diff --git a/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSets..st b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSets..st new file mode 100644 index 000000000..ab3be57e8 --- /dev/null +++ b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSets..st @@ -0,0 +1,5 @@ +pending-changes +pendingChangeSets: aCollection + ^ self pendingChanges + changeSets: aCollection; + yourself \ No newline at end of file diff --git a/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSetsForPick..st b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSetsForPick..st new file mode 100644 index 000000000..b175f0db8 --- /dev/null +++ b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSetsForPick..st @@ -0,0 +1,8 @@ +pending-changes +pendingChangeSetsForPick: aCommit + ^ (self pendingChangeSets: + (self + changeSetsToMergeCommitIntoHead: aCommit + withBase: (self parentForPick: aCommit))) + windowTitle: aCommit showOneLine; + yourself \ No newline at end of file diff --git a/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSetsForPick.windowTitlePrefix..st b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSetsForPick.windowTitlePrefix..st new file mode 100644 index 000000000..3836ef9b3 --- /dev/null +++ b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSetsForPick.windowTitlePrefix..st @@ -0,0 +1,8 @@ +pending-changes +pendingChangeSetsForPick: aCommit +windowTitlePrefix: aString + ^ (self pendingChangeSets: (self + changeSetsToMergeCommitIntoHead: aCommit + withBase: (self parentForPick: aCommit))) + windowTitle: ('{1} {2}' format: {aString. aCommit showOneLine}); + yourself \ No newline at end of file diff --git a/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSetsToCommit..st b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSetsToCommit..st new file mode 100644 index 000000000..9f67395a3 --- /dev/null +++ b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChangeSetsToCommit..st @@ -0,0 +1,5 @@ +pending-changes +pendingChangeSetsToCommit: aCollection + ^ (self pendingChangeSets: aCollection) + windowTitle: 'Changes to commit'; + yourself \ No newline at end of file diff --git a/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChanges.st b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChanges.st new file mode 100644 index 000000000..823d4141d --- /dev/null +++ b/src/Squot-Core.package/SquotGitWorkingCopy.class/instance/pendingChanges.st @@ -0,0 +1,5 @@ +pending-changes +pendingChanges + ^ SquotPendingChanges new + workingCopy: self; + yourself \ No newline at end of file diff --git a/src/Squot-Core.package/SquotGitWorkingCopy.class/methodProperties.json b/src/Squot-Core.package/SquotGitWorkingCopy.class/methodProperties.json index 8583afd10..a82e9d9fe 100644 --- a/src/Squot-Core.package/SquotGitWorkingCopy.class/methodProperties.json +++ b/src/Squot-Core.package/SquotGitWorkingCopy.class/methodProperties.json @@ -39,6 +39,7 @@ "checkForMissingHead" : "mad 3/19/2024 21:45", "checkRefExists:displayName:" : "mad 10/16/2023 21:31", "checkoutReflogMessageTo:" : "mad 11/30/2023 13:19", + "cherryPick:" : "mad 10/7/2024 22:54", "chooseRemoteName" : "mad 10/16/2023 20:48", "clearLastImageHashForMigration" : "mad 11/29/2023 15:08", "cloneFrom:" : "mad 5/23/2024 21:00", @@ -97,6 +98,13 @@ "materializeCommit:" : "mad 9/6/2023 19:27", "materializeHead" : "mad 8/24/2023 23:49", "moveToNewRepositoryLocation:" : "mad 12/22/2023 17:50", + "openDialogToCommitImage" : "mad 10/7/2024 19:46", + "openDialogToCommitImageWithInitialMessage:" : "mad 10/7/2024 19:46", + "pendingChangeSets:" : "mad 10/7/2024 19:36", + "pendingChangeSetsForPick:" : "mad 10/7/2024 22:54", + "pendingChangeSetsForPick:windowTitlePrefix:" : "mad 10/7/2024 19:59", + "pendingChangeSetsToCommit:" : "mad 10/7/2024 19:46", + "pendingChanges" : "mad 10/7/2024 19:36", "pushRef:force:" : "mad 5/18/2024 11:31", "refChanged:" : "mad 5/15/2024 21:20", "refName:" : "mad 6/3/2023 14:17", diff --git a/src/Squot-Core.package/SquotPendingChanges.class/README.md b/src/Squot-Core.package/SquotPendingChanges.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/alwaysMaterialize.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/alwaysMaterialize.st new file mode 100644 index 000000000..398898ce3 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/alwaysMaterialize.st @@ -0,0 +1,3 @@ +accessing +alwaysMaterialize + self shouldAlwaysMaterialize: true. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/alwaysOpenDialog.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/alwaysOpenDialog.st new file mode 100644 index 000000000..6b3e72663 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/alwaysOpenDialog.st @@ -0,0 +1,3 @@ +accessing +alwaysOpenDialog + self shouldAlwaysOpenDialog: true. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/basicCommit.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/basicCommit.st new file mode 100644 index 000000000..740d0b704 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/basicCommit.st @@ -0,0 +1,6 @@ +actions-private +basicCommit + self workingCopy + commitChangeSets: self changeSets + message: self message + parents: self parents. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/basicMaterialize.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/basicMaterialize.st new file mode 100644 index 000000000..a5c746964 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/basicMaterialize.st @@ -0,0 +1,3 @@ +actions-private +basicMaterialize + self workingCopy materializeChangeSets: self changeSets. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/basicWindowTitle.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/basicWindowTitle.st new file mode 100644 index 000000000..999c2b868 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/basicWindowTitle.st @@ -0,0 +1,3 @@ +accessing +basicWindowTitle + ^ windowTitle \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/changeSets..st b/src/Squot-Core.package/SquotPendingChanges.class/instance/changeSets..st new file mode 100644 index 000000000..6fcfedd11 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/changeSets..st @@ -0,0 +1,3 @@ +accessing +changeSets: aCollection + changeSets := aCollection \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/changeSets.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/changeSets.st new file mode 100644 index 000000000..967e1f5cf --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/changeSets.st @@ -0,0 +1,3 @@ +accessing +changeSets + ^ changeSets \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/checkHasConflictsWhile..st b/src/Squot-Core.package/SquotPendingChanges.class/instance/checkHasConflictsWhile..st new file mode 100644 index 000000000..77aac2367 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/checkHasConflictsWhile..st @@ -0,0 +1,5 @@ +checks +checkHasConflictsWhile: aString + self hasConflicts ifFalse: [^ false]. + self inform: ('There are conflicts. Please resolve them before {1}. Aborting.' format: {aString}). + ^ true \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/checkIsAtOriginalHeadCommit.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/checkIsAtOriginalHeadCommit.st new file mode 100644 index 000000000..22c11d973 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/checkIsAtOriginalHeadCommit.st @@ -0,0 +1,5 @@ +checks +checkIsAtOriginalHeadCommit + self isAtOriginalHeadCommit ifTrue: [^ true]. + self inform: 'These changes are outdated. Aborting.'. + ^ false \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/checkIsMessageEmpty.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/checkIsMessageEmpty.st new file mode 100644 index 000000000..6755b8731 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/checkIsMessageEmpty.st @@ -0,0 +1,5 @@ +checks +checkIsMessageEmpty + self isMessageEmpty ifFalse: [^ false]. + self inform: 'Empty message, aborting.'. + ^ true \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/commit.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/commit.st new file mode 100644 index 000000000..0fc5869f1 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/commit.st @@ -0,0 +1,5 @@ +actions +commit + (self isMerge not and: [self isEmpty]) ifTrue: [^ self nothingToCommit]. + self shouldOpenDialog ifTrue: [^ self openDialogToCommit]. + ^ self commitNow \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/commitActionName.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/commitActionName.st new file mode 100644 index 000000000..689762bb9 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/commitActionName.st @@ -0,0 +1,3 @@ +accessing +commitActionName + ^ self isMerge ifTrue: ['merging'] ifFalse: ['committing'] \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/commitButtonLabel.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/commitButtonLabel.st new file mode 100644 index 000000000..a23258757 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/commitButtonLabel.st @@ -0,0 +1,3 @@ +accessing +commitButtonLabel + ^ self isMerge ifTrue: ['Merge'] ifFalse: ['Commit'] \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/commitNow.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/commitNow.st new file mode 100644 index 000000000..0cb19eb4f --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/commitNow.st @@ -0,0 +1,6 @@ +actions-private +commitNow + ^ self + basicCommit; + materializeIfNecessary; + done \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/currentHeadCommit.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/currentHeadCommit.st new file mode 100644 index 000000000..629c769f1 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/currentHeadCommit.st @@ -0,0 +1,3 @@ +accessing +currentHeadCommit + ^ self workingCopy headCommit \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/dialog..st b/src/Squot-Core.package/SquotPendingChanges.class/instance/dialog..st new file mode 100644 index 000000000..f1cee2c46 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/dialog..st @@ -0,0 +1,3 @@ +accessing +dialog: aChangesDialog + dialog := aChangesDialog \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/dialog.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/dialog.st new file mode 100644 index 000000000..78facdf57 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/dialog.st @@ -0,0 +1,3 @@ +accessing +dialog + ^ dialog \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/doAmend.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/doAmend.st new file mode 100644 index 000000000..7ea2ca4f3 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/doAmend.st @@ -0,0 +1,3 @@ +configuring +doAmend + self parents: self originalHeadCommit parents. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/doMerge..st b/src/Squot-Core.package/SquotPendingChanges.class/instance/doMerge..st new file mode 100644 index 000000000..d6fb76bea --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/doMerge..st @@ -0,0 +1,5 @@ +configuring +doMerge: aCommit + self + parents: {self originalHeadCommit. aCommit}; + alwaysMaterialize. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/doRegularCommit.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/doRegularCommit.st new file mode 100644 index 000000000..1d5403a60 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/doRegularCommit.st @@ -0,0 +1,3 @@ +configuring +doRegularCommit + self parents: {self originalHeadCommit}. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/done.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/done.st new file mode 100644 index 000000000..0ab2db9ab --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/done.st @@ -0,0 +1,5 @@ +actions-private +done + self dialog ifNotNil: #close. + self promise resolveWith: nil. + ^ self promise \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/hasConflicts.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/hasConflicts.st new file mode 100644 index 000000000..742632793 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/hasConflicts.st @@ -0,0 +1,3 @@ +testing +hasConflicts + ^ self changeSets anySatisfy: #hasConflicts \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/initialMessage..st b/src/Squot-Core.package/SquotPendingChanges.class/instance/initialMessage..st new file mode 100644 index 000000000..e9d4ac1f2 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/initialMessage..st @@ -0,0 +1,3 @@ +accessing +initialMessage: aString + initialMessage := aString \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/initialMessage.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/initialMessage.st new file mode 100644 index 000000000..00b6c37cb --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/initialMessage.st @@ -0,0 +1,3 @@ +accessing +initialMessage + ^ initialMessage \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/initialize.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/initialize.st new file mode 100644 index 000000000..7ea255016 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/initialize.st @@ -0,0 +1,6 @@ +initialize-release +initialize + super initialize. + self + shouldAlwaysOpenDialog: false; + shouldAlwaysMaterialize: false. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/isAtOriginalHeadCommit.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/isAtOriginalHeadCommit.st new file mode 100644 index 000000000..09339f9e3 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/isAtOriginalHeadCommit.st @@ -0,0 +1,3 @@ +testing +isAtOriginalHeadCommit + ^ self currentHeadCommit = self originalHeadCommit \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/isMerge.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/isMerge.st new file mode 100644 index 000000000..da5a6ae1a --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/isMerge.st @@ -0,0 +1,3 @@ +testing +isMerge + ^ self parents size > 1 \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/materialize.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/materialize.st new file mode 100644 index 000000000..94a5ad140 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/materialize.st @@ -0,0 +1,5 @@ +actions +materialize + self isEmpty ifTrue: [^ self nothingToMaterialize]. + self shouldOpenDialog ifTrue: [^ self openDialogToMaterialize]. + ^ self materializeNow \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/materializeIfNecessary.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/materializeIfNecessary.st new file mode 100644 index 000000000..42fac0d80 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/materializeIfNecessary.st @@ -0,0 +1,3 @@ +actions-private +materializeIfNecessary + self shouldMaterialize ifTrue: [self basicMaterialize]. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/materializeNow.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/materializeNow.st new file mode 100644 index 000000000..eaa3651c9 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/materializeNow.st @@ -0,0 +1,6 @@ +actions-private +materializeNow + self assert: self hasConflicts not. + ^ self + basicMaterialize; + done \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/message.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/message.st new file mode 100644 index 000000000..43ffab1d2 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/message.st @@ -0,0 +1,3 @@ +accessing +message + ^ self dialog ifNotNil: #message ifNil: [self initialMessage] \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/nothingToCommit.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/nothingToCommit.st new file mode 100644 index 000000000..7c9660ca7 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/nothingToCommit.st @@ -0,0 +1,4 @@ +actions-private +nothingToCommit + self inform: 'Nothing to commit.'. + ^ self done \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/nothingToMaterialize.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/nothingToMaterialize.st new file mode 100644 index 000000000..4d7022d97 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/nothingToMaterialize.st @@ -0,0 +1,4 @@ +actions-private +nothingToMaterialize + self inform: 'No changes to load.'. + ^ self done \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/openDialog.action.label..st b/src/Squot-Core.package/SquotPendingChanges.class/instance/openDialog.action.label..st new file mode 100644 index 000000000..a24e76941 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/openDialog.action.label..st @@ -0,0 +1,9 @@ +actions-private +openDialog: aChangesDialogClass action: aBlock label: aString + self dialog: (aChangesDialogClass onChangeSets: self changeSets). + self dialog + windowTitle: self windowTitle; + addCloseButton: 'Cancel'; + addButton: aString action: aBlock; + open. + ^ self promise \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/openDialogToCommit.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/openDialogToCommit.st new file mode 100644 index 000000000..bc844c09c --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/openDialogToCommit.st @@ -0,0 +1,8 @@ +actions-private +openDialogToCommit + self + openDialog: SquotChangesDialogWithMessage + action: [self postDialogCommit] + label: self commitButtonLabel. + self dialog message: self initialMessage. + ^ self promise \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/openDialogToMaterialize.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/openDialogToMaterialize.st new file mode 100644 index 000000000..3c5bcbb0c --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/openDialogToMaterialize.st @@ -0,0 +1,6 @@ +actions-private +openDialogToMaterialize + ^ self + openDialog: SquotChangesDialog + action: [self postDialogMaterialize] + label: 'Load changes'. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/originalHeadCommit..st b/src/Squot-Core.package/SquotPendingChanges.class/instance/originalHeadCommit..st new file mode 100644 index 000000000..2f7269ad5 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/originalHeadCommit..st @@ -0,0 +1,3 @@ +accessing +originalHeadCommit: aCommit + originalHeadCommit := aCommit \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/originalHeadCommit.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/originalHeadCommit.st new file mode 100644 index 000000000..161214591 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/originalHeadCommit.st @@ -0,0 +1,3 @@ +accessing +originalHeadCommit + ^ originalHeadCommit \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/parents..st b/src/Squot-Core.package/SquotPendingChanges.class/instance/parents..st new file mode 100644 index 000000000..a44e18f50 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/parents..st @@ -0,0 +1,3 @@ +accessing +parents: aCollection + parents := aCollection \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/parents.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/parents.st new file mode 100644 index 000000000..048a0f6ed --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/parents.st @@ -0,0 +1,3 @@ +accessing +parents + ^ parents \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/postDialogCommit.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/postDialogCommit.st new file mode 100644 index 000000000..678dda5e9 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/postDialogCommit.st @@ -0,0 +1,6 @@ +actions-private +postDialogCommit + self checkIsAtOriginalHeadCommit ifFalse: [^ self]. + (self checkHasConflictsWhile: self commitActionName) ifTrue: [^ self]. + self isMessageEmpty ifTrue: [^ self]. + self commitNow. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/postDialogMaterialize.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/postDialogMaterialize.st new file mode 100644 index 000000000..ff308916e --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/postDialogMaterialize.st @@ -0,0 +1,4 @@ +actions-private +postDialogMaterialize + (self checkHasConflictsWhile: 'loading') ifTrue: [^ self]. + self materializeNow. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/prefixWindowTitle..st b/src/Squot-Core.package/SquotPendingChanges.class/instance/prefixWindowTitle..st new file mode 100644 index 000000000..72f60f43f --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/prefixWindowTitle..st @@ -0,0 +1,3 @@ +accessing +prefixWindowTitle: aString + self windowTitle: aString, self basicWindowTitle. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/promise.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/promise.st new file mode 100644 index 000000000..7e7acceab --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/promise.st @@ -0,0 +1,3 @@ +accessing +promise + ^ promise ifNil: [promise := Promise new] \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysMaterialize..st b/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysMaterialize..st new file mode 100644 index 000000000..fe57b1f4a --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysMaterialize..st @@ -0,0 +1,3 @@ +accessing +shouldAlwaysMaterialize: aBoolean + shouldAlwaysMaterialize := aBoolean \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysMaterialize.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysMaterialize.st new file mode 100644 index 000000000..f19ed9338 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysMaterialize.st @@ -0,0 +1,3 @@ +accessing +shouldAlwaysMaterialize + ^ shouldAlwaysMaterialize \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysOpenDialog..st b/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysOpenDialog..st new file mode 100644 index 000000000..8b60fa0c2 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysOpenDialog..st @@ -0,0 +1,3 @@ +accessing +shouldAlwaysOpenDialog: aBoolean + shouldAlwaysOpenDialog := aBoolean \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysOpenDialog.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysOpenDialog.st new file mode 100644 index 000000000..fe8322e2d --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldAlwaysOpenDialog.st @@ -0,0 +1,3 @@ +accessing +shouldAlwaysOpenDialog + ^ shouldAlwaysOpenDialog \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldMaterialize.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldMaterialize.st new file mode 100644 index 000000000..e409416ec --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldMaterialize.st @@ -0,0 +1,6 @@ +testing +shouldMaterialize + self shouldAlwaysMaterialize ifTrue: [^ true]. + self dialog ifNil: [^ false]. + self dialog wasEdited ifFalse: [^ false]. + ^ self confirm: 'You edited some changes. Do you wish to load them into the image?' \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldOpenDialog.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldOpenDialog.st new file mode 100644 index 000000000..3f4ca8ca2 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/shouldOpenDialog.st @@ -0,0 +1,4 @@ +testing +shouldOpenDialog + self shouldAlwaysOpenDialog ifTrue: [^ true]. + ^ SquotChangeSet anyIncludesConflicts: self changeSets \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/windowTitle..st b/src/Squot-Core.package/SquotPendingChanges.class/instance/windowTitle..st new file mode 100644 index 000000000..a7ab31b8c --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/windowTitle..st @@ -0,0 +1,3 @@ +accessing +windowTitle: aString + windowTitle := aString \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/windowTitle.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/windowTitle.st new file mode 100644 index 000000000..456c7cf4a --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/windowTitle.st @@ -0,0 +1,5 @@ +accessing +windowTitle + ^ self alwaysOpenDialog + ifTrue: [self basicWindowTitle] + ifFalse: ['Resolve conflicts to ', self basicWindowTitle withFirstCharacterDownshifted] \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/workingCopy..st b/src/Squot-Core.package/SquotPendingChanges.class/instance/workingCopy..st new file mode 100644 index 000000000..246e7a2ed --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/workingCopy..st @@ -0,0 +1,6 @@ +accessing +workingCopy: aWorkingCopy + workingCopy := aWorkingCopy. + self + originalHeadCommit: self currentHeadCommit; + doRegularCommit. \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/instance/workingCopy.st b/src/Squot-Core.package/SquotPendingChanges.class/instance/workingCopy.st new file mode 100644 index 000000000..685b55241 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/instance/workingCopy.st @@ -0,0 +1,3 @@ +accessing +workingCopy + ^ workingCopy \ No newline at end of file diff --git a/src/Squot-Core.package/SquotPendingChanges.class/methodProperties.json b/src/Squot-Core.package/SquotPendingChanges.class/methodProperties.json new file mode 100644 index 000000000..e1710ed8a --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/methodProperties.json @@ -0,0 +1,58 @@ +{ + "class" : { + }, + "instance" : { + "alwaysMaterialize" : "mad 10/7/2024 16:50", + "alwaysOpenDialog" : "mad 10/7/2024 16:49", + "basicCommit" : "mad 10/7/2024 15:55", + "basicMaterialize" : "mad 10/7/2024 15:56", + "basicWindowTitle" : "mad 10/7/2024 17:05", + "changeSets" : "mad 10/7/2024 15:50", + "changeSets:" : "mad 10/7/2024 15:51", + "checkHasConflictsWhile:" : "mad 10/7/2024 16:46", + "checkIsAtOriginalHeadCommit" : "mad 10/7/2024 16:47", + "checkIsMessageEmpty" : "mad 10/7/2024 16:54", + "commit" : "mad 10/7/2024 16:42", + "commitActionName" : "mad 10/7/2024 16:18", + "commitButtonLabel" : "mad 10/7/2024 16:18", + "commitNow" : "mad 10/7/2024 16:45", + "currentHeadCommit" : "mad 10/7/2024 16:23", + "dialog" : "mad 10/7/2024 15:51", + "dialog:" : "mad 10/7/2024 16:24", + "doAmend" : "mad 10/7/2024 17:04", + "doMerge:" : "mad 10/7/2024 17:04", + "doRegularCommit" : "mad 10/7/2024 17:38", + "done" : "mad 10/7/2024 16:39", + "hasConflicts" : "mad 10/7/2024 16:02", + "initialMessage" : "mad 10/7/2024 16:55", + "initialMessage:" : "mad 10/7/2024 16:56", + "initialize" : "mad 10/7/2024 17:02", + "isAtOriginalHeadCommit" : "mad 10/7/2024 16:47", + "isMerge" : "mad 10/7/2024 16:18", + "materialize" : "mad 10/7/2024 16:44", + "materializeIfNecessary" : "mad 10/7/2024 16:29", + "materializeNow" : "mad 10/7/2024 16:46", + "message" : "mad 10/7/2024 16:56", + "nothingToCommit" : "mad 10/7/2024 16:39", + "nothingToMaterialize" : "mad 10/7/2024 16:45", + "openDialog:action:label:" : "mad 10/7/2024 16:41", + "openDialogToCommit" : "mad 10/7/2024 16:56", + "openDialogToMaterialize" : "mad 10/7/2024 16:44", + "originalHeadCommit" : "mad 10/7/2024 15:50", + "originalHeadCommit:" : "mad 10/7/2024 15:52", + "parents" : "mad 10/7/2024 15:50", + "parents:" : "mad 10/7/2024 15:52", + "postDialogCommit" : "mad 10/7/2024 16:47", + "postDialogMaterialize" : "mad 10/7/2024 16:46", + "prefixWindowTitle:" : "mad 10/7/2024 22:51", + "promise" : "mad 10/7/2024 16:27", + "shouldAlwaysMaterialize" : "mad 10/7/2024 16:50", + "shouldAlwaysMaterialize:" : "mad 10/7/2024 16:50", + "shouldAlwaysOpenDialog" : "mad 10/7/2024 16:49", + "shouldAlwaysOpenDialog:" : "mad 10/7/2024 16:49", + "shouldMaterialize" : "mad 10/7/2024 16:54", + "shouldOpenDialog" : "mad 10/7/2024 16:54", + "windowTitle" : "mad 10/7/2024 17:06", + "windowTitle:" : "mad 10/7/2024 15:52", + "workingCopy" : "mad 10/7/2024 15:50", + "workingCopy:" : "mad 10/7/2024 17:38" } } diff --git a/src/Squot-Core.package/SquotPendingChanges.class/properties.json b/src/Squot-Core.package/SquotPendingChanges.class/properties.json new file mode 100644 index 000000000..30678eb41 --- /dev/null +++ b/src/Squot-Core.package/SquotPendingChanges.class/properties.json @@ -0,0 +1,23 @@ +{ + "category" : "Squot-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "workingCopy", + "changeSets", + "initialMessage", + "parents", + "windowTitle", + "originalHeadCommit", + "dialog", + "promise", + "shouldAlwaysOpenDialog", + "shouldAlwaysMaterialize" ], + "name" : "SquotPendingChanges", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/src/Squot-Core.package/SquotRebaseOperationEdit.class/instance/commitImage.st b/src/Squot-Core.package/SquotRebaseOperationEdit.class/instance/commitImage.st index 9384a7ad7..45cbc83de 100644 --- a/src/Squot-Core.package/SquotRebaseOperationEdit.class/instance/commitImage.st +++ b/src/Squot-Core.package/SquotRebaseOperationEdit.class/instance/commitImage.st @@ -1,4 +1,4 @@ running commitImage - ^ (self browser openDialogToCommitImageWithInitialMessage: self commit message) + ^ (self workingCopy openDialogToCommitImageWithInitialMessage: self commit message) then: [:x | self nextOperation] \ No newline at end of file diff --git a/src/Squot-Core.package/SquotRebaseOperationEdit.class/methodProperties.json b/src/Squot-Core.package/SquotRebaseOperationEdit.class/methodProperties.json index 752eb57d1..0415c6c3e 100644 --- a/src/Squot-Core.package/SquotRebaseOperationEdit.class/methodProperties.json +++ b/src/Squot-Core.package/SquotRebaseOperationEdit.class/methodProperties.json @@ -2,7 +2,7 @@ "class" : { "operationName" : "mad 12/5/2023 21:54" }, "instance" : { - "commitImage" : "mad 4/5/2024 15:22", + "commitImage" : "mad 10/7/2024 19:48", "edit" : "mad 8/13/2024 17:56", "editsMessage" : "mad 4/3/2024 19:52", "run" : "mad 4/5/2024 15:09" } } diff --git a/src/Squot-Core.package/SquotRebaseOperationPick.class/instance/run.st b/src/Squot-Core.package/SquotRebaseOperationPick.class/instance/run.st index d6785ce10..5cbb26f2d 100644 --- a/src/Squot-Core.package/SquotRebaseOperationPick.class/instance/run.st +++ b/src/Squot-Core.package/SquotRebaseOperationPick.class/instance/run.st @@ -1,4 +1,4 @@ running run - ^ (self browser actionCherryPick: self commit) + ^ (self workingCopy cherryPick: self commit) then: [:x | self nextOperation] \ No newline at end of file diff --git a/src/Squot-Core.package/SquotRebaseOperationPick.class/methodProperties.json b/src/Squot-Core.package/SquotRebaseOperationPick.class/methodProperties.json index d4a0f5aef..d3fbfde2b 100644 --- a/src/Squot-Core.package/SquotRebaseOperationPick.class/methodProperties.json +++ b/src/Squot-Core.package/SquotRebaseOperationPick.class/methodProperties.json @@ -2,4 +2,4 @@ "class" : { "operationName" : "mad 12/5/2023 21:54" }, "instance" : { - "run" : "mad 4/4/2024 23:34" } } + "run" : "mad 10/7/2024 22:54" } }