author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Tue, 25 Sep 2018 12:33:31 +0100 | |
changeset 861 | e1e8c087aaef |
parent 858 | dcfd093c3257 |
child 919 | db2ebeb3fa00 |
permissions | -rw-r--r-- |
210 | 1 |
" |
335
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
2 |
stx:libscm - a new source code management library for Smalltalk/X |
509
f92210d4585b
Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
372
diff
changeset
|
3 |
Copyright (C) 2012-2015 Jan Vrany |
335
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
4 |
|
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
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:
282
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:
282
diff
changeset
|
7 |
License as published by the Free Software Foundation; either |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
8 |
version 2.1 of the License. |
210 | 9 |
|
335
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
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:
282
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:
282
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:
282
diff
changeset
|
13 |
Lesser General Public License for more details. |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
14 |
|
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
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:
282
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:
282
diff
changeset
|
17 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
210 | 18 |
" |
36 | 19 |
"{ Package: 'stx:libscm/mercurial' }" |
20 |
||
567
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
21 |
"{ NameSpace: Smalltalk }" |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
22 |
|
103
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
23 |
ByteArray variableByteSubclass:#HGChangesetId |
39
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
24 |
instanceVariableNames:'revno' |
36 | 25 |
classVariableNames:'NullId' |
26 |
poolDictionaries:'' |
|
27 |
category:'SCM-Mercurial-Core' |
|
28 |
! |
|
29 |
||
103
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
30 |
!HGChangesetId class methodsFor:'documentation'! |
69
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
31 |
|
210 | 32 |
copyright |
33 |
" |
|
335
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
34 |
stx:libscm - a new source code management library for Smalltalk/X |
509
f92210d4585b
Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
372
diff
changeset
|
35 |
Copyright (C) 2012-2015 Jan Vrany |
335
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
36 |
|
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
37 |
This library is free software; you can redistribute it and/or |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
38 |
modify it under the terms of the GNU Lesser General Public |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
39 |
License as published by the Free Software Foundation; either |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
40 |
version 2.1 of the License. |
210 | 41 |
|
335
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
42 |
This library is distributed in the hope that it will be useful, |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
43 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
44 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
45 |
Lesser General Public License for more details. |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
46 |
|
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
47 |
You should have received a copy of the GNU Lesser General Public |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
48 |
License along with this library; if not, write to the Free Software |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
282
diff
changeset
|
49 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
210 | 50 |
" |
51 |
! |
|
52 |
||
69
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
53 |
documentation |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
54 |
" |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
55 |
Represent a changeset id in Mercurial repository. |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
56 |
|
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
57 |
!!!!!! WARNING !!!!!! |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
58 |
|
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
59 |
Due to a stupid design here, DO NOT USE put it into hashed collections!! |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
60 |
I have to change it later... |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
61 |
|
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
62 |
[author:] |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
63 |
Jan Vrany <jan.vrany@fit.cvut.cz> |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
64 |
|
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
65 |
[instance variables:] |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
66 |
|
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
67 |
[class variables:] |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
68 |
|
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
69 |
[see also:] |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
70 |
|
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
71 |
" |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
72 |
! ! |
36 | 73 |
|
103
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
74 |
!HGChangesetId class methodsFor:'instance creation'! |
36 | 75 |
|
567
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
76 |
decodeFromLiteralArray:anArray |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
77 |
anArray size == 2 ifTrue:[ |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
78 |
"/ HGChangesetId 'hash-string' |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
79 |
^ self readFrom:(anArray at:2). |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
80 |
]. |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
81 |
|
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
82 |
^ super decodeFromLiteralArray:anArray |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
83 |
|
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
84 |
" |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
85 |
#(HGChangesetId 'f6f68d32de73') decodeAsLiteralArray literalArrayEncoding |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
86 |
" |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
87 |
|
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
88 |
"Created: / 07-09-2015 / 17:43:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
89 |
! |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
90 |
|
36 | 91 |
fromBytes: aByteArrayOrString |
92 |
||
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
93 |
| sz | |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
94 |
|
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
95 |
sz := aByteArrayOrString size. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
96 |
(sz ~~ 20 and:[sz ~~ 6]) ifTrue:[ |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
97 |
self error:'Node ID has either 20 or 6 bytes (short form)'. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
98 |
^nil. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
99 |
]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
100 |
^(self new: sz) replaceBytesFrom: 1 to: sz with: aByteArrayOrString startingAt: 1 |
36 | 101 |
|
102 |
"Created: / 25-09-2012 / 21:00:06 / 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
|
103 |
"Modified: / 13-11-2012 / 16:47:40 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
36 | 104 |
! |
105 |
||
106 |
fromString: aString |
|
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
107 |
^self readFrom: aString readStream |
36 | 108 |
|
109 |
"Created: / 10-09-2012 / 10:49:43 / 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
|
110 |
"Modified: / 13-11-2012 / 16:49:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
36 | 111 |
! |
112 |
||
113 |
new |
|
114 |
^self new: 20 |
|
115 |
||
116 |
"Created: / 10-09-2012 / 10:42:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
117 |
"Modified: / 19-10-2012 / 15:51:45 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
118 |
! |
|
119 |
||
120 |
new: size |
|
69
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
121 |
(size ~~ 0 and:[size ~~ 20 and:[size ~~ 6]]) ifTrue:[ |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
122 |
self error: 'Size of HGNodeId must be either 20 bytes or 6 bytes (short form) or 0 (revno only)'. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
123 |
^nil. |
36 | 124 |
]. |
125 |
^super new: size |
|
126 |
||
127 |
"Created: / 10-09-2012 / 10:44:00 / 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
|
128 |
"Modified: / 16-11-2012 / 21:24: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
|
129 |
! |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
130 |
|
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
131 |
readFrom: aStringOrStream |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
132 |
^self readFrom: aStringOrStream onError:[:msg|self error:msg]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
133 |
|
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
134 |
"Created: / 13-11-2012 / 16:56:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
135 |
! |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
136 |
|
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
137 |
readFrom: aStringOrStream onError: aBlock |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
138 |
"Parses node id from stream and returns it. Support both, |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
139 |
short and full node ids" |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
140 |
|
688
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
141 |
| stream c c1 c2 sign revno hash hashPos charPos short | |
189
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
142 |
|
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
143 |
hash := ByteArray new: 20. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
144 |
hashPos := 1. |
688
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
145 |
charPos := 0. |
189
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
146 |
short := true. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
147 |
revno := 0. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
148 |
|
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
149 |
stream := aStringOrStream readStream. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
150 |
stream peek == $- ifTrue:[ |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
151 |
stream next. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
152 |
sign := -1. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
153 |
] ifFalse:[ |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
154 |
sign := 1. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
155 |
]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
156 |
|
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
157 |
"/ Read revno... |
189
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
158 |
|
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
159 |
[ stream atEnd not and:[(c := stream peek) isDigit] ] whileTrue:[ |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
160 |
"/ Update revno |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
161 |
revno := (revno * 10) + c digitValue. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
162 |
"/ Update hash for case we're reading hash instead..." |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
163 |
c1 isNil ifTrue:[ |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
164 |
c1 := c. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
165 |
] ifFalse:[ |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
166 |
c2 := c. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
167 |
hash at:hashPos put: (c1 digitValue << 4) | c2 digitValue. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
168 |
hashPos := hashPos + 1. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
169 |
c1 := c2 := nil. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
170 |
]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
171 |
stream next. |
688
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
172 |
charPos := charPos + 1. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
173 |
]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
174 |
revno := revno * sign. |
688
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
175 |
stream atEnd ifTrue:[ |
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
176 |
"/ We might have read revno or a short hash that by chance |
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
177 |
"/ consist of only digits and not leading with 0. In this case |
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
178 |
"/ we actually cannot distinguish. |
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
179 |
"/ In case we have read less than 12 characters (size of a short id), |
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
180 |
"/ treat it as revno. A conservative guess... |
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
181 |
charPos < 12 ifTrue:[ |
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
182 |
^(HGChangesetId new: 0) |
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
183 |
revno: revno; |
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
184 |
yourself |
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
185 |
] |
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
186 |
]. |
c3cb04bed338
Fixed a bug in changeset id parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
567
diff
changeset
|
187 |
(stream atEnd not and:[stream peek isSeparator]) ifTrue:[ |
189
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
188 |
^(HGChangesetId new: 0) |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
189 |
revno: revno; |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
190 |
yourself |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
191 |
]. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
192 |
stream peek == $: ifTrue:[ |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
193 |
"/OK. we have read revno" |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
194 |
hashPos := 1. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
195 |
c1 := c2 := nil. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
196 |
stream next. "/eat : |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
197 |
] ifFalse:[ |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
198 |
revno := nil. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
199 |
]. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
200 |
"/ Read hash |
189
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
201 |
hashPos <= 6 ifTrue:[ |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
202 |
hashPos to: 6 do:[:i| |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
203 |
stream atEnd ifTrue:[ |
738 | 204 |
^ aBlock valueWithOptionalArgument:'Unexpected end of stream, hex digit expected'. |
189
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
205 |
]. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
206 |
c1 isNil ifTrue:[ |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
207 |
c1 := stream peek. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
208 |
c1 isHexDigit ifFalse:[ |
738 | 209 |
^ aBlock valueWithOptionalArgument:'Hex digit ([0-9a-z]) expected but ', c1 , ' found'. |
189
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
210 |
]. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
211 |
stream next. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
212 |
]. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
213 |
stream atEnd ifTrue:[ |
738 | 214 |
^ aBlock valueWithOptionalArgument:'Unexpected end of stream, hex digit expected'. |
189
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
215 |
]. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
216 |
c2 := stream peek. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
217 |
c2 isHexDigit ifFalse:[ |
858
dcfd093c3257
Fix bad error messages in `HGChangesetId` parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
807
diff
changeset
|
218 |
^ aBlock valueWithOptionalArgument:'Hex digit ([0-9a-z]) expected but ', c2 , ' found'. |
189
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
219 |
]. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
220 |
hash at:i put: (c1 digitValue << 4) | c2 digitValue. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
221 |
hashPos := i + 1. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
222 |
c1 := c2 := nil. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
223 |
stream next. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
224 |
]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
225 |
]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
226 |
(stream atEnd not and:[stream peek isHexDigit]) ifTrue:[ |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
227 |
"/OK, full 40-char node id |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
228 |
short := false. |
189
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
229 |
hashPos to: 20 do:[:i| |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
230 |
stream atEnd ifTrue:[ |
738 | 231 |
^ aBlock valueWithOptionalArgument:'Unexpected end of stream, hex digit expected'. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
232 |
]. |
189
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
233 |
c1 := stream peek. |
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
234 |
c1 isHexDigit ifFalse:[ |
738 | 235 |
^ aBlock valueWithOptionalArgument:'Hex digit ([0-9a-z]) expected but ', c1 , ' found'. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
236 |
]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
237 |
stream next. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
238 |
stream atEnd ifTrue:[ |
738 | 239 |
^ aBlock valueWithOptionalArgument:'Unexpected end of stream, hex digit expected'. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
240 |
]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
241 |
c2 := stream peek. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
242 |
c2 isHexDigit ifFalse:[ |
858
dcfd093c3257
Fix bad error messages in `HGChangesetId` parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
807
diff
changeset
|
243 |
^ aBlock valueWithOptionalArgument:'Hex digit ([0-9a-z]) expected but ', c2 , ' found'. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
244 |
]. |
189
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
245 |
hash at:i put: (c1 digitValue << 4) + c2 digitValue. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
246 |
stream next. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
247 |
]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
248 |
]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
249 |
(revno == -1) ifTrue:[ |
47
250e5d83e34c
stc compilation fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
40
diff
changeset
|
250 |
(hash = #[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] |
250e5d83e34c
stc compilation fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
40
diff
changeset
|
251 |
or:[hash = #[0 0 0 0 0 0]]) ifTrue:[ |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
252 |
^self null |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
253 |
]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
254 |
]. |
47
250e5d83e34c
stc compilation fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
40
diff
changeset
|
255 |
short ifTrue:[ |
103
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
256 |
^(HGChangesetId new: 6) |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
257 |
revno: revno; |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
258 |
replaceBytesFrom: 1 to: 6 with: hash startingAt: 1; |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
259 |
yourself |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
260 |
] ifFalse:[ |
103
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
261 |
^(HGChangesetId fromBytes: hash) revno: revno. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
262 |
] |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
263 |
|
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
264 |
" |
807
ef00a1303f73
Improved parsing of common errors (such as unknown revision)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
796
diff
changeset
|
265 |
HGChangesetId fromString:'4:6f88e1f44d9eb86e0b56ca15e30e5d786acd83c7' |
ef00a1303f73
Improved parsing of common errors (such as unknown revision)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
796
diff
changeset
|
266 |
HGChangesetId readFrom: '96DB65258808720D8D5EA6CB7A6A4D4F4E467325''!!' readStream |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
267 |
|
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
268 |
Bad ones: |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
269 |
|
807
ef00a1303f73
Improved parsing of common errors (such as unknown revision)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
796
diff
changeset
|
270 |
HGChangesetId fromString:'4:6f88e1f44d9eb86e0b56ca15e30e5d786acd' |
ef00a1303f73
Improved parsing of common errors (such as unknown revision)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
796
diff
changeset
|
271 |
HGChangesetId fromString:'4:6f88Z1f44d9eb86e0b56ca15e30e5d786acd83c7' |
ef00a1303f73
Improved parsing of common errors (such as unknown revision)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
796
diff
changeset
|
272 |
|
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
273 |
" |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
274 |
|
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
275 |
"Created: / 13-11-2012 / 16:49:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
858
dcfd093c3257
Fix bad error messages in `HGChangesetId` parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
807
diff
changeset
|
276 |
"Modified: / 23-08-2018 / 10:30:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
36 | 277 |
! ! |
278 |
||
103
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
279 |
!HGChangesetId class methodsFor:'accessing'! |
36 | 280 |
|
281 |
null |
|
282 |
NullId isNil ifTrue:[ |
|
39
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
283 |
NullId := self new. |
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
284 |
NullId revno: -1 |
36 | 285 |
]. |
286 |
^NullId |
|
287 |
||
39
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
288 |
" |
116
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
289 |
HGChangesetId null |
39
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
290 |
" |
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
291 |
|
36 | 292 |
"Created: / 19-10-2012 / 15:51:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
116
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
293 |
"Modified (comment): / 30-11-2012 / 22:00:52 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
39
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
294 |
! ! |
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
295 |
|
103
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
296 |
!HGChangesetId methodsFor:'accessing'! |
39
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
297 |
|
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
298 |
revno |
116
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
299 |
^ revno |
39
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
300 |
|
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
301 |
"Created: / 13-11-2012 / 09:52:02 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
116
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
302 |
"Modified: / 30-11-2012 / 22:05:47 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
39
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
303 |
! |
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
304 |
|
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
305 |
revno:anInteger |
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
306 |
revno := anInteger. |
36 | 307 |
! ! |
308 |
||
103
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
309 |
!HGChangesetId methodsFor:'comparing'! |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
310 |
|
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
311 |
= anotherId |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
312 |
|
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
313 |
self class == anotherId class ifFalse:[ ^ false]. |
69
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
314 |
(self size == 0 or:[anotherId size == 0]) ifTrue:[ |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
315 |
^(self revno == anotherId revno and:[ self revno ~~ -2 ]) |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
316 |
]. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
317 |
self size == anotherId size ifTrue:[ |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
318 |
^super = anotherId |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
319 |
]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
320 |
"One of them must be short, another long" |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
321 |
1 to: 6 do:[:i| |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
322 |
(self at:i) ~~ (anotherId at:i) ifTrue:[ ^ false ]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
323 |
]. |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
324 |
^true |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
325 |
|
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
326 |
"Created: / 13-11-2012 / 17:37:48 / 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
|
327 |
"Modified: / 16-11-2012 / 21:39:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
328 |
! |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
329 |
|
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
330 |
hash |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
331 |
^self size > 0 |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
332 |
ifTrue:[self computeXorHashFrom:1 to:6] |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
333 |
ifFalse:[revno hash]. |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
334 |
|
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
335 |
"Created: / 16-11-2012 / 21:45:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
336 |
! ! |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
337 |
|
103
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
338 |
!HGChangesetId methodsFor:'converting'! |
69
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
339 |
|
103
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
340 |
asHGChangesetId |
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
341 |
^ self |
69
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
342 |
|
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
343 |
"Created: / 16-11-2012 / 21:22:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
73
eb731ce2685e
Fixed HGStXTests>>test_commit_01
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
69
diff
changeset
|
344 |
! |
eb731ce2685e
Fixed HGStXTests>>test_commit_01
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
69
diff
changeset
|
345 |
|
372
5acd6d915c77
Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
346 |
asHGRevset |
5acd6d915c77
Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
347 |
^ self asString asHGRevset |
5acd6d915c77
Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
348 |
|
5acd6d915c77
Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
349 |
"Created: / 07-02-2014 / 13:03:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
5acd6d915c77
Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
350 |
! |
5acd6d915c77
Added HGRevset to fetch revision log using hg revsets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
351 |
|
73
eb731ce2685e
Fixed HGStXTests>>test_commit_01
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
69
diff
changeset
|
352 |
asString |
796
ae6b5b28acd5
Fixed `HGChangesetId >> asString` to print only commit id
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
738
diff
changeset
|
353 |
self hasRevnoOnly ifTrue:[ |
ae6b5b28acd5
Fixed `HGChangesetId >> asString` to print only commit id
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
738
diff
changeset
|
354 |
^ revno printString |
ae6b5b28acd5
Fixed `HGChangesetId >> asString` to print only commit id
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
738
diff
changeset
|
355 |
] ifFalse:[ |
ae6b5b28acd5
Fixed `HGChangesetId >> asString` to print only commit id
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
738
diff
changeset
|
356 |
^ self hexPrintString asLowercase |
ae6b5b28acd5
Fixed `HGChangesetId >> asString` to print only commit id
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
738
diff
changeset
|
357 |
]. |
73
eb731ce2685e
Fixed HGStXTests>>test_commit_01
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
69
diff
changeset
|
358 |
|
eb731ce2685e
Fixed HGStXTests>>test_commit_01
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
69
diff
changeset
|
359 |
"Created: / 17-11-2012 / 01:08:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
796
ae6b5b28acd5
Fixed `HGChangesetId >> asString` to print only commit id
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
738
diff
changeset
|
360 |
"Modified: / 30-10-2017 / 20:48:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
567
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
361 |
! |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
362 |
|
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
363 |
literalArrayEncoding |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
364 |
^ Array |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
365 |
with:(self class name) |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
366 |
with:(self printStringWithoutNumber). |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
367 |
" |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
368 |
#(HGChangesetId 'f6f68d32de73') decodeAsLiteralArray literalArrayEncoding |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
369 |
" |
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
370 |
|
3f2109adb65c
Added support for monticello splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
509
diff
changeset
|
371 |
"Created: / 07-09-2015 / 17:43:55 / 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
|
372 |
! ! |
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
373 |
|
103
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
374 |
!HGChangesetId methodsFor:'printing & storing'! |
36 | 375 |
|
376 |
displayOn:aStream |
|
116
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
377 |
|
39
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
378 |
^self printOn: aStream |
36 | 379 |
|
39
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
380 |
"Created: / 13-11-2012 / 09:55:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
116
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
381 |
"Modified: / 30-11-2012 / 22:01:12 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
36 | 382 |
! |
383 |
||
384 |
printOn:aStream |
|
385 |
"append a printed representation if the receiver to the argument, aStream" |
|
386 |
||
39
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
387 |
| rn | |
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
388 |
|
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
389 |
rn := self revno. |
116
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
390 |
rn notNil ifTrue:[ |
39
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
391 |
rn printOn: aStream. |
116
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
392 |
self isEmpty ifTrue:[ ^ self ]. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
393 |
aStream nextPut: $:. |
39
10e693b3e034
- Support for commit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
36
diff
changeset
|
394 |
]. |
40
e3699c0b00f9
Baisc support for changesets (revision log)
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
39
diff
changeset
|
395 |
|
116
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
396 |
aStream nextPutAll: (self copyTo: 6) hexPrintString asLowercase |
69
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
397 |
|
118
5a8b78ad48ae
Refactoring (part 2): Rename SCMAbstractPackageModel>>workingCopy to temporaryWorkingCopy
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
398 |
"Modified: / 01-12-2012 / 00:55:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
280
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
210
diff
changeset
|
399 |
! |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
210
diff
changeset
|
400 |
|
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
210
diff
changeset
|
401 |
printStringWithoutNumber |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
210
diff
changeset
|
402 |
^(self copyTo: 6) hexPrintString asLowercase |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
210
diff
changeset
|
403 |
|
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
210
diff
changeset
|
404 |
"Created: / 27-03-2013 / 11:52:25 / 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
|
405 |
! ! |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
406 |
|
103
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
407 |
!HGChangesetId methodsFor:'queries'! |
36 | 408 |
|
69
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
409 |
hasHashOnly |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
410 |
^revno isNil |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
411 |
|
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
412 |
"Created: / 16-11-2012 / 21:54:38 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
413 |
! |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
414 |
|
194
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
415 |
hasRevno |
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
416 |
^revno notNil |
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
417 |
|
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
418 |
"Created: / 22-01-2013 / 22:30:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
419 |
! |
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
420 |
|
69
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
421 |
hasRevnoOnly |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
422 |
^self size == 0 |
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
423 |
|
17045d49309f
Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
54
diff
changeset
|
424 |
"Created: / 16-11-2012 / 21:54:18 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
282
fb71143ed353
Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
280
diff
changeset
|
425 |
! |
fb71143ed353
Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
280
diff
changeset
|
426 |
|
fb71143ed353
Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
280
diff
changeset
|
427 |
isNull |
fb71143ed353
Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
280
diff
changeset
|
428 |
^(revno isNil or:[revno == -1]) |
fb71143ed353
Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
280
diff
changeset
|
429 |
and:[self allSatisfy:[:e|e == 0]] |
fb71143ed353
Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
280
diff
changeset
|
430 |
|
fb71143ed353
Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
280
diff
changeset
|
431 |
"Created: / 01-04-2013 / 13:03:14 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
36 | 432 |
! ! |
433 |
||
165
4f6432cf4240
Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
118
diff
changeset
|
434 |
!HGChangesetId methodsFor:'testing'! |
4f6432cf4240
Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
118
diff
changeset
|
435 |
|
194
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
436 |
isFull |
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
437 |
"Return true, if given changeset id is shortened" |
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
438 |
|
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
439 |
^self size = 20 |
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
440 |
|
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
441 |
"Created: / 22-01-2013 / 22:28:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
442 |
! |
3874039d3135
More bugfixes regarding lazy changeset loading.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
189
diff
changeset
|
443 |
|
165
4f6432cf4240
Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
118
diff
changeset
|
444 |
isShort |
4f6432cf4240
Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
118
diff
changeset
|
445 |
"Return true, if given changeset id is shortened" |
4f6432cf4240
Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
118
diff
changeset
|
446 |
|
4f6432cf4240
Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
118
diff
changeset
|
447 |
^self size < 20 |
4f6432cf4240
Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
118
diff
changeset
|
448 |
|
4f6432cf4240
Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
118
diff
changeset
|
449 |
"Created: / 16-12-2012 / 00:54:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4f6432cf4240
Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
118
diff
changeset
|
450 |
! ! |
4f6432cf4240
Added support for lazy changesets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
118
diff
changeset
|
451 |
|
103
04731ef44417
HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
452 |
!HGChangesetId class methodsFor:'documentation'! |
36 | 453 |
|
54
66045198bfbc
More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
47
diff
changeset
|
454 |
version_HG |
115
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
103
diff
changeset
|
455 |
|
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
103
diff
changeset
|
456 |
^ '$Changeset: <not expanded> $' |
54
66045198bfbc
More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
47
diff
changeset
|
457 |
! |
66045198bfbc
More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
47
diff
changeset
|
458 |
|
36 | 459 |
version_SVN |
738 | 460 |
^ 'Id:: ' |
36 | 461 |
! ! |
189
3d6c123a7295
HGChangesetId>>readFrom: now supports revno-only and hash-only form of CS IDs.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
165
diff
changeset
|
462 |