mercurial/HGWorkingCopy.st
author Jan Vrany <jan.vrany@labware.com>
Fri, 19 Feb 2021 08:29:41 +0000
changeset 924 4d92f234f671
parent 923 fdda1308e0f1
child 925 5e4a47858522
permissions -rw-r--r--
Rework and fix HGSourceCodeManager >> #revisionLogOf:...directory:module:` This commit changes the logic in two ways: 1. #newestRevision is now the newest revision in the branch that *contains* given file (not necesarily modidfes it). If there are multiple heads in that branch, pretty much random one is returned. This changes old behavior and therefore this commit updates tests. 2. If a specific single revision is requested, i.e., both from and to revisions are the same, revision log with that single revision is returned no matter whether it modifies the file or even contains that file at all. This is essentially a workaround to fix issue #305. Moreover, this commit simplifies the code a lot by delegating all the changeset searching and filtering to mercurial using revset expressions. See https://swing.fit.cvut.cz/projects/stx-jv/ticket/305#comment:3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
     1
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
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: 403
diff changeset
     3
Copyright (C) 2012-2015 Jan Vrany
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 864
diff changeset
     4
Copyright (C) 2020 LabWare
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
     5
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
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: 282
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: 282
diff changeset
     8
License as published by the Free Software Foundation; either
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
     9
version 2.1 of the License. 
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
    10
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
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: 282
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: 282
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: 282
diff changeset
    14
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    15
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
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: 282
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: 282
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: 178
diff changeset
    19
"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    20
"{ Package: 'stx:libscm/mercurial' }"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    21
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
    22
"{ NameSpace: Smalltalk }"
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
    23
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    24
HGRepositoryObject subclass:#HGWorkingCopy
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    25
	instanceVariableNames:'root mergeState'
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    26
	classVariableNames:''
63
77b0d42eebd0 Removed last bits of Git, hopefully
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 61
diff changeset
    27
	poolDictionaries:''
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    28
	category:'SCM-Mercurial-Core'
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    29
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    30
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    31
Object subclass:#MergeState
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    32
	instanceVariableNames:'wc states'
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    33
	classVariableNames:''
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    34
	poolDictionaries:''
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    35
	privateIn:HGWorkingCopy
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    36
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    37
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
    38
!HGWorkingCopy class methodsFor:'documentation'!
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
    39
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
    40
copyright
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
    41
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    42
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403
diff changeset
    43
Copyright (C) 2012-2015 Jan Vrany
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 864
diff changeset
    44
Copyright (C) 2020 LabWare
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    45
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    46
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    47
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    48
License as published by the Free Software Foundation; either
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    49
version 2.1 of the License. 
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
    50
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    51
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: 282
diff changeset
    52
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    53
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    54
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    55
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    56
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: 282
diff changeset
    57
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: 282
diff changeset
    58
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: 178
diff changeset
    59
"
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
    60
! !
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    61
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    62
!HGWorkingCopy methodsFor:'accessing'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    63
923
fdda1308e0f1 Fix issue with bookmark not advancing upon commit
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
    64
bookmark
fdda1308e0f1 Fix issue with bookmark not advancing upon commit
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
    65
    "Return *active* bookmark of working copy parent or nil if
fdda1308e0f1 Fix issue with bookmark not advancing upon commit
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
    66
     there's no active bookmark"
fdda1308e0f1 Fix issue with bookmark not advancing upon commit
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
    67
fdda1308e0f1 Fix issue with bookmark not advancing upon commit
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
    68
    ^ repository bookmark
fdda1308e0f1 Fix issue with bookmark not advancing upon commit
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
    69
fdda1308e0f1 Fix issue with bookmark not advancing upon commit
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
    70
    "Created: / 17-02-2021 / 13:39:11 / Jan Vrany <jan.vrany@labware.com>"
fdda1308e0f1 Fix issue with bookmark not advancing upon commit
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
    71
!
fdda1308e0f1 Fix issue with bookmark not advancing upon commit
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
    72
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
    73
