SVNSourceCodeManager.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 13 Mar 2012 19:12:43 +0100
changeset 1061 1bd5efd9d6f2
parent 1059 f37fb1ed1182
child 1064 6329f1ac5763
permissions -rw-r--r--
workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     1
"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     4
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     5
 Permission is hereby granted, free of charge, to any person
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     6
 obtaining a copy of this software and associated documentation
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     7
 files (the 'Software'), to deal in the Software without
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     8
 restriction, including without limitation the rights to use,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     9
 copy, modify, merge, publish, distribute, sublicense, and/or sell
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    10
 copies of the Software, and to permit persons to whom the
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    11
 Software is furnished to do so, subject to the following
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    12
 conditions:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    13
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    14
 The above copyright notice and this permission notice shall be
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    15
 included in all copies or substantial portions of the Software.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    16
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    17
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    18
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    19
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    20
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    21
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    22
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    23
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    24
 OTHER DEALINGS IN THE SOFTWARE.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    25
"
482
cd24ab77ae56 *** empty log message ***
fm
parents: 378
diff changeset
    26
"{ Package: 'stx:libsvn' }"
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    27
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    28
AbstractSourceCodeManager subclass:#SVNSourceCodeManager
956
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
    29
	instanceVariableNames:''
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
    30
	classVariableNames:'LoadInProgressQuery'
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
    31
	poolDictionaries:''
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
    32
	category:'System-SourceCodeManagement'
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    33
!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    34
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    35
SourceCodeManagerUtilities subclass:#Utilities
956
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
    36
	instanceVariableNames:''
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
    37
	classVariableNames:''
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
    38
	poolDictionaries:''
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
    39
	privateIn:SVNSourceCodeManager
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    40
!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    41
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    42
!SVNSourceCodeManager class methodsFor:'documentation'!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    43
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    44
copyright
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    45
"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    46
 Copyright (c) 2007-2010 Jan Vrany
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    47
 Copyright (c) 2009-2010 eXept Software AG
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    48
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    49
 Permission is hereby granted, free of charge, to any person
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    50
 obtaining a copy of this software and associated documentation
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    51
 files (the 'Software'), to deal in the Software without
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    52
 restriction, including without limitation the rights to use,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    53
 copy, modify, merge, publish, distribute, sublicense, and/or sell
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    54
 copies of the Software, and to permit persons to whom the
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    55
 Software is furnished to do so, subject to the following
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    56
 conditions:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    57
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    58
 The above copyright notice and this permission notice shall be
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    59
 included in all copies or substantial portions of the Software.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    60
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    61
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    62
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    63
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    64
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    65
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    66
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    67
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    68
 OTHER DEALINGS IN THE SOFTWARE.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    69
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    70
"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    71
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    72
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    73
documentation
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    74
"
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    75
    For now, this is a dummy SourceCodeManager.
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    76
    It is only provided to deliver the correct versionMethodNameTemplates
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    77
    and versionMethod names.
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    78
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    79
    Might get more in the future.
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    80
"
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    81
! !
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    82
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    83
!SVNSourceCodeManager class methodsFor:'* As yet uncategorized *'!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    84
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    85
checkin:filename text:contents directory:directory module:module logMessage: message force: force
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    86
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    87
    | branch wc status |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    88
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    89
    self shouldImplement.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    90
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    91
    branch := self branchForModule: module directory: directory.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    92
    wc := branch repository workingCopy.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    93
    wc ensureIsValid.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    94
    (wc path / filename) writingFileDo:[:s|s nextPutAll: contents].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    95
    status := wc status: { filename }.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    96
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    97
    "Created: / 27-11-2011 / 22:51:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    98
!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
    99
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   100
removeContainer:container inModule:module directory:directory
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   101
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   102
    | repo wc |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   103
    repo := self repositoryForModule: module directory: directory.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   104
    repo isNil ifTrue:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   105
        self error:'No SVN repository'.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   106
        ^self
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   107
    ].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   108
    wc := repo workingCopy.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   109
    wc delete: container
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   110
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   111
    "Created: / 23-12-2011 / 18:20:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   112
