mercurial/HGConfig.st
author Claus Gittinger <cg@exept.de>
Wed, 01 Aug 2018 13:24:07 +0200
branchcvs_MAIN
changeset 853 4e41a616ceca
parent 642 807b812dfe43
permissions -rw-r--r--
#DOCUMENTATION by cg class: HGRepositoryObject comment/format in: #synchronizationSemaphore:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
     1
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
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: 442
diff changeset
     3
Copyright (C) 2012-2015 Jan Vrany
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
     4
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
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: 210
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: 210
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: 210
diff changeset
     8
version 2.1 of the License. 
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
     9
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
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: 210
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: 210
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: 210
diff changeset
    13
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    14
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
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: 210
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: 210
diff changeset
    17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    18
"
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
"{ Package: 'stx:libscm/mercurial' }"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
642
807b812dfe43 class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
    21
"{ NameSpace: Smalltalk }"
807b812dfe43 class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
    22
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
HGRepositoryObject subclass:#HGConfig
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
    24
	instanceVariableNames:'root timestamp'
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    25
	classVariableNames:'UserConfig'
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
	poolDictionaries:''
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	category:'SCM-Mercurial-Core'
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
Object subclass:#Entry
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
	instanceVariableNames:'name value'
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
	classVariableNames:''
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
	poolDictionaries:''
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
	privateIn:HGConfig
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
Dictionary subclass:#Section
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    38
	instanceVariableNames:'name'
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
	classVariableNames:''
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
	poolDictionaries:''
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
	privateIn:HGConfig
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    44
!HGConfig class methodsFor:'documentation'!
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    45
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    46
copyright
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    47
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    48
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 442
diff changeset
    49
Copyright (C) 2012-2015 Jan Vrany
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    50
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    51
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    52
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    53
License as published by the Free Software Foundation; either
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    54
version 2.1 of the License. 
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    55
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    56
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: 210
diff changeset
    57
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    58
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    59
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    60
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    61
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: 210
diff changeset
    62
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: 210
diff changeset
    63
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    64
"
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
    65
! !
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    67
!HGConfig class methodsFor:'accessing'!
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    68
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    69
userConfig
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    70
    UserConfig isNil ifTrue:[ 
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    71
        UserConfig := self new.
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    72
    ].
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    73
    ^ UserConfig
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    74
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    75
    "
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    76
    (HGConfig userConfig get:'ui') get:'username'
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    77
    "
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    78
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    79
    "Created: / 18-02-2014 / 11:14:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    80
! !
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    81
442
55aa4858b532 Fix: added lost HGConfig>>userConfigFileTemplate
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
    82
!HGConfig class methodsFor:'accessing-file templates'!
55aa4858b532 Fix: added lost HGConfig>>userConfigFileTemplate
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
    83
55aa4858b532 Fix: added lost HGConfig>>userConfigFileTemplate
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
    84
userConfigFileTemplate
55aa4858b532 Fix: added lost HGConfig>>userConfigFileTemplate
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
    85
    ^
55aa4858b532 Fix: added lost HGConfig>>userConfigFileTemplate
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
    86
'[ui]
55aa4858b532 Fix: added lost HGConfig>>userConfigFileTemplate
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
    87
# At least, a username is required to commit.
55aa4858b532 Fix: added lost HGConfig>>userConfigFileTemplate
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
    88
username = FirstName LastName <Email>
55aa4858b532 Fix: added lost HGConfig>>userConfigFileTemplate
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
    89
'
55aa4858b532 Fix: added lost HGConfig>>userConfigFileTemplate
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
    90
! !
55aa4858b532 Fix: added lost HGConfig>>userConfigFileTemplate
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 375
diff changeset
    91
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
!HGConfig class methodsFor:'accessing-files'!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    94
userConfigFile
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    95
    "Return user config file"
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    96
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    97
    | files |
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    98
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    99
    files := self userConfigFiles.
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   100
    ^ files detect:[:e | e asFilename exists ] ifNone:[ files first ].
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   101
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   102
    "Created: / 18-02-2014 / 10:33:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   103
!
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   104
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
userConfigFiles
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
    "Return a list of per-user config files"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
    OperatingSystem isMSWINDOWSlike ifTrue:[
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
        ^{
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
            Filename homeDirectory / '.hgrc' .
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
            Filename homeDirectory / 'Mercurial.ini'
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
        }
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
    ].
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
    OperatingSystem isUNIXlike ifTrue:[
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
        ^{
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
            Filename homeDirectory / '.hgrc' .
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
        }
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
    ].
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
    self error:'Unsupported operating system'
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
    "Created: / 06-12-2012 / 20:30:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
    "Modified (format): / 06-12-2012 / 21:34:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
! !
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
!HGConfig methodsFor:'accessing'!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
at: key
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    ^self root at:key
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
    "Created: / 06-12-2012 / 20:22:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
at: key ifAbsent: block
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
    ^self root at:key ifAbsent: block
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
    "Created: / 06-12-2012 / 20:23:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
at: key ifAbsentPut: block
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
    ^self root at:key ifAbsentPut: block
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
    "Created: / 06-12-2012 / 20:23:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
at: key put: val
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
    ^self root at:key put: val
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
    "Created: / 06-12-2012 / 20:23:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
get: key
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
    ^self root get:key
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
    "Created: / 06-12-2012 / 20:22:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   157
