mercurial/HGCommand.st
author Jan Vrany <jan.vrany@labware.com>
Fri, 19 Feb 2021 08:29:41 +0000
changeset 924 4d92f234f671
parent 912 d3ae5b837ab3
child 933 2200a24fe2d7
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: 208
diff changeset
     1
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
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: 480
diff changeset
     3
Copyright (C) 2012-2015 Jan Vrany
912
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
     4
Copyright (C) 2020 LabWare
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
     5
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
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: 300
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: 300
diff changeset
     8
License as published by the Free Software Foundation; either
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
     9
version 2.1 of the License.
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 208
diff changeset
    10
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
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: 300
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: 300
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: 300
diff changeset
    14
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
    15
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
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: 300
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: 300
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: 208
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
562
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
    22
"{ NameSpace: Smalltalk }"
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
    23
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    24
Object subclass:#HGCommand
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
    25
	instanceVariableNames:'workingDirectory result error errors blocker errorReader
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
    26
		outputReader'
477
594a42a4d8fc Oops, fixed bug introduced in 9f97cda: care for version < 2.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 476
diff changeset
    27
	classVariableNames:'HGCommandString HGExecutable HGExecutableArguments HGVersion
655
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
    28
		HGVersionIsGreaterOrEqualThan_2_4
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
    29
		HGVersionIsGreaterOrEqualThan_2_5
816
1d895084db29 Fixed `HGChangeset >> #successors` for Mercurial < 4.1
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
    30
		HGVersionIsGreaterOrEqualThan_3_3
867
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
    31
		HGVersionIsGreaterOrEqualThan_3_5
865
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
    32
		HGVersionIsGreaterOrEqualThan_4_1
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
    33
		HGVersionIsGreaterOrEqualThan_4_8'
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
    34
	poolDictionaries:'HGDebugFlags'
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    35
	category:'SCM-Mercurial-Internal'
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    36
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    37
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
    38
HGCommand subclass:#add
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
    39
	instanceVariableNames:'paths'
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
    40
	classVariableNames:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
    41
	poolDictionaries:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
    42
	privateIn:HGCommand
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
    43
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
    44
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    45
HGCommand subclass:#bookmark
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    46
	instanceVariableNames:'revision name'
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    47
	classVariableNames:''
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    48
	poolDictionaries:''
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    49
	privateIn:HGCommand
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    50
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    51
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    52
HGCommand subclass:#bookmark_delete
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    53
	instanceVariableNames:'revision name'
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    54
	classVariableNames:''
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    55
	poolDictionaries:''
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    56
	privateIn:HGCommand
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    57
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    58
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
    59
HGCommand subclass:#branches
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    60
	instanceVariableNames:'active closed'
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    61
	classVariableNames:''
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    62
	poolDictionaries:''
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    63
	privateIn:HGCommand
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    64
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    65
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
    66
HGCommand subclass:#cat
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
    67
	instanceVariableNames:'path revision destination'
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    68
	classVariableNames:''
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    69
	poolDictionaries:''
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    70
	privateIn:HGCommand
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    71
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    72
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
    73
HGCommand subclass:#clone
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
    74
	instanceVariableNames:'url path update'
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    75
	classVariableNames:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    76
	poolDictionaries:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    77
	privateIn:HGCommand
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    78
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    79
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
    80
HGCommand subclass:#commit
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
    81
	instanceVariableNames:'message files author date amend'
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    82
	classVariableNames:''
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    83
	poolDictionaries:''
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    84
	privateIn:HGCommand
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    85
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    86
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
    87
HGCommand subclass:#heads
106
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    88
	instanceVariableNames:''
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    89
	classVariableNames:''
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    90
	poolDictionaries:''
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    91
	privateIn:HGCommand
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    92
!
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    93
489
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    94
HGCommand subclass:#help
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    95
	instanceVariableNames:'topic'
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    96
	classVariableNames:''
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    97
	poolDictionaries:''
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    98
	privateIn:HGCommand
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    99
!
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   100
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   101
HGCommand subclass:#init
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   102
	instanceVariableNames:'path'
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   103
	classVariableNames:''
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   104
	poolDictionaries:''
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   105
	privateIn:HGCommand
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   106
!
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   107
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   108
HGCommand subclass:#locate
912
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
   109
	instanceVariableNames:'revision hidden'
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   110
	classVariableNames:''
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   111
	poolDictionaries:''
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   112
	privateIn:HGCommand
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   113
!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   114
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   115
HGCommand subclass:#log
655
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   116
	instanceVariableNames:'start stop path childrenOnly idsOnly revsets limit hidden'
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   117
	classVariableNames:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   118
	poolDictionaries:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   119
	privateIn:HGCommand
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   120
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   121
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   122
HGCommand subclass:#merge
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   123
	instanceVariableNames:'revision tool'
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   124
	classVariableNames:''
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   125
	poolDictionaries:''
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   126
	privateIn:HGCommand
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   127
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   128
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   129
HGCommand subclass:#mv
865
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   130
	instanceVariableNames:'source destination force'
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   131
	classVariableNames:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   132
	poolDictionaries:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   133
	privateIn:HGCommand
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   134
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   135
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   136
HGCommand subclass:#pull
57
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   137
	instanceVariableNames:'url'
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   138
	classVariableNames:''
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   139
	poolDictionaries:''
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   140
	privateIn:HGCommand
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   141
!
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   142
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   143
HGCommand subclass:#push
107
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   144
	instanceVariableNames:'url force'
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   145
	classVariableNames:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   146
	poolDictionaries:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   147
	privateIn:HGCommand
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   148
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   149
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   150
HGCommand subclass:#remove
354
16b9a63fa668 Made HGWorkingCopyFile>>remove forced, i.e., it removes the file even if there are changes to it)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 341
diff changeset
   151
	instanceVariableNames:'force paths'
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   152
	classVariableNames:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   153
	poolDictionaries:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   154
	privateIn:HGCommand
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   155
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   156
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   157
HGCommand subclass:#resolve
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   158
	instanceVariableNames:'tool mark unmark files'
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   159
	classVariableNames:''
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   160
	poolDictionaries:''
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   161
	privateIn:HGCommand
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   162
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   163
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   164
HGCommand subclass:#resolve__list
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   165
	instanceVariableNames:''
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   166
	classVariableNames:''
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   167
	poolDictionaries:''
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   168
	privateIn:HGCommand
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   169
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   170
562
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
   171
HGCommand subclass:#share
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
   172
	instanceVariableNames:'source destination update'
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
   173
	classVariableNames:''
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
   174
	poolDictionaries:''
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
   175
	privateIn:HGCommand
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
   176
!
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
   177
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   178
HGCommand subclass:#showconfig
142
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
   179
	instanceVariableNames:'key'
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
   180
	classVariableNames:''
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
   181
	poolDictionaries:''
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
   182
	privateIn:HGCommand
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
   183
!
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
   184
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   185
HGCommand subclass:#status
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: 719
diff changeset
   186
	instanceVariableNames:'paths'
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   187
	classVariableNames:''
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   188
	poolDictionaries:''
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   189
	privateIn:HGCommand
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   190
!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   191
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   192
HGCommand subclass:#update
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   193
	instanceVariableNames:'revision'
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   194
	classVariableNames:''
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   195
	poolDictionaries:''
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   196
	privateIn:HGCommand
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   197
!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   198
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   199
HGCommand subclass:#version
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   200
	instanceVariableNames:'executable arguments'
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   201
	classVariableNames:''
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   202
	poolDictionaries:''
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   203
	privateIn:HGCommand
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   204
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   205
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   206
!HGCommand class methodsFor:'documentation'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   207
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 208
diff changeset
   208
copyright
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 208
diff changeset
   209
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   210
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 480
diff changeset
   211
Copyright (C) 2012-2015 Jan Vrany
912
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
   212
Copyright (C) 2020 LabWare
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   213
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   214
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   215
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   216
License as published by the Free Software Foundation; either
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   217
version 2.1 of the License.
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 208
diff changeset
   218
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   219
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: 300
diff changeset
   220
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   221
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   222
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   223
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   224
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: 300
diff changeset
   225
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: 300
diff changeset
   226
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: 208
diff changeset
   227
"
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 208
diff changeset
   228
!
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 208
diff changeset
   229
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   230
documentation
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   231
"
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   232
    A wrapper for hg command line tool. Individual commands are wrapped in
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   233
    my private classes.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   234
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   235
    HGCommand is part of internal implementation and subject to change.
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   236
    Therefore it should not be used by user code. Use classed and APIs in
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   237
    SCM-Mercurial-Core instead.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   238
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   239
    [author:]
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   240
        Jan Vrany <jan.vrany@fit.cvut.cz>
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   241
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   242
    [instance variables:]
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   243
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   244
    [class variables:]
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   245
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   246
    [see also:]
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   247
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   248
"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   249
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   250
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   251
!HGCommand class methodsFor:'accessing'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   252
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   253
hgCommand
660
7b01e9012aee Removed duplicated code from `HGCommand class >> #hgExecutable`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 655
diff changeset
   254
    "Returns hg command to use. Contrary to #hgCommand, this method
7b01e9012aee Removed duplicated code from `HGCommand class >> #hgExecutable`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 655
diff changeset
   255
     does not validate the command. If no command is configured 
7b01e9012aee Removed duplicated code from `HGCommand class >> #hgExecutable`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 655
diff changeset
   256
     (via user preferences) not it could be found on standard places,
7b01e9012aee Removed duplicated code from `HGCommand class >> #hgExecutable`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 655
diff changeset
   257
     `nil` is returned."
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   258
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   259
    | command |
665
62b534453803 Imporved `hg` command autodetection on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   260
450
8fd38c29ee22 Oops, make sure comand in HGCommand class>>hgCommand: is a String
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 449
diff changeset
   261
    HGCommandString notNil ifTrue:[ 
8fd38c29ee22 Oops, make sure comand in HGCommand class>>hgCommand: is a String
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 449
diff changeset
   262
        command := HGCommandString 
8fd38c29ee22 Oops, make sure comand in HGCommand class>>hgCommand: is a String
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 449
diff changeset
   263
    ] ifFalse:[
8fd38c29ee22 Oops, make sure comand in HGCommand class>>hgCommand: is a String
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 449
diff changeset
   264
        command := UserPreferences current hgCommand.
8fd38c29ee22 Oops, make sure comand in HGCommand class>>hgCommand: is a String
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 449
diff changeset
   265
        command notNil ifTrue:[
8fd38c29ee22 Oops, make sure comand in HGCommand class>>hgCommand: is a String
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 449
diff changeset
   266
            command := command asString.
8fd38c29ee22 Oops, make sure comand in HGCommand class>>hgCommand: is a String
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 449
diff changeset
   267
        ]
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   268
    ].
674
c47b8fee4694 Oops, fixec bug introduced in 62b5344
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 665
diff changeset
   269
    command isNil ifTrue:[ 
c47b8fee4694 Oops, fixec bug introduced in 62b5344
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 665
diff changeset
   270
        command := OperatingSystem pathOfCommand:'hg'.
c47b8fee4694 Oops, fixec bug introduced in 62b5344
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 665
diff changeset
   271
    ].
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   272
    command isNil ifTrue:[
665
62b534453803 Imporved `hg` command autodetection on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   273
        | guesses |
62b534453803 Imporved `hg` command autodetection on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   274
        guesses := #().
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   275
        OperatingSystem isMSWINDOWSlike ifTrue:[
665
62b534453803 Imporved `hg` command autodetection on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   276
            guesses := #(
62b534453803 Imporved `hg` command autodetection on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   277
                'C:\Program Files\TortoiseHg\hg.exe'
62b534453803 Imporved `hg` command autodetection on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   278
                'C:\Program Files\Mercurial\hg.exe'
62b534453803 Imporved `hg` command autodetection on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   279
                'C:\Program Files (x86)\TortoiseHg\hg.exe'
62b534453803 Imporved `hg` command autodetection on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   280
                'C:\Program Files (x86)\Mercurial\hg.exe'                
62b534453803 Imporved `hg` command autodetection on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   281
            ).
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   282
        ].
665
62b534453803 Imporved `hg` command autodetection on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 661
diff changeset
   283
        command := guesses detect: [ :guess | guess asFilename exists ] ifNone:[ nil ].
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   284
    ].
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   285
    ^ command
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   286
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   287
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   288
     HGExecutable := nil.
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   289
     self basicNew executable
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   290
    "
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   291
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   292
    "Created: / 19-11-2012 / 21:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
674
c47b8fee4694 Oops, fixec bug introduced in 62b5344
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 665
diff changeset
   293
    "Modified: / 12-05-2016 / 00:00:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   294
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   295
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   296
hgCommand: command
450
8fd38c29ee22 Oops, make sure comand in HGCommand class>>hgCommand: is a String
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 449
diff changeset
   297
    HGCommandString := command notNil ifTrue:[ command asString ] ifFalse:[ nil ].
655
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   298
    HGExecutable := HGExecutableArguments := HGVersion := nil.
816
1d895084db29 Fixed `HGChangeset >> #successors` for Mercurial < 4.1
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
   299
    HGVersionIsGreaterOrEqualThan_2_4 := HGVersionIsGreaterOrEqualThan_2_5 := 
867
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   300
        HGVersionIsGreaterOrEqualThan_3_3 := HGVersionIsGreaterOrEqualThan_3_5 := 
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   301
        HGVersionIsGreaterOrEqualThan_4_1 := HGVersionIsGreaterOrEqualThan_4_8 := nil.
465
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   302
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   303
231
eb0f01855893 Initial version of HGCommandServer
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 228
diff changeset
   304
    "
eb0f01855893 Initial version of HGCommandServer
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 228
diff changeset
   305
    HGCommand hgCommand: '/usr/src/mercurial-2.4/hg'
eb0f01855893 Initial version of HGCommandServer
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 228
diff changeset
   306
    HGCommand hgCommand: '/usr/bin/hg'
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   307
    HGCommand hgCommand: 'hg'
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   308
    HGCommand hgCommand: nil
231
eb0f01855893 Initial version of HGCommandServer
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 228
diff changeset
   309
    "
eb0f01855893 Initial version of HGCommandServer
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 228
diff changeset
   310
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   311
    "Created: / 19-11-2012 / 21:49:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