! !
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   113
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   114
!SVNSourceCodeManager class methodsFor:'Signal constants'!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   115
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   116
loadInProgressQuery
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   117
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   118
    LoadInProgressQuery ifNil:
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   119
        [LoadInProgressQuery := QuerySignal new].
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   120
    ^LoadInProgressQuery
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   121
! !
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   122
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   123
!SVNSourceCodeManager class methodsFor:'accessing'!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   124
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   125
repositoryNameForPackage:packageId 
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   126
    "superclass AbstractSourceCodeManager class says that I am responsible to implement this method"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   127
    
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   128
    |repo|
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   129
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   130
    repo := SVN::RepositoryManager current repositoryForPackage:packageId.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   131
    repo isNil ifTrue:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   132
        ^ 'N/A'
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   133
    ] ifFalse:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   134
        ^ repo url asString
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   135
    ]
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   136
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   137
    "Modified: / 10-10-2011 / 19:49:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   138
!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   139
968
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   140
shownInBrowserMenus
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   141
    "can be redefined in subclasses which can be suppressed in the browser's menus"
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   142
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   143
    ^ UserPreferences current svnEnabled
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   144
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   145
    "Created: / 08-01-2012 / 19:56:22 / cg"
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   146
    "Created: / 19-01-2012 / 13:11:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   147
!
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   148
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   149
shownInBrowserMenus:aBoolean
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   150
    "can be redefined in subclasses which can be suppressed in the browser's menus"
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   151
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   152
    ^ UserPreferences current svnEnabled: aBoolean
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   153
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   154
    "Created: / 19-01-2012 / 13:11:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   155
!
6d8ea40478b6 added shownInBrowserMenus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 956
diff changeset
   156
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   157
utilities
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   158
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   159
    ^Utilities forManager: self.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   160
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   161
    "Created: / 11-10-2011 / 11:24:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   162
