mercurial/HGCommitTask.st
author Jan Vrany <jan.vrany@labware.com>
Fri, 03 Dec 2021 11:40:55 +0000
changeset 934 84b7d3b8f3a6
parent 925 5e4a47858522
permissions -rw-r--r--
Add comment `HGWorkingCopy >> statusesOf:` ...to ease debugging when assertion fails.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
     1
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
     2
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 409
diff changeset
     3
Copyright (C) 2012-2015 Jan Vrany
903
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 864
diff changeset
     4
Copyright (C) 2020 LabWare
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
     5
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
     6
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
     7
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
     8
License as published by the Free Software Foundation; either
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
     9
version 2.1 of the License.
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    10
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    11
This library is distributed in the hope that it will be useful,
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    14
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    15
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    16
You should have received a copy of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    17
License along with this library; if not, write to the Free Software
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    19
"
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    20
"{ Package: 'stx:libscm/mercurial' }"
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    21
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
    22
"{ NameSpace: Smalltalk }"
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
    23
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    24
SCMAbstractCommitTask subclass:#HGCommitTask
687
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
    25
	instanceVariableNames:'author remote branch amend bookmark'
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    26
	classVariableNames:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    27
	poolDictionaries:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    28
	category:'SCM-Mercurial-StX-Tasks'
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    29
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    30
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    31
!HGCommitTask class methodsFor:'documentation'!
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    32
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    33
copyright
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    34
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    35
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 409
diff changeset
    36
Copyright (C) 2012-2015 Jan Vrany
903
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 864
diff changeset
    37
Copyright (C) 2020 LabWare
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    38
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    39
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    40
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    41
License as published by the Free Software Foundation; either
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    42
version 2.1 of the License.
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    43
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    44
This library is distributed in the hope that it will be useful,
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    45
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    46
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    47
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    48
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    49
You should have received a copy of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    50
License along with this library; if not, write to the Free Software
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    51
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    52
"
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    53
! !
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    54
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    55
!HGCommitTask methodsFor:'accessing'!
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    56
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    57
amend
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    58
    ^ amend == true
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    59
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    60
    "Modified: / 25-08-2015 / 13:16:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    61
!
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    62
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    63
amend:aBoolean
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    64
    amend := aBoolean.
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    65
!
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    66
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    67
author
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    68
    ^author isNil ifTrue:[
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    69
        | a |
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    70
        a := HGAuthorQuery query.
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    71
        a isNil ifTrue:[
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
    72
            a := workingCopy repository config ui_username.
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    73
        ].
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    74
        a
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    75
    ] ifFalse:[
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    76
        author
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    77
    ]
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    78
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    79
    "Modified: / 07-12-2012 / 16:17:02 / jv"
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    80
    "Modified: / 18-02-2014 / 11:33:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    81
!
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    82
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    83
author:aString
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    84
    author := aString.
151
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
    85
!
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
    86
687
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
    87
bookmark
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
    88
    ^ bookmark
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
    89
!
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
    90
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
    91
bookmark:aString
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
    92
    bookmark := aString.
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
    93
!
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
    94
152
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
    95
branch
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
    96
    ^ branch
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
    97
!
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
    98
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
    99
branch:aString
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   100
    branch := aString.
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   101
!
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   102
809
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   103
changeset
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   104
    "Return a changeset the commit will be based on (as HGChangeset)"
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   105
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   106
    | rev |
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   107
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   108
    rev := packages revision.
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   109
    ^ (packages repository changesetWithId:rev)
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   110
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   111
    "Created: / 08-02-2018 / 21:07:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   112
!
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   113
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   114
changesetSuccessors
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   115
    "Return a set of non-obsolete successors of the 'current' changeset
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   116
     (as set of HGCHangeset). If the current changeset is not obsolete
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   117
     an empty set is returned"
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   118
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   119
    | queue successors |
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   120
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   121
    queue := OrderedCollection withAll: self changeset successors.
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   122
    successors := Set new.
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   123
    [ queue isEmpty ] whileFalse:[  
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   124
        | cs |
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   125
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   126
        cs := queue removeFirst.
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   127
        cs isObsolete ifTrue:[ 
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   128
            queue addAll: cs successors
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   129
        ] ifFalse:[ 
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   130
            successors add: cs
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   131
        ].
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   132
    ].
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   133
    ^ successors
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   134
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   135
    "Created: / 08-02-2018 / 21:14:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   136
!
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   137
549
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
   138
filesToGenerateFor: package skipNotOverwritable: skipNotOverwritable     
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   139
    | files |
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   140
549
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
   141
    files := super filesToGenerateFor: package skipNotOverwritable: skipNotOverwritable.
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   142
    (skipNotOverwritable and:[package parent isNil and:[ (package workingCopyRoot / '.hgignore') exists not ]]) ifTrue:[ 
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   143
        files add: '.hgignore'
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   144
    ].
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   145
    ^ files
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   146
549
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
   147
    "Created: / 11-06-2015 / 08:19:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   148
