mercurial/HGCommand.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 30 Jul 2014 16:10:36 +0000
changeset 453 09a9ccac8aba
parent 452 f696a8ea9521
child 459 f46adbbf4138
permissions -rw-r--r--
Fixed timing issues for push/pull commands. When push or pull command fails (such as when pulling from nonexistent repo), nothing is printed to stdout. In previous implementation the command parser raised an error (expecting Pulling...). Due to timing, it may happen that this error has been propagated to the caller before command ececution finished, and therefore client got wrong error (HGParseError insted of HGCommandError). This commit allows for an empty output and checks whether it was or was not empty once command finished. This should fix test HGTests>>test_pull_01a which used to fail on Windows.
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
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
     3
Copyright (C) 2012-2013 Jan Vrany
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
     4
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
     5
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
     6
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
     7
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
     8
version 2.1 of the License.
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 208
diff changeset
     9
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
    10
This library is distributed in the hope that it will be useful,
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
    11
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
    12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
    13
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
    14
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
    15
You should have received a copy of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
    16
License along with this library; if not, write to the Free Software
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
    17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 208
diff changeset
    18
"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    19
"{ Package: 'stx:libscm/mercurial' }"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    20
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    21
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
    22
	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
    23
		outputReader'
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
    24
	classVariableNames:'HGCommandString HGExecutable HGExecutableArguments HGVersion'
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
    25
	poolDictionaries:'HGDebugFlags'
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    26
	category:'SCM-Mercurial-Internal'
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    27
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    28
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
    29
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
    30
	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
    31
	classVariableNames:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
    32
	poolDictionaries:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
    33
	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
    34
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
    35
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    36
HGCommand subclass:#bookmark
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    37
	instanceVariableNames:'revision name'
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    38
	classVariableNames:''
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    39
	poolDictionaries:''
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    40
	privateIn:HGCommand
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    41
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    42
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    43
HGCommand subclass:#bookmark_delete
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    44
	instanceVariableNames:'revision name'
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    45
	classVariableNames:''
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    46
	poolDictionaries:''
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    47
	privateIn:HGCommand
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    48
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    49
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
    50
HGCommand subclass:#branches
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    51
	instanceVariableNames:'active closed'
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    52
	classVariableNames:''
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    53
	poolDictionaries:''
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    54
	privateIn:HGCommand
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    55
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
    56
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
    57
HGCommand subclass:#cat
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
    58
	instanceVariableNames:'path revision destination'
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    59
	classVariableNames:''
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    60
	poolDictionaries:''
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    61
	privateIn:HGCommand
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    62
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    63
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
    64
HGCommand subclass:#clone
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
    65
	instanceVariableNames:'url path update'
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    66
	classVariableNames:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    67
	poolDictionaries:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    68
	privateIn:HGCommand
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    69
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    70
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
    71
HGCommand subclass:#commit
213
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    72
	instanceVariableNames:'message files author date'
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    73
	classVariableNames:''
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    74
	poolDictionaries:''
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    75
	privateIn:HGCommand
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    76
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    77
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
    78
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
    79
	instanceVariableNames:''
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    80
	classVariableNames:''
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    81
	poolDictionaries:''
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    82
	privateIn:HGCommand
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    83
!
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    84
366
9da938d1e76a Added support for `hg help` command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    85
HGCommand subclass:#help
9da938d1e76a Added support for `hg help` command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    86
	instanceVariableNames:'topic'
9da938d1e76a Added support for `hg help` command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    87
	classVariableNames:''
9da938d1e76a Added support for `hg help` command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    88
	poolDictionaries:''
9da938d1e76a Added support for `hg help` command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    89
	privateIn:HGCommand
9da938d1e76a Added support for `hg help` command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    90
!
9da938d1e76a Added support for `hg help` command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 357
diff changeset
    91
371
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
    92
HGCommand subclass:#init
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
    93
	instanceVariableNames:'path'
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
    94
	classVariableNames:''
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
    95
	poolDictionaries:''
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
    96
	privateIn:HGCommand
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
    97
!
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
    98
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
    99
HGCommand subclass:#locate
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   100
	instanceVariableNames:'revision'
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   101
	classVariableNames:''
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   102
	poolDictionaries:''
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   103
	privateIn:HGCommand
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   104
!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   105
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   106
HGCommand subclass:#log
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   107
	instanceVariableNames:'start stop path childrenOnly idsOnly revsets limit'
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   108
	classVariableNames:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   109
	poolDictionaries:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   110
	privateIn:HGCommand
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   111
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   112
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   113
HGCommand subclass:#merge
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   114
	instanceVariableNames:'revision tool'
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   115
	classVariableNames:''
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   116
	poolDictionaries:''
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   117
	privateIn:HGCommand
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   118
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   119
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   120
HGCommand subclass:#mv
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   121
	instanceVariableNames:'source destination'
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   122
	classVariableNames:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   123
	poolDictionaries:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   124
	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
   125
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   126
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   127
HGCommand subclass:#pull
57
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   128
	instanceVariableNames:'url'
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   129
	classVariableNames:''
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   130
	poolDictionaries:''
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   131
	privateIn:HGCommand
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   132
!
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   133
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   134
HGCommand subclass:#push
107
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   135
	instanceVariableNames:'url force'
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   136
	classVariableNames:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   137
	poolDictionaries:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   138
	privateIn:HGCommand
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   139
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   140
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   141
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
   142
	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
   143
	classVariableNames:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   144
	poolDictionaries:''
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   145
	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
   146
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   147
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   148
HGCommand subclass:#resolve
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   149
	instanceVariableNames:'tool mark unmark files'
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   150
	classVariableNames:''
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   151
	poolDictionaries:''
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   152
	privateIn:HGCommand
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   153
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   154
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   155
HGCommand subclass:#resolve__list
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   156
	instanceVariableNames:''
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   157
	classVariableNames:''
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   158
	poolDictionaries:''
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   159
	privateIn:HGCommand
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   160
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   161
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   162
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
   163
	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
   164
	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
   165
	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
   166
	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
   167
!
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
   168
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   169
HGCommand subclass:#status
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   170
	instanceVariableNames:'path'
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   171
	classVariableNames:''
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   172
	poolDictionaries:''
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   173
	privateIn:HGCommand
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   174
!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   175
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   176
HGCommand subclass:#update
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   177
	instanceVariableNames:'revision'
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   178
	classVariableNames:''
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   179
	poolDictionaries:''
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   180
	privateIn:HGCommand
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   181
!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   182
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   183
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
   184
	instanceVariableNames:'executable arguments'
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   185
	classVariableNames:''
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   186
	poolDictionaries:''
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   187
	privateIn:HGCommand
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   188
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   189
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   190
!HGCommand class methodsFor:'documentation'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   191
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 208
diff changeset
   192
copyright
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 208
diff changeset
   193
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   194
stx:libscm - a new source code management library for Smalltalk/X
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   195
Copyright (C) 2012-2013 Jan Vrany
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   196
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   197
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
   198
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
   199
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
   200
version 2.1 of the License.
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 208
diff changeset
   201
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   202
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
   203
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
   204
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
   205
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   206
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 300
diff changeset
   207
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
   208
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
   209
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
   210
"
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 208
diff changeset
   211
!
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 208
diff changeset
   212
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   213
documentation
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   214
"
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
   215
    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
   216
    my private classes.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   217
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
   218
    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
   219
    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
   220
    SCM-Mercurial-Core instead.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   221
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   222
    [author:]
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   223
        Jan Vrany <jan.vrany@fit.cvut.cz>
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   224
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   225
    [instance variables:]
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   226
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   227
    [class variables:]
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   228
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   229
    [see also:]
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   230
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   231
"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   232
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   233
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   234
!HGCommand class methodsFor:'accessing'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   235
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   236
hgCommand
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
   237
    "Returns hg command to use"
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   238
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   239
    | 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
   240
    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
   241
        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
   242
    ] ifFalse:[
8fd38c29ee22 Oops, make sure comand in HGCommand class>>hgCommand: is a String
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 449
diff changeset
   243
        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
   244
        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
   245
            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
   246
        ]