! !
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   163
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   164
!SVNSourceCodeManager class methodsFor:'basic access'!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   165
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   166
checkinClass:aClass fileName:classFileName directory:packageDir module:moduleDir source:sourceFile logMessage:logMessage force:force
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   167
    "checkin of a class into the source repository.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   168
     Return true if ok, false if not."
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   169
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   170
    | repo |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   171
    repo := SVN::RepositoryManager repositoryForModule: moduleDir directory: packageDir.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   172
    repo ifNil:[^false].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   173
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   174
    self shouldImplement: 'Not yet finished'.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   175
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   176
    ^false
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   177
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   178
    "Modified: / 12-10-2011 / 18:50:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   179
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   180
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   181
checkoutModule:aModule directory:aPackage andDo:aBlock
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   182
    "check out everything from a package into a temporary directory.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   183
     Then evaluate aBlock, passing the name of that temp-directory.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   184
     Afterwards, the tempDir is removed.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   185
     Return true, if OK, false if any error occurred."
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   186
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   187
    | pkg tempDir repo workingCopy ok |
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   188
    pkg := (PackageId module: aModule directory: aPackage) asSymbol.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   189
    repo := SVN::RepositoryManager repositoryForPackage: pkg.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   190
    repo ifNil:[self error:('No repository for package %1' bindWith: pkg)].
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   191
    [ok := false.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   192
    tempDir := Filename newTemporaryDirectory.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   193
    workingCopy := repo workingCopyIn: tempDir.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   194
    workingCopy checkout.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   195
    ok := true.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   196
    aBlock value: tempDir] ensure:
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   197
        [[tempDir recursiveRemove]
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   198
            on: Error do:
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   199
                [:ex|
956
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   200
                OperatingSystem isMSWINDOWSlike 
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   201
                    ifTrue:[Delay waitForSeconds: 3.[tempDir recursiveRemove] on: Error do:["nothing"]]
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   202
                    ifFalse:[ex pass]]].
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   203
    ^ok
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   204
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   205
    "Modified: / 19-04-2010 / 20:13:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   206
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   207
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   208
streamForClass:aClass fileName:classFileName revision:revisionString directory:packageDir module:moduleDir cache:doCache
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   209
    "extract a classes source code and return an open readStream on it.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   210
     A revision of nil selects the current (in image) revision.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   211
     The classes source code is extracted using the revision and the sourceCodeInfo,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   212
     which itself is extracted from the classes packageString."
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   213
1061
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   214
    | pkg repo rev revInfo |
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   215
    pkg := moduleDir , ':' , packageDir.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   216
    repo := SVN::RepositoryManager repositoryForPackage: pkg.
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   217
    repo ifNil:[^nil].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   218
    (revisionString notNil and:[revisionString ~~ #newest]) ifTrue:[
1061
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   219
        "JV@2012-03-13: HACK, as binaryRevision does not work reliably on 
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   220
         CVS HEAD, sigh"
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   221
        revisionString ~= '0' ifTrue:[
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   222
            rev := SVN::Revision fromString: revisionString.
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   223
        ] ifFalse:[
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   224
            revInfo := aClass revisionInfoOfManager: self.
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   225
            revInfo notNil ifTrue:[
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   226
                rev := revInfo revision
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   227
            ] ifFalse:[                     
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   228
                "Hmmm....what to se here?"
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   229
                rev := SVN::Revision head
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   230
            ]
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   231
        ]
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   232
    ] ifFalse:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   233
        rev := SVN::Revision head.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   234
    ].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   235
    doCache ifTrue:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   236
        ^SourceCodeCache default
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   237
            streamForClass:aClass 
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   238
            fileName:classFileName 
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   239
            revision:revisionString 
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   240
            repository: 'svn' "TODO: Use repository ID here" 
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   241
            module:moduleDir 
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   242
            directory:packageDir 
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   243
            ifAbsent: [:destination|
1059
f37fb1ed1182 changed: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1021
diff changeset
   244
                ActivityNotification notify: ('Checking out ', classFileName , '@' , rev asString , '...').
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   245
                [SVN::ExportCommand new
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   246
                    branch: repo branch;
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   247
                    path: classFileName;
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   248
                    revision: rev;
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   249
                    destination: destination pathName;
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   250
                    execute.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   251
                    destination exists ifTrue:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   252
                        destination readStream
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   253
                    ] ifFalse:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   254
                        nil
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   255
                    ]
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   256
                ] on: SVN::SVNError do:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   257
                    nil                    
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   258
                ]
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   259
            ]            
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   260
    ] ifFalse:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   261
        ^[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   262
            (repo cat: classFileName revision: rev) readStream
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   263
        ] on: SVN::SVNError do:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   264
            nil        
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   265
        ]
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   266
    ]
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   267
1059
f37fb1ed1182 changed: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1021
diff changeset
   268
    "Modified: / 13-03-2012 / 15:33:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1061