867
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   312
    "Modified: / 09-03-2019 / 08:13:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   313
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   314
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   315
hgCommandValidate: command
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   316
    "Given a `command`, checks whether it is a valid hg command.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   317
     Returns absolute path to hg binary and global arguments (if any)
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   318
     or raise an HGInvalidExecutableError or HGInvalidVersionError
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   319
     if `command` is not valid hg command."
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   320
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   321
    | tokens executable executableAsFilename arguments version |
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   322
661
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   323
    command isNil ifTrue:[  
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   324
        HGInvalidExecutableError raiseErrorString:('''hg'' executable not configured and not found in standard places!!').
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   325
        ^ nil
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   326
    ].
449
d55058b5d58d Try to be fool-proof: when configured command as whole exists as file, use it as it is.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 444
diff changeset
   327
    command asFilename exists ifTrue:[
d55058b5d58d Try to be fool-proof: when configured command as whole exists as file, use it as it is.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 444
diff changeset
   328
        executable := command.
d55058b5d58d Try to be fool-proof: when configured command as whole exists as file, use it as it is.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 444
diff changeset
   329
        arguments := #().   
d55058b5d58d Try to be fool-proof: when configured command as whole exists as file, use it as it is.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 444
diff changeset
   330
    ] ifFalse:[
d55058b5d58d Try to be fool-proof: when configured command as whole exists as file, use it as it is.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 444
diff changeset
   331
        tokens := (HGCommandParser on: command readStream) parseShellCommand.
d55058b5d58d Try to be fool-proof: when configured command as whole exists as file, use it as it is.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 444
diff changeset
   332
        executable := tokens first.
d55058b5d58d Try to be fool-proof: when configured command as whole exists as file, use it as it is.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 444
diff changeset
   333
        arguments := tokens copyFrom: 2.
d55058b5d58d Try to be fool-proof: when configured command as whole exists as file, use it as it is.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 444
diff changeset
   334
    ].
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   335
    executableAsFilename := executable asFilename.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   336
    executableAsFilename isAbsolute ifFalse:[
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   337
        executableAsFilename := executableAsFilename asAbsoluteFilename.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   338
        executableAsFilename exists ifTrue:[
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   339
            executable := executableAsFilename pathName.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   340
        ] ifFalse:[
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   341
            "/ Also try to find specified command along PATH, maybe somebody
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   342
            "/ just typed 'hg' in...
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   343
            executable  := (OperatingSystem pathOfCommand: executable).
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   344
            executable isNil ifTrue:[
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   345
                HGInvalidExecutableError raiseErrorString:('''hg'' executable (%1) not found!!' bindWith: command).
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   346
                ^ nil
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   347
            ] ifFalse:[
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   348
                executableAsFilename := executable asFilename.
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   349
            ].
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   350
        ]
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   351
    ].
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   352
    executableAsFilename exists ifFalse:[
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   353
        HGInvalidExecutableError raiseErrorString:('Specified ''hg'' executable (%1) does not exists!!' bindWith: executable).
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   354
        ^ nil
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   355
    ].
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   356
    executableAsFilename isDirectory ifTrue:[
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   357
        HGInvalidExecutableError raiseErrorString:('Specified ''hg'' executable (%1) is actually a directory!!' bindWith: executable).
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   358
        ^ nil
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   359
    ].
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   360
    executableAsFilename isExecutable ifFalse:[
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   361
        HGInvalidExecutableError raiseErrorString:('Specified ''hg'' executable (%1) is cannot be executed!!' bindWith: executable).
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   362
        ^ nil
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   363
    ].
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   364
    [
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   365
        version := self hgVersionOf: executable arguments: arguments.
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   366
    ] on: Error do:[:ex |
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   367
        HGInvalidExecutableError newException
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   368
            parameter: ex;
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   369
            messageText: 'Failed to check version: ', ex description;
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   370
            raise.
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   371
        ^ nil
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   372
    ].
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   373
    (self hgVersionIsSupported: version) ifFalse:[
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   374
        HGInvalidVersionError newException
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   375
            parameter: version;
449
d55058b5d58d Try to be fool-proof: when configured command as whole exists as file, use it as it is.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 444
diff changeset
   376
            messageText: ('Unsuported Mercurial version (%1)' bindWith: ((version collect:[:e|e printString]) asStringWith:$.));
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   377
            raise.
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   378
        ^ nil
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   379
    ].
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   380
    ^ { executable . arguments }
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   381
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   382
    "Created: / 21-02-2014 / 08:50:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
449
d55058b5d58d Try to be fool-proof: when configured command as whole exists as file, use it as it is.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 444
diff changeset
   383
    "Modified: / 17-07-2014 / 20:00:56 / jv"
661
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   384
    "Modified: / 23-04-2016 / 19:51:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   385
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   386
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   387
hgVersion
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   388
    "Return mercurial version installed on this compiter"
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   389
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   390
    HGVersion isNil ifTrue:[
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   391
        HGVersion := self hgVersionOf: self hgExecutable arguments: self hgExecutableArguments
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   392
    ].
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   393
    ^ HGVersion
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   394
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   395
    "
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   396
     HGCommand hgVersion
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   397
    "
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   398
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   399
    "Created: / 19-11-2012 / 20:14:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   400
    "Modified: / 21-01-2013 / 05:07:58 / jv"
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   401
    "Modified: / 17-07-2014 / 15:09:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   402
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   403
465
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   404
hgVersion: versionA isGreaterOrEqualThan: versionB
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   405
    1 to: (versionA size min: versionB size) do:[:i | 
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   406
        (versionA at: i) < (versionB at: i) ifTrue:[ 
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   407
            ^ false.
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   408
        ].
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   409
        (versionA at: i) > (versionB at: i) ifTrue:[ 
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   410
            ^ true.
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   411
        ].
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   412
    ].
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   413
    ^ versionA size >= versionB size
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   414
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   415
    "
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   416
     HGCommand hgVersion: #(3 0) isGreaterOrEqualThan: #(2 5).
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   417
     HGCommand hgVersion: #(3 0) isGreaterOrEqualThan: #(2 5 1).
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   418
     HGCommand hgVersion: #(3 0) isGreaterOrEqualThan: #(3 0).
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   419
     HGCommand hgVersion: #(3 0 1) isGreaterOrEqualThan: #(3 0). 
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   420
     HGCommand hgVersion: #(3 0)  isGreaterOrEqualThan: #(3 0 1).
480
24031f33e1e6 Oops, fixed bug introduced in fix 594a42a:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 477
diff changeset
   421
     HGCommand hgVersion: #(2 3)  isGreaterOrEqualThan: #(2 4).     
465
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   422
    "
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   423
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   424
    "Created: / 04-11-2014 / 14:12:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
480
24031f33e1e6 Oops, fixed bug introduced in fix 594a42a:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 477
diff changeset
   425
    "Modified (comment): / 01-12-2014 / 20:37:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
465
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   426
!
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   427
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   428
hgVersionIsGreaterOrEqualThan: versionB
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   429
    ^ self hgVersion: self hgVersion isGreaterOrEqualThan: versionB
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   430
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   431
    "Created: / 04-11-2014 / 14:16:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   432
!
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
   433
477
594a42a4d8fc Oops, fixed bug introduced in 9f97cda: care for version < 2.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 476
diff changeset
   434
hgVersionIsGreaterOrEqualThan_2_4
655
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   435
    HGVersionIsGreaterOrEqualThan_2_4 isNil ifTrue:[
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   436
        HGVersionIsGreaterOrEqualThan_2_4 := self hgVersionIsGreaterOrEqualThan:#( 2 4 ).
477
594a42a4d8fc Oops, fixed bug introduced in 9f97cda: care for version < 2.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 476
diff changeset
   437
    ].
655
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   438
    ^ HGVersionIsGreaterOrEqualThan_2_4
477
594a42a4d8fc Oops, fixed bug introduced in 9f97cda: care for version < 2.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 476
diff changeset
   439
594a42a4d8fc Oops, fixed bug introduced in 9f97cda: care for version < 2.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 476
diff changeset
   440
    "Created: / 27-11-2014 / 23:16:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
655
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   441
    "Modified: / 25-03-2016 / 17:22:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   442
!
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   443
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   444
hgVersionIsGreaterOrEqualThan_2_5
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   445
    HGVersionIsGreaterOrEqualThan_2_5 isNil ifTrue:[
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   446
        HGVersionIsGreaterOrEqualThan_2_5 := self hgVersionIsGreaterOrEqualThan:#( 2 5 ).
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   447
    ].
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   448
    ^ HGVersionIsGreaterOrEqualThan_2_5
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   449
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   450
    "Created: / 25-03-2016 / 17:23:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   451
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   452
576
e1e0ef5ceb6f Fixed repository sharing for Mercurial < 3.3
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   453
hgVersionIsGreaterOrEqualThan_3_3
655
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   454
    HGVersionIsGreaterOrEqualThan_3_3 isNil ifTrue:[
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   455
        HGVersionIsGreaterOrEqualThan_3_3 := self hgVersionIsGreaterOrEqualThan:#( 3 3 ).
576
e1e0ef5ceb6f Fixed repository sharing for Mercurial < 3.3
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   456
    ].
655
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   457
    ^ HGVersionIsGreaterOrEqualThan_3_3
576
e1e0ef5ceb6f Fixed repository sharing for Mercurial < 3.3
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   458
e1e0ef5ceb6f Fixed repository sharing for Mercurial < 3.3
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   459
    "Created: / 14-09-2015 / 05:42:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
655
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
   460
    "Modified: / 25-03-2016 / 17:23:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576
e1e0ef5ceb6f Fixed repository sharing for Mercurial < 3.3
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   461
!
e1e0ef5ceb6f Fixed repository sharing for Mercurial < 3.3
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
   462
867
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   463
hgVersionIsGreaterOrEqualThan_3_5
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   464
    "/ 3.5 released 2015-07-31
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   465
    HGVersionIsGreaterOrEqualThan_3_5 isNil ifTrue:[
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   466
        HGVersionIsGreaterOrEqualThan_3_5 := self hgVersionIsGreaterOrEqualThan:#( 3 5 ).
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   467
    ].
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   468
    ^ HGVersionIsGreaterOrEqualThan_3_5
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   469
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   470
    "Created: / 09-03-2019 / 08:13:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   471
!
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   472
816
1d895084db29 Fixed `HGChangeset >> #successors` for Mercurial < 4.1
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
   473
hgVersionIsGreaterOrEqualThan_4_1
1d895084db29 Fixed `HGChangeset >> #successors` for Mercurial < 4.1
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
   474
    HGVersionIsGreaterOrEqualThan_4_1 isNil ifTrue:[
1d895084db29 Fixed `HGChangeset >> #successors` for Mercurial < 4.1
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
   475
        HGVersionIsGreaterOrEqualThan_4_1 := self hgVersionIsGreaterOrEqualThan:#( 4 1 ).
1d895084db29 Fixed `HGChangeset >> #successors` for Mercurial < 4.1
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
   476
    ].
1d895084db29 Fixed `HGChangeset >> #successors` for Mercurial < 4.1
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
   477
    ^ HGVersionIsGreaterOrEqualThan_4_1
1d895084db29 Fixed `HGChangeset >> #successors` for Mercurial < 4.1
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
   478
1d895084db29 Fixed `HGChangeset >> #successors` for Mercurial < 4.1
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
   479
    "Created: / 28-03-2018 / 15:31:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1d895084db29 Fixed `HGChangeset >> #successors` for Mercurial < 4.1
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
   480
!
1d895084db29 Fixed `HGChangeset >> #successors` for Mercurial < 4.1
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 807
diff changeset
   481
865
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   482
hgVersionIsGreaterOrEqualThan_4_8
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   483
    HGVersionIsGreaterOrEqualThan_4_8 isNil ifTrue:[
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   484
        HGVersionIsGreaterOrEqualThan_4_8 := self hgVersionIsGreaterOrEqualThan:#( 4 8 ).
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   485
    ].
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   486
    ^ HGVersionIsGreaterOrEqualThan_4_8
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   487
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   488
    "
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   489
    HGCommand hgVersionIsGreaterOrEqualThan_4_8
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   490
    "
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   491
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   492
    "Created: / 10-01-2019 / 14:43:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   493