8fd38c29ee22 Oops, make sure comand in HGCommand class>>hgCommand: is a String
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 449
diff changeset
   247
    ].
8fd38c29ee22 Oops, make sure comand in HGCommand class>>hgCommand: is a String
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 449
diff changeset
   248
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
   249
    command 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
   250
        OperatingSystem isMSWINDOWSlike 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
   251
            "/        | h |
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   252
            "/
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   253
            "/        h := Win32OperatingSystem registryEntry
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   254
            "/                key:'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\svn.exe'.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   255
            "/        h notNil ifTrue:[HGExecutable := h valueNamed:''].
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   256
            "/        HGExecutable notEmptyOrNil ifTrue:[^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
   257
            command := OperatingSystem pathOfCommand:'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
   258
        ] 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
   259
            OperatingSystem isUNIXlike 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
   260
                command := OperatingSystem pathOfCommand:'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
   261
            ]
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   262
        ].
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   263
    ].
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
   264
    ^ command
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   265
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   266
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   267
     HGExecutable := nil.
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   268
     self basicNew executable
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   269
    "
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   270
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   271
    "Created: / 19-11-2012 / 21:48:29 / 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
   272
    "Modified: / 17-07-2014 / 11:21:28 / 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
   273
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   274
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   275
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
   276
    HGCommandString := command notNil ifTrue:[ command asString ] ifFalse:[ nil ].
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
   277
    HGExecutable := HGExecutableArguments := nil.
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   278
231
eb0f01855893 Initial version of HGCommandServer
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 228
diff changeset
   279
    "
eb0f01855893 Initial version of HGCommandServer
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 228
diff changeset
   280
    HGCommand hgCommand: '/usr/src/mercurial-2.4/hg'
eb0f01855893 Initial version of HGCommandServer
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 228
diff changeset
   281
    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
   282
    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
   283
    HGCommand hgCommand: nil
231
eb0f01855893 Initial version of HGCommandServer
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 228
diff changeset
   284
    "
eb0f01855893 Initial version of HGCommandServer
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 228
diff changeset
   285
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   286
    "Created: / 19-11-2012 / 21:49:02 / 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
   287
    "Modified: / 17-07-2014 / 11:18:43 / 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
   288
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   289
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
   290
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
   291
    "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
   292
     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
   293
     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
   294
     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
   295
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   296
    | 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
   297
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
   298
    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
   299
        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
   300
        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
   301
    ] 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
   302
        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
   303
        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
   304
        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
   305
    ].
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
   306
    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
   307
    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
   308
        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
   309
        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
   310
            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
   311
        ] ifFalse:[
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   312
            "/ 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
   313
            "/ 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
   314
            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
   315
            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
   316
                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
   317
                ^ 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
   318
            ] 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
   319
                executableAsFilename := executable asFilename.
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   320
            ].
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
   321
        ]
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   322
    ].
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
   323
    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
   324
        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
   325
        ^ nil
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   326
    ].
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
   327
    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
   328
        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
   329
        ^ nil
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   330
    ].
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
   331
    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
   332
        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
   333
        ^ nil
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   334
    ].
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   335
    [
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
   336
        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
   337
    ] on: Error do:[:ex |
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   338
        HGInvalidExecutableError newException
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   339
            parameter: ex;
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   340
            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
   341
            raise.
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   342
        ^ nil
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   343
    ].
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   344
    (self hgVersionIsSupported: version) ifFalse:[
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   345
        HGInvalidVersionError newException
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   346
            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
   347
            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
   348
            raise.
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   349
        ^ nil
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   350
    ].
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
   351
    ^ { executable . arguments }
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   352
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   353
    "Created: / 21-02-2014 / 08:50:27 / 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
   354
    "Modified: / 17-07-2014 / 15:10:09 / 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
   355
    "Modified: / 17-07-2014 / 20:00:56 / jv"
378
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   356
!
5c36325d6f60 Better `hg` command configuration handling and validation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 371
diff changeset
   357
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   358
hgVersion
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   359
    "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
   360
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   361
    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
   362
        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
   363
    ].
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   364
    ^ HGVersion
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   365
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   366
    "
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   367
     HGCommand hgVersion
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   368
    "
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   369
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   370
    "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
   371
    "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
   372
    "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
   373
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   374
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   375
hgVersionIsSupported
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   376
    ^ self hgVersionIsSupported:self hgVersion
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   377
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   378
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   379
     HGCommand mercurialVersionIsSupported"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   380
    "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
   381
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   382
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
   383
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
   384
    ^ 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
   385
        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
   386
            ((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
   387
                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
   388
                    ((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
   389
                        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
   390
                ]
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   391
        ].
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
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   394
     HGCommand mercurialVersionIsSupported: #(2 3 2)
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   395
     HGCommand mercurialVersionIsSupported: #(2 0 1)
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   396
     HGCommand mercurialVersionIsSupported: #(1 9 1)
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   397
     HGCommand mercurialVersionIsSupported: #(1 0 0)
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   398
     HGCommand mercurialVersionIsSupported: #(2 4 nil)"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   399
    "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
   400
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   401
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
   402
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
   403
    "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
   404
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
   405
    ^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
   406
        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
   407
        arguments: arguments;
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   408
        execute
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   409
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   410
    "
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   411
     HGCommand hgVersion
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   412
    "
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   413
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
   414
    "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
   415
!
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
   416
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   417
hgVersionsSupported
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   418
    "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
   419
     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
   420
445
69378a5c2a0f Added Mercurial 3.x to supported versions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   421
    ^ #( 
69378a5c2a0f Added Mercurial 3.x to supported versions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   422
        (1 9 #'*')     "1.9 - will wanish"
69378a5c2a0f Added Mercurial 3.x to supported versions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   423
        (2 #'*' #'*')  "2.x"
69378a5c2a0f Added Mercurial 3.x to supported versions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   424
        (3 #'*' #'*')  "3.x"
69378a5c2a0f Added Mercurial 3.x to supported versions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   425
    )
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   426
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   427
    "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
   428
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   429
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   430
verbose
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   431
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   432
    ^ UserPreferences current hgVerbose
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   433
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   434
    "Created: / 19-03-2008 / 12:29:47 / janfrog"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   435
    "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
   436
    "Modified (format): / 27-12-2011 / 16:00:06 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   437
    "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
   438
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   439
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   440
verbose:aBoolean
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   441
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   442
    UserPreferences current hgVerbose:aBoolean
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   443
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   444
    "Created: / 19-03-2008 / 12:29:59 / janfrog"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   445
    "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
   446
    "Modified (format): / 27-12-2011 / 16:00:13 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   447
    "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
   448
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   449
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
   450
!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
   451
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   452
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
   453
    "Returns absolute path to hg executable to use"
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   454
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   455
    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
   456
        | 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
   457
        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
   458
        command 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
   459
            OperatingSystem isMSWINDOWSlike 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
   460
                "/        | h |
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   461
                "/
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   462
                "/        h := Win32OperatingSystem registryEntry
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   463
                "/                key:'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\svn.exe'.
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   464
                "/        h notNil ifTrue:[HGExecutable := h valueNamed:''].
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   465
                "/        HGExecutable notEmptyOrNil ifTrue:[^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
   466
                command := OperatingSystem pathOfCommand:'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
   467
            ] 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
   468
                OperatingSystem isUNIXlike 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
   469
                    command := OperatingSystem pathOfCommand:'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
   470
                ]
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   471
            ].
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   472
        ].
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   473
        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
   474
        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
   475
        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
   476
    ].
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   477
    ^ 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
   478
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   479
    "
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   480
     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
   481
     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
   482
    "
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   483
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   484
    "Created: / 17-07-2014 / 10:16:07 / 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
   485
    "Modified: / 17-07-2014 / 11:21:50 / 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
   486
!
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   487
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   488
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
   489
    "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
   490
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   491
    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
   492
        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
   493
        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
   494
    ].
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   495
    ^ 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
   496
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   497
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   498
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   499
    "
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   500
     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
   501
     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
   502
    "
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   503
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   504
    "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
   505