1bd5efd9d6f2 workaround for CVS HEAD libbasic: #streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1059
diff changeset
   269
    "Modified: / 13-03-2012 / 18:11:10 / Jan Vrany <jan.vrany.fit.cvut.cz>"
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   270
! !
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   271
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   272
!SVNSourceCodeManager class methodsFor:'basic administration'!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   273
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   274
checkForExistingContainer:fileName inModule:moduleName directory:dirName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   275
    "check for a container to be present"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   276
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   277
    | repo  |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   278
    repo := SVN::RepositoryManager repositoryForModule: moduleName directory: dirName.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   279
    repo isNil ifTrue:[^self].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   280
    ^repo branch exists: fileName.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   281
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   282
    "Modified: / 11-10-2011 / 11:15:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   283
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   284
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   285
checkForExistingModule:moduleName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   286
    "check for a module directory to be present"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   287
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   288
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   289
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   290
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   291
checkForExistingModule:moduleDir directory:packageDir
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   292
    "check for a package directory to be present"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   293
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   294
    | pkg repo |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   295
    pkg := moduleDir , ':' , packageDir.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   296
    repo := SVN::RepositoryManager repositoryForPackage: pkg.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   297
    ^repo exists
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   298
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   299
    "Modified: / 27-11-2011 / 22:46:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   300
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   301
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   302
createContainerFor:aClass inModule:moduleName directory:dirName container:fileName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   303
    "create a new container & check into it an initial version of aClass"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   304
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   305
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   306
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   307
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   308
createModule:moduleName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   309
    "create a new module directory"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   310
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   311
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   312
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   313
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   314
createModule:module directory:directory
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   315
    "create a new package directory"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   316
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   317
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   318
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   319
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   320
initialRevisionStringFor:aClass inModule:moduleDir directory:packageDir container:fileName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   321
    "return a string usable as initial revision string"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   322
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   323
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   324
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   325
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   326
revisionLogOf:clsOrNil fromRevision:rev1OrNil toRevision:rev2OrNil numberOfRevisions:limitOrNil fileName:classFileName directory:packageDir module:moduleDir
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   327
    "Actually do return a revisionLog. The main worker method."
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   328
    "
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   329
    If numRevisionsOrNil is notNil, it limits the number of revision records returned -
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   330
     only numRevions of the newest revision infos will be collected.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   331
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   332
     The returned information is a structure (IdentityDictionary)
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   333
     filled with:
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   334
            #container          -> the RCS/CVS container file name 
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   335
            #cvsRoot            -> the CVS root (repository) 
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   336
            #filename           -> the actual source file name
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   337
            #newestRevision     -> the revisionString of the newest revision
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   338
            #numberOfRevisions  -> the number of revisions in the container (nil for all)
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   339
            #revisions          -> collection of per-revision info (see below)
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   340
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   341
            firstRevOrNil / lastRevOrNil specify from which revisions a logEntry is wanted:
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   342
             -If firstRevOrNil is nil, the first revision is the initial revision
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   343
              otherwise, the log starts with that revision.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   344
             -If lastRevOrNil is nil, the last revision is the newest revision
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   345
              otherwise, the log ends with that revision.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   346
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   347
             -If both are nil, all logEntries are extracted.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   348
             -If both are 0 (not nil), no logEntries are extracted (i.e. only the header).
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   349
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   350
            per revision info consists of one record per revision:
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   351
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   352
              #revision              -> the revision string
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   353
              #author                -> who checked that revision into the repository
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   354
              #date                  -> when was it checked in
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   355
              #state                 -> the RCS state
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   356
              #numberOfChangedLines  -> the number of changed line w.r.t the previous
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   357
              #logMessage            -> the checkIn log message
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   358
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   359
            revisions are ordered newest first 
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   360
            (i.e. the last entry is for the initial revision; the first for the most recent one)
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   361
            Attention: if state = 'dead' that revision is no longer valid.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   362
    "
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   363
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   364
    | repo log rev1 rev2 limit branch info |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   365
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   366
    repo := SVN::RepositoryManager repositoryForModule: moduleDir directory: packageDir.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   367
    repo isNil ifTrue:[^nil"No repository..."].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   368
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   369
    (rev1OrNil == 0 and:[rev2OrNil == 0]) ifTrue:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   370
        rev1 := SVN::Revision number:0.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   371
        rev2 := SVN::Revision head.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   372
        limit := 1.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   373
    ] ifFalse:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   374
       (rev1OrNil == nil and:[rev2OrNil == nil]) ifTrue:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   375
            rev1 := SVN::Revision number:0.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   376
            rev2 := SVN::Revision head.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   377
            limit := limitOrNil.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   378
        ] ifFalse:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   379
            rev1 := SVN::Revision number: rev1OrNil ? 0.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   380
            rev2 := rev1OrNil isNil ifTrue:[SVN::Revision head] ifFalse:[SVN::Revision number: rev2OrNil].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   381
            limit := limitOrNil.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   382
            self breakPoint: #jv info: 'Review'.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   383
        ]
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   384
    ].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   385
    branch := self branchForModule: moduleDir directory: packageDir.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   386
    branch isNil ifTrue:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   387
        self breakPoint: #jv.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   388
        self error:('No branch for package %1:%2' bindWith: moduleDir with: packageDir) mayProceed: true.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   389
        ^self
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   390
    ].
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   391
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   392
    log := branch log: classFileName limit: limit revisions: (rev2 to: rev1).
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   393
    info := IdentityDictionary new.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   394
    info at:#container          put: classFileName.         "/ -> the revision string
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   395
    info at:#cvsRoot            put: branch url asString.   "/ -> the CVS root (repository)
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   396
    info at:#filename           put: classFileName.         "/ -> the actual source file name
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   397
    info at:#newestRevision     put: log first revision asString. "/-> the revisionString of the newest revision
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   398
    info at:#numberOfRevisions  put: log size.              "/-> the number of revisions in the container (nil for all)
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   399
    info at:#revisions          put: (log collect:[:entry|
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   400
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   401
        | info |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   402
        info := IdentityDictionary new.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   403
        info at:#revision              put: entry revision asString."/ -> the revision string
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   404
        info at:#author                put: entry author."/ -> who checked that revision into the repository
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   405
        info at:#date                  put: entry date printString."/ -> when was it checked in
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   406
        info at:#state                 put: 'Exp'. "/ -> the RCS state
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   407
        info at:#numberOfChangedLines  put: 'N/A'. "/ -> the number of changed line w.r.t the previous
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   408
        info at:#logMessage            put: entry message."/ -> the checkIn log message.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   409
        info
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   410
    ]).
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   411
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   412
    
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   413
    ^info
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   414
    
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   415
    "
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   416
        SVNSourceCodeManager revisionLogOf:Array fromRevision:0 toRevision:0.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   417
        SVNSourceCodeManager revisionLogOf:Array fromRevision:'10000' toRevision:'10005'
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   418
    "
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   419
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   420
    "Modified: / 18-11-2011 / 16:11:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   421