!
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   149
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   150
message
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   151
    (message isNil and:[self isMergeCommit]) ifTrue:[
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   152
        message := String streamContents:[:s|
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   153
            | parent2 |
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   154
            s nextPutAll: 'Merged '.
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   155
            s nextPutAll: workingCopy parent1Id printStringWithoutNumber.
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   156
            s nextPutAll: ' and '.
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   157
            s nextPutAll: workingCopy parent2Id printStringWithoutNumber.
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   158
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   159
            parent2 := workingCopy parent2.
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   160
            (parent2 branches includes: workingCopy branch) ifFalse:[
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   161
                parent2 branches size == 1 ifTrue:[
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   162
                    s nextPutAll: ' (branch '.
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   163
                    s nextPutAll: parent2 branches anElement name.
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   164
                    s nextPutAll: ')'
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   165
                ]
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   166
            ]
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   167
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   168
        ].
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   169
        ^message.
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   170
    ].
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   171
    ^super message.
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   172
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   173
    "Created: / 01-04-2013 / 13:53:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
409
20e6f5c4f3b2 FIx for issue #11 - Add user feedback when pushing from system browser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 390
diff changeset
   174
    "Modified: / 26-03-2014 / 15:07:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   175
!
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   176
151
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   177
remote
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   178
    ^ remote
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   179
!
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   180
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   181
remote:something
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   182
    remote := something.
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
   183
! !
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
   184
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   185
!HGCommitTask methodsFor:'executing'!
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   186
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   187
doCommit: msg files: containers
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   188
    "Actually commit the changes, To be overridden by subclasses"
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   189
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   190
    self synchronized:[
925
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   191
        | repository createBranch |
151
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   192
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   193
        repository := packages notEmpty ifTrue:[packages anElement repository] ifFalse:[ workingCopy repository ].
925
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   194
        createBranch := branch notNil and:[branch ~= workingCopy branch name].
153
442c60f78aec Bugfix HGCommitTask>>doCommit:files: - allow commit into same branch
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   195
442c60f78aec Bugfix HGCommitTask>>doCommit:files: - allow commit into same branch
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   196
        createBranch ifTrue:[
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   197
            (repository branches contains:[:b|b name = branch]) ifTrue:[
152
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   198
                HGCommitError raiseErrorString: 'Commiting to an existing branch is not allowed'.
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   199
                ^self.
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   200
            ].
925
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   201
            workingCopy branch: branch.
152
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   202
        ].
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   203
        "/Cannot commit only some files after merge, in that case, commit everything"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   204
        self isMergeCommit ifTrue:[
925
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   205
            workingCopy commit: msg files: nil author: self author amend: amend
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   206
        ] ifFalse:[
925
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   207
            workingCopy commit: msg files: containers author: self author amend: amend
152
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   208
        ].
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   209
        self isPackageCommit ifTrue:[
687
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   210
            bookmark notNil ifTrue:[ 
925
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   211
                workingCopy repository bookmark: workingCopy changesetId as: bookmark.  
687
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   212
            ].
925
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   213
            (self isCommitingInTemporaryWorkingCopy and: [workingCopy isShared not]) ifTrue:[ 
687
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   214
                "/ Push from temporary clone to original
925
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   215
                workingCopy repository push: nil force: true.
687
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   216
                "/Also, mark original (package) working copy as given branch
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   217
                "/so subsequent 'hg update' will update from that branch
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   218
                createBranch ifTrue:[
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   219
                    repository workingCopy branch: branch.
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   220
                ].
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   221
            ].
718
d1a254dba5d2 Backed out changeset f0ba1bb1106d
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 713
diff changeset
   222
            "/ If working copy us not shared or when using Mercurial < 3.3 (which does not support
d1a254dba5d2 Backed out changeset f0ba1bb1106d
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 713
diff changeset
   223
            "/ sharing of bookmarks), also set the bookmark on package working copy.
688
c3cb04bed338 Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 687
diff changeset
   224
            bookmark notNil ifTrue:[
925
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   225
                (workingCopy repository isShared not or:[ HGCommand hgVersionIsGreaterOrEqualThan_3_3 not]) ifTrue:[ 
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   226
                    repository bookmark: workingCopy changesetId as: bookmark. 
718
d1a254dba5d2 Backed out changeset f0ba1bb1106d
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 713
diff changeset
   227
                ].
562
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 549
diff changeset
   228
            ].
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 549
diff changeset
   229
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   230
            remote notNil ifTrue:[
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   231
                repository push: remote name force: false.
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   232
            ].
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   233
        ]
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   234
    ].
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   235
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   236
    "Created: / 15-11-2012 / 16:52:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