! !
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   506
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   507
!HGCommand class methodsFor:'commands'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   508
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   509
add
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   510
    ^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
   511
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   512
    "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
   513
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   514
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   515
bookmark
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   516
    "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
   517
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   518
    ^ bookmark new
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   519
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   520
    "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
   521
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   522
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   523
bookmark_delete
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   524
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   525
    ^ bookmark_delete new
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   526
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   527
    "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
   528
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   529
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   530
branches
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   531
    ^branches new
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   532
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   533
    "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
   534
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   535
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   536
cat
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   537
    ^cat new
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   538
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   539
    "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
   540
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   541
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   542
clone
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   543
    ^clone new
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   544
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   545
    "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
   546
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   547
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   548
commit
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   549
    ^commit new
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   550
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   551
    "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
   552
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   553
106
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   554
heads
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   555
    ^heads new
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   556
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   557
    "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
   558
!
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   559
371
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
   560
init
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
   561
    ^init new
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
   562
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
   563
    "Created: / 13-02-2014 / 12:37:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
   564
!
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
   565
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   566
locate
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   567
    ^locate new
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   568
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   569
    "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
   570
!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   571
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   572
log
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   573
    ^log new
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   574
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   575
    "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
   576
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   577
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   578
merge
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   579
    ^merge new
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   580
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   581
    "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
   582
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   583
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   584
mv
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   585
    ^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
   586
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   587
    "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
   588
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   589
109
08c6eca6df25 Added warning about commiting new head to HGCommitDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   590
pull
08c6eca6df25 Added warning about commiting new head to HGCommitDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   591
    ^pull new
08c6eca6df25 Added warning about commiting new head to HGCommitDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   592
08c6eca6df25 Added warning about commiting new head to HGCommitDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   593
    "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
   594
!
08c6eca6df25 Added warning about commiting new head to HGCommitDialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   595
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   596
push
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   597
    ^push new
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   598
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   599
    "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
   600
!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   601
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   602
remove
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   603
    ^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
   604
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   605
    "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
   606
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
   607
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   608
resolve
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   609
    ^resolve new
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   610
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   611
    "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
   612
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   613
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   614
resolve__list
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   615
    ^resolve__list new
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   616
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   617
    "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
   618
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
   619
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
   620
showconfig
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
   621
    ^showconfig new
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
   622
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
   623
    "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
   624
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
   625
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   626
status
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   627
    ^status new
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   628
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   629
    "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
   630
!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   631
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   632
update
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   633
    ^update new
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   634
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
   635
    "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
   636
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   637
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   638
!HGCommand class methodsFor:'commands-shortcuts'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   639
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   640
clone: url to: stringOfFilename
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   641
    self clone
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   642
        url: url;
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   643
        path: stringOfFilename asFilename asAbsoluteFilename pathName;
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   644
        execute
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   645
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   646
    "Created: / 01-10-2012 / 00:06:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
371
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
   647
!
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
   648
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
   649
init: aStringOrFilename
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
   650
    ^ self init path: aStringOrFilename; yourself
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
   651
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
   652
    "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
   653
! !
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
!HGCommand methodsFor:'accessing'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   656
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   657
result
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   658
    ^ result
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   659
!
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   660
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   661
workingDirectory
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   662
    ^workingDirectory notNil ifTrue:[
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   663
        workingDirectory
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   664
    ] ifFalse: [
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   665
        Filename currentDirectory pathName
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   666
    ]
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   667
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   668
    "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
   669
    "Modified (format): / 27-12-2011 / 15:54:08 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   670
    "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
   671
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   672
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   673
workingDirectory:aStringOrFilename
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   674
    aStringOrFilename asFilename isDirectory ifFalse:[
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   675
        self error:'Working directory does not exist'.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   676
        ^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
   677
    ].
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   678
    workingDirectory := aStringOrFilename asString.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   679
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   680
    "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
   681
!
aaf120ddecdb Remover repository instvar deom command server to allow for GC.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   682
aaf120ddecdb Remover repository instvar deom command server to allow for GC.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   683
workingDirectoryOrNil
aaf120ddecdb Remover repository instvar deom command server to allow for GC.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   684
    ^workingDirectory
aaf120ddecdb Remover repository instvar deom command server to allow for GC.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   685
aaf120ddecdb Remover repository instvar deom command server to allow for GC.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   686
    "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
   687
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   688
235
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   689
!HGCommand methodsFor:'accessing-internal'!
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   690
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   691
blocker
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   692
    ^ blocker
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   693
!
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   694
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   695
errorReader
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   696
    ^ errorReader
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   697
!
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   698
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   699
errors
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   700
    ^ errors
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   701
!
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   702
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   703
outputReader
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   704
    ^ outputReader
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   705
! !
3d8ef499d7d9 Command server is now used by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 234
diff changeset
   706
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   707
!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
   708
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   709
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
   710
    "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
   711
     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
   712
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   713
    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
   714
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
   715
    Trace ifTrue:[
240
e04b6e515237 HGCommandServer>>execute: refactored & hopefully fixed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 238
diff changeset
   716
        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
   717
    ].
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   718
    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
   719
        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
   720
            | 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
   721
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   722
            anException suspendedContext notNil ifTrue:[
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   723
                anException suspendedContext fullPrintAllOn: Transcript.
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   724
            ].
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
   725
            "/ 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
   726
            "/ 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
   727
            Debugger enter.
391
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
   728
        ].
368
00c2d0fda82b Minor improvements in debugging support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   729
    ].
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   730
    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
   731
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   732
    "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
   733
    "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
   734
    "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
   735
!
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   736
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   737
signal
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   738
    "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
   739
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   740
    | ex |
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   741
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   742
    [ (ex := errors nextOrNil) notNil ] whileTrue:[
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
   743
        Trace ifTrue:[
240
e04b6e515237 HGCommandServer>>execute: refactored & hopefully fixed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 238
diff changeset
   744
            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
   745
        ].
341
170c1aa67b03 Fixes problem with StrictRaising.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   746
        (ex isNotification or:[ex isResumable == true]) ifTrue:[
170c1aa67b03 Fixes problem with StrictRaising.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   747
            ex raiseRequest
170c1aa67b03 Fixes problem with StrictRaising.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   748
        ] ifFalse:[
170c1aa67b03 Fixes problem with StrictRaising.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   749
            ex raise
170c1aa67b03 Fixes problem with StrictRaising.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   750
        ]
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   751
    ].
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   752
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   753
    "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
   754
    "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
   755
! !
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   756
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   757
!HGCommand methodsFor:'executing'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   758
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   759
execute
437
fa687128ae25 Allow to use hg.bat as Mercurial executable on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 419
diff changeset
   760
    | stdoutPipe stdout stderrPipe stderr pid environment status exe args spin |
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   761
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   762
    self initialize.
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   763
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   764
    stdoutPipe := NonPositionableExternalStream makePipe.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   765
    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
   766
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   767
    stderrPipe := NonPositionableExternalStream makePipe.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   768
    stderr := stderrPipe first.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   769
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
   770
    environment := OperatingSystem isUNIXlike
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   771
                    ifTrue:[OperatingSystem getEnvironment copy]
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   772
                    ifFalse:[environment := Dictionary new].
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   773
    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
   774
    environment at:'LANG' put:'C'.
417
63f510479910 must also set LC_MESSAGES to 'C'
Claus Gittinger
parents: 371
diff changeset
   775
    environment at:'LC_MESSAGES' put:'C'.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   776
441
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   777
        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
   778
    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
   779
52
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   780
    OperatingSystem isMSWINDOWSlike ifTrue:[
441
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   781
            (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
   782
            | cmd |
fa687128ae25 Allow to use hg.bat as Mercurial executable on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 419
diff changeset
   783
            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
   784
            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
   785
            exe := cmd.
fa687128ae25 Allow to use hg.bat as Mercurial executable on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 419
diff changeset
   786
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
   787
        ].
52
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   788
        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
   789
            args
52
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   790
                do:[:each | s nextPut:$"; nextPutAll: each; nextPut: $"]
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   791
                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
   792
        ]
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   793
    ].