! !
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   422
956
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   423
!SVNSourceCodeManager class methodsFor:'misc'!
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   424
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   425
savePreferencesOn:aFileStream
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   426
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   427
    "Nothing to do, since my preferences are stored in 
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   428
    UserPreferences dictionary"
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   429
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   430
    "Created: / 10-06-2011 / 14:15:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   431
! !
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   432
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   433
!SVNSourceCodeManager class methodsFor:'private'!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   434
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   435
branchForModule: module directory: directory
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   436
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   437
    | repo |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   438
    repo := self repositoryForModule: module directory: directory .
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   439
    ^repo notNil ifTrue:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   440
        repo branch
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   441
    ] ifFalse:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   442
        nil
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   443
    ]
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   444
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   445
    "Created: / 15-10-2011 / 16:26:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   446
!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   447
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   448
branchForPackage: package
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   449
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   450
    | repo |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   451
    repo := SVN::RepositoryManager repositoryForPackage: package.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   452
    ^repo notNil ifTrue:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   453
        repo branch
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   454
    ] ifFalse:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   455
        nil
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   456
    ]
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   457
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   458
    "Created: / 15-10-2011 / 23:26:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   459
!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   460
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   461
pathInRepositoryFrom:containerPath forPackage:packageID
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   462
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   463
    ^nil
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   464
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   465
    "Created: / 13-10-2011 / 11:32:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   466
!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   467
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   468
repositoryForModule: module directory: directory
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   469
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   470
    | repo |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   471
    repo := SVN::RepositoryManager repositoryForModule: module directory: directory.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   472
    ^repo
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   473
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   474
    "Created: / 23-12-2011 / 18:57:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   475
! !
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   476
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   477
!SVNSourceCodeManager class methodsFor:'queries'!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   478
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   479
isExperimental
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   480
    ^ false
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   481
    "/^ OperatingSystem getLoginName ~= 'cg'.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   482
    "/^ true
570
8261f01a7e7d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   483
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   484
    "Modified: / 05-12-2009 / 10:23:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
570
8261f01a7e7d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   485
!
8261f01a7e7d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   486
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   487
isResponsibleForPackage: packageId
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   488
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   489
    UserPreferences current svnEnabled ifFalse:[^false].
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   490
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   491
    ^SVN::RepositoryManager current hasRepositoryForPackage: packageId
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   492
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   493
    "Created: / 05-12-2009 / 10:36:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   494
    "Modified: / 15-09-2010 / 14:55:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   495
