mercurial/HGCommandParser.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 05 Dec 2012 19:05:06 +0000
changeset 135 c74b92e6a2f8
parent 134 565c8bd9c9e8
child 136 2d1512dde043
permissions -rw-r--r--
Added HGChangeset>>changes. HGChangeset>>changes now returns a collection of changes agains previous (parent1) changeset.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     1
"{ Package: 'stx:libscm/mercurial' }"
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     2
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     3
Object subclass:#HGCommandParser
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
     4
	instanceVariableNames:'stream'
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     5
	classVariableNames:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     6
	poolDictionaries:''
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     7
	category:'SCM-Mercurial-Internal'
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     8
!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     9
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    10
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    11
!HGCommandParser class methodsFor:'instance creation'!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    12
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
    13
on: aStringOrStream
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
    14
    | stream |
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
    15
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
    16
    stream := aStringOrStream isStream 
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
    17
                ifTrue:[aStringOrStream]
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
    18
                ifFalse:[aStringOrStream readStream].
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
    19
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
    20
    ^self new stream: stream
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    21
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    22
    "Created: / 23-10-2012 / 11:07:52 / 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
    23
    "Modified: / 13-11-2012 / 16:36:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    24
! !
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    25
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    26
!HGCommandParser class methodsFor:'templates'!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    27
106
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    28
templateHeads
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    29
    ^'{rev}:{node}\n'
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    30
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    31
    "Created: / 27-11-2012 / 21:25:13 / 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
    32
!
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
    33
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    34
templateLog
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    35
    ^
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    36
'{rev}:{node}
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    37
{branch}
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    38
{parents}
134
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
    39
{children}
135
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
    40
{file_adds}
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
    41
{file_copies}
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
    42
{file_dels}
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
    43
{file_mods}
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    44
{author}
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    45
{date|isodate}
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    46
{desc}
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
    47
**EOE**
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
    48
'
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    49
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
    50
    "Created: / 12-11-2012 / 23:06:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
135
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
    51
    "Modified: / 05-12-2012 / 18:26:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    52
! !
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    53
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    54
!HGCommandParser methodsFor:'accessing'!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    55
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    56
stream
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    57
    ^ stream
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    58
!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    59
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    60
stream:something
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    61
    stream := something.
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    62
! !
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    63
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    64
!HGCommandParser methodsFor:'error reporting'!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    65
51
61700cf82743 - HGCommandParser
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
    66
error: aString
61700cf82743 - HGCommandParser
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
    67
    <context: #return>
61700cf82743 - HGCommandParser
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
    68
    <resource: #skipInDebuggersWalkBack>
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    69
51
61700cf82743 - HGCommandParser
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
    70
    HGCommandParseError raiseWith:#error: errorString:aString
61700cf82743 - HGCommandParser
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
    71
61700cf82743 - HGCommandParser
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 40
diff changeset
    72
    "Created: / 14-11-2012 / 19:59:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    73