281850dff0ac HGCommand: changed: #execute: on Windows arguments must be passed as string.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   794
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   795
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   796
    Processor monitor:[
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
   797
        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
   798
            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
   799
        ].
437
fa687128ae25 Allow to use hg.bat as Mercurial executable on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 419
diff changeset
   800
        pid := OperatingSystem exec: exe withArguments:args
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   801
            environment:environment
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   802
            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
   803
            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
   804
            newPgrp:false
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   805
            inDirectory:self workingDirectory
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   806
    ] action:[:stat |
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
   807
        Trace ifTrue:[
446
35a8e7b3ad1e Print command status code when tracing command execution.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 445
diff changeset
   808
            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
   809
        ].
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   810
        status := stat.
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   811
        blocker signal.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   812
    ].
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
   813
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   814
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   815
    stdoutPipe second close.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   816
    stderrPipe second close.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   817
    pid isNil ifTrue:[
257
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   818
        stdout close.
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   819
        stderr close.
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   820
        HGCommandError raiseErrorString: 'cannot execute hg command'.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   821
        ^ self.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   822
    ].
257
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   823
    OperatingSystem isUNIXlike ifTrue:[
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   824
        "/JV: Q: Why this is necessary?
260
9740c721a8a3 Fix in HGCommand (readWait)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   825
        stdout readWaitWithTimeoutMs: 10.
9740c721a8a3 Fix in HGCommand (readWait)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   826
        stderr readWaitWithTimeoutMs: 10.
441
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   827
    ].
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   828
    Debug ifTrue:[
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   829
        OperatingSystem isUNIXlike ifTrue:[
257
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   830
            stdout := stdout contents asString readStream.
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   831
            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
   832
        ] ifFalse:[
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   833
            | buffer |
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   834
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   835
            buffer := (String new: 100) writeStream.
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   836
            [ stdout atEnd ] whileFalse:[
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   837
                buffer nextPut: stdout next.
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   838
            ].
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   839
            stdout := buffer contents readStream.
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   840
            buffer := String new writeStream.
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   841
            [ stderr atEnd ] whileFalse:[
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   842
                buffer nextPut: stderr next.
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   843
            ].
032641fb1e6d Fix for command debugging code on Windows.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 439
diff changeset
   844
            stderr := buffer contents readStream.
257
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   845
        ]
38
c3d02ed6a645 - HGWorkingCopyFile
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 37
diff changeset
   846
    ].
257
c1ab4d936e8e Fix in HGCommand>>execute:.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 256
diff changeset
   847
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   848
    self spawnErrorReaderOn: stderr.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   849
    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
   850
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   851
    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
   852
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   853
    [
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   854
        [ 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
   855
    ] ensure:[
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   856
        stderr close.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   857
        stdout close.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   858
    ].
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   859
    self signal.
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
   860
    Trace ifTrue:[
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   861
        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
   862
    ].
216
0a3821d4bdb6 Error & notification handling & propagating unified. Fixes in push/pull error handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 215
diff changeset
   863
    ^self status: status result: result
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   864
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   865
    "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
   866
    "Modified: / 17-12-2011 / 19:22:00 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   867
    "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
   868
    "Modified: / 14-11-2012 / 13:41:57 / jv"
260
9740c721a8a3 Fix in HGCommand (readWait)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 258
diff changeset
   869
    "Modified: / 13-03-2013 / 00:08:28 / 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
   870
!
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   871
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   872
executeOnRepository: anHGRepository
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   873
    workingDirectory isNil ifTrue:[
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   874
        workingDirectory := anHGRepository pathName
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   875
    ].
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   876
    ^self execute.
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   877
a9ef61b902ae Most commands are now executeb using executeInRepository:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   878
    "Created: / 03-03-2013 / 20:34:56 / 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
   879
! !
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   880
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   881
!HGCommand methodsFor:'initialization'!
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   882
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   883
initialize
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   884
    "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
   885
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   886
    "/ 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
   887
    "/ workingDirectory := nil.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   888
    "/ result := nil.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   889
    "/ error := nil.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   890
    "/ workers := nil.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   891
    "/ errors := nil.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   892
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   893
    errors := SharedQueue new.
233
d9a8bb2aaa0b Log command works using command server.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 232
diff changeset
   894
    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
   895
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   896
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   897
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   898
    "/ 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
   899
233
d9a8bb2aaa0b Log command works using command server.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 232
diff changeset
   900
    "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
   901
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   902
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   903
!HGCommand methodsFor:'private'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   904
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   905
arguments
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   906
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   907
    ^ OrderedCollection streamContents:[:s |
165
4f6432cf4240 Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   908
        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
   909
        s nextPutAll: self class hgExecutableArguments ? #().
165
4f6432cf4240 Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   910
        s nextPut: '--noninteractive'.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   911
        self argumentsGlobalOn:s.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   912
        s nextPut:self command.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   913
        self argumentsCommandOn:s.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   914
    ].
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   915
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   916
    "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
   917
    "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
   918
    "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
   919
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   920
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   921
argumentsCommandOn:stream
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   922
    "Called to get command specific options"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   923
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
   924
    self subclassResponsibility
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   925
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   926
    "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
   927
    "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
   928
    "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
   929
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   930
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   931
argumentsGlobalOn:arg
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   932
    "Called to get global options"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   933
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   934
    "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
   935
    "Modified (format): / 27-12-2011 / 15:47:10 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   936
    "Modified: / 30-09-2012 / 23:43:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   937
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   938
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   939
command
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
   940
    "Returns the hg 'command' option, i.e. commit,
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   941
     push, pull, ..."
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   942
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   943
    ^self class nameWithoutPrefix
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   944
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   945
    "
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   946
        HGCommand::push basicNew command
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   947
    "
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   948
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   949
    "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
   950
    "Modified (format): / 27-12-2011 / 15:47:17 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   951
    "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
   952
    "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
   953
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   954
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   955
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
   956
    ^ 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
   957
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
   958
    "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
   959
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   960
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
   961
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
   962
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   963
     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
   964
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   965
    ^ (self parserOn: stream) parseError.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   966
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   967
    "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
   968
!
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   969
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
   970
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
   971
    "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
   972
     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
   973
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   974
    ^ self subclassResponsibility
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   975
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   976
    "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
   977
    "Created: / 17-12-2011 / 17:02:41 / dundee"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   978
    "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
   979
!
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
   980
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   981
parserOn: aStream
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   982
    "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
   983
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
   984
    ^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
   985
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   986
    "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
   987
    "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
   988
!
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   989
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
   990
spawn:block name: name
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   991
    "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
   992
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   993
    | worker |
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
   994
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
   995
    worker := [
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
   996
        Trace ifTrue:[
240
e04b6e515237 HGCommandServer>>execute: refactored & hopefully fixed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 238
diff changeset
   997
            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
   998
        ].
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
   999
        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
  1000
            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
  1001
        ]
240
e04b6e515237 HGCommandServer>>execute: refactored & hopefully fixed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 238
diff changeset
  1002
    ] newProcess.
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1003
    worker addExitAction:[
256
49cce5802570 Introduced HGDebugFlags.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 251
diff changeset
  1004
        Trace ifTrue:[
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1005
            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
  1006
        ].
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1007
        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
  1008
    ].
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1009
    worker resume.
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1010
    worker name: name.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1011
    ^worker
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1012
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1013
    "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
  1014
    "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
  1015
    "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
  1016
!
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1017
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1018
spawnErrorReaderOn: stderr
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1019
    errorReader isNil ifTrue:[
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
  1020
        errorReader := self spawn: [ self parseError:  stderr ] name: 'Error reader'.
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
  1021
        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
  1022
    ].
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1023
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1024
    "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
  1025
    "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
  1026
!
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1027
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1028
spawnOutputReaderOn: stdout
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1029
    outputReader isNil ifTrue:[
232
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1030
        outputReader := self spawn: [ result := self parseOutput: stdout ] name: 'Output reader'.
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1031
    ]
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1032
718711b15cea More work on command server. Not yet finished, though.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 231
diff changeset
  1033
    "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
  1034
!
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1035
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1036
status: status result: res
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1037
    "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
  1038