!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   496
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   497
managerTypeName
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   498
    ^ 'SubVersion'
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   499
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   500
    "Modified: / 07-07-2011 / 23:11:41 / jv"
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   501
!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   502
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   503
managerTypeNameShort
956
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   504
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   505
    "Answers short version manager name suitable for UI,
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   506
     i,e., CVS, SVN, P4. Used in cases where sorter strings
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   507
     are preferred. Defaults to #managerTypeName"
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   508
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   509
    ^'SVN'
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   510
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   511
    "Created: / 03-10-2011 / 13:28:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   512
!
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   513
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   514
nameOfVersionMethodForExtensions
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   515
    ^ #'extensionsVersion_SVN'
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   516
!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   517
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   518
nameOfVersionMethodInClasses
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   519
    ^ #'version_SVN'
586
8f0468063710 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   520
!
8f0468063710 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   521
8f0468063710 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   522
settingsApplicationClass
587
02d7ed119335 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
   523
    "link to my settings application (needed for the settings dialog"
02d7ed119335 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
   524
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   525
    ^ SVN::ConfigurationApp
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   526
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   527
    "Modified: / 07-07-2011 / 23:12:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   528
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   529
851
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   530
versionMethodKeyword
956
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   531
851
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   532
    "Answers the keyword used by the version management system to
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   533
     expand a current version in a file (_without_ dollars). For
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   534
     CVS it is 'Header', for SVN 'Id', others may use different
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   535
     keywords. If nil is returned, then the version management does
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   536
     not use any keyword."
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   537
851
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   538
    ^'Id'
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   539
851
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   540
    "Created: / 27-09-2011 / 16:46:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   541
! !
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   542
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   543
!SVNSourceCodeManager class methodsFor:'source code access'!
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   544
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   545
loadPackageWithId: aPackageId fromRepositoryAsAutoloaded: doLoadAsAutoloaded
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   546
541
b647383ebf6b changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 540
diff changeset
   547
     "Return true if loaded, false otherwise."
b647383ebf6b changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 540
diff changeset
   548
540
3e0ea3ba33b5 changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 539
diff changeset
   549
    | retval loadBlock |
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   550
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   551
    loadBlock := [
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   552
        | repo packageDir manager|
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   553
        manager := SVN::RepositoryManager current.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   554
        repo := manager repositoryForPackage: aPackageId.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   555
        retval := (repo notNil and:[repo exists]) ifTrue:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   556
            repo workingCopy checkout: SVN::Revision head full: true.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   557
            packageDir := Smalltalk packageDirectoryForPackageId:aPackageId.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   558
            "Quick and dirty hack to support old version of Smalltalk/X"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   559
            (Smalltalk respondsTo: #loadPackage:fromDirectory:asAutoloaded:)
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   560
                ifTrue:
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   561
                    ["New API"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   562
                    Smalltalk
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   563
                        loadPackage:aPackageId
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   564
                        fromDirectory:packageDir
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   565
                        asAutoloaded:doLoadAsAutoloaded]
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   566
                ifFalse:
956
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   567
                    ["Old API"                        
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   568
                    Smalltalk
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   569
                        loadPackageWithId:aPackageId
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   570
                        fromDirectory:packageDir
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   571
                        asAutoloaded:doLoadAsAutoloaded
956
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   572
            ].            
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   573
        ] ifFalse:[false]
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   574
    ].
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   575
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   576
    (SVNSourceCodeManager loadInProgressQuery query == true)
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   577
        ifTrue:[loadBlock value]
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   578
        ifFalse:[
956
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   579
            SVNSourceCodeManager loadInProgressQuery 
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   580
                answer: true 
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   581
                do:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   582
                    SVN::ProgressDialog
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   583
                        openOn: loadBlock
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   584
                        title: ' Loading...'
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   585
                        subtitle: aPackageId asText allItalic
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   586
                ]
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   587
    ].
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   588
541
b647383ebf6b changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 540
diff changeset
   589
    ^ retval
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   590
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   591
    "Created: / 09-04-2009 / 17:20:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   592
    "Modified: / 25-04-2011 / 15:20:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   593