!
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
   494
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   495
hgVersionIsSupported
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   496
    ^ self hgVersionIsSupported:self hgVersion
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   497
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   498
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   499
     HGCommand mercurialVersionIsSupported"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   500
    "Created: / 19-11-2012 / 20:34:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   501
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   502
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   503
hgVersionIsSupported:version
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   504
    ^ self hgVersionsSupported
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   505
        anySatisfy:[:vsn |
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   506
            ((vsn at:1) == #'*' or:[ (vsn at:1) == (version at:1) ])
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   507
                and:[
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   508
                    ((vsn at:2) == #'*' or:[ (vsn at:2) == (version at:2) ])
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   509
                        and:[ ((vsn at:3) == #'*' or:[ (vsn at:1) == (version at:3) ]) ]
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   510
                ]
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   511
        ].
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   512
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   513
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   514
     HGCommand mercurialVersionIsSupported: #(2 3 2)
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   515
     HGCommand mercurialVersionIsSupported: #(2 0 1)
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   516
     HGCommand mercurialVersionIsSupported: #(1 9 1)
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   517
     HGCommand mercurialVersionIsSupported: #(1 0 0)
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   518
     HGCommand mercurialVersionIsSupported: #(2 4 nil)"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   519
    "Created: / 19-11-2012 / 20:31:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   520
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   521
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   522
hgVersionOf: executable arguments: arguments
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   523
    "Return mercurial version if passed executable "
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   524
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   525
    ^version new
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   526
        executable: executable;
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   527
        arguments: arguments;
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   528
        execute
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   529
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   530
    "
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   531
     HGCommand hgVersion
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   532
    "
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   533
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   534
    "Created: / 17-07-2014 / 15:08:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   535
!
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   536
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   537
hgVersionsSupported
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   538
    "Return a list of mercurial version supported bu this
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   539
     implementation"
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   540
445
69378a5c2a0f Added Mercurial 3.x to supported versions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   541
    ^ #( 
889
ecb49bf29646 Enable support for Mercurial 5.x
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 867
diff changeset
   542
        (1 9    #'*')     "1.9 - will wanish"
ecb49bf29646 Enable support for Mercurial 5.x
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 867
diff changeset
   543
        (2 #'*' #'*')     "2.x"
ecb49bf29646 Enable support for Mercurial 5.x
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 867
diff changeset
   544
        (3 #'*' #'*')     "3.x"
ecb49bf29646 Enable support for Mercurial 5.x
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 867
diff changeset
   545
        (4 #'*' #'*')     "4.x"
ecb49bf29646 Enable support for Mercurial 5.x
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 867
diff changeset
   546
        (5 #'*' #'*')     "5.x"
445
69378a5c2a0f Added Mercurial 3.x to supported versions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   547
    )
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   548
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   549
    "Created: / 19-11-2012 / 20:26:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   550
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   551
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   552
verbose
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   553
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   554
    ^ UserPreferences current hgVerbose
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   555
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   556
    "Created: / 19-03-2008 / 12:29:47 / janfrog"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   557
    "Modified: / 19-03-2009 / 14:00:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   558
    "Modified (format): / 27-12-2011 / 16:00:06 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   559
    "Modified: / 17-10-2012 / 13:05:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   560
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   561
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   562
verbose:aBoolean
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   563
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   564
    UserPreferences current hgVerbose:aBoolean
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   565
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   566
    "Created: / 19-03-2008 / 12:29:59 / janfrog"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   567
    "Modified: / 19-03-2009 / 14:00:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   568
    "Modified (format): / 27-12-2011 / 16:00:13 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   569
    "Modified: / 17-10-2012 / 13:05:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   570
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   571
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   572
!HGCommand class methodsFor:'accessing-private'!
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   573
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   574
hgExecutable
660
7b01e9012aee Removed duplicated code from `HGCommand class >> #hgExecutable`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 655
diff changeset
   575
    "Returns absolute path to hg executable to use. This method
7b01e9012aee Removed duplicated code from `HGCommand class >> #hgExecutable`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 655
diff changeset
   576
     does validate the HG command (whether exists and it's of a 
7b01e9012aee Removed duplicated code from `HGCommand class >> #hgExecutable`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 655
diff changeset
   577
     supported version. If validation fails, a HGCommandError is
7b01e9012aee Removed duplicated code from `HGCommand class >> #hgExecutable`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 655
diff changeset
   578
     thrown."
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   579
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   580
    HGExecutable isNil ifTrue:[
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   581
        | command executableAndArguments |
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   582
        command := self hgCommand.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   583
        executableAndArguments := self hgCommandValidate: command.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   584
        HGExecutable := executableAndArguments first.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   585
        HGExecutableArguments := executableAndArguments second.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   586
    ].
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   587
    ^ HGExecutable
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   588
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   589
    "
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   590
     HGExecutable := nil.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   591
     self basicNew executable
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   592
    "
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   593
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   594
    "Created: / 17-07-2014 / 10:16:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
660
7b01e9012aee Removed duplicated code from `HGCommand class >> #hgExecutable`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 655
diff changeset
   595
    "Modified (comment): / 23-04-2016 / 19:27:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   596
!
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   597
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   598
hgExecutableArguments
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   599
    "Returns an array of (global) arguments to be passed hg executable"
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   600
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   601
    HGExecutableArguments isNil ifTrue:[
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   602
        HGExecutable := nil.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   603
        self hgExecutable.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   604
    ].
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   605
    ^ HGExecutableArguments
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   606
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   607
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   608
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   609
    "
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   610
     HGExecutable := nil.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   611
     self basicNew executable
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   612
    "
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   613
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   614
    "Created: / 17-07-2014 / 11:16:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   615
! !
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   616
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   617
!HGCommand class methodsFor:'commands'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   618
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   619
add
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   620
    ^add new
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   621
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   622
    "Created: / 15-11-2012 / 00:06:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   623
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   624
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   625
bookmark
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   626
    "raise an error: this method should be implemented (TODO)"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   627
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   628
    ^ bookmark new
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   629
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   630
    "Created: / 20-03-2014 / 17:25:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   631
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   632
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   633
bookmark_delete
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   634
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   635
    ^ bookmark_delete new
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   636
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   637
    "Created: / 21-03-2014 / 01:14:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   638
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   639
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   640
branches
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   641
    ^branches new
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   642
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   643
    "Created: / 27-11-2012 / 19:56:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   644
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   645
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   646
cat
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   647
    ^cat new
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   648
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   649
    "Created: / 17-11-2012 / 00:16:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   650
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   651
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   652
clone
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   653
    ^clone new
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   654
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   655
    "Created: / 01-10-2012 / 00:09:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   656
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   657
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   658
commit
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   659
    ^commit new
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   660
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   661
    "Created: / 12-11-2012 / 22:40:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   662
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   663
106
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   664
heads
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   665
    ^heads new
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   666
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   667
    "Created: / 27-11-2012 / 21:32:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   668
!
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   669
489
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   670
init
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   671
    ^init new
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   672
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   673
    "Created: / 13-02-2014 / 12:37:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   674
!
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   675
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   676
locate
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   677
    ^locate new
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   678
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   679
    "Created: / 16-11-2012 / 22:36:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   680
!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   681
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   682
log
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   683
    ^log new
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   684
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   685
    "Created: / 13-11-2012 / 09:00:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   686
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   687
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   688
merge
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   689
    ^merge new
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   690
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   691
    "Created: / 14-01-2013 / 16:03:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   692
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   693
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   694
mv
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   695
    ^mv new
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   696
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   697
    "Created: / 15-11-2012 / 00:22:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   698
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   699
109
08c6eca6df25 Added warning about commiting new head to HGCommitDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   700
pull
08c6eca6df25 Added warning about commiting new head to HGCommitDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   701
    ^pull new
08c6eca6df25 Added warning about commiting new head to HGCommitDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   702
08c6eca6df25 Added warning about commiting new head to HGCommitDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   703
    "Created: / 27-11-2012 / 23:30:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
08c6eca6df25 Added warning about commiting new head to HGCommitDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   704
!
08c6eca6df25 Added warning about commiting new head to HGCommitDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   705
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   706
push
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   707
    ^push new
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   708
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   709
    "Created: / 30-09-2012 / 23:46:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   710
!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   711
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   712
remove
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   713
    ^remove new
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   714
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   715
    "Created: / 15-11-2012 / 00:06:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   716
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   717
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   718
resolve
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   719
    ^resolve new
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   720
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   721
    "Created: / 14-01-2013 / 18:20:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   722
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   723
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   724
resolve__list
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   725
    ^resolve__list new
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   726
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   727
    "Created: / 14-01-2013 / 16:42:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   728
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   729
562
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
   730
share
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
   731
    ^share new
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
   732
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
   733
    "Created: / 25-08-2015 / 01:50:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
   734
!
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
   735
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
   736
showconfig
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
   737
    ^showconfig new
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
   738
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
   739
    "Created: / 06-12-2012 / 20:24:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
   740
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
   741
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   742
status
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   743
    ^status new
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   744
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   745
    "Created: / 23-10-2012 / 11:10:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   746
!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   747
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   748
update
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   749
    ^update new
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   750
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   751
    "Created: / 21-11-2012 / 00:23:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   752
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   753
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   754
!HGCommand class methodsFor:'commands-shortcuts'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   755
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   756
clone: url to: stringOfFilename
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   757
    self clone
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   758
        url: url;
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   759
        path: stringOfFilename asFilename asAbsoluteFilename pathName;
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   760
        execute
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   761
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   762
    "Created: / 01-10-2012 / 00:06:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
489
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   763
!
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   764
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   765
init: aStringOrFilename
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   766
    ^ self init path: aStringOrFilename; yourself
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   767
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   768
    "Created: / 13-02-2014 / 12:37:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   769
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   770
661
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   771
!HGCommand class methodsFor:'testing'!
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   772
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   773
isAvailable
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   774
    "Return true, it `hg` command is present and of a supported
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   775
     version, false otherwise."
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   776
    
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   777
    HGExecutable isNil ifTrue:[
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   778
        [ self hgExecutable ] on:HGCommandError do:[ ^ false ].
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   779
    ].
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   780
    ^ HGExecutable notNil
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   781
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   782
    "
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   783
     HGCommand hgAvailable"
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   784
    "Created: / 23-04-2016 / 22:05:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   785
! !
0ec4c4636991 Issue #79: Settings => mercurial+ => MessageNotUnderstood
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 660
diff changeset
   786
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   787
!HGCommand methodsFor:'accessing'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   788
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   789
result
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   790
    ^ result
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   791
!
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   792
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   793
workingDirectory
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   794
    ^workingDirectory notNil ifTrue:[
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   795
        workingDirectory
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   796
    ] ifFalse: [
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   797
        Filename currentDirectory pathName
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   798
    ]
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   799
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   800
    "Created: / 11-05-2011 / 08:26:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   801
    "Modified (format): / 27-12-2011 / 15:54:08 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   802
    "Modified: / 01-10-2012 / 14:38:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   803
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   804
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   805
workingDirectory:aStringOrFilename
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   806
    aStringOrFilename asFilename isDirectory ifFalse:[
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   807
        self error:'Working directory does not exist'.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   808
        ^self.
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   809
    ].
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   810
    workingDirectory := aStringOrFilename asString.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   811
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   812
    "Modified: / 01-10-2012 / 14:38:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
238
aaf120ddecdb Remover repository instvar deom command server to allow for GC.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   813
!
aaf120ddecdb Remover repository instvar deom command server to allow for GC.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   814
aaf120ddecdb Remover repository instvar deom command server to allow for GC.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   815
workingDirectoryOrNil
aaf120ddecdb Remover repository instvar deom command server to allow for GC.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   816
    ^workingDirectory
aaf120ddecdb Remover repository instvar deom command server to allow for GC.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   817
aaf120ddecdb Remover repository instvar deom command server to allow for GC.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   818
    "Created: / 04-03-2013 / 10:04:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   819
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   820
235
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   821
!HGCommand methodsFor:'accessing-internal'!
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   822
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   823
blocker
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   824
    ^ blocker
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   825
!
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   826
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   827
errorReader
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   828
    ^ errorReader
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   829
!
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   830
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   831
errors
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   832
    ^ errors
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   833
!
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   834
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   835
outputReader
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   836
    ^ outputReader
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   837
! !
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   838
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   839
!HGCommand methodsFor:'error reporting'!
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   840
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   841
propagate: anException
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   842
    "Propagates the error to the process that invoked #execute.
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   843
     Used by sub-processes to signal errors to the caller"
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   844
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   845
    self assert: anException isException.
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   846
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
   847
    Trace ifTrue:[
240
e04b6e515237 HGCommandServer>>execute: refactored & hopefully fixed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 238
diff changeset
   848
        Logger log: 'cmd: propagating: ' , anException class name , ' - ', anException description severity: #trace facility: 'HG'.
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   849
    ].
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   850
    Debug ifTrue:[
447
73e53f58ae31 When debugging, open a debugger on a process that actually raised (propagated:) the exception.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 446
diff changeset
   851
        anException isNotification ifFalse:[
73e53f58ae31 When debugging, open a debugger on a process that actually raised (propagated:) the exception.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 446
diff changeset
   852
            | wasResumable |  
73e53f58ae31 When debugging, open a debugger on a process that actually raised (propagated:) the exception.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 446
diff changeset
   853
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   854
            anException suspendedContext notNil ifTrue:[
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   855
                anException suspendedContext fullPrintAllOn: Transcript.
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   856
            ].
447
73e53f58ae31 When debugging, open a debugger on a process that actually raised (propagated:) the exception.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 446
diff changeset
   857
            "/ When debugging, open a debugger here so the user may check the 
73e53f58ae31 When debugging, open a debugger on a process that actually raised (propagated:) the exception.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 446
diff changeset
   858
            "/ stack and actual variable values in debugger.
73e53f58ae31 When debugging, open a debugger on a process that actually raised (propagated:) the exception.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 446
diff changeset
   859
            Debugger enter.
391
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
   860
        ].
489
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
   861
    ].
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   862
    errors nextPut: anException.
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   863
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   864
    "Created: / 04-02-2013 / 21:29:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
391
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
   865
    "Modified: / 05-03-2014 / 00:08:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
447
73e53f58ae31 When debugging, open a debugger on a process that actually raised (propagated:) the exception.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 446
diff changeset
   866
    "Modified: / 17-07-2014 / 08:21:15 / jv"
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   867
!
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   868
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   869
signal
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   870
    "Signal all propagated exceptions to the caller"
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   871
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   872
    | ex |
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   873
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   874
    [ (ex := errors nextOrNil) notNil ] whileTrue:[
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
   875
        Trace ifTrue:[
240
e04b6e515237 HGCommandServer>>execute: refactored & hopefully fixed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 238
diff changeset
   876
            Logger log: 'cmd: signalling: ' , ex description severity: #trace facility: 'HG'.
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   877
        ].
341
170c1aa67b03 Fixes problem with StrictRaising.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   878
        (ex isNotification or:[ex isResumable == true]) ifTrue:[
170c1aa67b03 Fixes problem with StrictRaising.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   879
            ex raiseRequest
170c1aa67b03 Fixes problem with StrictRaising.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   880
        ] ifFalse:[
170c1aa67b03 Fixes problem with StrictRaising.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   881
            ex raise
170c1aa67b03 Fixes problem with StrictRaising.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   882
        ]
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   883
    ].
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   884
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   885
    "Created: / 04-02-2013 / 21:33:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
341
170c1aa67b03 Fixes problem with StrictRaising.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   886
    "Modified: / 21-08-2013 / 08:51:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   887
! !
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   888
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   889
!HGCommand methodsFor:'executing'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   890
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   891
execute
437
fa687128ae25 Allow to use hg.bat as Mercurial executable on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 419
diff changeset
   892
    | stdoutPipe stdout stderrPipe stderr pid environment status exe args spin |
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   893
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   894
    self initialize.
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   895
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   896
    stdoutPipe := NonPositionableExternalStream makePipe.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   897
    stdout := stdoutPipe first.
52
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   898
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   899
    stderrPipe := NonPositionableExternalStream makePipe.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   900
    stderr := stderrPipe first.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   901
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   902
    environment := OperatingSystem isUNIXlike
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   903
                    ifTrue:[OperatingSystem getEnvironment copy]
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   904
                    ifFalse:[environment := Dictionary new].
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   905
    environment at: 'HGEDITOR' put: 'true'.
52
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   906
    environment at:'LANG' put:'C'.
494
25ef8b23d6a8 class: HGCommand
Claus Gittinger <cg@exept.de>
parents: 489
diff changeset
   907
    environment at:'LC_MESSAGES' put:'C'.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   908
459
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
   909
    exe := self executable.
52
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   910
    args := self arguments.
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   911
470
9a901e620f0b Make sure none of the arguments passed to hg command is empty.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 465
diff changeset
   912
    "/ Empty arguments are not supported. They make no sense anyway,
9a901e620f0b Make sure none of the arguments passed to hg command is empty.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 465
diff changeset
   913
    "/ perhaps except for commit message. But empty commit messages
9a901e620f0b Make sure none of the arguments passed to hg command is empty.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 465
diff changeset
   914
    "/ aren't supported by Mercurial itself.
9a901e620f0b Make sure none of the arguments passed to hg command is empty.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 465
diff changeset
   915
    "/ Just be defensive and make sure none of them is empty...
9a901e620f0b Make sure none of the arguments passed to hg command is empty.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 465
diff changeset
   916
    args do:[:arg | self assert: arg notEmptyOrNil ].
9a901e620f0b Make sure none of the arguments passed to hg command is empty.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 465
diff changeset
   917
52
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   918
    OperatingSystem isMSWINDOWSlike ifTrue:[
459
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
   919
        (exe endsWith:'.bat') ifTrue:[
437
fa687128ae25 Allow to use hg.bat as Mercurial executable on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 419
diff changeset
   920
            | cmd |
fa687128ae25 Allow to use hg.bat as Mercurial executable on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 419
diff changeset
   921
            cmd := OperatingSystem pathOfCommand:'cmd'.
fa687128ae25 Allow to use hg.bat as Mercurial executable on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 419
diff changeset
   922
            args := #( '/C' ) , args.
fa687128ae25 Allow to use hg.bat as Mercurial executable on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 419
diff changeset
   923
            exe := cmd.
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   924
        ].
52
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   925
        args := String streamContents:[:s|
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   926
            args
459
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
   927
                do:[:each | self quoteShellCommandParameter: each asForCmdOn: s ]
52
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   928
                separatedBy: [ s space ]
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   929
        ]
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   930
    ].
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   931
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   932
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   933
    Processor monitor:[
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
   934
        Trace ifTrue:[
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   935
            Logger log: 'cmd: executing: ' , (args isString ifTrue:[args] ifFalse:[args asStringWith:' ']) severity: #trace facility: 'HG'.
207
fce7e7b62741 HGCommand: added tracing of executed commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
   936
        ].
437
fa687128ae25 Allow to use hg.bat as Mercurial executable on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 419
diff changeset
   937
        pid := OperatingSystem exec: exe withArguments:args
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   938
            environment:environment
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   939
            fileDescriptors:{0 . stdoutPipe second fileDescriptor . stderrPipe second fileDescriptor}
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   940
            fork:true
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   941
            newPgrp:false
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   942
            inDirectory:self workingDirectory
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   943
    ] action:[:stat |
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
   944
        Trace ifTrue:[
446
35a8e7b3ad1e Print command status code when tracing command execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 445
diff changeset
   945
            Logger log: 'cmd: command finished with code ' , stat code printString severity: #trace facility: 'HG'.
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   946
        ].
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   947
        status := stat.
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   948
        blocker signal.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   949
    ].
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
   950
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   951
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   952
    stdoutPipe second close.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   953
    stderrPipe second close.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   954
    pid isNil ifTrue:[
257
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   955
        stdout close.
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   956
        stderr close.
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   957
        HGCommandError raiseErrorString: 'cannot execute hg command'.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   958
        ^ self.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   959
    ].
257
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   960
    OperatingSystem isUNIXlike ifTrue:[
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   961
        "/JV: Q: Why this is necessary?
260
9740c721a8a3 Fix in HGCommand (readWait)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   962
        stdout readWaitWithTimeoutMs: 10.
9740c721a8a3 Fix in HGCommand (readWait)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   963
        stderr readWaitWithTimeoutMs: 10.
441
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   964
    ].
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   965
    Debug ifTrue:[
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   966
        OperatingSystem isUNIXlike ifTrue:[
494
25ef8b23d6a8 class: HGCommand
Claus Gittinger <cg@exept.de>
parents: 489
diff changeset
   967
            "/ Transcript showCR:'hg stderr:'; showCR:stderr contents asString.
257
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   968
            stdout := stdout contents asString readStream.
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   969
            stderr := stderr contents asString readStream.
441
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   970
        ] ifFalse:[
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   971
            | buffer |
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   972
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   973
            buffer := (String new: 100) writeStream.
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   974
            [ stdout atEnd ] whileFalse:[
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   975
                buffer nextPut: stdout next.
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   976
            ].
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   977
            stdout := buffer contents readStream.
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   978
            buffer := String new writeStream.
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   979
            [ stderr atEnd ] whileFalse:[
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   980
                buffer nextPut: stderr next.
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   981
            ].
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   982
            stderr := buffer contents readStream.
257
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   983
        ]
38
c3d02ed6a645 - HGWorkingCopyFile
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 37
diff changeset
   984
    ].
257
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   985
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   986
    self spawnErrorReaderOn: stderr.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   987
    self spawnOutputReaderOn: stdout.
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   988
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   989
    spin := SemaphoreSet with: blocker with: errors readSemaphore.
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   990
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   991
    [
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   992
        [ spin wait ~~ blocker ] whileTrue:[ self signal ]
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   993
    ] ensure:[
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   994
        stderr close.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   995
        stdout close.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   996
    ].
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   997
    self signal.
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
   998
    Trace ifTrue:[
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   999
        Logger log: 'returning' severity: #trace facility: 'HG'.
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1000
    ].
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
  1001
    ^self status: status result: result
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1002
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1003
    "Created: / 11-05-2011 / 07:45:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1004
    "Modified: / 17-12-2011 / 19:22:00 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1005
    "Modified (format): / 27-12-2011 / 15:53:54 / dundee"
52
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
  1006
    "Modified: / 14-11-2012 / 13:41:57 / jv"
470
9a901e620f0b Make sure none of the arguments passed to hg command is empty.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 465
diff changeset
  1007
    "Modified: / 15-11-2014 / 00:10:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
234
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
  1008
!
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
  1009
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
  1010
executeOnRepository: anHGRepository
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
  1011
    workingDirectory isNil ifTrue:[
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
  1012
        workingDirectory := anHGRepository pathName
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
  1013
    ].
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
  1014
    ^self execute.
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
  1015
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
  1016
    "Created: / 03-03-2013 / 20:34:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
459
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1017
!
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1018
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1019
quoteShellCommandParameter: parameter asForCmdOn: stream
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1020
    "Quotes the parameter as neccesary on Windows"
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1021
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1022
    "/ Adapted version of ArgvQuote,
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1023
    "/ see http://blogs.msdn.com/b/twistylittlepassagesallalike/archive/2011/04/23/everyone-quotes-arguments-the-wrong-way.aspx
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1024
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1025
    | parameterS |
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1026
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1027
    stream nextPut: $".
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1028
    parameterS := parameter readStream.
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1029
    [ parameterS atEnd ] whileFalse:[
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1030
        | numBackSlashes |
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1031
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1032
        numBackSlashes := 0.
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1033
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1034
        [ parameterS atEnd not and:[ parameterS peek == $\ ] ] whileTrue:[
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1035
            numBackSlashes := numBackSlashes + 1.
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1036
            parameterS next.
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1037
        ].
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1038
        parameterS atEnd ifTrue:[
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1039
            "/ Escape all backslashes, but let the terminating
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1040
            "/ double quotation mark we add below be interpreted
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1041
            "/ as a metacharacter.
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1042
            stream next: numBackSlashes * 2 put: $\
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1043
        ] ifFalse:[
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1044
            parameterS peek == $" ifTrue:[
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1045
                "/ Escape all backslashes and the following
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1046
                "/ double quotation mark.
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1047
                stream next: numBackSlashes * 2 put: $\.
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1048
                stream nextPut: $\.
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1049
                stream nextPut: $".
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1050
            ] ifFalse:[
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1051
                "/ Backslashes aren't special here.
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1052
                stream next: numBackSlashes put: $\.               
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1053
                stream nextPut: parameterS peek.
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1054
            ].
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1055
            parameterS next.
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1056
        ].
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1057
    ].
f46adbbf4138 Fixes for issue #5: Wrong argument quoting on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 453
diff changeset
  1058
    stream nextPut: $".
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1059
! !
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1060
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1061
!HGCommand methodsFor:'initialization'!
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1062
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1063
initialize
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1064
    "Invoked when a new instance is created."
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1065
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1066
    "/ please change as required (and remove this comment)
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1067
    "/ workingDirectory := nil.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1068
    "/ result := nil.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1069
    "/ error := nil.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1070
    "/ workers := nil.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1071
    "/ errors := nil.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1072
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1073
    errors := SharedQueue new.
233
d9a8bb2aaa0b Log command works using command server.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 232
diff changeset
  1074
    blocker := (Semaphore new:-2) name: 'Waiting for hg command to finish'.
d9a8bb2aaa0b Log command works using command server.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 232
diff changeset
  1075
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1076
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1077
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1078
    "/ super initialize.   -- commented since inherited method does nothing
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1079
233
d9a8bb2aaa0b Log command works using command server.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 232
diff changeset
  1080
    "Modified: / 03-03-2013 / 19:50:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1081
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1082
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1083
!HGCommand methodsFor:'private'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1084
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1085
arguments
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1086
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1087
    ^ OrderedCollection streamContents:[:s |
165
4f6432cf4240 Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
  1088
        s nextPut: self executable.
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
  1089
        s nextPutAll: self class hgExecutableArguments ? #().
165
4f6432cf4240 Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
  1090
        s nextPut: '--noninteractive'.
719
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  1091
        
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  1092
        "/ We must enable share extension to make sure bookmarks
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  1093
        "/ work fine. This should be safe as share extension is
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  1094
        "/ distributed with mercurial since 1.3 (which is not supported
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  1095
        "/ by libscm) so it's always available
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  1096
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  1097
	s nextPut: '--config'.
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  1098
	s nextPut: 'extensions.share='.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1099
        self argumentsGlobalOn:s.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1100
        s nextPut:self command.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1101
        self argumentsCommandOn:s.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1102
    ].
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1103
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1104
    "Created: / 11-05-2011 / 07:58:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1105
    "Modified (format): / 27-12-2011 / 15:47:23 / dundee"
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
  1106
    "Modified: / 17-07-2014 / 15:25:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1107
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1108
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1109
argumentsCommandOn:stream
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1110
    "Called to get command specific options"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1111
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1112
    self subclassResponsibility
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1113
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1114
    "Created: / 11-05-2011 / 07:58:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1115
    "Modified (format): / 27-12-2011 / 15:46:59 / dundee"
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1116
    "Modified: / 16-11-2012 / 22:31:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1117
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1118
719
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  1119
argumentsGlobalOn:stream
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1120
    "Called to get global options"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1121
719
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  1122
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1123
    "Created: / 11-05-2011 / 07:58:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1124
    "Modified (format): / 27-12-2011 / 15:47:10 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1125
    "Modified: / 30-09-2012 / 23:43:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
719
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  1126
    "Modified: / 22-11-2016 / 20:02:13 / jenkins"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1127
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1128
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1129
command
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1130
    "Returns the hg 'command' option, i.e. commit,
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1131
     push, pull, ..."
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1132
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1133
    ^self class nameWithoutPrefix
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1134
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1135
    "
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1136
        HGCommand::push basicNew command
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1137
    "
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1138
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1139
    "Created: / 11-05-2011 / 07:58:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1140
    "Modified (format): / 27-12-2011 / 15:47:17 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1141
    "Modified: / 30-09-2012 / 23:37:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1142
    "Modified (comment): / 08-02-2014 / 11:41:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1143
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1144
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1145
executable
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
  1146
    ^ self class hgExecutable
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
  1147
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
  1148
    "Modified: / 17-07-2014 / 10:16:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1149
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1150
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1151
parseError:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1152
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1153
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1154
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1155
    ^ (self parserOn: stream) parseError.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1156
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1157
    "Created: / 04-02-2013 / 11:59:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1158
!
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1159
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1160
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1161
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1162
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1163
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1164
    ^ self subclassResponsibility
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1165
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1166
    "Created: / 11-05-2011 / 07:58:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1167
    "Created: / 17-12-2011 / 17:02:41 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1168
    "Modified (comment): / 17-10-2012 / 13:14:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1169
!
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1170
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1171
parserOn: aStream
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1172
    "Returns an HGCommandParser initialized on given stream."
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1173
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1174
    ^HGCommandParser for: self on: aStream
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1175
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1176
    "Created: / 04-02-2013 / 12:17:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1177
    "Modified: / 04-02-2013 / 14:14:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1178
!
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1179
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1180
spawn:block name: name
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1181
    "Spawn a new background thread executing given block"
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1182
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1183
    | worker |
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1184
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1185
    worker := [
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
  1186
        Trace ifTrue:[
240
e04b6e515237 HGCommandServer>>execute: refactored & hopefully fixed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 238
diff changeset
  1187
            Logger log: 'cmd: worker ''', name , ''' spawned' severity: #trace facility: 'HG'.
e04b6e515237 HGCommandServer>>execute: refactored & hopefully fixed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 238
diff changeset
  1188
        ].
447
73e53f58ae31 When debugging, open a debugger on a process that actually raised (propagated:) the exception.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 446
diff changeset
  1189
        block on: Error do:[:ex|
73e53f58ae31 When debugging, open a debugger on a process that actually raised (propagated:) the exception.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 446
diff changeset
  1190
            self propagate:ex
73e53f58ae31 When debugging, open a debugger on a process that actually raised (propagated:) the exception.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 446
diff changeset
  1191
        ]
240
e04b6e515237 HGCommandServer>>execute: refactored & hopefully fixed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 238
diff changeset
  1192
    ] newProcess.
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1193
    worker addExitAction:[
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
  1194
        Trace ifTrue:[
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1195
            Logger log: 'cmd: worker ''', name , ''' finished' severity: #trace facility: 'HG'.
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1196
        ].
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1197
        blocker notNil ifTrue:[blocker signal].
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1198
    ].
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1199
    worker resume.
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1200
    worker name: name.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1201
    ^worker
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1202
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1203
    "Created: / 03-03-2013 / 16:56:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
240
e04b6e515237 HGCommandServer>>execute: refactored & hopefully fixed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 238
diff changeset
  1204
    "Modified: / 05-03-2013 / 19:42:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
447
73e53f58ae31 When debugging, open a debugger on a process that actually raised (propagated:) the exception.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 446
diff changeset
  1205
    "Modified (format): / 17-07-2014 / 07:31:58 / jv"
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1206
!
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1207
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1208
spawnErrorReaderOn: stderr
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1209
    errorReader isNil ifTrue:[
463
3ba85719b2a3 Workaround for bug in PipeStream on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
  1210
        errorReader := self spawn: [
3ba85719b2a3 Workaround for bug in PipeStream on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
  1211
            "/ Workaround for bug in PipeStream on Windows.
3ba85719b2a3 Workaround for bug in PipeStream on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
  1212
            "/ Should be removed once PipeStreamTest>>testReadPipe6 gets fixed        
3ba85719b2a3 Workaround for bug in PipeStream on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
  1213
            stderr atEnd.
3ba85719b2a3 Workaround for bug in PipeStream on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
  1214
            self parseError:  stderr 
3ba85719b2a3 Workaround for bug in PipeStream on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
  1215
        ] name: 'Error reader'.
243
c665ef80dacc Raise priority of stderr parser proces when spawning command (not using command server).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 241
diff changeset
  1216
        errorReader priority: errorReader priority + 1.
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1217
    ].
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1218
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1219
    "Created: / 03-03-2013 / 16:59:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
243
c665ef80dacc Raise priority of stderr parser proces when spawning command (not using command server).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 241
diff changeset
  1220
    "Modified: / 06-03-2013 / 11:42:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1221
!
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1222
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1223
spawnOutputReaderOn: stdout
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1224
    outputReader isNil ifTrue:[
463
3ba85719b2a3 Workaround for bug in PipeStream on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
  1225
        outputReader := self spawn: [ 
3ba85719b2a3 Workaround for bug in PipeStream on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
  1226
            "/ Workaround for bug in PipeStream on Windows.
3ba85719b2a3 Workaround for bug in PipeStream on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
  1227
            "/ Should be removed once PipeStreamTest>>testReadPipe6 gets fixed        
3ba85719b2a3 Workaround for bug in PipeStream on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
  1228
            stdout atEnd. 
3ba85719b2a3 Workaround for bug in PipeStream on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
  1229
            result := self parseOutput: stdout 
3ba85719b2a3 Workaround for bug in PipeStream on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 459
diff changeset
  1230
        ] name: 'Output reader'.
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1231
    ]
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1233
    "Created: / 03-03-2013 / 17:00:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1234
!
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1235
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1236
status: status result: res
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1237
    "Called when hg command finishes, passing it's status and result from parser"
251
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1238
247
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 243
diff changeset
  1239
    status success  ifFalse:[
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1240
        HGCommandError raiseErrorString: ('hg command failed (status %1)' expandMacrosWith: status code) .
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1241
    ].
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1242
    ^res
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1243
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1244
    "Created: / 15-11-2012 / 17:04:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
251
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1245
    "Modified: / 08-03-2013 / 22:32:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1246
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1247
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1248
!HGCommand methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1249
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1250
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1251
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1252
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1253
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1254
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1255
    ^ self subclassResponsibility
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1256
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1257
    "Created: / 11-10-2015 / 07:27:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1258
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1259
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1260
!HGCommand::add methodsFor:'accessing'!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1261
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1262
paths
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1263
    ^ paths
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1264
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1265
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1266
paths:something
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1267
    paths := something.
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1268
! !
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1269
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1270
!HGCommand::add methodsFor:'private'!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1271
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1272
argumentsCommandOn:stream
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1273
    "Called to get command specific options"
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1274
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1275
    paths isEmptyOrNil ifTrue:[
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1276
        self error: 'No paths given'
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1277
    ].
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1278
    stream nextPutAll: paths
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1279
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1280
    "Created: / 15-11-2012 / 00:05:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1281
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1282
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1283
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1284
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1285
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1286
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1287
    ^ nil
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1288
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1289
    "Modified: / 15-11-2012 / 00:38:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1290
! !
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1291
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1292
!HGCommand::add methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1293
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1294
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1295
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1296
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1297
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1298
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1299
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1300
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1301
    "Modified (format): / 11-10-2015 / 07:28:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1302
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1303
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1304
!HGCommand::bookmark methodsFor:'accessing'!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1305
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1306
name
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1307
    ^ name
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1308
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1309
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1310
name:something
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1311
    name := something.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1312
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1313
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1314
revision
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1315
    ^ revision
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1316
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1317
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1318
revision:something
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1319
    revision := something.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1320
! !
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1321
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1322
!HGCommand::bookmark methodsFor:'private'!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1323
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1324
argumentsCommandOn:stream
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1325
    revision notNil ifTrue:[
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1326
        stream
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1327
            nextPut: '-r';
465
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
  1328
            nextPut: (revision hasRevnoOnly ifTrue:[revision revno printString] ifFalse:[revision printStringWithoutNumber]).
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1329
    ].
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1330
    stream
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1331
        nextPut: name.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1332
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1333
    "Created: / 20-03-2014 / 17:26:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
465
adb48cfb1df7 Test fixes for bookmarks and Mercurial 2.5 and earlier.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 463
diff changeset
  1334
    "Modified: / 04-11-2014 / 16:03:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1335
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1336
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1337
parseError:stream
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1338
    ^ (self parserOn: stream) parseErrorBookmark
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1339
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1340
    "Created: / 20-03-2014 / 17:27:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1341
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1342
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1343
parseOutput:stream
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1344
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1345
     etc."
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1346
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1347
    ^ nil
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1348
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1349
    "Created: / 20-03-2014 / 17:27:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1350
! !
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1351
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1352
!HGCommand::bookmark methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1353
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1354
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1355
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1356
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1357
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1358
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1359
    ^ true
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1360
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1361
    "Modified: / 11-10-2015 / 07:28:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1362
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1363
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1364
!HGCommand::bookmark_delete methodsFor:'accessing'!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1365
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1366
name
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1367
    ^ name
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1368
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1369
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1370
name:something
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1371
    name := something.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1372
! !
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1373
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1374
!HGCommand::bookmark_delete methodsFor:'private'!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1375
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1376
argumentsCommandOn:stream
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1377
    stream
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1378
        nextPut: '--delete';
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1379
        nextPut: name.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1380
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1381
    "Created: / 20-03-2014 / 17:26:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1382
    "Modified: / 21-03-2014 / 01:14:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1383
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1384
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1385
command
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1386
    "Returns the hg 'command' option, i.e. commit,
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1387
     push, pull, ..."
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1388
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1389
    ^ 'bookmark'
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1390
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1391
    "
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1392
        HGCommand::push basicNew command
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1393
    "
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1394
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1395
    "Created: / 21-03-2014 / 01:21:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1396
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1397
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1398
parseError:stream
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1399
    ^ (self parserOn: stream) parseErrorBookmark
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1400
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1401
    "Created: / 20-03-2014 / 17:27:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1402
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1404
parseOutput:stream
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1405
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1406
     etc."
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1407
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1408
    ^ nil
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1409
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1410
    "Created: / 20-03-2014 / 17:27:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1411
! !
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1412
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1413
!HGCommand::bookmark_delete methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1414
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1415
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1416
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1417
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1418
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1419
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1420
    ^ true
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1421
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1422
    "Modified: / 11-10-2015 / 07:29:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1423
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1424
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1425
!HGCommand::branches methodsFor:'accessing'!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1426
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1427
active
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1428
    ^ active
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1429
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1430
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1431
active:aBoolean
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1432
    active := aBoolean.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1433
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1434
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1435
closed
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1436
    ^ closed
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1437
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1438
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1439
closed:aBoolean
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1440
    closed := aBoolean.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1441
! !
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1442
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1443
!HGCommand::branches methodsFor:'private'!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1444
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1445
argumentsCommandOn:stream
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1446
    "Called to get command specific options"
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1447
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1448
    active == true ifTrue:[
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1449
        stream nextPut:'--active'
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1450
    ].
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1451
    closed == true ifTrue:[
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1452
        stream nextPut:'--closed'
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1453
    ].
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1454
867
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1455
    self class hgVersionIsGreaterOrEqualThan_3_5 ifTrue:[
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1456
        stream
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1457
            nextPut:'--template';
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1458
            nextPut:HGCommandParser templateBranches.
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1459
    ]
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1460
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1461
    "Created: / 27-11-2012 / 19:54:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
867
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1462
    "Modified: / 09-03-2019 / 08:16:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1463
    "Modified (format): / 12-03-2019 / 11:58:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1464
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1465
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1466
parseError:stream
228
e00b7d71e234 Bugfix in parsing 'push' and 'branches' command output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 227
diff changeset
  1467
    ^ (self parserOn: stream) parseErrorBranches.
e00b7d71e234 Bugfix in parsing 'push' and 'branches' command output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 227
diff changeset
  1468
e00b7d71e234 Bugfix in parsing 'push' and 'branches' command output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 227
diff changeset
  1469
    "Created: / 06-02-2013 / 19:20:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e00b7d71e234 Bugfix in parsing 'push' and 'branches' command output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 227
diff changeset
  1470
!
e00b7d71e234 Bugfix in parsing 'push' and 'branches' command output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 227
diff changeset
  1471
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1472
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1473
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1474
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1475
867
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1476
     self class hgVersionIsGreaterOrEqualThan_3_5 ifTrue:[ 
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1477
        ^ (self parserOn:stream) parseCommandBranches
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1478
     ] ifFalse:[ 
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1479
        ^ (self parserOn:stream) parseCommandBranchesOld
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1480
    ]
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1481
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1482
    "Created: / 27-11-2012 / 19:55:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
867
7527dc6bc38e Issue 256: fix parsing branch list when branch name(s) contains spaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
  1483
    "Modified: / 09-03-2019 / 08:18:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1484
! !
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1485
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1486
!HGCommand::branches methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1487
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1488
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1489
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1490
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1491
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1492
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1493
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1494
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1495
    "Modified: / 11-10-2015 / 07:29:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1496
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1497
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1498
!HGCommand::cat methodsFor:'accessing'!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1499
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1500
destination
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1501
    ^ destination
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1502
!
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1503
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1504
destination:aStringOrFilename
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1505
    destination := aStringOrFilename.
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1506
!
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1507
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1508
path
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1509
    ^ path
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1510
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1511
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1512
path:something
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1513
    path := something.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1514
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1515
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1516
revision
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1517
    ^ revision
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1518
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1519
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1520
revision:something
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1521
    revision := something.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1522
! !
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1523
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1524
!HGCommand::cat methodsFor:'executing'!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1525
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1526
execute
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1527
    "
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1528
    A hacked version of #execute that returns a open read
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1529
    stream to read directly from 'hg cat' stdout...
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1530
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1531
    "
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1532
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1533
    | pipe output pid environment sema args sout exec |
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1534
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
  1535
    destination notNil ifTrue:[
439
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1536
        ^ super execute.
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1537
    ].
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1538
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1539
    pipe := NonPositionableExternalStream makePipe.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1540
    output := pipe first.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1541
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1542
    OperatingSystem isUNIXlike ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1543
        environment := OperatingSystem getEnvironment copy.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1544
    ] ifFalse:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1545
        environment := Dictionary new.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1546
    ].
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1547
    environment at:'LANG' put:'C'.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1548
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1549
    args := self arguments.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1550
    OperatingSystem isMSWINDOWSlike ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1551
        args := String streamContents:[:s|
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1552
            args
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1553
                do:[:each | s nextPut:$"; nextPutAll: each; nextPut: $"]
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1554
                separatedBy: [ s space ]
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1555
        ]
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1556
    ].
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1557
439
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1558
    sout := pipe second.
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1559
    sema := Semaphore new name: 'Waiting for hg command to finish'.
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1560
    exec := [
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1561
        pid := OperatingSystem exec:(self executable) withArguments:args
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1562
                environment:environment
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1563
                fileDescriptors:{0 . sout fileDescriptor . pipe second fileDescriptor}
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1564
                fork:true
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1565
                newPgrp:false
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1566
                inDirectory:self workingDirectory.
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1567
    ].
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1568
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1569
    destination notNil ifTrue:[
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1570
        Processor
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1571
            monitor:exec
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1572
            action:[:stat |
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1573
                sema signal.
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1574
            ].
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1575
    ] ifFalse:[
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1576
        exec value
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1577
    ].
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1578
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1579
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1580
    pipe second close.
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1581
    sout close.
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1582
    pid isNil ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1583
        HGCommandError raiseErrorString: 'cannot execute hg command'.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1584
        output close.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1585
        ^ self.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1586
    ].
439
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1587
    ^ output.
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1588
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1589
    "Created: / 17-11-2012 / 00:13:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
439
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1590
    "Modified: / 06-07-2014 / 16:46:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1591
! !
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1592
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1593
!HGCommand::cat methodsFor:'private'!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1594
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1595
argumentsCommandOn:stream
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1596
    "Called to get command specific options"
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1597
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1598
    path isNil ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1599
        self error:'No path specified'
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1600
    ].
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1601
    revision isNil ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1602
        self error:'No revision specified'
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1603
    ].
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
  1604
    destination notNil ifTrue:[
439
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1605
        stream nextPut: '-o'.
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1606
        stream nextPut: destination asFilename pathName.
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1607
    ].
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1608
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1609
    stream nextPut:'--rev'; nextPut: revision asString.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1610
    stream nextPut:path
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1611
439
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1612
    "Modified: / 06-07-2014 / 16:45:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1613
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1614
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1615
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1616
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1617
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1618
439
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1619
    "/ Nothing to do...
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1620
7516fdf761f8 Fix in HGCommand::cat>>execute: use -o option rather than pipe command output to file.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 437
diff changeset
  1621
    "Modified: / 06-07-2014 / 16:53:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1622
! !
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1623
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1624
!HGCommand::cat methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1625
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1626
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1627
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1628
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1629
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1630
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1631
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1632
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1633
    "Modified: / 11-10-2015 / 07:29:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1634
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1635
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1636
!HGCommand::clone methodsFor:'accessing'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1637
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1638
path
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1639
    ^ path
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1640
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1641
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1642
path:something
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1643
    path := something.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1644
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1645
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1646
url
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1647
    ^ url
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1648
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1649
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1650
url:something
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1651
    url := something.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1652
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1653
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1654
!HGCommand::clone methodsFor:'private'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1655
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1656
argumentsCommandOn:stream
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1657
    "Called to get command specific options"
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  1658
    update == false ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  1659
        stream nextPut:'--noupdate'.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  1660
    ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  1661
    stream nextPut: url; nextPut: path.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1662
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1663
    "Created: / 01-10-2012 / 00:04:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  1664
    "Modified: / 21-11-2012 / 00:17:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1665
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1666
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1667
parseOutput:stream
63
77b0d42eebd0 Removed last bits of Git, hopefully
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 61
diff changeset
  1668
    "superclass Command says that I am responsible to implement this method"
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1669
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1670
    ^ nil
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1671
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1672
    "Modified: / 14-11-2012 / 22:42:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1673
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1674
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1675
!HGCommand::clone methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1676
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1677
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1678
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1679
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1680
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1681
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1682
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1683
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1684
    "Modified: / 11-10-2015 / 07:29:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1685
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1686
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1687
!HGCommand::commit methodsFor:'accessing'!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1688
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
  1689
amend
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
  1690
    ^ amend
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
  1691
!
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
  1692
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
  1693
amend:aBoolean
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
  1694
    amend := aBoolean.
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
  1695
!
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
  1696
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1697
author
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1698
    ^ author
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1699
!
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1700
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1701
author:aString
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1702
    author := aString.
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1703
!
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1704
213
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1705
date
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1706
    ^ date
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1707
!
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1708
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1709
date:aTimestampOrString
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1710
    date := aTimestampOrString.
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1711
!
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1712
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1713
files
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1714
    ^ files
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1715
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1716
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1717
files:something
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1718
    files := something.
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1719
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1720
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1721
message
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1722
    ^ message
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1723
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1724
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1725
message:something
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1726
    message := something.
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1727
! !
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1728
474
f610e64874c8 Fix in commit command: raise HGCommitError when a commit message is empty (or nil)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 470
diff changeset
  1729
!HGCommand::commit methodsFor:'executing'!
f610e64874c8 Fix in commit command: raise HGCommitError when a commit message is empty (or nil)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 470
diff changeset
  1730
f610e64874c8 Fix in commit command: raise HGCommitError when a commit message is empty (or nil)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 470
diff changeset
  1731
execute
f610e64874c8 Fix in commit command: raise HGCommitError when a commit message is empty (or nil)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 470
diff changeset
  1732
    message isEmptyOrNil ifTrue:[ 
f610e64874c8 Fix in commit command: raise HGCommitError when a commit message is empty (or nil)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 470
diff changeset
  1733
        ^ HGCommitError raiseErrorString: 'empty commit message'.  
f610e64874c8 Fix in commit command: raise HGCommitError when a commit message is empty (or nil)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 470
diff changeset
  1734
    ].
f610e64874c8 Fix in commit command: raise HGCommitError when a commit message is empty (or nil)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 470
diff changeset
  1735
    ^ super execute
f610e64874c8 Fix in commit command: raise HGCommitError when a commit message is empty (or nil)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 470
diff changeset
  1736
f610e64874c8 Fix in commit command: raise HGCommitError when a commit message is empty (or nil)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 470
diff changeset
  1737
    "Created: / 16-11-2014 / 23:50:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f610e64874c8 Fix in commit command: raise HGCommitError when a commit message is empty (or nil)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 470
diff changeset
  1738
! !
f610e64874c8 Fix in commit command: raise HGCommitError when a commit message is empty (or nil)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 470
diff changeset
  1739
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1740
!HGCommand::commit methodsFor:'private'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1741
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1742
argumentsCommandOn:stream
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1743
    "Called to get command specific options"
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1744
73
eb731ce2685e Fixed HGStXTests>>test_commit_01
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
  1745
    author notNil ifTrue:[
eb731ce2685e Fixed HGStXTests>>test_commit_01
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
  1746
        stream nextPut:'--user'; nextPut: author
eb731ce2685e Fixed HGStXTests>>test_commit_01
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
  1747
    ].
213
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1748
    date notNil ifTrue:[
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1749
        stream nextPut:'--date'.
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1750
        date isTimestamp ifTrue:[
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1751
            stream nextPut: (date printStringFormat: '%(year)-%(month)-%(day) %H:%m:%S')
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1752
        ] ifFalse:[
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1753
            stream nextPut: date asString
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1754
        ]
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1755
    ].
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
  1756
    amend == true ifTrue:[
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
  1757
        stream nextPut:'--amend'.
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
  1758
    ].
213
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1759
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1760
    stream nextPut:'-m'; nextPut: message.
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1761
    files notNil ifTrue:[
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1762
        stream nextPutAll: files
49
ffb879bfafe7 - stx_libscm_mercurial
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
  1763
    ].
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1764
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1765
    "Created: / 12-11-2012 / 22:38:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1766
    "Modified: / 07-12-2012 / 15:32:51 / jv"
563
6104cd9f44f1 Issue #19: Initial support for amending a commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 562
diff changeset
  1767
    "Modified: / 25-08-2015 / 16:04:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1768
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1769
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1770
parseError:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1771
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1772
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1773
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1774
    ^ (self parserOn: stream) parseErrorCommit.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1775
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1776
    "Created: / 04-02-2013 / 12:28:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1777
!
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1778
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1779
parseOutput:stream
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1780
    "superclass HGCommand says that I am responsible to implement this method"
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1781
    "Nothing to do"
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1782
    "Modified: / 12-11-2012 / 22:38:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1783
!
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1784
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1785
status: status result: result
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1786
    "Called when hg command finishes, passing it's status and result from parser"
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1787
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1788
    (status code ~~ 0 and:[status code ~~ 1]) ifTrue:[
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1789
        HGCommandError raiseErrorString: ('hg command failed (status %1)' expandMacrosWith: status code) .
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1790
    ].
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1791
    ^result
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1792
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1793
    "Created: / 15-11-2012 / 17:06:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1794
! !
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1795
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1796
!HGCommand::commit methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1797
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1798
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1799
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1800
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1801
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1802
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1803
    ^ true
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1804
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1805
    "Modified: / 11-10-2015 / 07:29:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1806
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1807
106
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1808
!HGCommand::heads methodsFor:'private'!
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1809
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1810
argumentsCommandOn:stream
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1811
    "Called to get command specific options"
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1812
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1813
    stream
106
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1814
        nextPut:'--template';
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1815
        nextPut:HGCommandParser templateHeads.
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1816
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1817
    "Created: / 27-11-2012 / 21:30:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1818
!
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1819
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1820
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1821
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
106
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1822
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1823
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1824
    ^ (self parserOn:stream) parseCommandHeads
106
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1825
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1826
    "Created: / 27-11-2012 / 21:30:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
251
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1827
!
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1828
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1829
status: status result: res
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1830
    "Called when hg command finishes, passing it's status and result from parser"
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1831
    status code == 1 ifTrue:[
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1832
        ^#()
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1833
    ].
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1834
    status success  ifFalse:[
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1835
        HGCommandError raiseErrorString: ('hg command failed (status %1)' expandMacrosWith: status code) .
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1836
    ].
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1837
    ^res
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1838
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1839
    "Created: / 15-11-2012 / 17:04:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1840
    "Modified: / 08-03-2013 / 19:35:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
106
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1841
! !
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1842
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1843
!HGCommand::heads methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1844
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1845
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1846
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1847
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1848
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1849
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1850
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1851
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1852
    "Modified: / 11-10-2015 / 07:29:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1853
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1854
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1855
!HGCommand::help methodsFor:'private'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1856
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1857
argumentsCommandOn:stream
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1858
    "Called to get command specific options"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1859
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1860
    ^ self shouldNotImplement
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1861
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1862
    "Modified: / 11-10-2015 / 07:31:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1863
!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1864
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1865
parseOutput:stream
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1866
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1867
     etc."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1868
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1869
    ^ self shouldImplement
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1870
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1871
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1872
!HGCommand::help methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1873
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1874
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1875
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1876
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1877
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1878
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1879
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1880
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1881
    "Modified: / 11-10-2015 / 07:30:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1882
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1883
489
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1884
!HGCommand::init methodsFor:'accessing'!
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1885
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1886
path
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1887
    ^ path
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1888
!
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1889
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1890
path:aStringOrFilename
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1891
    path := aStringOrFilename.
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1892
! !
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1893
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1894
!HGCommand::init methodsFor:'private'!
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1895
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1896
argumentsCommandOn:stream
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1897
    stream nextPut: path asFilename asAbsoluteFilename pathName
511
ad2f56473052 Merged e2c58b9a066b and b8cc70ae440b (branch cvs_MAIN)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509 496
diff changeset
  1898
    
489
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1899
    "Created: / 13-02-2014 / 12:36:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1900
!
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1901
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1902
parseOutput:stream
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1903
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1904
     etc."
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1905
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1906
    ^ nil
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1907
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1908
    "Created: / 13-02-2014 / 12:36:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1909
! !
333ee1b27613 Updated to rev f271ddd2b5e0
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
  1910
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1911
!HGCommand::init methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1912
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1913
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1914
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1915
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1916
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1917
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1918
    ^ true
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1919
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1920
    "Modified: / 11-10-2015 / 07:30:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1921
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1922
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1923
!HGCommand::locate methodsFor:'accessing'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1924
912
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1925
hidden
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1926
    ^ hidden
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1927
!
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1928
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1929
hidden:aBoolean
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1930
    hidden := aBoolean.
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1931
!
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1932
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1933
revision
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1934
    ^ revision
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1935
!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1936
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1937
revision:rev
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1938
    revision := rev.
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1939
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1940
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1941
!HGCommand::locate methodsFor:'private'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1942
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1943
argumentsCommandOn:stream
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1944
    "Called to get command specific options"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1945
165
4f6432cf4240 Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
  1946
    "/stream nextPut:'--print0'.
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1947
    revision notNil ifTrue:[
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1948
        stream nextPut: '--rev'; nextPut: revision printString.
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1949
    ].
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1950
165
4f6432cf4240 Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
  1951
    "Modified: / 16-12-2012 / 00:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1952
!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1953
912
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1954
argumentsGlobalOn:stream
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1955
    "Called to get global options"
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1956
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1957
    super argumentsGlobalOn:stream.
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1958
    hidden == true ifTrue:[
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1959
        "/ --hidden is supported since 2.5
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1960
        HGCommand hgVersionIsGreaterOrEqualThan_2_5 ifTrue:[
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1961
            stream nextPut: '--hidden'
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1962
        ].
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1963
    ].
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1964
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1965
    "Created: / 08-10-2020 / 17:50:48 / Jan Vrany <jan.vrany@labware.com>"
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1966
!
d3ae5b837ab3 Fix `HGChangeset >> #/' to work with obsolete changesets
Jan Vrany <jan.vrany@labware.com>
parents: 889
diff changeset
  1967
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1968
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1969
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1970
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  1971
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1972
    ^ (self parserOn:stream) parseCommandLocate
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1973
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1974
    "Modified: / 16-11-2012 / 22:33:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1975
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1976
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1977
!HGCommand::locate methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1978
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1979
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1980
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1981
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1982
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1983
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1984
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1985
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1986
    "Modified: / 11-10-2015 / 07:30:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1987
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  1988
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  1989
!HGCommand::log methodsFor:'accessing'!
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  1990
137
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1991
childrenOnly
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1992
    ^ childrenOnly
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1993
!
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1994
191
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1995
childrenOnly:aBoolean
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1996
    childrenOnly := aBoolean.
137
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1997
!
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1998
655
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  1999
hidden
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2000
    ^ hidden
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2001
!
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2002
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2003
hidden:aBoolean
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2004
    hidden := aBoolean.
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2005
!
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2006
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2007
idsOnly
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2008
    ^ idsOnly
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2009
!
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2010
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2011
idsOnly:aBoolean
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2012
    idsOnly := aBoolean.
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2013
!
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2014
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2015
limit
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2016
    ^ limit
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2017
!
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2018
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2019
limit:anInteger
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2020
    limit := anInteger.
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2021
!
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2022
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2023
path
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2024
    ^ path
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2025
!
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2026
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2027
path:aString
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2028
    path := aString.
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2029
!
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2030
191
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2031
revset: revset
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2032
    revsets isNil ifTrue:[revsets := OrderedCollection new].
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2033
    revsets add: revset.
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2034
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2035
    "Created: / 22-01-2013 / 16:16:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  2036
!
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  2037
191
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2038
revsets: aCollection
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2039
    revsets isNil ifTrue:[
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2040
        revsets := aCollection
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2041
    ] ifFalse:[
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2042
        revsets addAll: aCollection
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2043
    ].
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  2044
191
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2045
    "Created: / 22-01-2013 / 16:21:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  2046
! !
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  2047
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  2048
!HGCommand::log methodsFor:'private'!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  2049
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  2050
argumentsCommandOn:stream
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  2051
    "Called to get command specific options"
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  2052
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2053
    | template |
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2054
477
594a42a4d8fc Oops, fixed bug introduced in 9f97cda: care for version < 2.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 476
diff changeset
  2055
    template := HGCommand hgVersionIsGreaterOrEqualThan_2_4
594a42a4d8fc Oops, fixed bug introduced in 9f97cda: care for version < 2.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 476
diff changeset
  2056
                    ifTrue:[ HGCommandParser templateLog ]
594a42a4d8fc Oops, fixed bug introduced in 9f97cda: care for version < 2.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 476
diff changeset
  2057
                    ifFalse:[ HGCommandParser templateLogForVersionLessThan2_4 ].
594a42a4d8fc Oops, fixed bug introduced in 9f97cda: care for version < 2.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 476
diff changeset
  2058
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2059
    path isNil ifTrue:[
191
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2060
        revsets isEmptyOrNil ifTrue:[
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2061
            self error:'No revisions given'.
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2062
        ].
191
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2063
        revsets do:[:revset|
399
abafe12d47d6 Initial version of HGChangesetBrowser, a tool for browsing commit history.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 395
diff changeset
  2064
            | string |
abafe12d47d6 Initial version of HGChangesetBrowser, a tool for browsing commit history.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 395
diff changeset
  2065
abafe12d47d6 Initial version of HGChangesetBrowser, a tool for browsing commit history.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 395
diff changeset
  2066
            string := revset asString.
abafe12d47d6 Initial version of HGChangesetBrowser, a tool for browsing commit history.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 395
diff changeset
  2067
            string isEmptyOrNil ifTrue:[ string := ':' "All changes" ].
abafe12d47d6 Initial version of HGChangesetBrowser, a tool for browsing commit history.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 395
diff changeset
  2068
191
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  2069
            stream nextPut:'--rev'.
399
abafe12d47d6 Initial version of HGChangesetBrowser, a tool for browsing commit history.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 395
diff changeset
  2070
            stream nextPut:string
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2071
        ].
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  2072
    ] ifFalse:[
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2073
        stream nextPut: '--follow'.
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2074
    ].
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  2075
    idsOnly == true ifTrue:[
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  2076
        template := HGCommandParser templateLogIdsOnly.
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  2077
    ].
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  2078
137
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  2079
    childrenOnly == true ifTrue:[
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  2080
        template := HGCommandParser templateLogChildren.
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  2081
    ].
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  2082
477
594a42a4d8fc Oops, fixed bug introduced in 9f97cda: care for version < 2.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 476
diff changeset
  2083
    HGCommand hgVersionIsGreaterOrEqualThan_2_4 ifFalse:[ 
594a42a4d8fc Oops, fixed bug introduced in 9f97cda: care for version < 2.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 476
diff changeset
  2084
        stream nextPut:'--debug'.
594a42a4d8fc Oops, fixed bug introduced in 9f97cda: care for version < 2.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 476
diff changeset
  2085
    ].
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2086
    stream
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  2087
        nextPut:'--template';
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2088
        nextPut:template.
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  2089
    limit notNil ifTrue:[
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  2090
        stream
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2091
            nextPut: '-l';
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2092
            nextPut: limit printString
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2093
    ].
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2094
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2095
    path notNil ifTrue:[
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2096
        stream nextPut: path.
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  2097
    ].
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  2098
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  2099
    "Created: / 13-11-2012 / 09:05:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
477
594a42a4d8fc Oops, fixed bug introduced in 9f97cda: care for version < 2.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 476
diff changeset
  2100
    "Modified: / 27-11-2014 / 23:24:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2101
!
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2102
719
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  2103
argumentsGlobalOn:stream
655
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2104
    "Called to get global options"
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2105
719
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  2106
    super argumentsGlobalOn:stream.
655
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2107
    hidden == true ifTrue:[
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2108
        "/ --hidden is supported since 2.5
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2109
        HGCommand hgVersionIsGreaterOrEqualThan_2_5 ifTrue:[
719
6c05b8adbcb3 Fixed bookmark handling when using shared repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 717
diff changeset
  2110
            stream nextPut: '--hidden'
655
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2111
        ].
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2112
    ].
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2113
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2114
    "Created: / 22-03-2016 / 20:02:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2115
    "Modified: / 25-03-2016 / 17:25:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2116
!
d16442a5751c Evolve: Added support for loading hidden changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 577
diff changeset
  2117
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2118
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2119
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  2120
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2121
137
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  2122
    childrenOnly == true ifTrue:[
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2123
        ^ (self parserOn:stream) parseCommandLogChildren.
137
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  2124
    ].
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2125
    ^ idsOnly ~~ true
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2126
        ifTrue:[ (self parserOn:stream) parseCommandLog ]
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2127
        ifFalse:[ (self parserOn:stream) parseCommandLogIdsOnly ]
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  2128
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  2129
    "Created: / 13-11-2012 / 09:05:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  2130
    "Modified: / 08-02-2014 / 22:12:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2131
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2132
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2133
!HGCommand::log methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2134
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2135
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2136
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2137
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2138
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2139
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2140
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2141
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2142
    "Modified: / 11-10-2015 / 07:30:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2143
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2144
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2145
!HGCommand::merge methodsFor:'accessing'!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2146
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2147
revision
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2148
    ^ revision
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2149
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2150
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2151
revision:something
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2152
    revision := something.
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2153
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2154
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2155
tool
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2156
    ^ tool
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2157
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2158
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2159
tool:aString
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2160
    tool := aString.
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2161
! !
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2162
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2163
!HGCommand::merge methodsFor:'private'!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2164
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2165
argumentsCommandOn:stream
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2166
    "Called to get command specific options"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2167
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2168
    revision notNil ifTrue:[
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2169
        stream nextPut:'--rev'; nextPut: revision asString.
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2170
    ].
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2171
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2172
    revision notNil ifTrue:[
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2173
        stream nextPut:'--tool'; nextPut: tool asString.
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2174
    ].
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2175
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2176
    "Modified: / 14-01-2013 / 15:40:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2177
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2178
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2179
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2180
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2181
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2182
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2183
    ^ (self parserOn:stream) parseCommandMerge
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2184
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2185
    "Modified: / 14-01-2013 / 16:00:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2186
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2187
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2188
status: status result: result
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2189
    "Called when hg command finishes, passing it's status and result from parser"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2190
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2191
    (status code ~~ 0 and:[status code ~~ 1]) ifTrue:[
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2192
        HGCommandError raiseErrorString: ('hg command failed (status %1)' expandMacrosWith: status code) .
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2193
    ].
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2194
    ^result
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2195
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2196
    "Created: / 14-01-2013 / 16:05:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2197
! !
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2198
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2199
!HGCommand::merge methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2200
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2201
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2202
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2203
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2204
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2205
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2206
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2207
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2208
    "Modified: / 11-10-2015 / 07:30:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2209
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2210
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2211
!HGCommand::mv methodsFor:'accessing'!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2212
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2213
destination
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2214
    ^ destination
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2215
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2216
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2217
destination:something
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2218
    destination := something.
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2219
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2220
865
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
  2221
force
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
  2222
    ^ force
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
  2223
!
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
  2224
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
  2225
force:aBoolean
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
  2226
    force := aBoolean.
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
  2227
!
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
  2228
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2229
source
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2230
    ^ source
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2231
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2232
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2233
source:something
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2234
    source := something.
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2235
! !
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2236
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2237
!HGCommand::mv methodsFor:'private'!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2238
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2239
argumentsCommandOn:stream
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2240
    "Called to get command specific options"
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2241
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2242
    source isNil ifTrue:[
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2243
        self error:'No source'
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2244
    ].
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2245
    source asFilename exists ifFalse:[
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2246
        self error:('(Source does not exist (%1)' bindWith: source)
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2247
    ].
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2248
    destination isNil ifTrue:[
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2249
        self error:'No destination'
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2250
    ].
865
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
  2251
    force == true ifTrue:[
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
  2252
        stream nextPut: '-f'      
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
  2253
    ].
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2254
    stream nextPut: source asString; nextPut: destination.
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2255
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2256
    "Created: / 15-11-2012 / 00:21:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
865
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 816
diff changeset
  2257
    "Modified: / 10-01-2019 / 15:36:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2258
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2259
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2260
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2261
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2262
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2263
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2264
    ^ nil
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2265
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2266
    "Modified: / 15-11-2012 / 00:38:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2267
! !
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2268
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2269
!HGCommand::mv methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2270
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2271
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2272
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2273
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2274
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2275
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2276
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2277
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2278
    "Modified: / 11-10-2015 / 07:30:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2279
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2280
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  2281
!HGCommand::pull methodsFor:'accessing'!
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  2282
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  2283
url
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  2284
    ^ url
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  2285
!
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  2286
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  2287
url:aString
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  2288
    url := aString.
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  2289
! !
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  2290
57
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  2291
!HGCommand::pull methodsFor:'private'!
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  2292
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  2293
argumentsCommandOn:stream
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  2294
    "Called to get command specific options"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2295
57
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  2296
    url notNil ifTrue:[
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  2297
        stream nextPut: url.
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  2298
    ].
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  2299
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  2300
    "Created: / 30-09-2012 / 23:44:01 / 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
  2301
    "Modified: / 15-11-2012 / 09:56:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2302
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2303
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2304
parseOutput:stream
63
77b0d42eebd0 Removed last bits of Git, hopefully
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 61
diff changeset
  2305
    "superclass HGCommand says that I am responsible to implement this method"
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2306
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  2307
    ^ (self parserOn:stream) parseCommandPull
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2308
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  2309
    "Modified: / 04-02-2013 / 15:35:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
453
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2310
!
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2311
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2312
status: status result: res
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2313
    "Called when hg command finishes, passing it's status and result from parser"
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2314
475
f94b58d96d03 Fix for Mercurial 2.1: properly handle `hg pull` exit status.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 474
diff changeset
  2315
    (status code == 1) ifTrue:[
f94b58d96d03 Fix for Mercurial 2.1: properly handle `hg pull` exit status.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 474
diff changeset
  2316
        "/ For whatever reason, Mercurial 2.1 returns exit statis
f94b58d96d03 Fix for Mercurial 2.1: properly handle `hg pull` exit status.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 474
diff changeset
  2317
        "/ of 1 if no changes has been found. No other release does it.
f94b58d96d03 Fix for Mercurial 2.1: properly handle `hg pull` exit status.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 474
diff changeset
  2318
        HGCommand hgVersion = #(2 1 nil) ifTrue:[ ^ res ].
f94b58d96d03 Fix for Mercurial 2.1: properly handle `hg pull` exit status.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 474
diff changeset
  2319
    ].
453
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2320
    (status code ~~ 0) ifTrue:[
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2321
        HGCommandError raiseErrorString: ('hg command failed (status %1)' expandMacrosWith: status code) .
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2322
    ].
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2323
    res isNil ifTrue:[
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2324
        HGCommandError raiseErrorString: ('hg command failed (no output)' expandMacrosWith: status code) .
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2325
    ].
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2326
    ^ res
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2327
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2328
    "Created: / 15-11-2012 / 17:06:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2329
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2330
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2331
!HGCommand::pull methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2332
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2333
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2334
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2335
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2336
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2337
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2338
    ^ true
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2339
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2340
    "Modified: / 11-10-2015 / 07:30:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2341
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2342
107
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2343
!HGCommand::push methodsFor:'accessing'!
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2344
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2345
force
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2346
    ^ force
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2347
!
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2348
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2349
force:something
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2350
    force := something.
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2351
!
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2352
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2353
url
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2354
    ^ url
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2355
!
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2356
206
7985d1be806a Improvement HGRepository>>push:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
  2357
url:remote
7985d1be806a Improvement HGRepository>>push:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
  2358
    url := remote.
107
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2359
! !
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2360
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2361
!HGCommand::push methodsFor:'private'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2362
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2363
argumentsCommandOn:stream
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2364
    "Called to get command specific options"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2365
206
7985d1be806a Improvement HGRepository>>push:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
  2366
7985d1be806a Improvement HGRepository>>push:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
  2367
    stream nextPut: (url ? 'default').
7985d1be806a Improvement HGRepository>>push:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
  2368
107
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2369
    force == true ifTrue:[
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2370
        stream nextPut:'--force'
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  2371
    ]
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2372
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2373
    "Created: / 30-09-2012 / 23:44:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
206
7985d1be806a Improvement HGRepository>>push:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
  2374
    "Modified: / 29-01-2013 / 15:42:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2375
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2376
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2377
parseError:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2378
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2379
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2380
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2381
    ^ (self parserOn: stream) parseErrorPush.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2382
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2383
    "Created: / 04-02-2013 / 12:53:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2384
!
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2385
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2386
parseOutput:stream
63
77b0d42eebd0 Removed last bits of Git, hopefully
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 61
diff changeset
  2387
    "superclass HGCommand says that I am responsible to implement this method"
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2388
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2389
    ^ (self parserOn:stream) parseCommandPush
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2390
151
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
  2391
    "Modified: / 10-12-2012 / 02:15:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  2392
!
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  2393
453
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2394
status: status result: res
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  2395
    "Called when hg command finishes, passing it's status and result from parser"
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  2396
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  2397
    (status code ~~ 0 and:[status code ~~ 1]) ifTrue:[
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  2398
        HGCommandError raiseErrorString: ('hg command failed (status %1)' expandMacrosWith: status code) .
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  2399
    ].
453
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2400
    res isNil ifTrue:[
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2401
        HGCommandError raiseErrorString: ('hg command failed (no output)' expandMacrosWith: status code) .
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2402
    ].
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  2403
    ^ result
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  2404
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  2405
    "Created: / 15-11-2012 / 17:06:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2406
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2407
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2408
!HGCommand::push methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2409
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2410
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2411
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2412
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2413
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2414
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2415
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2416
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2417
    "Modified: / 11-10-2015 / 07:30:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2418
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2419
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2420
!HGCommand::remove methodsFor:'accessing'!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2421
357
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2422
force
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2423
    ^ force
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2424
!
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2425
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2426
force:something
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2427
    force := something.
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2428
!
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2429
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2430
paths
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2431
    ^ paths
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2432
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2433
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2434
paths:something
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2435
    paths := something.
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2436
! !
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2437
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2438
!HGCommand::remove methodsFor:'private'!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2439
357
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2440
argumentsCommandOn:stream
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2441
    "Called to get command specific options"
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2442
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2443
    force == true ifTrue:[
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2444
        stream nextPut: '-f'.
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2445
    ].
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2446
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2447
    paths isEmptyOrNil ifTrue:[
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2448
        self error: 'No paths given'
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2449
    ].
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2450
    stream nextPutAll: paths
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2451
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2452
    "Created: / 15-11-2012 / 00:05:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2453
    "Modified: / 11-10-2013 / 18:27:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2454
!
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  2455
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2456
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2457
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2458
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2459
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2460
    ^ nil
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2461
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2462
    "Modified: / 15-11-2012 / 00:38:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2463
! !
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2464
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2465
!HGCommand::remove methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2466
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2467
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2468
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2469
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2470
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2471
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2472
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2473
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2474
    "Modified: / 11-10-2015 / 07:30:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2475
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2476
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2477
!HGCommand::resolve class methodsFor:'initialization'!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2478
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2479
initialize
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2480
    "Invoked at system start or when the class is dynamically loaded."
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2481
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2482
    "/ please change as required (and remove this comment)
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2483
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2484
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2485
! !
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2486
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2487
!HGCommand::resolve methodsFor:'accessing'!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2488
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2489
files
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2490
    ^ files
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2491
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2492
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2493
files:something
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2494
    files := something.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2495
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2496
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2497
mark
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2498
    ^ mark
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2499
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2500
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2501
mark:something
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2502
    mark := something.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2503
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2504
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2505
tool
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2506
    ^ tool
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2507
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2508
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2509
tool:something
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2510
    tool := something.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2511
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2512
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2513
unmark
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2514
    ^ unmark
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2515
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2516
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2517
unmark:something
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2518
    unmark := something.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2519
! !
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2520
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2521
!HGCommand::resolve methodsFor:'private'!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2522
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2523
argumentsCommandOn:stream
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2524
    "Called to get command specific options"
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2525
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2526
    tool notNil ifTrue:[
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2527
        stream nextPut:'--tool'; nextPut: tool
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2528
    ].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2529
300
724f9902f606 Bugfix in HGCommand::resolve.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 260
diff changeset
  2530
    mark == true ifTrue:[
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2531
        self assert: (unmark isNil or:[unmark not]).
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2532
        stream nextPut: '--mark'.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2533
    ].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2534
300
724f9902f606 Bugfix in HGCommand::resolve.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 260
diff changeset
  2535
    unmark == true ifTrue:[
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2536
        self assert: (mark isNil or:[mark not]).
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2537
        stream nextPut: '--unmark'.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2538
    ].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2539
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2540
    files do:[:f|stream nextPut: f].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2541
300
724f9902f606 Bugfix in HGCommand::resolve.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 260
diff changeset
  2542
    "Modified: / 26-06-2013 / 07:45:22 / 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
  2543
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2544
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2545
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2546
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2547
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2548
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2549
    ^ nil
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2550
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2551
    "Modified: / 14-01-2013 / 19:27:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2552
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2553
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2554
status: status result: result
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2555
    "Called when hg command finishes, passing it's status and result from parser"
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2556
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2557
    status code == 0 ifTrue:[ ^ true ].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2558
    status code == 1 ifTrue:[ ^ false].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2559
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2560
    HGCommandError raiseErrorString: ('hg command failed (status %1)' expandMacrosWith: status code).
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2561
    ^false
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2562
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2563
    "Created: / 14-01-2013 / 19:27:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2564
! !
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2565
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2566
!HGCommand::resolve methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2567
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2568
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2569
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2570
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2571
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2572
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2573
    ^false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2574
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2575
    "Modified: / 11-10-2015 / 07:30:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2576
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2577
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2578
!HGCommand::resolve__list methodsFor:'private'!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2579
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2580
argumentsCommandOn:stream
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2581
    "Called to get command specific options"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2582
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2583
    stream nextPut: '--list'
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2584
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2585
    "Modified: / 14-01-2013 / 16:43:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2586
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2587
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2588
command
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2589
    ^'resolve'
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2590
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2591
    "Created: / 14-01-2013 / 16:50:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2592
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2593
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2594
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2595
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2596
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2597
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2598
    ^ (self parserOn:stream) parseCommandResolveList
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2599
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2600
    "Modified: / 14-01-2013 / 16:43:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2601
! !
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2602
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2603
!HGCommand::resolve__list methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2604
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2605
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2606
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2607
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2608
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2609
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2610
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2611
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2612
    "Modified: / 11-10-2015 / 07:30:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2613
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2614
562
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2615
!HGCommand::share methodsFor:'accessing'!
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2616
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2617
destination
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2618
    ^ destination
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2619
!
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2620
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2621
destination:aString
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2622
    destination := aString.
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2623
!
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2624
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2625
source
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2626
    ^ source
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2627
!
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2628
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2629
source:aString
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2630
    source := aString.
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2631
!
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2632
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2633
update
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2634
    ^ update
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2635
!
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2636
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2637
update:aBoolean
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2638
    update := aBoolean.
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2639
! !
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2640
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2641
!HGCommand::share methodsFor:'private'!
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2642
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2643
argumentsCommandOn:stream
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2644
    "Called to get command specific options"
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2645
    update == false ifTrue:[
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2646
        stream nextPut:'--noupdate'.
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2647
    ].
576
e1e0ef5ceb6f Fixed repository sharing for Mercurial < 3.3
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
  2648
    self class hgVersionIsGreaterOrEqualThan_3_3 ifTrue:[ 
e1e0ef5ceb6f Fixed repository sharing for Mercurial < 3.3
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
  2649
        stream nextPut: '--bookmarks'.
e1e0ef5ceb6f Fixed repository sharing for Mercurial < 3.3
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
  2650
    ].
562
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2651
    stream nextPut: source; nextPut: destination.
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2652
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2653
    "Created: / 01-10-2012 / 00:04:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576
e1e0ef5ceb6f Fixed repository sharing for Mercurial < 3.3
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 563
diff changeset
  2654
    "Modified: / 14-09-2015 / 05:43:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
562
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2655
!
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2656
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2657
parseOutput:stream
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2658
    "superclass Command says that I am responsible to implement this method"
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2659
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2660
    ^ nil
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2661
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2662
    "Modified: / 14-11-2012 / 22:42:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2663
! !
e694ffae649b Added support to user shared repositories instead to temporary clones when commiting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
  2664
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2665
!HGCommand::share methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2666
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2667
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2668
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2669
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2670
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2671
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2672
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2673
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2674
    "Modified: / 11-10-2015 / 07:30:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2675
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2676
142
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
  2677
!HGCommand::showconfig methodsFor:'accessing'!
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
  2678
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
  2679
argumentsCommandOn:stream
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
  2680
    "Called to get command specific options"
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
  2681
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
  2682
    key notNil ifTrue:[
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
  2683
        stream nextPut: key
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
  2684
    ].
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
  2685
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
  2686
    "Created: / 06-12-2012 / 15:53:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
  2687
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
  2688
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2689
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2690
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
  2691
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2692
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2693
    ^ (self parserOn:stream) parseCommandShowConfig
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
  2694
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
  2695
    "Created: / 06-12-2012 / 21:45:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
142
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
  2696
! !
67e8c5ab8db2 Initial support for config parsing (not yet integrated). UI improvements in commit dialog (comparing).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 141
diff changeset
  2697
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2698
!HGCommand::showconfig methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2699
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2700
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2701
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2702
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2703
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2704
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2705
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2706
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2707
    "Modified: / 11-10-2015 / 07:31:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2708
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2709
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2710
!HGCommand::status methodsFor:'accessing'!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2711
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: 719
diff changeset
  2712
paths
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: 719
diff changeset
  2713
    ^ paths
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: 719
diff changeset
  2714
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: 719
diff changeset
  2715
    "Created: / 23-02-2017 / 14:18:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2716
!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2717
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: 719
diff changeset
  2718
paths:aCollection
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: 719
diff changeset
  2719
    paths := aCollection.
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: 719
diff changeset
  2720
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: 719
diff changeset
  2721
    "Created: / 23-02-2017 / 14:18:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2722
! !
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2723
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2724
!HGCommand::status methodsFor:'private'!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2725
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2726
argumentsCommandOn:stream
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2727
    "Called to get command specific options"
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2728
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2729
    stream nextPut:'-A'.
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: 719
diff changeset
  2730
    paths notNil ifTrue:[stream nextPutAll: paths]
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2731
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2732
    "Created: / 23-10-2012 / 11:09:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
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: 719
diff changeset
  2733
    "Modified: / 23-02-2017 / 14:18:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2734
!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2735
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2736
parseOutput:stream
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2737
    ^ (self parserOn:stream) parseCommandStatus
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2738
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2739
    "Modified: / 23-10-2012 / 11:07:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2740
! !
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2741
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2742
!HGCommand::status methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2743
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2744
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2745
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2746
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2747
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2748
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2749
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2750
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2751
    "Modified: / 11-10-2015 / 07:31:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2752
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2753
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2754
!HGCommand::update methodsFor:'accessing'!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2755
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2756
revision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2757
    ^ revision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2758
!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2759
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2760
revision:something
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2761
    revision := something.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2762
! !
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2763
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2764
!HGCommand::update methodsFor:'private'!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2765
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2766
argumentsCommandOn:stream
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2767
    "Called to get command specific options"
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2768
102
16bc16d9e6d5 Update logical revision on commit,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 95
diff changeset
  2769
    revision notNil ifTrue:[
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2770
        stream nextPut:'--rev'; nextPut: revision asString.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2771
    ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2772
102
16bc16d9e6d5 Update logical revision on commit,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 95
diff changeset
  2773
    "Modified: / 23-11-2012 / 23:08:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2774
!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2775
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2776
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2777
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2778
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2779
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2780
    ^ (self parserOn:stream) parseCommandUpdate
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2781
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2782
    "Modified: / 14-01-2013 / 16:00:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2783
! !
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2784
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2785
!HGCommand::update methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2786
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2787
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2788
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2789
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2790
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2791
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2792
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2793
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2794
    "Modified: / 11-10-2015 / 07:31:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2795
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2796
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2797
!HGCommand::version methodsFor:'accessing'!
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2798
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
  2799
arguments:something
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
  2800
    arguments := something.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
  2801
!
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
  2802
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2803
executable
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2804
    ^ executable notNil
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2805
        ifTrue:[executable]
451
396c55ca19d6 Fix in HGCommand::version: use default executable and/or arguments of none is specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 450
diff changeset
  2806
        ifFalse:[self class hgExecutable]
396c55ca19d6 Fix in HGCommand::version: use default executable and/or arguments of none is specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 450
diff changeset
  2807
396c55ca19d6 Fix in HGCommand::version: use default executable and/or arguments of none is specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 450
diff changeset
  2808
    "Modified: / 18-07-2014 / 11:12:35 / jv"
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2809
!
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2810
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2811
executable:aString
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2812
    executable := aString.
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2813
! !
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2814
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2815
!HGCommand::version methodsFor:'private'!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2816
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2817
arguments
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2818
451
396c55ca19d6 Fix in HGCommand::version: use default executable and/or arguments of none is specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 450
diff changeset
  2819
    ^ (Array with: self executable)
396c55ca19d6 Fix in HGCommand::version: use default executable and/or arguments of none is specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 450
diff changeset
  2820
      , (arguments notNil ifTrue: [ arguments ] ifFalse: [ HGCommand hgExecutableArguments ])
396c55ca19d6 Fix in HGCommand::version: use default executable and/or arguments of none is specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 450
diff changeset
  2821
      , #('--version')
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2822
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2823
    "Created: / 19-11-2012 / 20:01:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
444
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
  2824
    "Modified: / 17-07-2014 / 15:11:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
451
396c55ca19d6 Fix in HGCommand::version: use default executable and/or arguments of none is specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 450
diff changeset
  2825
    "Modified: / 18-07-2014 / 11:18:36 / jv"
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2826
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2827
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2828
argumentsCommandOn:stream
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2829
    "Called to get command specific options"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2830
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2831
    ^ self shouldNotImplement
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2832
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2833
    "Modified: / 11-10-2015 / 07:31:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2834
!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2835
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2836
parseOutput:stream
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2837
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2838
     etc."
227
3df8f12dcece Bugfix: HGCommand - args is string on Windows, so do not make one when tracing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 216
diff changeset
  2839
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2840
    ^ (self parserOn:stream) parseCommandVersion
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2841
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2842
    "Created: / 19-11-2012 / 20:02:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2843
! !
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2844
577
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2845
!HGCommand::version methodsFor:'queries'!
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2846
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2847
modifiesRepository
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2848
    "Return true if this command may modify the repository,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2849
     such as by adding/removing changesets, changing bookmarks,
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2850
     heads and so on, False otherwise."
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2851
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2852
    ^ false
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2853
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2854
    "Modified: / 11-10-2015 / 07:31:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2855
! !
cd420edfbd1d Oops, fixed performance problem caused by excessive cache flushing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 576
diff changeset
  2856
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2857
!HGCommand class methodsFor:'documentation'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2858
496
0f39ccf22d5a class: HGCommand
Claus Gittinger <cg@exept.de>
parents: 494
diff changeset
  2859
version
418
91d981298a96 avoid another error when notification is raised
Claus Gittinger
parents: 417
diff changeset
  2860
    ^ '$Header: /cvs/stx/stx/libscm/mercurial/HGCommand.st,v 1.4 2014/04/13 15:02:07 cg Exp $'
496
0f39ccf22d5a class: HGCommand
Claus Gittinger <cg@exept.de>
parents: 494
diff changeset
  2861
!
0f39ccf22d5a class: HGCommand
Claus Gittinger <cg@exept.de>
parents: 494
diff changeset
  2862
0f39ccf22d5a class: HGCommand
Claus Gittinger <cg@exept.de>
parents: 494
diff changeset
  2863
version_CVS
418
91d981298a96 avoid another error when notification is raised
Claus Gittinger
parents: 417
diff changeset
  2864
    ^ '$Header: /cvs/stx/stx/libscm/mercurial/HGCommand.st,v 1.4 2014/04/13 15:02:07 cg Exp $'
496
0f39ccf22d5a class: HGCommand
Claus Gittinger <cg@exept.de>
parents: 494
diff changeset
  2865
!
0f39ccf22d5a class: HGCommand
Claus Gittinger <cg@exept.de>
parents: 494
diff changeset
  2866
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2867
version_HG
115
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 109
diff changeset
  2868
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 109
diff changeset
  2869
    ^ '$Changeset: <not expanded> $'
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2870
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2871
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2872
version_SVN
418
91d981298a96 avoid another error when notification is raised
Claus Gittinger
parents: 417
diff changeset
  2873
    ^ '$Id: HGCommand.st,v 1.4 2014/04/13 15:02:07 cg Exp $'
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2874
! !
38
c3d02ed6a645 - HGWorkingCopyFile
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 37
diff changeset
  2875
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2876
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2877
HGCommand::resolve initialize!