247
bf5bfe409ff8 Bugfix for commiting to an empty repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 243
diff changeset
  1039
    status success  ifFalse:[
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1040
        HGCommandError raiseErrorString: ('hg command failed (status %1)' expandMacrosWith: status code) .
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1041
    ].
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1042
    ^res
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1043
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1044
    "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
  1045
    "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
  1046
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1047
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1048
!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
  1049
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1050
paths
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1051
    ^ paths
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1052
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1053
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1054
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
  1055
    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
  1056
! !
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1057
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1058
!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
  1059
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1060
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
  1061
    "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
  1062
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1063
    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
  1064
        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
  1065
    ].
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1066
    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
  1067
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1068
    "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
  1069
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1070
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
  1071
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
  1072
    "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
  1073
     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
  1074
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1075
    ^ nil
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1076
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1077
    "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
  1078
! !
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1079
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1080
!HGCommand::bookmark methodsFor:'accessing'!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1081
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1082
name
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1083
    ^ name
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1084
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1085
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1086
name:something
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1087
    name := something.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1088
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1089
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1090
revision
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1091
    ^ revision
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1092
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1093
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1094
revision:something
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1095
    revision := something.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1096
! !
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1097
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1098
!HGCommand::bookmark methodsFor:'private'!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1099
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1100
argumentsCommandOn:stream
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1101
    revision notNil ifTrue:[
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1102
        stream
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1103
            nextPut: '-r';
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1104
            nextPut: revision asString.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1105
    ].
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1106
    stream
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1107
        nextPut: name.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1108
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1109
    "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
  1110
    "Modified: / 20-03-2014 / 18:43: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
  1111
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1112
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1113
parseError:stream
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1114
    ^ (self parserOn: stream) parseErrorBookmark
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1115
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1116
    "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
  1117
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1118
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1119
parseOutput:stream
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1120
    "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
  1121
     etc."
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1122
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1123
    ^ nil
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1124
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1125
    "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
  1126
! !
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1127
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1128
!HGCommand::bookmark_delete methodsFor:'accessing'!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1129
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1130
name
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1131
    ^ name
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1132
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1133
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1134
name:something
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1135
    name := something.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1136
! !
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1137
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1138
!HGCommand::bookmark_delete methodsFor:'private'!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1139
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1140
argumentsCommandOn:stream
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1141
    stream
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1142
        nextPut: '--delete';
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1143
        nextPut: name.
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1144
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1145
    "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
  1146
    "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
  1147
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1148
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1149
command
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1150
    "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
  1151
     push, pull, ..."
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1152
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1153
    ^ 'bookmark'
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1154
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1155
    "
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1156
        HGCommand::push basicNew command
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1157
    "
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1158
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1159
    "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
  1160
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1161
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1162
parseError:stream
403
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1163
    ^ (self parserOn: stream) parseErrorBookmark
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1164
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1165
    "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
  1166
!
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1167
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1168
parseOutput:stream
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1169
    "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
  1170
     etc."
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1171
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1172
    ^ nil
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1173
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1174
    "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
  1175
! !
237ed0ed6c49 Initial support for Mercurial bookmarks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
  1176
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1177
!HGCommand::branches methodsFor:'accessing'!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1178
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1179
active
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1180
    ^ active
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1181
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1182
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1183
active:aBoolean
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1184
    active := aBoolean.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1185
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1186
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1187
closed
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1188
    ^ closed
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1189
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1190
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1191
closed:aBoolean
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1192
    closed := aBoolean.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1193
! !
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1194
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1195
!HGCommand::branches methodsFor:'private'!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1196
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1197
argumentsCommandOn:stream
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1198
    "Called to get command specific options"
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1199
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1200
    active == true ifTrue:[
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1201
        stream nextPut:'--active'
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1202
    ].
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1203
    closed == true ifTrue:[
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1204
        stream nextPut:'--closed'
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1205
    ].
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1206
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1207
    "Created: / 27-11-2012 / 19:54:08 / 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
  1208
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1209
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1210
argumentsGlobalOn:stream
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1211
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1212
    stream nextPut:'--debug' "/to get full node ids
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1213
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1214
    "Created: / 27-11-2012 / 19:54:35 / 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
  1215
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1216
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1217
parseError:stream
228
e00b7d71e234 Bugfix in parsing 'push' and 'branches' command output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 227
diff changeset
  1218
    ^ (self parserOn: stream) parseErrorBranches.
e00b7d71e234 Bugfix in parsing 'push' and 'branches' command output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 227
diff changeset
  1219
e00b7d71e234 Bugfix in parsing 'push' and 'branches' command output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 227
diff changeset
  1220
    "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
  1221
!
e00b7d71e234 Bugfix in parsing 'push' and 'branches' command output.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 227
diff changeset
  1222
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
  1223
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
  1224
    "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
  1225
     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
  1226
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1227
    ^ (self parserOn:stream) parseCommandBranches
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1228
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1229
    "Created: / 27-11-2012 / 19:55:00 / 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
  1230
! !
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
  1231
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1232
!HGCommand::cat methodsFor:'accessing'!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1233
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1234
destination
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1235
    ^ destination
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1236
!
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1237
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1238
destination:aStringOrFilename
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1239
    destination := aStringOrFilename.
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1240
!
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1241
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1242
path
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1243
    ^ path
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1244
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1245
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1246
path:something
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1247
    path := something.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1248
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1249
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1250
revision
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1251
    ^ revision
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1252
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1253
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1254
revision:something
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1255
    revision := something.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1256
! !
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1257
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1258
!HGCommand::cat methodsFor:'executing'!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1259
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1260
execute
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1261
    "
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1262
    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
  1263
    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
  1264
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1265
    "
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1266
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1267
    | 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
  1268
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
  1269
    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
  1270
        ^ 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
  1271
    ].
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
  1272
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1273
    pipe := NonPositionableExternalStream makePipe.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1274
    output := pipe first.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1275
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1276
    OperatingSystem isUNIXlike ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1277
        environment := OperatingSystem getEnvironment copy.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1278
    ] ifFalse:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1279
        environment := Dictionary new.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1280
    ].
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1281
    environment at:'LANG' put:'C'.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1282
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1283
    args := self arguments.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1284
    OperatingSystem isMSWINDOWSlike ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1285
        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
  1286
            args
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1287
                do:[:each | s nextPut:$"; nextPutAll: each; nextPut: $"]
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1288
                separatedBy: [ s space ]
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1289
        ]
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1290
    ].
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1291
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
  1292
    sout := pipe second.
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1293
    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
  1294
    exec := [
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1295
        pid := OperatingSystem exec:(self executable) withArguments:args
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1296
                environment:environment
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1297
                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
  1298
                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
  1299
                newPgrp:false
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1300
                inDirectory:self workingDirectory.
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1301
    ].
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1302
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1303
    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
  1304
        Processor
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1305
            monitor:exec
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1306
            action:[:stat |
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1307
                sema signal.
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1308
            ].
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1309
    ] ifFalse:[
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1310
        exec value
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1311
    ].
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1312
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1313
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1314
    pipe second close.
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
  1315
    sout close.
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1316
    pid isNil ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1317
        HGCommandError raiseErrorString: 'cannot execute hg command'.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1318
        output close.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1319
        ^ self.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1320
    ].
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
  1321
    ^ output.
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1322
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1323
    "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
  1324
    "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
  1325
! !
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1326
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1327
!HGCommand::cat methodsFor:'private'!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1328
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1329
argumentsCommandOn:stream
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1330
    "Called to get command specific options"
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1331
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1332
    path isNil ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1333
        self error:'No path specified'
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1334
    ].
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1335
    revision isNil ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1336
        self error:'No revision specified'
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1337
    ].
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
  1338
    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
  1339
        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
  1340
        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
  1341
    ].
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
  1342
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1343
    stream nextPut:'--rev'; nextPut: revision asString.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1344
    stream nextPut:path
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1345
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
  1346
    "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
  1347
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1348
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
  1349
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
  1350
    "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
  1351
     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
  1352
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
  1353
    "/ 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
  1354
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
  1355
    "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
  1356