! !
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   594
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   595
!SVNSourceCodeManager class methodsFor:'source code administration'!
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   596
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   597
getExistingContainersInModule:aModule directory:aPackage
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   598
    "{ Pragma: +optSpace }"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   599
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   600
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   601
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   602
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   603
getExistingDirectoriesInModule:aModule
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   604
    "{ Pragma: +optSpace }"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   605
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   606
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   607
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   608
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   609
getExistingModules
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   610
    "{ Pragma: +optSpace }"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   611
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   612
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   613
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   614
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   615
revisionInfoFromString:aString
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   616
    "{ Pragma: +optSpace }"
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   617
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   618
    "return a dictionary filled with revision info.
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   619
     This extracts the relevant info from aString."
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   620
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   621
797
48f8701af829 changed: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
   622
    ^ SVNVersionInfo fromSVNString:aString
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   623
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   624
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   625
    "
956
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   626
     self revisionInfoFromString:(Array version_SVN)   
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   627
956
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   628
     self revisionInfoFromString:(stx_libbasic2 extensionsVersion_CVS)   
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   629
    "
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   630
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   631
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   632
    "Modified: / 29-01-1997 / 19:00:35 / cg"
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   633
    "Modified: / 03-10-2011 / 13:02:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
797
48f8701af829 changed: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
   634
    "Modified (comment): / 29-09-2011 / 21:54:26 / cg"
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   635
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   636
! !
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   637
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   638
!SVNSourceCodeManager class methodsFor:'subclass responsibility'!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   639
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   640
reportHistoryLogSince:timeGoal filterSTSources:filter filterUser:userFilter filterRepository:repositoryFilter filterModules:moduleFilter inTo:aBlock
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   641
    "superclass AbstractSourceCodeManager class says that I am responsible to implement this method"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   642
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   643
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   644
! !
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   645
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   646
!SVNSourceCodeManager class methodsFor:'testing'!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   647
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   648
isSVN
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   649
    ^ true
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   650
! !
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   651
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   652
!SVNSourceCodeManager::Utilities methodsFor:'utilities-cvs'!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   653
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   654
checkinClass:aClass withInfo:aLogInfoOrNil withCheck:doCheckClass usingManager:aManagerOrNil
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   655
    "check a class into the source repository.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   656
     If the argument, aLogInfoOrNil isNil, ask interactively for log-message.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   657
     If doCheckClass is true, the class is checked for send of halts etc."
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   658
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   659
   ^self checkinClasses:(Array with: aClass) withInfo:aLogInfoOrNil withCheck:doCheckClass usingManager:aManagerOrNil
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   660
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   661
    "Created: / 25-12-2011 / 23:45:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   662
!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   663
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   664
checkinClasses:classes withInfo:aLogInfoOrNil withCheck:doCheckClass usingManager:aManagerOrNil
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   665
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   666
    | classesPerPackage |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   667
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   668
    doCheckClass value ifTrue:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   669
        classes do:[:cls|
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   670
            "/ check if the class contains halts, error-sends etc.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   671
            (self checkAndWarnAboutBadMessagesInClass:cls checkAgainHolder:doCheckClass) ifFalse:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   672
                ^ false
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   673
            ].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   674
        ].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   675
    ].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   676
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   677
    classesPerPackage := Dictionary new.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   678
    classes do:
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   679
        [:class|
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   680
        (classesPerPackage at: class theNonMetaclass package ifAbsentPut:[Set new])
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   681
            add: class theNonMetaclass].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   682
    classesPerPackage keysAndValuesDo:
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   683
        [:package :classes| | repo |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   684
        repo := SVN::RepositoryManager repositoryForPackage:package.
1021
12be1fe92d15 improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 968
diff changeset
   685
        "/SVN::CommitWizard new
12be1fe92d15 improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 968
diff changeset
   686
        SVN::CommitDialog2 new
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   687
                task: (repo workingCopy commitTask
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   688
                        classes: classes;
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   689
                        message: aLogInfoOrNil;
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   690
                        extensionMethods: #()
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   691
                        yourself);
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   692
                open].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   693
    ^ true
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   694
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   695
    "Modified: / 06-05-2011 / 10:32:55 / cg"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   696
    "Created: / 25-12-2011 / 23:46:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   697