158
591092ed5641 Bugfix in HGCommitTask>>doCommit:files: (pass remote name as string)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 156
diff changeset
   237
    "Modified: / 10-12-2012 / 10:53:14 / jv"
687
744539f5b8c7 Added support to add (move) bookmark when commiting a new changeset
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   238
    "Modified: / 27-06-2016 / 11:50:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
925
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   239
    "Modified: / 07-10-2020 / 12:50:43 / Jan Vrany <jan.vrany@labware.com>"
111
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   240
!
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   241
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   242
doPrepareWorkingCopy2
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   243
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   244
    self isPackageCommit ifTrue:[
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   245
        self do:[
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   246
            | p |
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   247
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   248
            p := packages anElement.
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   249
            p ensureWorkingCopyAtRevision: p revision.
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   250
111
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   251
            self doFileOut
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   252
        ]
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   253
    ].
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   254
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   255
    "Created: / 28-11-2012 / 09:42:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   256
    "Modified: / 21-02-2014 / 23:27:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
809
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   257
!
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   258
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   259
doUpdateLogicalRevisionTo: newRev
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   260
    "Force the logical revision of packages to given revision.
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   261
     This is used to update logical revision to a successor
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   262
     of an obsolete revision.
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   263
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   264
     Use wisely!!
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   265
    "
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   266
    | oldRev |
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   267
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   268
    oldRev := packages revision.
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   269
    packages do:[:p | p updateLogicalRevisionFrom:oldRev to:newRev  ].
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   270
    self assert: packages revision = newRev
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   271
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   272
    "Created: / 08-02-2018 / 22:14:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   273
! !
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   274
288
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   275
!HGCommitTask methodsFor:'executing - private'!
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   276
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   277
doCompileCopyrightMethodsFor: package
353
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   278
903
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 864
diff changeset
   279
    "/package definition hgEnsureCopyrightMethod ifFalse:[ ^ self ].
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   280
    super doCompileCopyrightMethodsFor: package.
353
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   281
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   282
    "Created: / 21-02-2014 / 23:00:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
903
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 864
diff changeset
   283
    "Modified: / 27-05-2020 / 14:06:19 / Jan Vrany <jan.vrany@labware.com>"
353
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   284
!
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   285
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   286
doCompileVersionMethods
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   287
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   288
    packages do:[:each |
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   289
        each isVirtual ifFalse:[
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   290
            | klasses |
353
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   291
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   292
            klasses := self classesToFileOutFor: each.
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   293
            (each definition hgEnsureVersion_HGMethod or:[each root definition hgEnsureVersion_HGMethod]) ifFalse:[
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   294
                klasses := klasses select:[:cls| self shouldFileOutClass: cls].
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   295
            ].
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   296
            self doCompileVersionMethodsFor: each in: klasses asArray.
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   297
        ]
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   298
    ].
353
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   299
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   300
    "Created: / 09-10-2013 / 11:58:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   301
    "Modified: / 28-02-2014 / 09:53:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
353
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   302
!
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   303
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   304
doRemoveOldContainersFor: package
288
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   305
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   306
    (package definition hgRemoveContainesForDeletedClasses or:[package root definition hgRemoveContainesForDeletedClasses]) ifFalse:[
288
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   307
        ^self.
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   308
    ].
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   309
    super doRemoveOldContainersFor: package
288
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   310
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   311
    "Created: / 21-02-2014 / 23:23:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
288
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   312
! !
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   313
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   314
!HGCommitTask methodsFor:'private'!
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   315
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   316
generateFile: file for: package 
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   317
    file = '.hgignore' ifTrue:[ 
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   318
        ^ self generateHGIgnoreFor: package
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   319
    ].
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   320
    ^ super generateFile: file for: package
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   321
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   322
    "Created: / 20-01-2015 / 08:12:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   323
!
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   324
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   325
generateHGIgnoreFor:package
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   326
    "Initial contents of .hgignore for Smalltalk/X packages"
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   327
    ^ 
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   328
'
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   329
syntax: glob
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   330
*Init.c   
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   331
makefile
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   332
*.so
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   333
*.H
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   334
*.o
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   335
*.STH
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   336
*.sc
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   337
objbc
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   338
objvc
862
458a462cc9ff Added directory `objmingw` to default `.hgignore`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 813
diff changeset
   339