! !
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
  1357
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1358
!HGCommand::clone methodsFor:'accessing'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1359
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1360
path
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1361
    ^ path
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1362
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1363
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1364
path:something
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1365
    path := something.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1366
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1367
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1368
url
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1369
    ^ url
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1370
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1371
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1372
url:something
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1373
    url := something.
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1374
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1375
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1376
!HGCommand::clone methodsFor:'private'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1377
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1378
argumentsCommandOn:stream
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1379
    "Called to get command specific options"
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  1380
    update == false ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  1381
        stream nextPut:'--noupdate'.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  1382
    ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  1383
    stream nextPut: url; nextPut: path.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1384
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1385
    "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
  1386
    "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
  1387
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1388
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
  1389
parseOutput:stream
63
77b0d42eebd0 Removed last bits of Git, hopefully
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 61
diff changeset
  1390
    "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
  1391
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1392
    ^ nil
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1393
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1394
    "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
  1395
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1396
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1397
!HGCommand::commit methodsFor:'accessing'!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1398
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1399
author
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1400
    ^ author
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1401
!
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1402
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1403
author:aString
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1404
    author := aString.
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1405
!
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
  1406
213
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1407
date
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1408
    ^ date
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1409
!
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1410
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1411
date:aTimestampOrString
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1412
    date := aTimestampOrString.
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1413
!
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1414
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1415
files
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1416
    ^ files
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1417
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1418
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1419
files:something
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1420
    files := something.
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1421
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1422
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1423
message
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1424
    ^ message
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1425
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1426
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1427
message:something
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1428
    message := something.
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1429
! !
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1430
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1431
!HGCommand::commit methodsFor:'private'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1432
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1433
argumentsCommandOn:stream
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1434
    "Called to get command specific options"
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1435
73
eb731ce2685e Fixed HGStXTests>>test_commit_01
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
  1436
    author notNil ifTrue:[
eb731ce2685e Fixed HGStXTests>>test_commit_01
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
  1437
        stream nextPut:'--user'; nextPut: author
eb731ce2685e Fixed HGStXTests>>test_commit_01
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
  1438
    ].
213
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1439
    date notNil ifTrue:[
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1440
        stream nextPut:'--date'.
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1441
        date isTimestamp ifTrue:[
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1442
            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
  1443
        ] ifFalse:[
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1444
            stream nextPut: date asString
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1445
        ]
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1446
    ].
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1447
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1448
    stream nextPut:'-m'; nextPut: message.
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1449
    files notNil ifTrue:[
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1450
        stream nextPutAll: files
49
ffb879bfafe7 - stx_libscm_mercurial
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
  1451
    ].
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1452
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1453
    "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
  1454
    "Modified: / 07-12-2012 / 15:32:51 / jv"
213
d5a0f178e2c4 Add a date parameter to commit message.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
  1455
    "Modified: / 01-02-2013 / 14:49:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1456
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1457
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
  1458
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
  1459
    "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
  1460
     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
  1461
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1462
    ^ (self parserOn: stream) parseErrorCommit.
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1463
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1464
    "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
  1465
!
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1466
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
  1467
parseOutput:stream
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1468
    "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
  1469
    "Nothing to do"
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1470
    "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
  1471
!
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1472
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1473
status: status result: result
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1474
    "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
  1475
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1476
    (status code ~~ 0 and:[status code ~~ 1]) ifTrue:[
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1477
        HGCommandError raiseErrorString: ('hg command failed (status %1)' expandMacrosWith: status code) .
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1478
    ].
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1479
    ^result
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1480
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1481
    "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
  1482
! !
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1483
106
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1484
!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
  1485
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1486
argumentsCommandOn:stream
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1487
    "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
  1488
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
  1489
    stream
106
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1490
        nextPut:'--template';
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1491
        nextPut:HGCommandParser templateHeads.
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1492
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1493
    "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
  1494
!
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1495
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
  1496
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
  1497
    "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
  1498
     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
  1499
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1500
    ^ (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
  1501
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1502
    "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
  1503
!
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1504
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1505
status: status result: res
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1506
    "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
  1507
    status code == 1 ifTrue:[
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1508
        ^#()
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1509
    ].
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1510
    status success  ifFalse:[
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1511
        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
  1512
    ].
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1513
    ^res
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1514
8ad8b1147873 Bugfix: moved status:result to HGCommand::heads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 247
diff changeset
  1515
    "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
  1516
    "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
  1517
! !
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
  1518
371
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1519
!HGCommand::init methodsFor:'accessing'!
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1520
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1521
path
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1522
    ^ path
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1523
!
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1524
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1525
path:aStringOrFilename
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1526
    path := aStringOrFilename.
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1527
! !
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1528
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1529
!HGCommand::init methodsFor:'private'!
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1530
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1531
argumentsCommandOn:stream
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1532
    stream nextPut: path asFilename asAbsoluteFilename pathName
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1533
    "Created: / 13-02-2014 / 12:36:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1534
!
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1535
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1536
parseOutput:stream
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1537
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1538
     etc."
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1539
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1540
    ^ nil
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1541
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1542
    "Created: / 13-02-2014 / 12:36:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1543
! !
f271ddd2b5e0 Added 'Clone...' and 'Create...' menu entries to file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 368
diff changeset
  1544
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1545
!HGCommand::locate methodsFor:'accessing'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1546
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1547
revision
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1548
    ^ revision
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1549
!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1550
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1551
revision:rev
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1552
    revision := rev.
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1553
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1554
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1555
!HGCommand::locate methodsFor:'private'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1556
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1557
argumentsCommandOn:stream
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1558
    "Called to get command specific options"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1559
165
4f6432cf4240 Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
  1560
    "/stream nextPut:'--print0'.
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1561
    revision notNil ifTrue:[
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1562
        stream nextPut: '--rev'; nextPut: revision printString.
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1563
    ].
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1564
165
4f6432cf4240 Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
  1565
    "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
  1566
!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1567
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
  1568
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
  1569
    "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
  1570
     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
  1571
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1572
    ^ (self parserOn:stream) parseCommandLocate
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1573
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1574
    "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
  1575
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 63
diff changeset
  1576
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  1577
!HGCommand::log methodsFor:'accessing'!
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  1578
137
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1579
childrenOnly
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1580
    ^ childrenOnly
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1581
!
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1582
191
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1583
childrenOnly:aBoolean
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1584
    childrenOnly := aBoolean.
137
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1585
!
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1586
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1587
idsOnly
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1588
    ^ idsOnly
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1589
!
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1590
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1591
idsOnly:aBoolean
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1592
    idsOnly := aBoolean.
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1593
!
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1594
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1595
limit
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1596
    ^ limit
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1597
!
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1598
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1599
limit:anInteger
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1600
    limit := anInteger.
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1601
!
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1602
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1603
path
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1604
    ^ path
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1605
!
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1606
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1607
path:aString
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1608
    path := aString.
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1609
!
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1610
191
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1611
revset: revset
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1612
    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
  1613
    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
  1614
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1615
    "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
  1616
!
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  1617
191
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1618
revsets: aCollection
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1619
    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
  1620
        revsets := aCollection
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1621
    ] ifFalse:[
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1622
        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
  1623
    ].
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  1624
191
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1625
    "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
  1626
! !
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  1627
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1628
!HGCommand::log methodsFor:'private'!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1629
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1630
argumentsCommandOn:stream
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1631
    "Called to get command specific options"
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1632
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1633
    | template |
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1634
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1635
    template := HGCommandParser templateLog.
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1636
    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
  1637
        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
  1638
            self error:'No revisions given'.
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1639
        ].
191
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1640
        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
  1641
            | string |
abafe12d47d6 Initial version of HGChangesetBrowser, a tool for browsing commit history.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 395
diff changeset
  1642
abafe12d47d6 Initial version of HGChangesetBrowser, a tool for browsing commit history.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 395
diff changeset
  1643
            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
  1644
            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
  1645
191
f0745f4cdc97 Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
  1646
            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
  1647
            stream nextPut:string
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1648
        ].
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  1649
    ] ifFalse:[
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1650
        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
  1651
    ].
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1652
    idsOnly == true ifTrue:[
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1653
        template := HGCommandParser templateLogIdsOnly.
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  1654
    ].
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
  1655