bookmarks
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
    74
    "Return bookmarks of working copy parent"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
    75
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
    76
    ^ self changeset bookmarks
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
    77
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
    78
    "Created: / 20-03-2014 / 08:55:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
    79
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
    80
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    81
branch
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    82
    "Return currently checked-out branch"
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    83
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    84
    | name |
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    85
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    86
    name := 'default'.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    87
    (root asFilename / '.hg' / 'branch') exists ifTrue:[
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    88
        "File DOES contain trailing newline"    
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    89
        name := (root asFilename / '.hg' / 'branch') contents first.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    90
    ].
176
78124cee58da Bugfix: keep branch of mater working copy even if there are no changesets yet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
    91
    ^repository branchWithName: name createIfAbsent: true.
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    92
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    93
    "Created: / 27-11-2012 / 13:51:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
176
78124cee58da Bugfix: keep branch of mater working copy even if there are no changesets yet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
    94
    "Modified: / 14-01-2013 / 14:23:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    95
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    96
152
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
    97
branch: aStringOrHGBranch
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
    98
    "Set branch for subsequent commits. Returns new branch as HGBranch"
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
    99
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   100
    | name |
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   101
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   102
    name := aStringOrHGBranch asString.
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   103
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   104
    self branch name = name ifTrue:[ ^ self ].
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   105
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   106
    (root asFilename / '.hg' / 'branch') exists ifTrue:[
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   107
        (root asFilename / '.hg' / 'branch') 
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   108
            copyTo: (root asFilename / '.hg' / 'undo.branch')
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   109
    ] ifFalse:[
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   110
        "File DOES contain trailing newline"
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   111
        (root asFilename / '.hg' / 'undo.branch') writingFileDo:[:s|
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   112
            s nextPutLine: 'default'.
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   113
        ]    
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   114
    ].
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   115
    (root asFilename / '.hg' / 'branch') writingFileDo:[:s|
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   116
        s nextPutLine: name.
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   117
    ].
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   118
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   119
    "Return HGBranch here"
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   120
    ^ aStringOrHGBranch isString ifFalse:[
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   121
        aStringOrHGBranch
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   122
    ] ifTrue:[
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   123
        repository branchWithName: name createIfAbsent: true.
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   124
    ]
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   125
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   126
    "Created: / 10-12-2012 / 03:04:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   127
!
9068fe7a5795 Support for commiting to a new branch.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
   128
46
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   129
changeset
247
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   130
    "Return an HGChangesetId on which the working copy is based on.
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   131
     This is parent1"
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   132
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   133
    ^self parent1
247
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   134
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   135
    "Created: / 13-11-2012 / 21:47:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   136
    "Modified: / 01-04-2013 / 12:44:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
247
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   137
!
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   138
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   139
changesetId
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   140
    "Return an HGChangeset on which the working copy is based on.
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   141
     This is parent1"
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   142
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   143
    ^self parent1Id
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   144
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   145
    "Created: / 08-03-2013 / 19:50:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   146
    "Modified: / 01-04-2013 / 12:43:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   147
!
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   148
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   149
commitTask
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 864
diff changeset
   150
    ^HGCommitTask new workingCopy: self
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   151
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   152
    "Created: / 01-04-2013 / 12:56:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   153
!
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   154
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   155
conflicts
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   156
    "Return entries with conflicts (both resolved and unresolved)"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   157
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   158
    ^self mergeState paths collect:[:p|root / p]
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   159
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   160
    "Created: / 14-01-2013 / 21:48:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   161
!
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   162
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   163
heads
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   164
    "Return heads of currently checked-out branch"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   165
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   166
    ^self branch heads
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   167
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   168
    "Created: / 27-11-2012 / 21:51:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   169
!
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   170
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   171
parent1
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   172
    "Return an HGChangeset representing parent1 of the receiver"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   173
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   174
    ^repository changesetWithId: self parent1Id.
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   175
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   176
    "Created: / 01-04-2013 / 12:44:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   177