objmingw
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   340
*.class
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   341
java/libs/*.jar
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   342
java/libs-src/*.jar
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   343
*-Test.xml
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   344
st.chg
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   345
'
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   346
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   347
    "Created: / 20-01-2015 / 08:12:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
862
458a462cc9ff Added directory `objmingw` to default `.hgignore`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 813
diff changeset
   348
    "Modified: / 25-09-2018 / 12:36:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   349
! !
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   350
248
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   351
!HGCommitTask methodsFor:'queries'!
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   352
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   353
isAmendable
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   354
    "Return true, if commit may amend previous one, false otherwise"
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   355
925
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   356
    (self isCommitingInTemporaryWorkingCopy and: [workingCopy isShared not]) ifTrue: [ 
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   357
        "/ If the repository is NOT shared, we cannot ammend
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   358
        "/ because cloned changesets are in public phase and thus
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   359
        "/ cannot be amended. Also, we would have to strip the
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   360
        "/ original revision in the original repository and then
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   361
        "/ push the amended one. Doable, but too moch work...
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   362
        ^ false
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   363
    ].
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   364
    "/ One cannot ammend when there's no commit at all
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   365
    workingCopy changesetId = HGChangesetId null ifTrue:[ 
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   366
        ^ false
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   367
    ].
813
dab0996374c8 Added support for amending a non-head revision
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 809
diff changeset
   368
    "/ Any changeset can be amended if we have evolve 
dab0996374c8 Added support for amending a non-head revision
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 809
diff changeset
   369
    "/ extension
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   370
    workingCopy repository hasExtensionEvolve ifTrue:[ 
813
dab0996374c8 Added support for amending a non-head revision
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 809
diff changeset
   371
        ^ true
dab0996374c8 Added support for amending a non-head revision
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 809
diff changeset
   372
    ].
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   373
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   374
    "/ One cannot ammend changeset with children, so
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   375
    "/ check whether the logical revision is one od the
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   376
    "/ heads.
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   377
    ^ self isCommitingNewHead not
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   378
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   379
    "Created: / 27-08-2015 / 18:29:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
813
dab0996374c8 Added support for amending a non-head revision
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 809
diff changeset
   380
    "Modified: / 12-02-2018 / 18:56:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
925
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   381
    "Modified: / 07-10-2020 / 13:09:03 / Jan Vrany <jan.vrany@labware.com>"
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   382
!
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   383
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   384
isCommitingInTemporaryWorkingCopy
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   385
    "Return `true`, if we're using temporary working copy to perform the commit,
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   386
     `false` otherwise."
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   387
    | repository |
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   388
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   389
    repository := packages notEmpty ifTrue:[packages anElement repository] ifFalse:[ workingCopy repository ].
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   390
    ^ workingCopy repository ~~ repository
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   391
5e4a47858522 Add (experimental) option to use original working copy for commits
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   392
    "Created: / 07-10-2020 / 13:05:47 / Jan Vrany <jan.vrany@labware.com>"
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   393
!
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   394
389
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   395
isCommitingNewHead
248
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   396
    "Return true, if a new head is to be commited, false otherwise.
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   397
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   398
     !!!!!!NOTE!!!!!!
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   399
     When there is no head at all such as when commiting to a fresh repository
389
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   400
     or into a just-created branch, this method returns FALSE."
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   401
389
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   402
    | heads  changeset |
248
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   403
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   404
    heads := workingCopy heads.
389
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   405
    heads isEmpty ifTrue:[
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   406
        ^ false
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   407
    ].
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   408
    changeset := workingCopy changeset.
389
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   409
    ^ (heads includes:changeset) not
248
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   410
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   411
    "Created: / 08-03-2013 / 20:11:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   412
    "Modified: / 01-04-2013 / 12:57:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   413
!
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   414
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   415
isMergeCommit
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   416
    "Return true, if this commit is a merge commit, i.e.,
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   417
     if commited changeset will have two parents"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   418
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   419
    ^workingCopy parent2Id isNull not
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   420
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   421
    "Created: / 01-04-2013 / 13:03:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
809
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   422
!
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   423
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   424
isPackageLogicalRevisonObsolete
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   425
    "Return `true`, if 'current package revision' is obsolete,
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   426
     `false` otherwise. By 'current package revision' we mean
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   427
     a revision that the smalltalk thinks the code is based on."
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   428
    
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   429
    ^ self changeset isObsolete
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   430
1bbcf42198c6 Initial support for updating obsolete package revision to its successor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 718
diff changeset
   431
    "Created: / 08-02-2018 / 20:32:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
248
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   432
! !
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   433
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   434
!HGCommitTask class methodsFor:'documentation'!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   435
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   436
version_HG
115
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
   437
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
   438
    ^ '$Changeset: <not expanded> $'
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   439
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   440
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   441
version_SVN
903
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 864
diff changeset
   442
    ^ '§Id::                                                                                                                        §'
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   443
! !
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
   444