137
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1656
    childrenOnly == true ifTrue:[
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1657
        template := HGCommandParser templateLogChildren.
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1658
    ].
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1659
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
  1660
    stream
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1661
        nextPut:'--debug';
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1662
        nextPut:'--template';
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1663
        nextPut:template.
419
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1664
    limit notNil ifTrue:[
2f7fa37437e9 Merged 28497a4df430 and 91d981298a96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 403 418
diff changeset
  1665
        stream
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1666
            nextPut: '-l';
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1667
            nextPut: limit printString
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1668
    ].
136
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1669
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1670
    path notNil ifTrue:[
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1671
        stream nextPut: path.
2d1512dde043 Added HGWorkingCopyFile>>revisions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
  1672
    ].
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1673
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1674
    "Created: / 13-11-2012 / 09:05:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
399
abafe12d47d6 Initial version of HGChangesetBrowser, a tool for browsing commit history.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 395
diff changeset
  1675
    "Modified: / 15-03-2014 / 00:40:11 / 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
  1676
!
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1677
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1678
parseError:stream
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1679
    "Parses output of 'hg' command, i.e. commit, log, update, checkout,
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1680
     etc."
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1681
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1682
    ^ (self parserOn: stream) parseErrorLog.
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1683
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1684
    "Created: / 09-02-2014 / 10:22:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1685
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1686
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
  1687
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
  1688
    "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
  1689
     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
  1690
137
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1691
    childrenOnly == true ifTrue:[
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1692
        ^ (self parserOn:stream) parseCommandLogChildren.
137
379bd934f8d0 Make HGChangeset>>children dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 136
diff changeset
  1693
    ].
372
5acd6d915c77 Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 366
diff changeset
  1694
    ^ idsOnly ~~ true
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1695
        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
  1696
        ifFalse:[ (self parserOn:stream) parseCommandLogIdsOnly ]
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1697
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
  1698
    "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
  1699
    "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
  1700
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1701
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1702
!HGCommand::merge methodsFor:'accessing'!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1703
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1704
revision
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1705
    ^ revision
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1706
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1707
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1708
revision:something
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1709
    revision := something.
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1710
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1711
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1712
tool
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1713
    ^ tool
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1714
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1715
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1716
tool:aString
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1717
    tool := aString.
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1718
! !
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1719
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1720
!HGCommand::merge methodsFor:'private'!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1721
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1722
argumentsCommandOn:stream
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1723
    "Called to get command specific options"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1724
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1725
    revision notNil ifTrue:[
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1726
        stream nextPut:'--rev'; nextPut: revision asString.
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1727
    ].
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1728
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1729
    revision notNil ifTrue:[
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1730
        stream nextPut:'--tool'; nextPut: tool asString.
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1731
    ].
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1732
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1733
    "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
  1734
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1735
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
  1736
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
  1737
    "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
  1738
     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
  1739
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1740
    ^ (self parserOn:stream) parseCommandMerge
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1741
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1742
    "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
  1743
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1744
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1745
status: status result: result
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1746
    "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
  1747
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1748
    (status code ~~ 0 and:[status code ~~ 1]) ifTrue:[
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1749
        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
  1750
    ].
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1751
    ^result
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1752
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1753
    "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
  1754
! !
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  1755
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1756
!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
  1757
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1758
destination
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1759
    ^ destination
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1760
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1761
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1762
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
  1763
    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
  1764
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1765
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1766
source
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1767
    ^ source
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1768
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1769
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1770
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
  1771
    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
  1772
! !
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1773
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1774
!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
  1775
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1776
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
  1777
    "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
  1778
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1779
    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
  1780
        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
  1781
    ].
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1782
    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
  1783
        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
  1784
    ].
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1785
    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
  1786
        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
  1787
    ].
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1788
    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
  1789
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1790
    "Created: / 15-11-2012 / 00:21:05 / 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
  1791
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1792
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
  1793
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
  1794
    "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
  1795
     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
  1796
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1797
    ^ nil
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1798
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1799
    "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
  1800
! !
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1801
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1802
!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
  1803
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1804
url
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1805
    ^ url
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1806
!
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1807
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1808
url:aString
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1809
    url := aString.
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1810
! !
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1811
57
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  1812
!HGCommand::pull methodsFor:'private'!
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  1813
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  1814
argumentsCommandOn:stream
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  1815
    "Called to get command specific options"
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1816
57
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  1817
    url notNil ifTrue:[
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  1818
        stream nextPut: url.
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  1819
    ].
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  1820
47b14a8b7eb8 Some hacks to make basic Mercurial commit working
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
  1821
    "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
  1822
    "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
  1823
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1824
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
  1825
parseOutput:stream
63
77b0d42eebd0 Removed last bits of Git, hopefully
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 61
diff changeset
  1826
    "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
  1827
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1828
    ^ (self parserOn:stream) parseCommandPull
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1829
215
165ce6502156 Temporary commit: added notification propagation. Added Push/Pull info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 214
diff changeset
  1830
    "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
  1831
!
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1832
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1833
status: status result: res
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1834
    "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
  1835
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1836
    (status code ~~ 0) ifTrue:[
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1837
        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
  1838
    ].
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1839
    res isNil ifTrue:[
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1840
        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
  1841
    ].
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1842
    ^ res
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1843
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1844
    "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
  1845
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1846
107
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1847
!HGCommand::push methodsFor:'accessing'!
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1848
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1849
force
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1850
    ^ force
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1851
!
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1852
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1853
force:something
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1854
    force := something.
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1855
!
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1856
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1857
url
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1858
    ^ url
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1859
!
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1860
206
7985d1be806a Improvement HGRepository>>push:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
  1861
url:remote
7985d1be806a Improvement HGRepository>>push:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
  1862
    url := remote.
107
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1863
! !
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1864
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1865
!HGCommand::push methodsFor:'private'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1866
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1867
argumentsCommandOn:stream
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1868
    "Called to get command specific options"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1869
206
7985d1be806a Improvement HGRepository>>push:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
  1870
7985d1be806a Improvement HGRepository>>push:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
  1871
    stream nextPut: (url ? 'default').
7985d1be806a Improvement HGRepository>>push:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
  1872
107
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1873
    force == true ifTrue:[
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1874
        stream nextPut:'--force'
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
  1875
    ]
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1876
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1877
    "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
  1878
    "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
  1879
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1880
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
  1881
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
  1882
    "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
  1883
     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
  1884
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1885
    ^ (self parserOn: stream) parseErrorPush.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1886
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1887
    "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
  1888
!
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1889
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
  1890
parseOutput:stream
63
77b0d42eebd0 Removed last bits of Git, hopefully
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 61
diff changeset
  1891
    "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
  1892
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  1893
    ^ (self parserOn:stream) parseCommandPush
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1894
151
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 146
diff changeset
  1895
    "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
  1896
!
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1897
453
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1898
status: status result: res
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1899
    "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
  1900
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1901
    (status code ~~ 0 and:[status code ~~ 1]) ifTrue:[
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1902
        HGCommandError raiseErrorString: ('hg command failed (status %1)' expandMacrosWith: status code) .
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1903
    ].
453
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1904
    res isNil ifTrue:[
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1905
        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
  1906
    ].
09a9ccac8aba Fixed timing issues for push/pull commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 452
diff changeset
  1907
    ^ result
61
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1908
fd129d0c603e Fixes in committing
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 57
diff changeset
  1909
    "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
  1910
! !
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  1911
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1912
!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
  1913
357
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1914
force
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1915
    ^ force
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1916
!
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1917
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1918
force:something
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1919
    force := something.
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1920
!
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1921
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1922
paths
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1923
    ^ paths
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1924
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1925
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1926
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
  1927
    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
  1928
! !
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1929
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1930
!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
  1931
357
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1932
argumentsCommandOn:stream
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1933
    "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
  1934
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1935
    force == true ifTrue:[
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1936
        stream nextPut: '-f'.
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1937
    ].
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1938
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1939
    paths isEmptyOrNil ifTrue:[
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1940
        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
  1941
    ].
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1942
    stream nextPutAll: paths
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1943
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1944
    "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
  1945
    "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
  1946