! !
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    74
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    75
!HGCommandParser methodsFor:'parsing'!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
    76
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    77
parseBranches
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    78
    "Parse output of 'hg branches' command. Return collection
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    79
     of orphaned HGBranch"
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    80
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    81
    | branches |
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    82
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    83
    branches := OrderedCollection new.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    84
    [ stream atEnd ] whileFalse:[
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    85
        branches add: self parseBranchesEntry
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    86
    ].
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    87
    ^branches
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    88
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    89
    "Created: / 27-11-2012 / 20:20:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    90
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    91
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    92
parseBranchesEntry
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    93
    | branch |
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    94
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    95
    branch := HGBranch new.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    96
    branch setName: self parseName.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    97
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    98
    stream skipSeparators.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    99
    self parseNodeId.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   100
    stream peek == Character space ifTrue:[
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   101
        stream next.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   102
        stream peek == $( ifFalse:[self error:'''('' expected but ''' , stream peek , ''' found'].
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   103
        stream next.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   104
        stream peek == $i ifTrue:[
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   105
            self expect:'inactive)'.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   106
            branch setActive: false.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   107
        ] ifFalse:[
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   108
            stream peek == $c ifTrue:[
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   109
                self expect:'closed)'.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   110
                branch setClosed: true.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   111
            ] ifFalse:[
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   112
                self error:'Unexpected branch attribute (only ''closed'' and ''inactive'' supported)'''
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   113
            ]
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   114
        ].
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   115
    ].
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   116
    self expectLineEnd.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   117
    ^branch
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   118
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   119
    "Created: / 27-11-2012 / 19:23:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   120
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   121
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   122
parseDate
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   123
    | ts |
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   124
    ts := Timestamp readIso8601FormatFrom:stream.
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   125
    (stream peek == $+ or:[stream peek == $-]) ifFalse:[
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   126
        self error:'Timezone expected, ' , stream peek , ' found'
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   127
    ].
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   128
    stream next.
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   129
    4 timesRepeat:[
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   130
        ('0123456789' includes: stream peek) ifFalse:[
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   131
            self error:'Timezone expected, ' , stream peek , ' found'
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   132
        ].
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   133
        stream next.
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   134
    ].
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   135
    ^ts
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   136
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   137
    "Created: / 13-11-2012 / 10:22:46 / 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
   138
    "Modified: / 13-11-2012 / 17:28:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   139
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   140
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   141
parseInteger
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   142
    "Parses integer from stream and returns it"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   143
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   144
    ^Integer readFrom: stream onError:[self error: 'integer value expected']
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   145
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   146
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   147
    (HGCommandParser on: '12 34' readStream) parseInteger; skipSeparators; parseInteger
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   148
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   149
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   150
    "Created: / 19-11-2012 / 20:05:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   151
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   152
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   153
parseLog
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   154
    "Parse output of 'hg log' command, assuming the template given
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   155
     was HGCommandParser templateLog. Return a list of HGRevision."
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   156
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   157
    | revs |
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   158
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   159
    revs := OrderedCollection new.
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   160
    [ stream atEnd ] whileFalse:[
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   161
        | rev |
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   162
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   163
        rev := self parseLogEntry.
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   164
        revs add: rev.
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   165
    ].
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   166
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   167
    ^revs.
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   168
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   169
    "Created: / 13-11-2012 / 09:46:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   170
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   171
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   172
parseLogEntry
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   173
    "Parse single revision entry, assuming the template given
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   174
     was HGCommandParser templateLog. Return a HGRevision."
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   175
135
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   176
    | rev branches line message adds copies deletions modifications |
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   177
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   178
    rev := HGChangeset new.
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   179
    rev setId: self parseNodeId. self expectLineEnd.
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   180
    branches := self parseNameList. self expectLineEnd.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   181
    rev setBranches: branches.
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   182
    rev setParent1Id: self parseNodeId. self expectSpace.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   183
    rev setParent2Id: self parseNodeId. self expectSpace. self expectLineEnd.
134
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   184
    rev setChildren: self parseNodeIdList. self expectLineEnd.
135
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   185
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   186
    adds := self parsePathList. self expectLineEnd.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   187
    copies := self parsePathCopyList. self expectLineEnd.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   188
    deletions := self parsePathList. self expectLineEnd.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   189
    modifications := self parsePathList. self expectLineEnd.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   190
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   191
    copies pairsDo:[:dst :src|
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   192
        adds remove: dst.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   193
        deletions remove: src.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   194
    ].
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   195
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   196
    adds := adds collect:[:e|HGChange newAdded setChangeset: rev path: e].
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   197
    copies := copies collect:[:e|HGChange newCopied setChangeset: rev path: e first; setSource: e second].
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   198
    deletions := deletions collect:[:e|HGChange newRemoved setChangeset: rev path: e].
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   199
    modifications := modifications collect:[:e|HGChange newModified setChangeset: rev path: e].
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   200
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   201
    rev setChanges: modifications , adds , deletions , copies.
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   202
    rev setAuthor: self nextLine.
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   203
    rev setTimestamp: self parseDate. self expectLineEnd.
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   204
    message := String streamContents:[:s|
93
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   205
        line := self nextLine.
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   206
        s nextPutAll: line.
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   207
        [ line := self nextLine . line = '**EOE**' ] whileFalse:[
93
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   208
            s cr.
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   209
            s nextPutAll: line
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   210
        ].
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   211
    ].
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   212
    rev setMessage: message.
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   213
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   214
    ^rev
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   215
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   216
    "Created: / 13-11-2012 / 09:45:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