!
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   178
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   179
parent1Id
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   180
    "Return an HGChangesetId of parent1 of this working copy."
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   181
123
ee1cc926f489 Added parent/child relationship to SCMAbstractPackageModel (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   182
    | id dirstate |
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   183
123
ee1cc926f489 Added parent/child relationship to SCMAbstractPackageModel (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   184
    dirstate := root asFilename / '.hg' / 'dirstate'.
ee1cc926f489 Added parent/child relationship to SCMAbstractPackageModel (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   185
    dirstate exists ifFalse:[ 
ee1cc926f489 Added parent/child relationship to SCMAbstractPackageModel (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   186
        "No changeset yet - fresh repository"
247
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   187
        ^ HGChangesetId null 
123
ee1cc926f489 Added parent/child relationship to SCMAbstractPackageModel (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   188
    ].
ee1cc926f489 Added parent/child relationship to SCMAbstractPackageModel (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   189
ee1cc926f489 Added parent/child relationship to SCMAbstractPackageModel (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   190
    dirstate readingFileDo:[:s|
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   191
        s binary.
103
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   192
        id := HGChangesetId fromBytes: (s next: 20).
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   193
    ].
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   194
247
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   195
    ^id.
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   196
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   197
    "Created: / 01-04-2013 / 12:42:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   198
!
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   199
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   200
parent2
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   201
    "Return an HGChangeset representing parent2 of the receiver"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   202
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   203
    ^repository changesetWithId: self parent2Id.
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   204
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   205
    "Created: / 01-04-2013 / 12:52:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
46
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   206
!
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   207
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   208
parent2Id
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   209
    "Return an HGChangesetId of parent1 of this working copy."
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   210
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   211
    | id dirstate |
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   212
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   213
    dirstate := root asFilename / '.hg' / 'dirstate'.
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   214
    dirstate exists ifFalse:[ 
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   215
        "No changeset yet - fresh repository"
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   216
        ^ HGChangesetId null 
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   217
    ].
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   218
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   219
    dirstate readingFileDo:[:s|
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   220
        s binary.
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   221
        s skip: 20.
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   222
        id := HGChangesetId fromBytes: (s next: 20).
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   223
    ].
107
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   224
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   225
    ^id.
107
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   226
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
   227
    "Created: / 01-04-2013 / 12:43:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
107
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   228
!
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   229
46
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   230
path
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   231
    "Return a path to the root directory of the receiver as *Filename*. 
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   232
     Use #root to get the root working copy file"
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   233
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   234
    ^repository path
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   235
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   236
    "Created: / 17-10-2012 / 13:53:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   237
!
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   238
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   239
pathName
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   240
    "Return a path to the root directory of the receiver as *String*
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   241
     Use #root to get the root working copy file"
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   242
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   243
    ^repository pathName
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   244
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   245
    "Created: / 05-12-2012 / 19:25:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   246
!
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 123
diff changeset
   247
57
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   248
repository
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   249
    ^repository
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   250
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   251
    "Created: / 15-11-2012 / 09:48:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   252
!
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   253
46
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   254
root
d5a192b11a1a - More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
   255
    ^ root
751
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   256
!
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   257
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   258
statusesOf: workingCopyFiles
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   259
    "Return a dictionary mapping `workingCopyFiles` to their actual
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   260
     status (unmodified, modified, added, missing. removed...)"
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   261
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   262
    | relativePathNames cmd out statuses |
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   263
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   264
    statuses := Dictionary new.
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   265
    workingCopyFiles notEmpty ifTrue:[
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   266
        relativePathNames := workingCopyFiles collect:[ :e | e pathNameRelative ].
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   267
        cmd := HGCommand status.
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   268
        cmd workingDirectory: repository pathName.
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   269
        cmd paths: relativePathNames.
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   270
        out := repository execute: cmd.
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   271
        self assert: out size == workingCopyFiles size.
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   272
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   273
        workingCopyFiles do:[:each | 
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   274
            statuses at: each put: (out detect:[:pair | pair second = each pathNameRelative]) first.
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   275
        ].
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   276
    ].
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   277
    ^ statuses
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   278
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   279
    "Created: / 23-02-2017 / 14:38:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   280
    "Modified: / 23-02-2017 / 20:03:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   281
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   282
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   283
!HGWorkingCopy methodsFor:'accessing-private'!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   284
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   285
mergeState
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   286
    mergeState isNil ifTrue:[
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   287
        mergeState := HGCachedFileData 
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   288
                        on: ((Filename named: root pathName) / '.hg' / 'merge' / 'state')
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   289
                        reader: [MergeState new setWorkingCopy: self]
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   290
    ].
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   291
    ^mergeState value
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   292
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   293
    "Created: / 14-01-2013 / 16:38:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   294
! !
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   295
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   296
!HGWorkingCopy methodsFor:'actions'!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   297
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
   298
bookmarkAs: aString
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
   299
    "Creates a new bookmark on working copy parent, make that bookmark active and return it. 
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
   300
     Raises an HGBookmarkError if bookmark with the same name already exist"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
   301
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
   302
    ^ repository bookmark: nil as: aString.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
   303
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
   304
    "Created: / 20-03-2014 / 08:57:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
   305
    "Modified: / 20-03-2014 / 18:42:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
   306
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
   307
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   308
commit: message
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   309
    "Commits all uncommited changes with given message"
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   310
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   311
    ^self commit: message files: nil
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   312
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   313
    "Created: / 12-11-2012 / 22:35:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   314
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   315
213
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   316
commit: message author: authorOrNil
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   317
    "Commits all uncommited changes with given message"
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   318
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   319
    ^self commit: message files: nil author: authorOrNil
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   320
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   321
    "Created: / 01-02-2013 / 14:29:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   322
!
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   323
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   324
commit: message author: authorOrNil date: dateSpecOrNil
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   325
    "Commits all uncommited changes with given message"
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   326
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   327
    ^self commit: message files: nil author: authorOrNil date: dateSpecOrNil
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   328
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   329
    "Created: / 01-02-2013 / 14:29:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   330
!
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   331
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   332
commit: message date: dateSpecOrNil
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   333
    "Commits all uncommited changes with given message"
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   334
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   335
    ^self commit: message files: nil author: nil date: dateSpecOrNil
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   336
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   337
    "Created: / 01-02-2013 / 14:29:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   338
!
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   339
73
eb731ce2685e Fixed HGStXTests>>test_commit_01
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   340
commit:message files:files 
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   341
    "Commit given files with given message. If files
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   342
     is nil, all tracked modified files are commited"
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   343
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   344
    ^ self commit:message files:files author: nil"means - default"
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   345
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   346
    "Created: / 12-11-2012 / 22:36:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   347
    "Modified (format): / 17-11-2012 / 01:01:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   348
    "Modified: / 07-12-2012 / 11:44:14 / jv"
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   349
!
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   350
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   351
commit:message files:files author: authorOrNil
213
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   352
    "Commit given files with given message and author. If files
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   353
     is nil, all tracked modified files are commited"
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   354
213
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   355
    ^self commit:message files:files author: authorOrNil date: nil
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   356
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   357
    "Created: / 07-12-2012 / 11:41:52 / jv"
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   358
    "Modified: / 07-12-2012 / 15:45:38 / jv"
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   359
    "Modified: / 01-02-2013 / 14:28:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   360
!
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   361
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   362
commit:message files:files author: authorOrNil amend: amend
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   363
    "Commit given files with given message and author. 
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   364
     If `files` is nil, all tracked modified files are commited.
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   365
     If `authorOrNil` is nil, then default author (as configured in .hgrc)
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   366
     is used.
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   367
     If `amend` is true, previous changeset is amended (by means of `hg commit --amend`)
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   368
     instead creating a new changeset with current one as parent.
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   369
     "
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   370
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   371
    ^self commit:message files:files author: authorOrNil date: nil amend: amend.
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   372
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   373
    "Created: / 25-08-2015 / 16:01:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   374
!
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   375
213
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   376
commit:message files:files author: authorOrNil date: dateSpecOrNil
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   377
    "Commit given files with given message, author and date
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   378
     (if provided). If files is nil, all tracked modified files 
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   379
     are commited.
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   380
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   381
     Date can be a Timestamp or a String
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   382
     "
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   383
    ^ self commit:message files:files author: authorOrNil date: dateSpecOrNil amend: false
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   384
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   385
    "Created: / 01-02-2013 / 14:28:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   386
    "Modified: / 25-08-2015 / 16:02: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: 509
diff changeset
   387
!
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   388
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   389
commit:message files:files author: authorOrNil date: dateSpecOrNil amend: amend
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   390
    "Commit given files with given message, author and date
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   391
     (if provided). If files is nil, all tracked modified files 
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   392
     are commited.
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   393
     If `authorOrNil` is nil, then default author (as configured in .hgrc)
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   394
     is used.
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   395
     Date can be a Timestamp or a String
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   396
     If `amend` is true, previous changeset is amended (by means of `hg commit --amend`)
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   397
     instead creating a new changeset with current one as parent.                  
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   398
     "
213
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   399
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   400
    | author |
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   401
252
b4e6ef5c5be9 Bugfix in HGWorkingCopy>>commit:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
   402
    author := authorOrNil.
b4e6ef5c5be9 Bugfix in HGWorkingCopy>>commit:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
   403
    author isNil ifTrue:[
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   404
        author := HGAuthorQuery query.
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   405
        author isNil ifTrue:[
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   406
            author := repository config get: #(ui username) default: nil.
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   407
            author isNil ifTrue:[
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   408
                HGCommitError newException
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   409
                    parameter: { repository . message . files };
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   410
                    messageText: 'Commit author not specified!!';
341
170c1aa67b03 Fixes problem with StrictRaising.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   411
                    raise
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   412
            ].
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   413
        ].
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   414
    ].
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
   415
235
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   416
    ^self repository execute:
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   417
        (HGCommand commit
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   418
            workingDirectory:root pathName;
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   419
            message:message;
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   420
            files:files;
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   421
            author: author;
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   422
            date: dateSpecOrNil;
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   423
            amend: amend;
235
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   424
            yourself).
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   425
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   426
    "Created: / 25-08-2015 / 16:02:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
213
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   427
!
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   428
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   429
commit:message files:files date: dateSpecOrNil
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   430
    "Commit given files with given message and author. If files
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   431
     is nil, all tracked modified files are commited"
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   432
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   433
    ^self commit:message files:files author: nil date: dateSpecOrNil
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   434
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   435
    "Created: / 01-02-2013 / 14:28:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 73
diff changeset
   436
!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 73
diff changeset
   437
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   438
merge: aChangesetOrChangesetId
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   439
    "Merge given changeset into workinf copy."
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   440
235
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   441
    ^self repository execute:
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   442
        (HGCommand merge
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   443
            workingDirectory: self path;
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   444
            revision: aChangesetOrChangesetId asHGChangesetId asString;
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   445
            tool: 'internal:dump';
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   446
            yourself)
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   447
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   448
    "Created: / 14-01-2013 / 15:14:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
235
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   449
    "Modified: / 03-03-2013 / 22:59:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   450
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   451
751
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   452
track: workingCopyFiles
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   453
    "Make sure that all `workingCopyFiles` are tracked by the working copy
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   454
     so subsequent #commit: would commit them to the repository."
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   455
        
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   456
    | statuses workingCopyFilesToAdd |
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   457
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   458
    statuses := self statusesOf: workingCopyFiles.
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   459
    workingCopyFilesToAdd := workingCopyFiles select:[:e | (statuses at: e) isNotTracked ].
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   460
    workingCopyFilesToAdd notEmpty ifTrue:[
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   461
        repository execute:
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   462
                (HGCommand add
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   463
                    workingDirectory: repository pathName;
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   464
                    paths: (workingCopyFilesToAdd collect:[ :e| e pathNameRelative ]);
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   465
                    yourself)
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   466
    ].
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   467
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   468
    "Created: / 23-02-2017 / 15:11:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   469
    "Modified (comment): / 23-02-2017 / 16:29:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   470
!
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   471
156
725d8bc65e48 Bugfix in HGCommit tast (committing into a new branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   472
update
725d8bc65e48 Bugfix in HGCommit tast (committing into a new branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   473
    "Update the working copy to the latest rev in current branch"
725d8bc65e48 Bugfix in HGCommit tast (committing into a new branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   474
725d8bc65e48 Bugfix in HGCommit tast (committing into a new branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   475
    ^self update: self branch name
725d8bc65e48 Bugfix in HGCommit tast (committing into a new branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   476
725d8bc65e48 Bugfix in HGCommit tast (committing into a new branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   477
    "Created: / 10-12-2012 / 11:25:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
725d8bc65e48 Bugfix in HGCommit tast (committing into a new branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   478
!
725d8bc65e48 Bugfix in HGCommit tast (committing into a new branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   479
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 73
diff changeset
   480
update: revisionOrBranch
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 73
diff changeset
   481
230
d202597d67a5 Bugfix for pull command. Do not update temporary working copy if it is already.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   482
    self changeset id = revisionOrBranch ifTrue:[ ^ self ].
d202597d67a5 Bugfix for pull command. Do not update temporary working copy if it is already.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   483
235
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   484
    ^self repository execute:
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   485
        (HGCommand update
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   486
            workingDirectory: self path;
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   487
            revision: revisionOrBranch asString;
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   488
            yourself)
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 73
diff changeset
   489
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 73
diff changeset
   490
    "Created: / 21-11-2012 / 00:21:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
235
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   491
    "Modified: / 03-03-2013 / 23:00:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   492
! !
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   493
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   494
!HGWorkingCopy methodsFor:'initialization'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   495
63
77b0d42eebd0 Removed last bits of Git, hopefully
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 61
diff changeset
   496
setRepository: aHGRepository
77b0d42eebd0 Removed last bits of Git, hopefully
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 61
diff changeset
   497
    super setRepository: aHGRepository.
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   498
    root :=HGWorkingCopyFile wc: self path: repository path.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   499
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   500
    "Created: / 19-09-2012 / 09:43:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   501
    "Modified: / 19-10-2012 / 15:44:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   502
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   503
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
   504
!HGWorkingCopy methodsFor:'inspecting'!
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
   505
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
   506
browse
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
   507
    "Opens a file browser on the working copy"
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
   508
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
   509
    root browse
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
   510
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
   511
    "Created: / 04-02-2012 / 17:14:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
   512
    "Modified: / 15-11-2012 / 17:00:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
   513
! !
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
   514
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   515
!HGWorkingCopy methodsFor:'instance creation'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   516
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   517
/ aString
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   518
    ^root construct: aString
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   519
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   520
    "Created: / 24-09-2012 / 13:49:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   521
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   522
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   523
construct: aString
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   524
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   525
    ^root construct: aString
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   526
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   527
    "Created: / 24-09-2012 / 13:50:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   528
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   529
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   530
!HGWorkingCopy::MergeState methodsFor:'accessing'!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   531
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   532
at: path
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   533
    ^self states at: path ifAbsent:[$C"like clean"].
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   534
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   535
    "Created: / 14-01-2013 / 16:47:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   536
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   537
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   538
includesKey: path
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   539
    ^self states includesKey: path
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   540
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   541
    "Created: / 14-01-2013 / 16:48:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   542
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   543
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   544
paths
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   545
    ^self states keys
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   546
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   547
    "Created: / 14-01-2013 / 21:46:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   548
! !
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   549
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   550
!HGWorkingCopy::MergeState methodsFor:'initialization'!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   551
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   552
setWorkingCopy: anHGWorkingCopy
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   553
    wc := anHGWorkingCopy.
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   554
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   555
    "Created: / 14-01-2013 / 16:39:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   556
! !
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   557
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   558
!HGWorkingCopy::MergeState methodsFor:'private'!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   559
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   560
states
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   561
    states isNil ifTrue:[
235
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   562
        states := wc repository execute:
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   563
                    (HGCommand resolve__list
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   564
                        workingDirectory: wc pathName;
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   565
                        yourself) .
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   566
    ].
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   567
    ^states
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   568
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   569
    "Created: / 14-01-2013 / 16:47:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
235
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   570
    "Modified: / 03-03-2013 / 23:00:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   571
! !
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   572
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   573
!HGWorkingCopy class methodsFor:'documentation'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   574
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 46
diff changeset
   575
version_HG
115
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   576
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   577
    ^ '$Changeset: <not expanded> $'
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 46
diff changeset
   578
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 46
diff changeset
   579
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   580
version_SVN
923
fdda1308e0f1 Fix issue with bookmark not advancing upon commit
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   581
    ^ '�Id::                                                                                                                        �'
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   582
! !
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   583