!
4f4a12ecfc4f Re-added accidentically removed HGCommand::remove>>argumentsCommandOn:/force/force:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 355
diff changeset
  1947
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
  1948
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
  1949
    "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
  1950
     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
  1951
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1952
    ^ nil
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1953
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1954
    "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
  1955
! !
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  1956
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1957
!HGCommand::resolve class methodsFor:'initialization'!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1958
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1959
initialize
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1960
    "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
  1961
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1962
    "/ 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
  1963
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1964
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1965
! !
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1966
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1967
!HGCommand::resolve methodsFor:'accessing'!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1968
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1969
files
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1970
    ^ files
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1971
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1972
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1973
files:something
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1974
    files := something.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1975
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1976
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1977
mark
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1978
    ^ mark
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1979
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1980
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1981
mark:something
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1982
    mark := something.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1983
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1984
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1985
tool
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1986
    ^ tool
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1987
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1988
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1989
tool:something
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1990
    tool := something.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1991
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1992
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1993
unmark
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1994
    ^ unmark
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1995
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1996
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1997
unmark:something
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1998
    unmark := something.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  1999
! !
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2000
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2001
!HGCommand::resolve methodsFor:'private'!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2002
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2003
argumentsCommandOn:stream
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2004
    "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
  2005
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2006
    tool notNil ifTrue:[
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2007
        stream nextPut:'--tool'; nextPut: tool
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2008
    ].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2009
300
724f9902f606 Bugfix in HGCommand::resolve.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 260
diff changeset
  2010
    mark == true ifTrue:[
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2011
        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
  2012
        stream nextPut: '--mark'.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2013
    ].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2014
300
724f9902f606 Bugfix in HGCommand::resolve.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 260
diff changeset
  2015
    unmark == true ifTrue:[
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2016
        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
  2017
        stream nextPut: '--unmark'.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2018
    ].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2019
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2020
    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
  2021
300
724f9902f606 Bugfix in HGCommand::resolve.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 260
diff changeset
  2022
    "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
  2023
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2024
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
  2025
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
  2026
    "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
  2027
     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
  2028
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2029
    ^ nil
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2030
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2031
    "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
  2032
!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2033
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2034
status: status result: result
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2035
    "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
  2036
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2037
    status code == 0 ifTrue:[ ^ true ].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2038
    status code == 1 ifTrue:[ ^ false].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2039
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2040
    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
  2041
    ^false
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2042
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2043
    "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
  2044
! !
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2045
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2046
!HGCommand::resolve__list methodsFor:'private'!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2047
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2048
argumentsCommandOn:stream
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2049
    "Called to get command specific options"
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2050
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2051
    stream nextPut: '--list'
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2052
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2053
    "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
  2054
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2055
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2056
command
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2057
    ^'resolve'
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2058
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2059
    "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
  2060
!
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2061
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
  2062
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
  2063
    "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
  2064
     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
  2065
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2066
    ^ (self parserOn:stream) parseCommandResolveList
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2067
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2068
    "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
  2069
! !
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2070
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
  2071
!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
  2072
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
  2073
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
  2074
    "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
  2075
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
  2076
    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
  2077
        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
  2078
    ].
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
  2079
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
  2080
    "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
  2081
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
  2082
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
  2083
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
  2084
    "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
  2085
     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
  2086
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2087
    ^ (self parserOn:stream) parseCommandShowConfig
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
  2088
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 142
diff changeset
  2089
    "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
  2090
! !
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
  2091
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2092
!HGCommand::status methodsFor:'accessing'!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2093
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2094
path
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2095
    ^ path
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2096
!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2097
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2098
path:aString
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2099
    path := aString.
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2100
! !
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2101
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2102
!HGCommand::status methodsFor:'private'!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2103
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2104
argumentsCommandOn:stream
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2105
    "Called to get command specific options"
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2106
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2107
    stream nextPut:'-A'.
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2108
    path notNil ifTrue:[stream nextPut: path]
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2109
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2110
    "Created: / 23-10-2012 / 11:09:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2111
!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2112
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
  2113
parseOutput:stream
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2114
    ^ (self parserOn:stream) parseCommandStatus
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2115
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2116
    "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
  2117
! !
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
  2118
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2119
!HGCommand::update methodsFor:'accessing'!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2120
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2121
revision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2122
    ^ revision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2123
!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2124
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2125
revision:something
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2126
    revision := something.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2127
! !
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2128
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2129
!HGCommand::update methodsFor:'private'!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2130
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2131
argumentsCommandOn:stream
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2132
    "Called to get command specific options"
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2133
102
16bc16d9e6d5 Update logical revision on commit,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 95
diff changeset
  2134
    revision notNil ifTrue:[
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2135
        stream nextPut:'--rev'; nextPut: revision asString.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2136
    ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2137
102
16bc16d9e6d5 Update logical revision on commit,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 95
diff changeset
  2138
    "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
  2139
!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2140
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
  2141
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
  2142
    "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
  2143
     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
  2144
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2145
    ^ (self parserOn:stream) parseCommandUpdate
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2146
177
1b0ddad9770e Initial support for merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 165
diff changeset
  2147
    "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
  2148
! !
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 82
diff changeset
  2149
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2150
!HGCommand::version methodsFor:'accessing'!
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2151
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
  2152
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
  2153
    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
  2154
!
8987b87a562a hg command setting refactored to allow command and arguments to be specified.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 441
diff changeset
  2155
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2156
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
  2157
    ^ executable notNil
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2158
        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
  2159
        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
  2160
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
  2161
    "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
  2162
!
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2163
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2164
executable:aString
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2165
    executable := aString.
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2166
! !
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2167
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2168
!HGCommand::version methodsFor:'private'!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2169
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2170
arguments
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2171
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
  2172
    ^ (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
  2173
      , (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
  2174
      , #('--version')
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2175
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2176
    "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
  2177
    "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
  2178
    "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
  2179
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2180
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
  2181
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
  2182
    "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
  2183
     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
  2184
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 213
diff changeset
  2185
    ^ (self parserOn:stream) parseCommandVersion
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2186
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2187
    "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
  2188
! !
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
  2189
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2190
!HGCommand class methodsFor:'documentation'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2191
418
91d981298a96 avoid another error when notification is raised
Claus Gittinger
parents: 417
diff changeset
  2192
version
91d981298a96 avoid another error when notification is raised
Claus Gittinger
parents: 417
diff changeset
  2193
    ^ '$Header: /cvs/stx/stx/libscm/mercurial/HGCommand.st,v 1.4 2014/04/13 15:02:07 cg Exp $'
91d981298a96 avoid another error when notification is raised
Claus Gittinger
parents: 417
diff changeset
  2194
!
91d981298a96 avoid another error when notification is raised
Claus Gittinger
parents: 417
diff changeset
  2195
91d981298a96 avoid another error when notification is raised
Claus Gittinger
parents: 417
diff changeset
  2196
version_CVS
91d981298a96 avoid another error when notification is raised
Claus Gittinger
parents: 417
diff changeset
  2197
    ^ '$Header: /cvs/stx/stx/libscm/mercurial/HGCommand.st,v 1.4 2014/04/13 15:02:07 cg Exp $'
91d981298a96 avoid another error when notification is raised
Claus Gittinger
parents: 417
diff changeset
  2198
!
91d981298a96 avoid another error when notification is raised
Claus Gittinger
parents: 417
diff changeset
  2199
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2200
version_HG
115
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 109
diff changeset
  2201
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 109
diff changeset
  2202
    ^ '$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
  2203
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 52
diff changeset
  2204
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
  2205
version_SVN
418
91d981298a96 avoid another error when notification is raised
Claus Gittinger
parents: 417
diff changeset
  2206
    ^ '$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
  2207
! !
38
c3d02ed6a645 - HGWorkingCopyFile
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 37
diff changeset
  2208
183
8f8315881c72 Bugfix in Settings (checking for Mercurial version).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 179
diff changeset
  2209
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
  2210
HGCommand::resolve initialize!