mercurial/HGCommitTask.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 25 Aug 2015 17:13:18 +0100
changeset 563 6104cd9f44f1
parent 562 e694ffae649b
child 687 744539f5b8c7
permissions -rw-r--r--
Issue #19: Initial support for amending a commit
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
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
     4
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
     5
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
     6
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
     7
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
     8
version 2.1 of the License.
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
     9
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    10
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
    11
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
    12
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
    13
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    14
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    15
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
    16
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
    17
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
    18
"
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    19
"{ 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
    20
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
    21
"{ 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
    22
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    23
SCMAbstractCommitTask subclass:#HGCommitTask
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    24
	instanceVariableNames:'author remote branch amend'
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    25
	classVariableNames:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    26
	poolDictionaries:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    27
	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
    28
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    29
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    30
!HGCommitTask class methodsFor:'documentation'!
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    31
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    32
copyright
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    33
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    34
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
    35
Copyright (C) 2012-2015 Jan Vrany
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    36
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    37
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
    38
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
    39
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
    40
version 2.1 of the License.
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    41
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    42
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
    43
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
    44
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
    45
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    46
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 288
diff changeset
    47
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
    48
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
    49
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
    50
"
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
    51
! !
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    52
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    53
!HGCommitTask methodsFor:'accessing'!
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    54
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    55
amend
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    56
    ^ amend == true
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    57
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    58
    "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
    59
!
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    60
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    61
amend:aBoolean
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    62
    amend := aBoolean.
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    63
!
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    64
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    65
author
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    66
    ^author isNil ifTrue:[
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    67
        | a |
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    68
        a := HGAuthorQuery query.
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    69
        a isNil ifTrue:[
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
    70
            a := temporaryWorkingCopy repository config ui_username.
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    71
        ].
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    72
        a
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    73
    ] ifFalse:[
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    74
        author
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    75
    ]
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    76
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    77
    "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
    78
    "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
    79
!
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    80
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    81
author:aString
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
    82
    author := aString.
151
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
    83
!
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
    84
152
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
    85
branch
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
    86
    ^ branch
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
    87
!
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
    88
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
    89
branch:aString
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
    90
    branch := aString.
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
    91
!
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
    92
550
c5e8328a47f0 Fix for mixed Smalltalk-Java packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
    93
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
    94
    | 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
    95
550
c5e8328a47f0 Fix for mixed Smalltalk-Java packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
    96
    files := super filesToGenerateFor: package skipNotOverwritable: skipNotOverwritable.