!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   698
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   699
checkinPackage:packageToCheckIn classes:doClasses extensions:doExtensions buildSupport:doBuild askForMethodsInOtherPackages:askForMethodsInOtherPackages
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   700
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   701
    | repo task |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   702
    repo := SVN::RepositoryManager repositoryForPackage:packageToCheckIn.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   703
    repo isNil ifTrue:[
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   704
        Dialog warn: (resources string: 'No repository for package %1' with: packageToCheckIn).
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   705
        ^self
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   706
    ].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   707
    task := repo workingCopy commitTask.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   708
    task suppressClasses: doClasses not.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   709
    task suppressExtensions: doExtensions not.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   710
    task suppresBuildSupportFiles: doBuild not.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   711
1021
12be1fe92d15 improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 968
diff changeset
   712
    "/SVN::CommitWizard new
12be1fe92d15 improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 968
diff changeset
   713
    SVN::CommitDialog2 new
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   714
            task: task;
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   715
            open
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   716
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   717
    "Created: / 13-10-2011 / 11:16:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   718
!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   719
956
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   720
compareProject:aProject withRepositoryVersionFrom:aDateOrNilForNewest
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   721
    |diffSet|
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   722
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   723
    diffSet := self diffSetOfProject:aProject againstRepositoryVersionFrom:aDateOrNilForNewest.
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   724
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   725
    (Tools::ChangeSetDiffTool new)
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   726
        diffset:diffSet;
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   727
        title:('Differences of %1' bindWith:aProject);
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   728
        open.
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   729
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   730
    "Created: / 18-01-2012 / 16:04:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   731
!
8f09091779a1 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 955
diff changeset
   732
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   733
diffSetOfProject: package againstRepositoryVersionFrom:dateOrNil
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   734
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   735
    | rev branch |
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   736
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   737
    rev := dateOrNil isNil ifTrue:[SVN::Revision head] ifFalse:[SVN::Revision date: dateOrNil].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   738
    branch := SVNSourceCodeManager branchForPackage: package.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   739
    branch isNil ifTrue:[^nil].
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   740
    ^branch diffSetBetweenImageAndRevision: rev.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   741
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   742
    "Created: / 15-10-2011 / 23:26:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   743
!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   744
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   745
tagClass:aClass as:tag
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   746
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   747
    Dialog warn: 'Individual class tagging not supported by SubVersion. Tag whole package instead'.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   748
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   749
    "Modified: / 12-09-2006 / 13:03:59 / cg"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   750
    "Created: / 15-10-2011 / 22:48:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   751
!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   752
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   753
tagClasses:classes as:tag
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   754
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   755
    Dialog warn: 'Individual class tagging not supported by SubVersion. Tag whole package instead'.
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   756
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   757
    "Modified: / 12-09-2006 / 13:03:59 / cg"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   758
    "Created: / 15-10-2011 / 22:49:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   759
!
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   760
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   761
tagPackage: package as:tag
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   762
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   763
    Dialog warn: 'Not yet implemented'
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   764
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   765
    "Created: / 12-09-2006 / 13:04:29 / cg"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   766
    "Created: / 15-10-2011 / 22:49:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   767
! !
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   768
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   769
!SVNSourceCodeManager class methodsFor:'documentation'!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   770
851
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   771
version
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   772
    ^ '$Header$'
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   773
!
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   774
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   775
version_CVS
851
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   776
    ^ '$Header$'
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   777
!
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   778
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   779
version_SVN
955
5b6779c9e055 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 929
diff changeset
   780
    ^ '§Id: SVNSourceCodeManager.st 467 2011-12-25 22:47:17Z vranyj1 §'
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   781
! !