!
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   158
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   159
get: key default: default
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   160
    ^self root get:key default: default
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   161
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   162
    "Created: / 07-12-2012 / 15:46:07 / jv"
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
! !
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   165
!HGConfig methodsFor:'accessing-common values'!
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   166
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   167
ui_username
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   168
    ^ self get:#(ui username) default: nil.
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   169
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   170
    "
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   171
    HGConfig userConfig ui_username
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   172
    "
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   173
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   174
    "Created: / 18-02-2014 / 11:24:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   175
! !
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   176
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
!HGConfig methodsFor:'private'!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
mustReload
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
    root isNil ifTrue:[ ^ true ].
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   181
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   182
    repository notNil ifTrue:[
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   183
        (self mustReloadBecauseOf: repository path / '.hg' / 'hgrc') ifTrue:[
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   184
            ^true
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   185
        ].
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   186
    ].
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   187
    HGConfig userConfigFiles do:[:e|
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   188
        (self mustReloadBecauseOf: e) ifTrue:[ ^ true ].
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   189
    ].
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
    ^false
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
    "Created: / 06-12-2012 / 21:38:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   193
    "Modified: / 07-12-2012 / 16:28:33 / jv"
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   194
    "Modified: / 18-02-2014 / 11:20:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   195
!
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   196
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   197
mustReloadBecauseOf: filenameOrString
150
1813913f6106 Addec HGRepositoru>>remotes returning list of remote repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   198
    "Return true, if config must be reloaded because file is newer"
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   199
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   200
    | filename |
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   201
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   202
    filename := filenameOrString asFilename.
150
1813913f6106 Addec HGRepositoru>>remotes returning list of remote repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   203
    "/compensate for lack of milliseconds in OS time ---v
1813913f6106 Addec HGRepositoru>>remotes returning list of remote repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   204
    ^filename exists and:[(filename modificationTime + 1000) >= timestamp].
146
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   205
1015b8f6dc1c Added check for author signature before commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 145
diff changeset
   206
    "Created: / 07-12-2012 / 16:26:38 / jv"
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   207
    "Modified: / 18-02-2014 / 12:33:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
root
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
    self mustReload ifTrue:[
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   212
        | command |    
150
1813913f6106 Addec HGRepositoru>>remotes returning list of remote repositories.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   213
        timestamp := Timestamp now.
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   214
        command :=HGCommand showconfig.
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   215
        repository notNil ifTrue:[
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   216
            command workingDirectory: repository pathName.
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   217
        ].
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   218
        root := command execute.
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
    ].
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
    ^root
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
    "Created: / 06-12-2012 / 20:25:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   223
    "Modified: / 18-02-2014 / 11:16:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
! !
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
!HGConfig::Entry methodsFor:'accessing'!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
name
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
    ^ name
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
value
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
    ^ value
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
! !
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
!HGConfig::Entry methodsFor:'initialization'!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
setName: nm value: val
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
    name := nm.
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
    value := val.
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
    "Created: / 06-12-2012 / 19:29:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
! !
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
!HGConfig::Entry methodsFor:'testing'!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
isEntry
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
    ^true
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
    "Created: / 06-12-2012 / 19:36:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
isSection
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
    ^false
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
    "Created: / 06-12-2012 / 19:36:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
! !
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
!HGConfig::Section methodsFor:'accessing'!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
get: key
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
    | entry |
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
    entry := self.
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
    (key isCollection and:[key isString not]) ifTrue:[
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
        key do:[:e|entry := entry at: e]
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
    ] ifFalse:[
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
        entry := entry at:key.
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
    ].
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
    ^entry value
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
    "Created: / 06-12-2012 / 20:01:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
    "Modified: / 06-12-2012 / 21:48:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
get: key default: default
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
    | entry |
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
    entry := self.
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
    (key isCollection and:[key isString not]) ifTrue:[
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
        key do:[:e|entry := entry at: e ifAbsent:[ ^ default ]]
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
    ] ifFalse:[
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
        entry := entry at:key ifAbsent:[ ^ default ].
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
    ].
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
    ^entry value
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
    "Created: / 06-12-2012 / 20:07:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
    "Modified: / 06-12-2012 / 21:49:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
name
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
    ^ name
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
! !
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
!HGConfig::Section methodsFor:'initialization'!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
setName: nm 
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
    name := nm.
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
    "Created: / 06-12-2012 / 19:57:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
375
6ecd3ade39be More sanity check in HG settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   302
    "Modified: / 18-02-2014 / 12:31:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
! !
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
!HGConfig::Section methodsFor:'testing'!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   307
isEntry
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
    ^false
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
    "Created: / 06-12-2012 / 19:36:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   313
isSection
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   314
    ^true
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   315
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   316
    "Created: / 06-12-2012 / 19:36:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   317
! !
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   318
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   319
!HGConfig class methodsFor:'documentation'!
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
642
807b812dfe43 class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   321
version
807b812dfe43 class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   322
    ^ '$Header$'
807b812dfe43 class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   323
!
807b812dfe43 class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   324
807b812dfe43 class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   325
version_CVS
807b812dfe43 class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   326
    ^ '$Header$'
807b812dfe43 class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   327
!
807b812dfe43 class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   328
145
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
version_HG
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   331
    ^ '$Changeset: <not expanded> $'
1b8652185a8f Added HGRepository>>config.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
! !
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   333