c5e8328a47f0 Fix for mixed Smalltalk-Java packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
    97
    (skipNotOverwritable and:[package parent isNil and:[ (package temporaryWorkingCopyRoot / '.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
    98
        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
    99
    ].
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   100
    ^ 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
   101
550
c5e8328a47f0 Fix for mixed Smalltalk-Java packages
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
   102
    "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
   103
!
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   104
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   105
message
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   106
    (message isNil and:[self isMergeCommit]) ifTrue:[
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   107
        message := String streamContents:[:s|
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   108
            | parent2 |
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   109
            s nextPutAll: 'Merged '.
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   110
            s nextPutAll: temporaryWorkingCopy parent1Id printStringWithoutNumber.
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   111
            s nextPutAll: ' and '.
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   112
            s nextPutAll: temporaryWorkingCopy parent2Id printStringWithoutNumber.
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   113
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   114
            parent2 := temporaryWorkingCopy parent2.
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   115
            (parent2 branches includes: temporaryWorkingCopy branch) ifFalse:[
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   116
                parent2 branches size == 1 ifTrue:[
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   117
                    s nextPutAll: ' (branch '.
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   118
                    s nextPutAll: parent2 branches anElement name.
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   119
                    s nextPutAll: ')'
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   120
                ]
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   121
            ]
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   122
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   123
        ].
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   124
        ^message.
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   125
    ].
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   126
    ^super message.
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   127
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   128
    "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
   129
    "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
   130
!
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   131
151
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   132
remote
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   133
    ^ remote
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   134
!
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   135
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   136
remote:something
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   137
    remote := something.
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
   138
! !
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 118
diff changeset
   139
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   140
!HGCommitTask methodsFor:'executing'!
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   141
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   142
doCommit: msg files: containers
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   143
    "Actually commit the changes, To be overridden by subclasses"
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   144
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   145
    self synchronized:[
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   146
        | wc repository createBranch |
151
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   147
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   148
        wc := temporaryWorkingCopy.
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   149
        repository := packages notEmpty ifTrue:[packages anElement repository] ifFalse:[ temporaryWorkingCopy repository ].
153
442c60f78aec Bugfix HGCommitTask>>doCommit:files: - allow commit into same branch
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   150
        createBranch := branch notNil and:[branch ~= wc branch name].
442c60f78aec Bugfix HGCommitTask>>doCommit:files: - allow commit into same branch
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   151
442c60f78aec Bugfix HGCommitTask>>doCommit:files: - allow commit into same branch
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   152
        createBranch ifTrue:[
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   153
            (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
   154
                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
   155
                ^self.
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   156
            ].
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   157
            wc branch: branch.
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   158
        ].
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   159
        "/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
   160
        self isMergeCommit ifTrue:[
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   161
            wc 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
   162
        ] ifFalse:[
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   163
            wc 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
   164
        ].
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   165
        self isPackageCommit ifTrue:[
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   166
            wc repository isShared ifFalse:[ 
562
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 550
diff changeset
   167
                "Push from temporary clone to original"
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 550
diff changeset
   168
                wc repository push: nil force: true.
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 550
diff changeset
   169
            ].
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 550
diff changeset
   170
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   171
            remote notNil ifTrue:[
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   172
                repository push: remote name force: false.
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   173
            ].
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   174
            "/Also, mark original (package) working copy as given branch
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   175
            "/so subsequent 'hg update' will update from that branch
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   176
            createBranch ifTrue:[
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   177
                repository workingCopy branch: branch.
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   178
            ].
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   179
        ]
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   180
    ].
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   181
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   182
    "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
   183
    "Modified: / 10-12-2012 / 10:53:14 / jv"
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   184
    "Modified: / 25-08-2015 / 16:14:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
111
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   185
!
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   186
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   187
doPrepareWorkingCopy2
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   188
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   189
    self isPackageCommit ifTrue:[
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   190
        self do:[
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   191
            | p |
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   192
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   193
            p := packages anElement.
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   194
            p ensureTemporaryWorkingCopyAtRevision:p revision.
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   195
111
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   196
            self doFileOut
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   197
        ]
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   198
    ].
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   199
6439af30a24b Fix in temporary working copy update.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   200
    "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
   201
    "Modified: / 21-02-2014 / 23:27:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   202
! !
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   203
288
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   204
!HGCommitTask methodsFor:'executing - private'!
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   205
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   206
doCompileCopyrightMethodsFor: package
353
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   207
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   208
    package definition hgEnsureCopyrightMethod ifFalse:[ ^ self ].
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   209
    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
   210
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   211
    "Created: / 21-02-2014 / 23:00:23 / 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
   212
!
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   213
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   214
doCompileVersionMethods
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   215
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   216
    packages do:[:each |
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   217
        each isVirtual ifFalse:[
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   218
            | klasses |
353
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   219
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   220
            klasses := self classesToFileOutFor: each.
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   221
            (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
   222
                klasses := klasses select:[:cls| self shouldFileOutClass: cls].
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   223
            ].
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   224
            self doCompileVersionMethodsFor: each in: klasses asArray.
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   225
        ]
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   226
    ].
353
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   227
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   228
    "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
   229
    "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
   230
!
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   231
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   232
doRemoveOldContainersFor: package
288
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   233
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   234
    (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
   235
        ^self.
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   236
    ].
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   237
    super doRemoveOldContainersFor: package
288
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   238
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
   239
    "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
   240
! !
577f8935661d Added ProjectDefinition>>hgRemoveContainesForDeletedClasses config methd.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
   241
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
   242
!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
   243
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   244
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
   245
    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
   246
        ^ 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
   247
    ].
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   248
    ^ 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
   249
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   250
    "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
   251
!
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   252
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   253
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
   254
    "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
   255
    ^ 
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   256
'
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   257
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
   258
*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
   259
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
   260
*.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
   261
*.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
   262
*.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
   263
*.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
   264
*.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
   265
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
   266
objvc
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   267
*.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
   268
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
   269
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
   270
*-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
   271
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
   272
'
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   273
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   274
    "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
   275
! !
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   276
248
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   277
!HGCommitTask methodsFor:'queries'!
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   278
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   279
isAmendable
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   280
    "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
   281
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   282
    temporaryWorkingCopy repository isShared ifFalse:[ 
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   283
        "/ 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
   284
        "/ 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
   285
        "/ 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
   286
        "/ 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
   287
        "/ 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
   288
        ^ false
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   289
    ].
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   290
    "/ One cannot ammend when there's no commit at all
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   291
    temporaryWorkingCopy changesetId = HGChangesetId null ifTrue:[ 
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   292
        ^ false
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   293
    ].
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   294
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   295
    "/ 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
   296
    "/ 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
   297
    "/ heads.
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   298
    ^ self isCommitingNewHead not
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   299
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   300
    "Created: / 27-08-2015 / 18:29:58 / 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
   301
    "Modified: / 28-08-2015 / 12:16:51 / 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
   302
!
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
   303
389
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   304
isCommitingNewHead
248
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   305
    "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
   306
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   307
     !!!!!!NOTE!!!!!!
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   308
     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
   309
     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
   310
389
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   311
    | heads  changeset |
248
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   312
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   313
    heads := temporaryWorkingCopy heads.
389
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   314
    heads isEmpty ifTrue:[
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   315
        ^ false
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   316
    ].
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   317
    changeset := temporaryWorkingCopy changeset.
389
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   318
    ^ (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
   319
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   320
    "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
   321
    "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
   322
!
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   323
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   324
isMergeCommit
390
69f0a4078682 Fixed HGCommitTask>>message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
   325
    "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
   326
     if commited changeset will have two parents"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   327
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   328
    ^temporaryWorkingCopy parent2Id isNull not
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   329
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 248
diff changeset
   330
    "Created: / 01-04-2013 / 13:03:29 / 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
   331
! !
b1a6ab0c86a1 Fixes in commit dialog (warning about commiting new head)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   332
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   333
!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
   334
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   335
version_HG
115
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
   336
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
   337
    ^ '$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
   338
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   339
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   340
version_SVN
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   341
    ^ '§Id::                                                                                                                        §'
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   342
! !
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 158
diff changeset
   343