From 5153e0d049bbec5b21f4540830dcb9a815ac01f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marius=20D=C3=B6rbandt?= Date: Fri, 11 Oct 2024 16:11:02 +0200 Subject: [PATCH] WIP: use pending changes objects --- .../GitCommit.class/instance/firstParent.st | 3 +++ .../GitCommit.class/methodProperties.json | 1 + ...seNewRepositoryLocationForActiveProject.st | 5 ++-- .../GSBrowser.class/instance/actionCommit.st | 3 +-- .../instance/actionCompareCommitToImage..st | 4 ++-- .../instance/actionCompareCommitToParent..st | 6 ++--- .../instance/actionCreateBranchAtCommit..st | 3 ++- .../instance/actionCreateBranchAtRef..st | 5 ++-- .../instance/actionMaterializeCherryPick..st | 2 +- .../instance/activeWorkingCopyAction..st | 6 +++++ .../GSBrowser.class/methodProperties.json | 15 ++++++------ .../instance/basicHeadRef.st | 2 +- .../instance/branchName..st | 2 +- .../instance/branchesBaseName.st | 2 +- .../checkSetUpstreamForCreatedBranch.to..st | 11 +++++++++ .../instance/cherryPick..st | 6 +++++ .../instance/cloneFrom..st | 2 +- .../instance/commitReferencedBy.to..st | 8 +++++++ .../instance/compareTitleFrom.to..st | 3 +++ .../instance/createBranchAtCommit..st | 3 +++ .../instance/createBranchAtCommit.fromRef..st | 8 +++++++ .../instance/createBranchAtRef..st | 5 ++++ ....at..st => createBranchNamed.atCommit..st} | 4 ++-- .../instance/currentHeadTarget.st | 2 +- .../instance/currentSymbolicHeadTarget.st | 2 +- .../instance/displayName..st | 7 ++++++ .../instance/gitBranchName..st | 2 +- .../instance/gitBranchesBaseName.st | 2 +- .../instance/headCommit.st | 2 +- .../instance/headCommitHash.st | 2 +- .../instance/headCommitIfNilInformAnd..st | 2 +- .../instance/headFSCommit.st | 2 +- .../instance/headFSCommitIfNilInformAnd..st | 2 +- .../instance/headRef.st | 2 +- .../instance/headRefBasename.st | 2 +- .../instance/headRefName.st | 2 +- .../instance/isGitBranchRef..st | 2 +- .../instance/isHeadDetached.st | 2 +- .../instance/isReferencedByHead..st | 2 +- .../instance/isRemoteRef..st | 2 +- .../instance/isSomeHead..st | 2 +- .../instance/isSqueakBranchRef..st | 2 +- .../instance/openDialogToCommitImage.st | 3 +++ ...nDialogToCommitImageWithInitialMessage..st | 7 ++++++ .../instance/openDialogToCompareCommit.to..st | 5 ++++ .../openDialogToCompareCommitToImage..st | 5 ++++ .../openDialogToCompareCommitToParent..st | 3 +++ .../instance/pendingChangeSets..st | 6 +++++ .../instance/pendingChangeSetsForPick..st | 8 +++++++ .../pendingChangeSetsFromCommit.toCommit..st | 3 +++ .../pendingChangeSetsFromCommitToImage..st | 3 +++ .../pendingChangeSetsFromHeadCommitToImage.st | 3 +++ .../pendingChangeSetsFromImageToCommit..st | 3 +++ .../instance/remoteRefBaseName.st | 2 +- .../instance/remoteRefName..st | 2 +- .../requestBranchNameFor.at.fromRef..st | 12 ++++++++++ .../instance/splitRemoteRef..st | 2 +- .../methodProperties.json | 24 +++++++++++++++++-- .../instance/commitImage.st | 2 +- .../methodProperties.json | 2 +- .../instance/run.st | 2 +- .../methodProperties.json | 2 +- 62 files changed, 196 insertions(+), 55 deletions(-) create mode 100644 src/FileSystem-Git.package/GitCommit.class/instance/firstParent.st create mode 100644 src/GitS-Core.package/GSBrowser.class/instance/activeWorkingCopyAction..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/checkSetUpstreamForCreatedBranch.to..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/cherryPick..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/commitReferencedBy.to..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/compareTitleFrom.to..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchAtCommit..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchAtCommit.fromRef..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchAtRef..st rename src/GitS-Core.package/GSGitWorkingCopy.class/instance/{createBranchNamed.at..st => createBranchNamed.atCommit..st} (82%) create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/displayName..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCommitImage.st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCommitImageWithInitialMessage..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCompareCommit.to..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCompareCommitToImage..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCompareCommitToParent..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSets..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsForPick..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromCommit.toCommit..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromCommitToImage..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromHeadCommitToImage.st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromImageToCommit..st create mode 100644 src/GitS-Core.package/GSGitWorkingCopy.class/instance/requestBranchNameFor.at.fromRef..st diff --git a/src/FileSystem-Git.package/GitCommit.class/instance/firstParent.st b/src/FileSystem-Git.package/GitCommit.class/instance/firstParent.st new file mode 100644 index 000000000..1593fd9ef --- /dev/null +++ b/src/FileSystem-Git.package/GitCommit.class/instance/firstParent.st @@ -0,0 +1,3 @@ +public-accessing +firstParent + ^ self parents ifNotEmpty: #first ifEmpty: [nil] \ No newline at end of file diff --git a/src/FileSystem-Git.package/GitCommit.class/methodProperties.json b/src/FileSystem-Git.package/GitCommit.class/methodProperties.json index 4fc46a1e6..76fb20e85 100644 --- a/src/FileSystem-Git.package/GitCommit.class/methodProperties.json +++ b/src/FileSystem-Git.package/GitCommit.class/methodProperties.json @@ -15,6 +15,7 @@ "basicParents" : "MaxLeske 2/26/2012 11:29", "committer" : "MaxLeske 2/28/2012 11:12", "committer:" : "MaxLeske 5/26/2010 19:51", + "firstParent" : "mad 10/8/2024 22:06", "hexHashAtPath:" : "mad 10/1/2024 22:54", "initialize" : "MaxLeske 2/27/2012 21:47", "isAncestorOf:" : "jr 5/23/2017 11:29", diff --git a/src/GitS-Core.package/GSBrowser.class/instance/actionChooseNewRepositoryLocationForActiveProject.st b/src/GitS-Core.package/GSBrowser.class/instance/actionChooseNewRepositoryLocationForActiveProject.st index fc1534154..9671400d1 100644 --- a/src/GitS-Core.package/GSBrowser.class/instance/actionChooseNewRepositoryLocationForActiveProject.st +++ b/src/GitS-Core.package/GSBrowser.class/instance/actionChooseNewRepositoryLocationForActiveProject.st @@ -1,4 +1,5 @@ actions actionChooseNewRepositoryLocationForActiveProject - (self activeWorkingCopyIfNilInformAnd: [^ self]) requestAndMoveToNewRepositoryLocation. - self everythingChanged. \ No newline at end of file + self activeWorkingCopyAction: [:workingCopy | + workingCopy requestAndMoveToNewRepositoryLocation. + self everythingChanged]. \ No newline at end of file diff --git a/src/GitS-Core.package/GSBrowser.class/instance/actionCommit.st b/src/GitS-Core.package/GSBrowser.class/instance/actionCommit.st index eec80d778..485c5eea3 100644 --- a/src/GitS-Core.package/GSBrowser.class/instance/actionCommit.st +++ b/src/GitS-Core.package/GSBrowser.class/instance/actionCommit.st @@ -1,4 +1,3 @@ actions actionCommit - self activeWorkingCopyIfNilInformAnd: [^ self]. - self openDialogToCommitImageWithInitialMessage: ''. \ No newline at end of file + self activeWorkingCopyAction: #openDialogToCommitImage. \ No newline at end of file diff --git a/src/GitS-Core.package/GSBrowser.class/instance/actionCompareCommitToImage..st b/src/GitS-Core.package/GSBrowser.class/instance/actionCompareCommitToImage..st index ee62c3adf..eb75f50b0 100644 --- a/src/GitS-Core.package/GSBrowser.class/instance/actionCompareCommitToImage..st +++ b/src/GitS-Core.package/GSBrowser.class/instance/actionCompareCommitToImage..st @@ -1,4 +1,4 @@ actions actionCompareCommitToImage: aCommit - self activeWorkingCopyIfNilInformAnd: [^ self]. - self openDialogToShowChangeSetsFromImageTo: aCommit. \ No newline at end of file + self activeWorkingCopyAction: [:workingCopy | + workingCopy openDialogToShowChangeSetsFromImageTo: aCommit]. \ No newline at end of file diff --git a/src/GitS-Core.package/GSBrowser.class/instance/actionCompareCommitToParent..st b/src/GitS-Core.package/GSBrowser.class/instance/actionCompareCommitToParent..st index dca77ef9b..d14fa50a2 100644 --- a/src/GitS-Core.package/GSBrowser.class/instance/actionCompareCommitToParent..st +++ b/src/GitS-Core.package/GSBrowser.class/instance/actionCompareCommitToParent..st @@ -1,6 +1,4 @@ actions actionCompareCommitToParent: aCommit - | parent | - self activeWorkingCopyIfNilInformAnd: [^ self]. - parent := aCommit parents ifNotEmpty: #first ifEmpty: [nil]. - self openDialogToShowChangeSetsFromCommit: parent to: aCommit. \ No newline at end of file + self activeWorkingCopyAction: [:workingCopy | + workingCopy openDialogToCompareCommitToParent: aCommit] \ No newline at end of file diff --git a/src/GitS-Core.package/GSBrowser.class/instance/actionCreateBranchAtCommit..st b/src/GitS-Core.package/GSBrowser.class/instance/actionCreateBranchAtCommit..st index 8f4e47b51..20fd7003f 100644 --- a/src/GitS-Core.package/GSBrowser.class/instance/actionCreateBranchAtCommit..st +++ b/src/GitS-Core.package/GSBrowser.class/instance/actionCreateBranchAtCommit..st @@ -1,3 +1,4 @@ actions actionCreateBranchAtCommit: aCommit - ^ self actionCreateBranchAtCommit: aCommit fromRef: nil \ No newline at end of file + self activeWorkingCopyAction: [:workingCopy | + workingCopy createBranchAtCommit: aCommit]. \ No newline at end of file diff --git a/src/GitS-Core.package/GSBrowser.class/instance/actionCreateBranchAtRef..st b/src/GitS-Core.package/GSBrowser.class/instance/actionCreateBranchAtRef..st index 1b5c5637e..fe1fcd3ef 100644 --- a/src/GitS-Core.package/GSBrowser.class/instance/actionCreateBranchAtRef..st +++ b/src/GitS-Core.package/GSBrowser.class/instance/actionCreateBranchAtRef..st @@ -1,5 +1,4 @@ actions actionCreateBranchAtRef: aString - | commit | - commit := (self commitReferencedBy: aString to: 'create a branch') ifNil: [^ nil]. - ^ self actionCreateBranchAtCommit: commit fromRef: aString \ No newline at end of file + self activeWorkingCopyAction: [:workingCopy | + workingCopy createBranchAtRef: aString]. \ No newline at end of file diff --git a/src/GitS-Core.package/GSBrowser.class/instance/actionMaterializeCherryPick..st b/src/GitS-Core.package/GSBrowser.class/instance/actionMaterializeCherryPick..st index f64b38981..77bc3f655 100644 --- a/src/GitS-Core.package/GSBrowser.class/instance/actionMaterializeCherryPick..st +++ b/src/GitS-Core.package/GSBrowser.class/instance/actionMaterializeCherryPick..st @@ -4,5 +4,5 @@ actionMaterializeCherryPick: aCommit onConflictOpenDialogToMaterializeChangeSets: (self activeWorkingCopy changeSetsToMergeCommitIntoHead: aCommit - withBase: (self parentForPick: aCommit)) + withBase: aCommit firstParent) windowTitle: ('Resolve conflicts to edit {1}' format: {aCommit showOneLine}) \ No newline at end of file diff --git a/src/GitS-Core.package/GSBrowser.class/instance/activeWorkingCopyAction..st b/src/GitS-Core.package/GSBrowser.class/instance/activeWorkingCopyAction..st new file mode 100644 index 000000000..22e8723a2 --- /dev/null +++ b/src/GitS-Core.package/GSBrowser.class/instance/activeWorkingCopyAction..st @@ -0,0 +1,6 @@ +actions +activeWorkingCopyAction: 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/GitS-Core.package/GSBrowser.class/methodProperties.json b/src/GitS-Core.package/GSBrowser.class/methodProperties.json index 223fcfaae..81450d138 100644 --- a/src/GitS-Core.package/GSBrowser.class/methodProperties.json +++ b/src/GitS-Core.package/GSBrowser.class/methodProperties.json @@ -8,15 +8,15 @@ "unload" : "mad 9/26/2023 15:50", "unregisterFromWorldMenu" : "mad 9/19/2023 13:45" }, "instance" : { - "actionChooseNewRepositoryLocationForActiveProject" : "mad 12/22/2023 18:15", + "actionChooseNewRepositoryLocationForActiveProject" : "mad 10/8/2024 22:03", "actionCloneProject" : "mad 10/9/2024 16:01", - "actionCommit" : "mad 4/5/2024 15:21", - "actionCompareCommitToImage:" : "mad 4/5/2024 19:00", - "actionCompareCommitToParent:" : "mad 4/5/2024 19:01", + "actionCommit" : "mad 10/8/2024 22:03", + "actionCompareCommitToImage:" : "mad 10/8/2024 22:04", + "actionCompareCommitToParent:" : "mad 10/8/2024 22:14", "actionCreateBranchAtActiveCommit" : "mad 4/5/2024 19:08", - "actionCreateBranchAtCommit:" : "mad 4/5/2024 19:01", + "actionCreateBranchAtCommit:" : "mad 10/8/2024 22:40", "actionCreateBranchAtCommitAndSwitchToIt:" : "mad 4/5/2024 19:09", - "actionCreateBranchAtRef:" : "mad 4/5/2024 19:45", + "actionCreateBranchAtRef:" : "mad 10/8/2024 22:39", "actionCreateBranchAtRefAndSwitchToIt:" : "mad 4/5/2024 19:19", "actionCreateGitBranchAtCommit:" : "mad 4/5/2024 19:24", "actionCreateGitBranchAtCommit:fromRef:" : "mad 4/10/2024 19:17", @@ -27,7 +27,7 @@ "actionFixup:keepCurrentMessage:editMessage:" : "mad 4/5/2024 15:12", "actionForcePush" : "mad 5/18/2024 11:33", "actionForcePush:" : "mad 5/18/2024 11:32", - "actionMaterializeCherryPick:" : "mad 10/7/2024 17:35", + "actionMaterializeCherryPick:" : "mad 10/8/2024 22:06", "actionMaterializeCommit:" : "mad 4/5/2024 19:30", "actionMergeCommit:" : "mad 4/5/2024 19:31", "actionMergeRef:" : "mad 4/5/2024 19:40", @@ -63,6 +63,7 @@ "activeRefIfNilInformAnd:" : "mad 4/5/2024 19:37", "activeWorkingCopy" : "mad 9/19/2023 12:38", "activeWorkingCopy:" : "mad 4/10/2024 19:17", + "activeWorkingCopyAction:" : "mad 10/8/2024 22:04", "activeWorkingCopyIfNilInformAnd:" : "mad 4/5/2024 19:05", "addMappersProjectListMenu:" : "mad 10/9/2024 16:01", "basicActiveCommit:" : "mad 5/15/2024 21:42", diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/basicHeadRef.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/basicHeadRef.st index 8efdee3fd..9c118624d 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/basicHeadRef.st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/basicHeadRef.st @@ -1,3 +1,3 @@ -refs +head basicHeadRef ^ self unitOfWork ref: self headRefName \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/branchName..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/branchName..st index 631126afc..8b257a7e7 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/branchName..st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/branchName..st @@ -1,3 +1,3 @@ -refs +branches branchName: aString ^ self branchesBaseName, aString \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/branchesBaseName.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/branchesBaseName.st index 4c45f136d..abf347f70 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/branchesBaseName.st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/branchesBaseName.st @@ -1,3 +1,3 @@ -refs +branches branchesBaseName ^ self refsBaseName, 'heads/' \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/checkSetUpstreamForCreatedBranch.to..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/checkSetUpstreamForCreatedBranch.to..st new file mode 100644 index 000000000..25b1301b1 --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/checkSetUpstreamForCreatedBranch.to..st @@ -0,0 +1,11 @@ +upstream +checkSetUpstreamForCreatedBranch: aString to: anotherString + (self isRemoteRef: anotherString) ifFalse: [^ self]. + (self confirm: + ('You created a branch {1} from the remote-tracking branch {2}. ', + 'Do you want to set the upstream branch of {1} to {2}?' + format: ({aString printString. anotherString printString} collect: [:each | GitReference shortName: each]))) + ifFalse: [^ self]. + self + setUpstreamRemoteNameAndRef: (self splitRemoteRef: anotherString) + for: aString. \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/cherryPick..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/cherryPick..st new file mode 100644 index 000000000..7c559b9a0 --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.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/GitS-Core.package/GSGitWorkingCopy.class/instance/cloneFrom..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/cloneFrom..st index a58e8fc0e..ab77e5f71 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/cloneFrom..st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/cloneFrom..st @@ -7,7 +7,7 @@ cloneFrom: aStringOrUrl target := self unitOfWork objectReferenced: self headRefBasename. (gitHead isSymbolic and: [self isGitBranchRef: gitHead targetRef]) ifTrue: [ | branchName branch | branchName := gitHead targetRef allButFirst: self gitBranchesBaseName size. - branch := self createBranchNamed: branchName at: target. + branch := self createBranchNamed: branchName atCommit: target. self setUpstreamRemoteName: self unitOfWork remoteNames first andRef: branchName for: branch. target := branch]. self updateSymbolicHeadTo: target. \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/commitReferencedBy.to..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/commitReferencedBy.to..st new file mode 100644 index 000000000..d3580835a --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/commitReferencedBy.to..st @@ -0,0 +1,8 @@ +refs +commitReferencedBy: aString to: anotherString + | object | + object := self unitOfWork objectReferenced: aString. + (object isKindOf: GitCommit) ifTrue: [^ object]. + self inform: ('Cannot {1} at {2}, because it does not refer to a commit' + format: {anotherString. aString printString}). + ^ nil \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/compareTitleFrom.to..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/compareTitleFrom.to..st new file mode 100644 index 000000000..5c545f4d7 --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/compareTitleFrom.to..st @@ -0,0 +1,3 @@ +dialog +compareTitleFrom: anObject to: anotherObject + ^ 'Show changes from {1} to {2}' format: {self displayName: anObject. self displayName: anotherObject} \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchAtCommit..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchAtCommit..st new file mode 100644 index 000000000..2875efc28 --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchAtCommit..st @@ -0,0 +1,3 @@ +branches +createBranchAtCommit: aCommit + ^ self createBranchAtCommit: aCommit fromRef: nil \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchAtCommit.fromRef..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchAtCommit.fromRef..st new file mode 100644 index 000000000..c1c087b37 --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchAtCommit.fromRef..st @@ -0,0 +1,8 @@ +branches +createBranchAtCommit: aCommit fromRef: aStringOrNil + | name branch | + name := self requestBranchNameFor: 'a branch' at: aCommit fromRef: aStringOrNil. + name isEmptyOrNil ifTrue: [^ nil]. + branch := self createBranchNamed: name atCommit: aCommit. + aStringOrNil ifNotNil: [self checkSetUpstreamForCreatedBranch: branch to: aStringOrNil]. + ^ branch \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchAtRef..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchAtRef..st new file mode 100644 index 000000000..5ae2af825 --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchAtRef..st @@ -0,0 +1,5 @@ +branches +createBranchAtRef: aString + | commit | + commit := (self commitReferencedBy: aString to: 'create a branch') ifNil: [^ nil]. + ^ self createBranchAtCommit: commit fromRef: aString \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchNamed.at..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchNamed.atCommit..st similarity index 82% rename from src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchNamed.at..st rename to src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchNamed.atCommit..st index e31d88090..21f89ade2 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchNamed.at..st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/createBranchNamed.atCommit..st @@ -1,5 +1,5 @@ -refs -createBranchNamed: aString at: aCommit +branches +createBranchNamed: aString atCommit: aCommit | refName target | refName := self branchName: aString. (self checkRefExists: refName displayName: aString) ifTrue: [^ nil]. diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/currentHeadTarget.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/currentHeadTarget.st index e4b2eae1c..a03be0478 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/currentHeadTarget.st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/currentHeadTarget.st @@ -1,3 +1,3 @@ -refs +head currentHeadTarget ^ self headRef target \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/currentSymbolicHeadTarget.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/currentSymbolicHeadTarget.st index 6db0a66af..d69b28550 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/currentSymbolicHeadTarget.st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/currentSymbolicHeadTarget.st @@ -1,4 +1,4 @@ -refs +head currentSymbolicHeadTarget ^ self headRef isSymbolic ifTrue: [self currentHeadTarget] diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/displayName..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/displayName..st new file mode 100644 index 000000000..f9843b520 --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/displayName..st @@ -0,0 +1,7 @@ +dialog +displayName: anObject + anObject = #image ifTrue: [^ 'the image']. + (anObject isKindOf: GitCommit) ifTrue: [^ anObject showOneLine]. + anObject ifNil: [^ '[no commit]']. + (anObject isKindOf: String) ifTrue: [^ GitReference shortName: anObject]. + self error: 'unknown object supplied to displayName:'. \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/gitBranchName..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/gitBranchName..st index 1a4c3baff..c35d4f6e3 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/gitBranchName..st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/gitBranchName..st @@ -1,3 +1,3 @@ -refs +git-branches gitBranchName: aString ^ self gitBranchesBaseName, aString \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/gitBranchesBaseName.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/gitBranchesBaseName.st index dcf065541..d84991a11 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/gitBranchesBaseName.st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/gitBranchesBaseName.st @@ -1,3 +1,3 @@ -refs +git-branches gitBranchesBaseName ^ 'refs/heads/' \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headCommit.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headCommit.st index b21cdeb7a..16606ec81 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headCommit.st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headCommit.st @@ -1,3 +1,3 @@ -refs +head headCommit ^ self unitOfWork objectReferenced: self headRefName \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headCommitHash.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headCommitHash.st index 6bbd27ded..ea02ccbcb 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headCommitHash.st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headCommitHash.st @@ -1,3 +1,3 @@ -refs +head headCommitHash ^ self unitOfWork resolveRef: self headRefName \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headCommitIfNilInformAnd..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headCommitIfNilInformAnd..st index c3d5e5278..00ea52fd4 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headCommitIfNilInformAnd..st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headCommitIfNilInformAnd..st @@ -1,4 +1,4 @@ -refs +head headCommitIfNilInformAnd: aBlock ^ self headCommit ifNil: [ self inform: 'Please create a commit first.'. diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headFSCommit.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headFSCommit.st index 31fa29efe..ecd10ec04 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headFSCommit.st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headFSCommit.st @@ -1,3 +1,3 @@ -refs +head headFSCommit ^ self fsCommitFrom: (self headCommit ifNil: [^ nil]) \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headFSCommitIfNilInformAnd..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headFSCommitIfNilInformAnd..st index 4689ac442..e69c1e838 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headFSCommitIfNilInformAnd..st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headFSCommitIfNilInformAnd..st @@ -1,3 +1,3 @@ -refs +head headFSCommitIfNilInformAnd: aBlock ^ self fsCommitFrom: (self headCommitIfNilInformAnd: [^ aBlock value]) \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headRef.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headRef.st index 1b69c41bc..ae24ffcee 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headRef.st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headRef.st @@ -1,4 +1,4 @@ -refs +head headRef ^ self basicHeadRef ifNil: [ self unitOfWork diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headRefBasename.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headRefBasename.st index 2d441b96c..d4c7e1e9e 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headRefBasename.st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headRefBasename.st @@ -1,3 +1,3 @@ -refs +head headRefBasename ^ 'HEAD' \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headRefName.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headRefName.st index 8fccd37e2..90ae869fa 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headRefName.st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/headRefName.st @@ -1,3 +1,3 @@ -refs +head headRefName ^ self refName: self headRefBasename \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isGitBranchRef..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isGitBranchRef..st index e0b737d8a..cfe392005 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isGitBranchRef..st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isGitBranchRef..st @@ -1,3 +1,3 @@ -refs +git-branches isGitBranchRef: aString ^ aString beginsWith: self gitBranchesBaseName \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isHeadDetached.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isHeadDetached.st index 4d5a96d23..7ff34c597 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isHeadDetached.st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isHeadDetached.st @@ -1,3 +1,3 @@ -refs +head isHeadDetached ^ self headRef isSymbolic not \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isReferencedByHead..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isReferencedByHead..st index d7e06056b..3302c1e4d 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isReferencedByHead..st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isReferencedByHead..st @@ -1,4 +1,4 @@ -refs +head isReferencedByHead: aString self unitOfWork followSymbolicRefs: self headRefName do: [:each | each = aString ifTrue: [^ true]]. diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isRemoteRef..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isRemoteRef..st index a3c46d015..dcfd0fe64 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isRemoteRef..st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isRemoteRef..st @@ -1,4 +1,4 @@ -refs +remotes isRemoteRef: aString ^ (aString beginsWith: self remoteRefBaseName) and: [(aString occurrencesOf: $/) >= ((self remoteRefBaseName occurrencesOf: $/) + 1)] \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isSomeHead..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isSomeHead..st index 53df8950f..04875e5bb 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isSomeHead..st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isSomeHead..st @@ -1,4 +1,4 @@ -refs +head isSomeHead: aString | refBasename | refBasename := aString allButFirst: (aString lastIndexOf: $/). diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isSqueakBranchRef..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isSqueakBranchRef..st index f42397ddf..38c9452f1 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isSqueakBranchRef..st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/isSqueakBranchRef..st @@ -1,3 +1,3 @@ -refs +branches isSqueakBranchRef: aString ^ aString beginsWith: self branchesBaseName \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCommitImage.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCommitImage.st new file mode 100644 index 000000000..308531369 --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCommitImage.st @@ -0,0 +1,3 @@ +dialog +openDialogToCommitImage + ^ self openDialogToCommitImageWithInitialMessage: '' \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCommitImageWithInitialMessage..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCommitImageWithInitialMessage..st new file mode 100644 index 000000000..b819374ed --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCommitImageWithInitialMessage..st @@ -0,0 +1,7 @@ +dialog +openDialogToCommitImageWithInitialMessage: aString + ^ self pendingChangeSetsFromHeadCommitToImage + windowTitle: 'Changes to commit'; + initialMessage: aString; + alwaysOpenDialog; + commit \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCompareCommit.to..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCompareCommit.to..st new file mode 100644 index 000000000..72809f7db --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCompareCommit.to..st @@ -0,0 +1,5 @@ +dialog +openDialogToCompareCommit: aCommit to: anotherCommit + ^ (self pendingChangeSetsFromCommit: anotherCommit to: aCommit) + windowTitle: (self compareTitleFrom: aCommit to: anotherCommit); + show \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCompareCommitToImage..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCompareCommitToImage..st new file mode 100644 index 000000000..6603f0f5f --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCompareCommitToImage..st @@ -0,0 +1,5 @@ +dialog +openDialogToCompareCommitToImage: aCommit + ^ (self pendingChangeSetsFromImageToCommit: aCommit) + windowTitle: (self compareTitleFrom: #image to: aCommit); + show \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCompareCommitToParent..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCompareCommitToParent..st new file mode 100644 index 000000000..e874999df --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/openDialogToCompareCommitToParent..st @@ -0,0 +1,3 @@ +dialog +openDialogToCompareCommitToParent: aCommit + ^ self openDialogToCompareCommit: aCommit to: aCommit firstParent \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSets..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSets..st new file mode 100644 index 000000000..3bc05764b --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSets..st @@ -0,0 +1,6 @@ +pending-changes +pendingChangeSets: aCollection + ^ GSChangesToCommit new + workingCopy: self; + changeSets: aCollection; + yourself \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsForPick..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsForPick..st new file mode 100644 index 000000000..cbf922149 --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsForPick..st @@ -0,0 +1,8 @@ +pending-changes +pendingChangeSetsForPick: aCommit + ^ (self pendingChangeSets: + (self + changeSetsToMergeCommitIntoHead: aCommit + withBase: aCommit firstParent)) + windowTitle: aCommit showOneLine; + yourself \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromCommit.toCommit..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromCommit.toCommit..st new file mode 100644 index 000000000..94c484cce --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromCommit.toCommit..st @@ -0,0 +1,3 @@ +pending-changes +pendingChangeSetsFromCommit: aCommit toCommit: anotherCommit + ^ self pendingChangeSets: (self changeSetsFromCommit: aCommit toCommit: anotherCommit) \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromCommitToImage..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromCommitToImage..st new file mode 100644 index 000000000..f6c639ba3 --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromCommitToImage..st @@ -0,0 +1,3 @@ +pending-changes +pendingChangeSetsFromCommitToImage: aCommit + ^ self pendingChangeSets: (self changeSetsFromCommitToImage: aCommit) \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromHeadCommitToImage.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromHeadCommitToImage.st new file mode 100644 index 000000000..d642fba6d --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromHeadCommitToImage.st @@ -0,0 +1,3 @@ +pending-changes +pendingChangeSetsFromHeadCommitToImage + ^ self pendingChangeSets: self changeSetsFromHeadCommitToImage \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromImageToCommit..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromImageToCommit..st new file mode 100644 index 000000000..1646d7d61 --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/pendingChangeSetsFromImageToCommit..st @@ -0,0 +1,3 @@ +pending-changes +pendingChangeSetsFromImageToCommit: aCommit + ^ self pendingChangeSets: (self changeSetsFromImageToCommit: aCommit) \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/remoteRefBaseName.st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/remoteRefBaseName.st index 12dcfb419..ef4ab3570 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/remoteRefBaseName.st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/remoteRefBaseName.st @@ -1,3 +1,3 @@ -refs +remotes remoteRefBaseName ^ 'refs/remotes/' \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/remoteRefName..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/remoteRefName..st index b5b66d417..73421e22e 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/remoteRefName..st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/remoteRefName..st @@ -1,3 +1,3 @@ -refs +remotes remoteRefName: aString ^ (self splitRemoteRef: aString) value \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/requestBranchNameFor.at.fromRef..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/requestBranchNameFor.at.fromRef..st new file mode 100644 index 000000000..93ee5795e --- /dev/null +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/requestBranchNameFor.at.fromRef..st @@ -0,0 +1,12 @@ +branches +requestBranchNameFor: aString at: aCommit fromRef: aStringOrNil + ^ UIManager default + request: ('Create {1} at {2}. Branch name:' format: { + aString. + self displayName: (aStringOrNil ifNil: [aCommit])}) + initialAnswer: (aStringOrNil + ifNil: [''] + ifNotNil: [:ref | + (self isRemoteRef: ref) + ifTrue: [self remoteRefName: ref] + ifFalse: [GitReference shortName: ref]]) \ No newline at end of file diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/splitRemoteRef..st b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/splitRemoteRef..st index 0756450ce..6d591dab9 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/instance/splitRemoteRef..st +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/instance/splitRemoteRef..st @@ -1,4 +1,4 @@ -refs +remotes splitRemoteRef: aString | parts index remoteName remoteRef | self assert: (self isRemoteRef: aString) description: aString, ' is not a remote ref'. diff --git a/src/GitS-Core.package/GSGitWorkingCopy.class/methodProperties.json b/src/GitS-Core.package/GSGitWorkingCopy.class/methodProperties.json index 6aa3386bd..ee226a082 100644 --- a/src/GitS-Core.package/GSGitWorkingCopy.class/methodProperties.json +++ b/src/GitS-Core.package/GSGitWorkingCopy.class/methodProperties.json @@ -38,20 +38,28 @@ "checkCanDeleteRef:" : "mad 10/16/2023 22:52", "checkForMissingHead" : "mad 3/19/2024 21:45", "checkRefExists:displayName:" : "mad 10/16/2023 21:31", + "checkSetUpstreamForCreatedBranch:to:" : "mad 10/8/2024 22:24", "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", + "cloneFrom:" : "mad 10/8/2024 22:40", "commitChangeSets:message:additionalParents:onlyAdditionalParents:" : "mad 4/29/2024 20:55", "commitChangeSets:message:parents:" : "mad 10/7/2024 15:53", "commitChangeSets:onCommit:message:additionalParents:onlyAdditionalParents:" : "mad 10/4/2024 20:35", "commitChangeSets:onCommit:message:parents:" : "mad 10/7/2024 15:54", + "commitReferencedBy:to:" : "mad 10/8/2024 22:34", + "compareTitleFrom:to:" : "mad 10/8/2024 21:58", "computeRefsForCommits" : "mad 9/11/2023 16:47", - "createBranchNamed:at:" : "mad 10/16/2023 21:32", + "createBranchAtCommit:" : "mad 10/8/2024 22:40", + "createBranchAtCommit:fromRef:" : "mad 10/8/2024 22:41", + "createBranchAtRef:" : "mad 10/9/2024 14:48", + "createBranchNamed:atCommit:" : "mad 10/8/2024 22:40", "credentials" : "mad 9/18/2023 12:52", "credentials:" : "mad 9/18/2023 12:52", "currentHeadTarget" : "mad 11/30/2023 13:17", "currentSymbolicHeadTarget" : "mad 11/30/2023 13:17", + "displayName:" : "mad 10/8/2024 22:00", "doImageHashMigration" : "mad 11/29/2023 15:09", "doPostUpdateMigrations" : "mad 10/6/2024 21:21", "emptyCommit" : "mad 5/20/2023 21:22", @@ -97,6 +105,17 @@ "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/8/2024 21:37", + "openDialogToCompareCommit:to:" : "mad 10/8/2024 22:11", + "openDialogToCompareCommitToImage:" : "mad 10/8/2024 21:56", + "openDialogToCompareCommitToParent:" : "mad 10/8/2024 22:14", + "pendingChangeSets:" : "mad 10/8/2024 21:38", + "pendingChangeSetsForPick:" : "mad 10/8/2024 22:06", + "pendingChangeSetsFromCommit:toCommit:" : "mad 10/8/2024 22:13", + "pendingChangeSetsFromCommitToImage:" : "mad 10/8/2024 21:46", + "pendingChangeSetsFromHeadCommitToImage" : "mad 10/8/2024 21:37", + "pendingChangeSetsFromImageToCommit:" : "mad 10/8/2024 22:09", "pushRef:force:" : "mad 5/18/2024 11:31", "refChanged:" : "mad 5/15/2024 21:20", "refName:" : "mad 6/3/2023 14:17", @@ -114,6 +133,7 @@ "repositoryExists" : "mad 11/30/2023 17:03", "requestAndMoveToNewRepositoryLocation" : "mad 12/22/2023 17:49", "requestAndRememberRemoteNameAndRefFor:" : "mad 12/13/2023 19:00", + "requestBranchNameFor:at:fromRef:" : "mad 10/9/2024 14:49", "requestCredentialsFor:ifCanceled:" : "mad 9/18/2023 12:49", "requestNewRepositoryLocation" : "mad 10/9/2024 23:14", "requestRemoteNameAndRefFor:" : "mad 12/13/2023 18:59", diff --git a/src/GitS-Core.package/GSRebaseOperationEdit.class/instance/commitImage.st b/src/GitS-Core.package/GSRebaseOperationEdit.class/instance/commitImage.st index 9384a7ad7..45cbc83de 100644 --- a/src/GitS-Core.package/GSRebaseOperationEdit.class/instance/commitImage.st +++ b/src/GitS-Core.package/GSRebaseOperationEdit.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/GitS-Core.package/GSRebaseOperationEdit.class/methodProperties.json b/src/GitS-Core.package/GSRebaseOperationEdit.class/methodProperties.json index 752eb57d1..0415c6c3e 100644 --- a/src/GitS-Core.package/GSRebaseOperationEdit.class/methodProperties.json +++ b/src/GitS-Core.package/GSRebaseOperationEdit.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/GitS-Core.package/GSRebaseOperationPick.class/instance/run.st b/src/GitS-Core.package/GSRebaseOperationPick.class/instance/run.st index d6785ce10..5cbb26f2d 100644 --- a/src/GitS-Core.package/GSRebaseOperationPick.class/instance/run.st +++ b/src/GitS-Core.package/GSRebaseOperationPick.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/GitS-Core.package/GSRebaseOperationPick.class/methodProperties.json b/src/GitS-Core.package/GSRebaseOperationPick.class/methodProperties.json index d4a0f5aef..d3fbfde2b 100644 --- a/src/GitS-Core.package/GSRebaseOperationPick.class/methodProperties.json +++ b/src/GitS-Core.package/GSRebaseOperationPick.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" } }