135
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   217
    "Modified: / 05-12-2012 / 18:46:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   218
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   219
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   220
parseName
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   221
    ^String streamContents:[:out|
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   222
        [ stream peek isSeparator ] whileFalse:[
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   223
            out nextPut:stream next
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   224
        ]
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   225
    ].
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   226
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   227
    "Created: / 27-11-2012 / 20:21:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   228
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   229
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   230
parseNameList
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   231
    | list |
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   232
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   233
    stream atEnd ifTrue:[ ^#() ].
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   234
    stream peek isSeparator ifTrue:[ ^#() ].
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   235
    list := OrderedCollection new.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   236
    list add: self parseName.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   237
    [ stream atEnd not and:[stream peek == Character space]] whileTrue:[
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   238
        stream next. "/eat space.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   239
        list add: self parseName.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   240
    ].
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   241
    ^list.
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   242
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   243
    "Created: / 27-11-2012 / 20:30:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   244
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   245
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   246
parseNodeId
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   247
    "Parses node id from stream and returns it. Support both,
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   248
     short and full node ids"
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   249
103
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   250
    ^HGChangesetId readFrom: stream onError:[:msg|self error: msg]
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   251
40
e3699c0b00f9 Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 39
diff changeset
   252
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   253
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   254
    "
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   255
        (HGCommandParser on: '4:6f88e1f44d9eb86e0b56ca15e30e5d786acd83c7' readStream) parseNodeId
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   256
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   257
        Bad ones:
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   258
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   259
        (HGCommandParser on: '4:6f88e1f44d9eb86e0b56ca15e30e5d786acd' readStream) parseNodeId
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   260
        (HGCommandParser on: '4:6f88Z1f44d9eb86e0b56ca15e30e5d786acd83c7' readStream) parseNodeId
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   261
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   262
    "
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   263
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   264
    "Created: / 13-11-2012 / 10:22:49 / 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
   265
    "Modified: / 13-11-2012 / 16:52:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
134
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   266
!
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   267
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   268
parseNodeIdList
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   269
    "Parses node id list from stream and returns it. Support both,
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   270
     short and full node ids."
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   271
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   272
    | ids |
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   273
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   274
    stream atEnd ifTrue:[ ^ #() ].
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   275
    stream peek == Character cr ifTrue:[ ^ #() ].
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   276
    ids := OrderedCollection new.
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   277
    [ stream peek ~~ Character cr ] whileTrue:[
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   278
        ids add: self parseNodeId.
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   279
        stream peek == Character space ifTrue:[stream next].
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   280
    ].
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   281
    ^ids
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   282
565c8bd9c9e8 Added children support to changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   283
    "Created: / 05-12-2012 / 17:24:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
135
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   284
!
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   285
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   286
parsePath
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   287
    "Parse single path entry from repository"
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   288
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   289
    ^self parseName
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   290
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   291
    "Created: / 05-12-2012 / 18:27:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   292
!
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   293
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   294
parsePathCopy
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   295
    "Parse single path entry from repository"
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   296
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   297
    | dst src |
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   298
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   299
    dst := self parseName.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   300
    self expectSpace.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   301
    self expect:$(.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   302
    src := String streamContents:[:out|
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   303
        [ stream peek == $) ] whileFalse:[
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   304
            out nextPut:stream next
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   305
        ].
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   306
        stream next.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   307
    ].
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   308
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   309
    ^Array with: dst with: src
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   310
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   311
    "Created: / 05-12-2012 / 18:38:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   312
!
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   313
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   314
parsePathCopyList
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   315
    | list |
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   316
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   317
    stream atEnd ifTrue:[ ^#() ].
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   318
    stream peek isSeparator ifTrue:[ ^#() ].
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   319
    list := OrderedCollection new.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   320
    list add: self parsePathCopy.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   321
    [ stream atEnd not and:[stream peek == Character space]] whileTrue:[
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   322
        stream next. "/eat space.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   323
        list add: self parsePathCopy.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   324
    ].
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   325
    ^list.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   326
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   327
    "Created: / 05-12-2012 / 18:39:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   328
!
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   329
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   330
parsePathList
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   331
    | list |
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   332
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   333
    stream atEnd ifTrue:[ ^#() ].
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   334
    stream peek isSeparator ifTrue:[ ^#() ].
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   335
    list := OrderedCollection new.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   336
    list add: self parsePath.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   337
    [ stream atEnd not and:[stream peek == Character space]] whileTrue:[
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   338
        stream next. "/eat space.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   339
        list add: self parsePath.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   340
    ].
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   341
    ^list.
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   342
c74b92e6a2f8 Added HGChangeset>>changes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 134
diff changeset
   343
    "Created: / 05-12-2012 / 18:27:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   344
! !
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   345
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   346
!HGCommandParser methodsFor:'parsing - commands'!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   347
105
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   348
parseCommandBranches
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   349
    "Parse output of 'hg branches' command. Return collection
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   350
     of orphaned HGBranch"
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   351
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   352
    ^self parseBranches
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   353
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   354
    "Created: / 27-11-2012 / 19:16:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   355
    "Modified: / 27-11-2012 / 20:21:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   356
!
25e8ff9d2a31 Added read-only support for branches.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   357
106
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   358
parseCommandHeads
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   359
    "Parse output of 'hg heads' command, assuming the template given
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   360
     was HGCommandParser templateHeads. Return a list of HGChangesetId."
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   361
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   362
    | ids |
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   363
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   364
    ids := OrderedCollection new.
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   365
    [ stream atEnd ] whileFalse:[
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   366
        ids add: self parseNodeId. self expectLineEnd.
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   367
    ].
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   368
    ^ids
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   369
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   370
    "Created: / 27-11-2012 / 21:24:06 / 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
   371
!
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   372
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   373
parseCommandLocate
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   374
    "Filenames are 0-byte separated. Yeah, Mercurial is easy
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   375
     to parse"
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   376
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   377
    | filenames zero |
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   378
    zero := Character codePoint: 0.
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   379
    filenames := OrderedCollection new.
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   380
    [ stream atEnd ] whileFalse:[
77
b6070a017acd Fixes for ercurial < 2.3
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
   381
        | filename |
b6070a017acd Fixes for ercurial < 2.3
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
   382
b6070a017acd Fixes for ercurial < 2.3
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
   383
        filename := stream upTo: zero.
b6070a017acd Fixes for ercurial < 2.3
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
   384
        "/ Workaround for Mercurial 2.3.x which includes trailing new line
b6070a017acd Fixes for ercurial < 2.3
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
   385
        (filename size ~~ 1 or:[filename first ~~ Character cr]) ifTrue:[
b6070a017acd Fixes for ercurial < 2.3
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
   386
            filenames add:  filename
b6070a017acd Fixes for ercurial < 2.3
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
   387
        ]
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   388
    ].
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   389
    ^filenames.
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   390
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   391
    "Created: / 16-11-2012 / 22:35:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
77
b6070a017acd Fixes for ercurial < 2.3
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 71
diff changeset
   392
    "Modified (comment): / 17-11-2012 / 19:40:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   393
!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   394
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   395
parseCommandLog
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   396
    "Parse output of 'hg log' command, assuming the template given
106
99be3b5a40da Added support for heads (both repository and per-branch)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 105
diff changeset
   397
     was HGCommandParser templateLog. Return a list of HGChangeset."
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   398
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   399
    ^self parseLog
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   400
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   401
    "Created: / 13-11-2012 / 09:09:24 / 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
   402
    "Modified (comment): / 27-11-2012 / 21:24:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   403
!
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   404
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   405
parseCommandStatus
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   406
    | statusesAndPaths |
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   407
    statusesAndPaths := OrderedCollection new.
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   408
    [ stream atEnd ] whileFalse:[
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   409
        | status path |
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   410
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   411
        stream peek == Character space ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   412
            statusesAndPaths last first"status" isAdded ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   413
                stream next.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   414
                self expectSpace.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   415
                path := self nextLine.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   416
                statusesAndPaths last at:1 put: (HGStatus copied source: path)
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   417
            ] ifFalse:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   418
                self error:'Malformed status output, status code expected, got space'
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   419
            ]
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   420
        ] ifFalse:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   421
            status := HGStatus forCode: self next.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   422
            self expectSpace.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   423
            path := self nextLine.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   424
            statusesAndPaths add: { status . path }
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   425
        ].
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   426
    ].
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   427
    ^ statusesAndPaths
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   428
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   429
    "Created: / 23-10-2012 / 10:57:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   430
    "Modified: / 21-11-2012 / 01:09:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   431
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   432
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   433
parseCommandVersion
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   434
    "Parse output of 'hg --version'"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   435
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   436
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   437
    Mercurial Distributed SCM (version 2.3.2)
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   438
    (see http://mercurial.selenic.com for more information)
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   439
    
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   440
    Copyright (C) 2005-2012 Matt Mackall and others
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   441
    This is free software; see the source for copying conditions. There is NO
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   442
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   443
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   444
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   445
    | major minor revision |
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   446
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   447
    self 
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   448
        expect:'Mercurial'; skipSeparators;
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   449
        expect:'Distributed'; skipSeparators;
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   450
        expect:'SCM'; skipSeparators;
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   451
        expect:$(; skipSeparators;
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   452
        expect:'version'.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   453
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   454
    major := self parseInteger.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   455
    self expect:$..
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   456
    minor := self parseInteger.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   457
    stream peek == $. ifTrue:[
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   458
        stream next.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   459
        revision := self parseInteger.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   460
    ].
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   461
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   462
    self skipSeparators.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   463
    self expect:$).
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   464
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   465
    ^(Array with: major with: minor with: revision)
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   466
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   467
    "Created: / 19-11-2012 / 20:19:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   468
! !
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   469
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   470
!HGCommandParser methodsFor:'parsing-utils'!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   471
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   472
expect: aStringOrChar
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   473
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   474
    | c |
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   475
    aStringOrChar isCharacter ifTrue:[
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   476
        (stream atEnd or:[(c := stream next) ~= aStringOrChar]) ifTrue:[
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   477
            self error:('Expected ''%1'' got ''%2''.' bindWith: aStringOrChar with: c).
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   478
        ].
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   479
        ^self.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   480
    ].
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   481
    aStringOrChar isString ifTrue:[
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   482
        aStringOrChar do:[:expected|
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   483
            (stream atEnd or:[(c := stream next) ~= expected]) ifTrue:[
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   484
                self error:('Expected ''%1''.' bindWith: aStringOrChar).
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   485
            ].
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   486
        ].
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   487
        ^self.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   488
    ].
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   489
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   490
    self error:'Invalid expected value'.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   491
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   492
    "Created: / 19-11-2012 / 20:08:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   493
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   494
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   495
expectLineEnd
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   496
    self expect: Character cr.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   497
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   498
    "Created: / 19-11-2012 / 20:06:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   499
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   500
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   501
expectSpace
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   502
    self expect: Character space.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   503
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   504
    "Created: / 19-11-2012 / 20:06:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   505
!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   506
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   507
next
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   508
    ^stream next.
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   509
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   510
    "Created: / 23-10-2012 / 10:57:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   511
!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   512
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   513
nextLine
38
c3d02ed6a645 - HGWorkingCopyFile
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   514
    ^stream nextLine
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   515
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   516
    "Created: / 23-10-2012 / 11:05:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
38
c3d02ed6a645 - HGWorkingCopyFile
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 36
diff changeset
   517
    "Modified: / 09-11-2012 / 12:02:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   518
!
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   519
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   520
skipSeparators
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   521
    stream skipSeparators
39
10e693b3e034 - Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 38
diff changeset
   522
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 77
diff changeset
   523
    "Created: / 19-11-2012 / 20:05:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   524
! !
41cb88196e69 - HGTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 34
diff changeset
   525
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   526
!HGCommandParser class methodsFor:'documentation'!
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   527
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   528
version_HG
115
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   529
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   530
    ^ '$Changeset: <not expanded> $'
54
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   531
!
66045198bfbc More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 51
diff changeset
   532
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   533
version_SVN
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 54
diff changeset
   534
    ^ '§Id::                                                                                                                        §'
34
0ef61b36cfa7 - First bits
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   535
! !