mercurial/extensions.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 15 Jan 2013 12:02:38 +0000
changeset 180 7b70d26f28da
parent 178 1ed827252fee
child 181 a31ede5ff957
permissions -rw-r--r--
More work on merging. Basic merging from FileBrowser should work, although some features are still missing.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     1
"{ Package: 'stx:libscm/mercurial' }"!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     2
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
     3
!AbstractFileBrowser methodsFor:'aspects-hg'!
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
     4
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
     5
currentHgRepository
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
     6
    | root |
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
     7
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
     8
    root := HGRepository discover: self currentDirectoryDisplayed.
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
     9
    root isNil ifTrue:[ ^ self ].
180
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
    10
    ^HGRepository on: root cached: true
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    11
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    12
    "Created: / 14-12-2012 / 19:22:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
180
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
    13
    "Modified: / 15-01-2013 / 10:04:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    14
! !
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    15
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    16
!AbstractFileBrowser methodsFor:'menu-queries-hg'!
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    17
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    18
hasHGWorkingCopySelected
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    19
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    20
    ^ self hgMenusAreShown 
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    21
        and:[((Smalltalk at:#HGRepository) discover:self currentDirectoryDisplayed) notNil]
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    22
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    23
    "Created: / 14-12-2012 / 18:26:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    24
! !
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    25
173
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    26
!AbstractFileBrowser methodsFor:'menu actions-scm-hg'!
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    27
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    28
hgCommit
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    29
    | wc task |
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    30
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    31
    wc := self currentHgRepository workingCopy.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    32
    task := HGCommitTask new temporaryWorkingCopy: wc.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    33
    HGCommitDialog new
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    34
        task: task;
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    35
        open
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    36
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    37
    "Created: / 11-01-2013 / 19:27:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    38
    "Modified: / 12-01-2013 / 13:57:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    39
! !
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    40
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    41
!AbstractFileBrowser methodsFor:'menu actions-scm-hg'!
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    42
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    43
hgExecuteCommand: command
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    44
    "Executes svn command on currently selected objects"
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    45
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    46
    self hgExecuteCommand: command objects: self currentSelectedObjects.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    47
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    48
    "Created: / 12-01-2013 / 12:08:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    49
! !
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    50
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    51
!AbstractFileBrowser methodsFor:'menu actions-scm-hg'!
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    52
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    53
hgExecuteCommand: command objects: givenObjects
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    54
    "Executes svn command on given objects (files/dirs)"
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    55
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    56
    | objects workdir objectsAsString executionBlock |
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    57
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    58
    objects := givenObjects.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    59
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    60
    (self isKindOf: FileBrowserV2) ifTrue:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    61
        workdir := self currentDirectoryDisplayed.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    62
        workdir isDirectory ifFalse:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    63
            workdir := workdir directory
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    64
        ].
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    65
    ] ifFalse:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    66
        (objects size == 1 and:[objects anElement isDirectory]) ifTrue:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    67
            workdir := objects anElement
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    68
        ] ifFalse:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    69
            workdir := Filename currentDirectory.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    70
        ]
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    71
    ].
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    72
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    73
    objectsAsString := String streamContents:[:s|
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    74
        objects size == 1 ifTrue:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    75
            workdir asString = objects anElement asString ifTrue:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    76
                s nextPut:$.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    77
            ] ifFalse:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    78
                s nextPutAll: objects anElement asString.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    79
            ]
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    80
        ] ifFalse:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    81
            objects do:[:each|s nextPut:$"; nextPutAll:each asString; nextPut:$"]
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    82
                separatedBy:[s space]
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    83
        ]
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    84
    ].
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    85
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    86
    executionBlock := [:stream |
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    87
        | cmd |
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    88
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    89
        cmd := '%1 --noninteractive %2 %3' 
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    90
                bindWith: HGCommand hgCommand
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    91
                    with: command
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    92
                    with: objectsAsString.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    93
        stream nextPutAll: cmd; cr; cr.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    94
        (self getExecutionBlockForCommand:cmd inDirectory: workdir) value:stream.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    95
    ].
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    96
    self makeExecutionResultProcessFor:executionBlock withName:'Mercurial> hg ', command.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    97
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    98
    "Created: / 12-01-2013 / 12:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    99
! !
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   100
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   101
!AbstractFileBrowser methodsFor:'menu-dynamic-hg'!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   102
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   103
hgMenuMerge
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   104
    | menu repo wc cs |
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   105
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   106
    menu := Menu new.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   107
    repo := self currentHgRepository.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   108
    wc := repo workingCopy.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   109
    cs := wc changeset.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   110
    repo branches do:[:branch|
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   111
        branch heads do:[:head|
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   112
            head ~~ cs ifTrue:[
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   113
                | item |
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   114
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   115
                item := MenuItem 
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   116
                            label: (head branch name , ' - ' , head id printString)
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   117
                            itemValue: [self hgMenuMerge: head ].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   118
                menu addItem: item.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   119
            ].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   120
        ]
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   121
    ].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   122
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   123
    ^menu.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   124
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   125
    "Created: / 14-12-2012 / 19:14:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   126
! !
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   127
173
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   128
!AbstractFileBrowser methodsFor:'menu actions-scm-hg'!
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   129
180
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   130
hgMenuMerge:anHGChangeset
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   131
    | repo wc appl stream|
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   132
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   133
    appl := self openCommandResultApplication.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   134
    stream := appl resultStream.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   135
    appl changeTabTo:((resources string: 'Merging with %1') bindWith: anHGChangeset id printString).
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   136
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   137
    [
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   138
        repo := self currentHgRepository.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   139
        wc := repo workingCopy.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   140
        stream nextPutAll:(resources string: 'Running ''hg merge''...').
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   141
        wc merge: anHGChangeset.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   142
        stream nextPutAll:(resources string: 'done'); cr.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   143
        (wc conflicts asSortedCollection:[:a :b|a pathName < b pathName]) do:[:each|
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   144
            each isUnresolved ifTrue:[
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   145
                | merger |
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   146
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   147
                stream nextPutAll: ((resources string: 'Resolving conflicts %1...') bindWith: each pathNameRelative).
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   148
                merger := HGMergeTool for: each.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   149
                merger premerge ifTrue:[
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   150
                    stream nextPutLine:(resources string: 'resolved').
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   151
                    each markResolved.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   152
                ] ifFalse:[
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   153
                    stream nextPutLine:(resources string: 'UNRESOLVED')
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   154
                ]
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   155
            ]
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   156
        ]
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   157
    ] forkAt: Processor userBackgroundPriority
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   158
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   159
    "Created: / 14-01-2013 / 21:59:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   160
    "Modified: / 15-01-2013 / 10:48:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   161
! !
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   162
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   163
!AbstractFileBrowser methodsFor:'menu actions-scm-hg'!
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   164
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   165
hgResolve
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   166
    | wc prefixsz files |
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   167
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   168
    wc := self currentHgRepository workingCopy.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   169
    prefixsz := wc pathName size + 1.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   170
    files := self currentSelectedObjects.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   171
    (files size == 1 and:[files anElement = self currentDirectoryDisplayed]) ifTrue:[
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   172
        files := wc conflicts asSortedCollection:[:a :b|a pathName < b pathName].
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   173
        files := files select:[:e|e isUnresolved].
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   174
    ] ifFalse:[
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   175
        files := files collect:[:file|
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   176
            | path |
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   177
            path := file pathName.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   178
            path := path copyFrom: prefixsz.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   179
            wc / path.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   180
        ].
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   181
    ].
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   182
    files do:[:entry|
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   183
        (HGMergeTool for: entry) merge ifTrue:[
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   184
            entry markResolved.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   185
        ].
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   186
    ]
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   187
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   188
    "Modified: / 15-01-2013 / 11:51:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   189
! !
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   190
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   191
!AbstractFileBrowser methodsFor:'menu actions-scm-hg'!
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   192
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   193
hgResolveList
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   194
    self hgExecuteCommand: 'resolve --list' objects: #()
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   195
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   196
    "Modified: / 14-01-2013 / 21:55:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   197
! !
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   198
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   199
!AbstractFileBrowser methodsFor:'menu actions-scm-hg'!
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   200
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   201
hgResolveListUnresolved
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   202
    | repo wc appl stream|
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   203
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   204
    appl := self openCommandResultApplication.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   205
    stream := appl resultStream.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   206
    appl changeTabTo:(resources string: 'Unresolved conflicts').
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   207
    repo := self currentHgRepository.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   208
    wc := repo workingCopy.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   209
    (wc conflicts asSortedCollection:[:a :b|a pathName < b pathName]) do:[:each|
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   210
        each isUnresolved ifTrue:[
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   211
            stream nextPutLine: each pathNameRelative
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   212
        ].
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   213
    ].
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   214
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   215
    "Modified: / 15-01-2013 / 10:47:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   216
! !
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   217
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   218
!AbstractFileBrowser methodsFor:'menu actions-scm-hg'!
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   219
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   220
hgResolveMark
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   221
    self hgExecuteCommand: 'resolve --mark' objects: self currentSelectedObjects.
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   222
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   223
    "Created: / 14-01-2013 / 21:37:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   224
! !
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   225
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   226
!AbstractFileBrowser methodsFor:'menu actions-scm-hg'!
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   227
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   228
hgRevert
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   229
    self hgExecuteCommand: 'revert'
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   230
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   231
    "Created: / 15-01-2013 / 09:23:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   232
! !
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   233
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   234
!AbstractFileBrowser methodsFor:'menu actions-scm-hg'!
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   235
173
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   236
hgStatus
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   237
    self hgExecuteCommand: 'status'
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   238
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   239
    "Modified: / 12-01-2013 / 12:09:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   240
! !
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   241
180
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   242
!AbstractFileBrowser methodsFor:'menu actions-scm-hg'!
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   243
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   244
hgUpdate
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   245
    self hgExecuteCommand: 'update'
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   246
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   247
    "Created: / 15-01-2013 / 09:23:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   248
! !
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   249
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   250
!AbstractFileBrowser methodsFor:'menu actions-scm-hg'!
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   251
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   252
hgUpdateClean
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   253
    self hgExecuteCommand: 'update -C' objects: #()
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   254
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   255
    "Created: / 15-01-2013 / 09:23:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   256
! !
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   257
162
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   258
!AbstractFileBrowser class methodsFor:'menu specs-scm'!
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   259
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   260
hgMenu
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   261
    "This resource specification was automatically generated
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   262
     by the MenuEditor of ST/X."
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   263
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   264
    "Do not manually edit this!! If it is corrupted,
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   265
     the MenuEditor may not be able to read the specification."
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   266
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   267
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   268
    "
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   269
     MenuEditor new openOnClass:AbstractFileBrowser andSelector:#hgMenu
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   270
     (Menu new fromLiteralArrayEncoding:(AbstractFileBrowser hgMenu)) startUp
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   271
    "
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   272
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   273
    <resource: #menu>
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   274
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   275
    ^ 
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   276
     #(Menu
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   277
        (
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   278
         (MenuItem
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   279
            enabled: hasHGWorkingCopySelected
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   280
            label: 'Commit'
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   281
            itemValue: hgCommit
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   282
            labelImage: (ResourceRetriever HGIconLibrary commit 'Commit')
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   283
          )
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   284
         (MenuItem
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   285
            label: '-'
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   286
          )
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   287
         (MenuItem
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   288
            enabled: hasHGWorkingCopySelected
173
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   289
            label: 'Status'
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   290
            itemValue: hgStatus
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   291
          )
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   292
         (MenuItem
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   293
            label: '-'
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   294
          )
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   295
         (MenuItem
180
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   296
            label: 'Update'
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   297
            itemValue: hgUpdate
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   298
          )
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   299
         (MenuItem
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   300
            label: 'Revert'
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   301
            itemValue: hgRevert
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   302
          )
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   303
         (MenuItem
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   304
            label: 'Revert all Changes'
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   305
            itemValue: hgUpdateClean
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   306
          )
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   307
         (MenuItem
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   308
            label: '-'
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   309
          )
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   310
         (MenuItem
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   311
            enabled: hasHGWorkingCopySelected
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   312
            label: 'Merge...'
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   313
            submenuChannel: hgMenuMerge
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   314
            labelImage: (ResourceRetriever HGIconLibrary merge 'Merge...')
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   315
          )
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   316
         (MenuItem
180
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   317
            label: 'Resolve'
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   318
            itemValue: hgResolve
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   319
          )
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   320
         (MenuItem
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   321
            enabled: hasHGWorkingCopySelected
180
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   322
            label: 'Mark as Resolved'
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   323
            itemValue: hgResolveMark
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   324
          )
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   325
         (MenuItem
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   326
            enabled: hasHGWorkingCopySelected
180
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   327
            label: 'Mark as Unresolved'
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   328
            itemValue: hgResolveUnmark
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   329
          )
180
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   330
         (MenuItem
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   331
            label: '-'
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   332
          )
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   333
         (MenuItem
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   334
            enabled: hasHGWorkingCopySelected
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   335
            label: 'Show Conflicts'
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   336
            itemValue: hgResolveList
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   337
          )
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   338
         (MenuItem
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   339
            enabled: hasHGWorkingCopySelected
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   340
            label: 'Show Unresolved'
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   341
            itemValue: hgResolveListUnresolved
7b70d26f28da More work on merging.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 178
diff changeset
   342
          )
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   343
         )
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   344
        nil
162
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   345
        nil
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   346
      )
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   347
! !
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   348
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   349
!Annotation class methodsFor:'instance creation'!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   350
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   351
HGRevision: aString
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   352
    "Used by Mercurial to internally store revision info. Should never appear in source code!!"
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   353
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   354
    ^HGRevisionAnnotation revision: aString
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   355
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   356
    "Created: / 20-11-2012 / 23:34:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   357
! !
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   358
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   359
!ByteArray methodsFor:'converting'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   360
103
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   361
asHGChangesetId
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   362
    ^ HGChangesetId fromBytes:self.
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   363
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   364
    "Created: / 16-11-2012 / 21:33:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   365
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   366
162
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   367
!ConfigurableFeatures class methodsFor:'queries-features'!
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   368
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   369
hasHGSupport
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   370
    "/ use Smalltalk-at to trick the dependency/prerequisite generator
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   371
    ^ (Smalltalk at: #'HGSourceCodeManager' ifAbsent:nil) notNil
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   372
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   373
    "
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   374
     ConfigurableFeatures hasGitSupport
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   375
    "
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   376
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   377
    "Created: / 14-12-2012 / 15:38:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   378
! !
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   379
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   380
!ConfigurableFeatures class methodsFor:'queries-features'!
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   381
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   382
hasHGSupportEnabled
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   383
    ^ self hasSCMSupportEnabledFor:#'HGSourceCodeManager'
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   384
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   385
    "
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   386
     self hasGitSupportEnabled
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   387
    "
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   388
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   389
    "Created: / 14-12-2012 / 15:38:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   390
! !
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   391
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   392
!Integer methodsFor:'converting'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   393
103
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   394
asHGChangesetId
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   395
    ^ (HGChangesetId new:0) revno:self.
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   396
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   397
    "Created: / 16-11-2012 / 21:23:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   398
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   399
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   400
!Object methodsFor:'converting'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   401
103
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   402
asHGChangesetId
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   403
    HGError 
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   404
        raiseErrorString:'Cannot convert arbitrary object to Mercurial nodeid'
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   405
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   406
    "Created: / 16-11-2012 / 21:23:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   407
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   408
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   409
!Object methodsFor:'converting'!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   410
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   411
asHGRevision
103
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   412
    ^self asHGChangesetId
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   413
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   414
    "Created: / 20-11-2012 / 23:32:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
103
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   415
    "Modified: / 27-11-2012 / 17:56:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   416
! !
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   417
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   418
!ProjectDefinition class methodsFor:'accessing - hg'!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   419
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   420
hgBinaryRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   421
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   422
    "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   423
    Answers Mercurial revision from which the package was compiled.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   424
    If no binary revision is available, returns nil."
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   425
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   426
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   427
    | revInfo |
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   428
91
f07d8ef6c01a stx compilation fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   429
    self binaryRevisionString notNil ifTrue:[
f07d8ef6c01a stx compilation fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   430
        revInfo := HGRevisionInfo readFrom: self binaryRevisionString onError:[nil].
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   431
        revInfo notNil ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   432
            ^revInfo changesetId
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   433
        ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   434
    ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   435
    ^nil
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   436
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   437
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   438
    "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   439
        stx_libbasic hgBinaryRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   440
        stx_libsvn hgBinaryRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   441
        stx_libscm_mercurial hgBinaryRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   442
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   443
    "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   444
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   445
    "Created: / 20-11-2012 / 23:58:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   446
! !
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   447
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   448
!ProjectDefinition class methodsFor:'accessing - hg'!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   449
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   450
hgLogicalRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   451
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   452
    "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   453
    Answers Mercurial revision on which is this package based on logically.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   454
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   455
    Revision is computed as follows:
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   456
        1) Look, if receiver's version_HG method has a (hidden) annotation HGRevision:, 
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   457
           if so, return its value.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   458
        2) If receiver's binary revision is not nil, return it.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   459
        3) Look into a package directory and if there is a Mercurial repository,
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   460
           return working copy's revision"
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   461
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   462
    | versionMethod versionAnnotation revInfo pkgDir repoDir repo |
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   463
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   464
    "1 --- "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   465
102
16bc16d9e6d5 Update logical revision on commit,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   466
    versionMethod := self class compiledMethodAt: HGSourceCodeManager nameOfVersionMethodInClasses.
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   467
    versionMethod notNil ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   468
        versionAnnotation := versionMethod annotationAt: #HGRevision:.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   469
        versionAnnotation notNil ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   470
            ^versionAnnotation revision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   471
        ].
174
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 173
diff changeset
   472
    ] ifFalse:[
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 173
diff changeset
   473
        HGSourceCodeManager compileVersionMethod:HGSourceCodeManager nameOfVersionMethodInClasses of:self for:'$Changeset: <not expanded> $'.
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 173
diff changeset
   474
        versionMethod := self class compiledMethodAt: HGSourceCodeManager nameOfVersionMethodInClasses.
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   475
    ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   476
    
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   477
    "2 --- "
91
f07d8ef6c01a stx compilation fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   478
    self binaryRevisionString notNil ifTrue:[
f07d8ef6c01a stx compilation fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   479
        revInfo := HGRevisionInfo readFrom: self binaryRevisionString onError:[nil].
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   480
        revInfo notNil ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   481
            ^revInfo changesetId
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   482
        ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   483
    ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   484
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   485
    "3 --- "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   486
    pkgDir := Smalltalk getPackageDirectoryForPackage: self package.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   487
    pkgDir notNil ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   488
        repoDir := HGRepository discover: pkgDir.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   489
        repoDir notNil ifTrue:[
170
e0bdc6f35bf9 Bugfix in ProjectDefinition>>hgLogicalRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 163
diff changeset
   490
            | id |
e0bdc6f35bf9 Bugfix in ProjectDefinition>>hgLogicalRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 163
diff changeset
   491
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   492
            repo := HGRepository on: repoDir.
170
e0bdc6f35bf9 Bugfix in ProjectDefinition>>hgLogicalRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 163
diff changeset
   493
            id := repo workingCopy changeset id.
e0bdc6f35bf9 Bugfix in ProjectDefinition>>hgLogicalRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 163
diff changeset
   494
            versionMethod annotateWith: (HGRevisionAnnotation revision: id).
e0bdc6f35bf9 Bugfix in ProjectDefinition>>hgLogicalRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 163
diff changeset
   495
            ^id
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   496
        ]
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   497
    ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   498
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   499
    "4 --- "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   500
    self breakPoint: #jv.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   501
    ^nil
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   502
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   503
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   504
    "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   505
        stx_libbasic hgLogicalRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   506
        stx_libsvn hgLogicalRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   507
        stx_libscm_mercurial hgLogicalRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   508
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   509
    "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   510
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   511
    "Created: / 20-11-2012 / 23:54:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
174
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 173
diff changeset
   512
    "Modified: / 14-01-2013 / 13:42:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   513
! !
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   514
107
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   515
!ProjectDefinition class methodsFor:'description - actions - hg'!
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   516
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   517
hgPostLoad
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   518
    <postLoad>
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   519
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   520
    | dir repo versionMethod |
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   521
    "Eventually update an version_HG"
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   522
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   523
    self binaryRevisionString isNil ifTrue:[
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   524
        dir := Smalltalk getPackageDirectoryForPackage: self package.
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   525
        dir := HGRepository discover: dir.
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   526
        dir notNil ifTrue:[
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   527
            repo := HGRepository on: dir.
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   528
            versionMethod := HGSourceCodeManager ensureVersionMethodInClass: self package: self package.
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   529
            versionMethod annotateWith: 
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   530
                (HGRevisionAnnotation revision: repo workingCopy changeset id)
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   531
        ].
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   532
    ].
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   533
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   534
    "Created: / 26-11-2012 / 13:06:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   535
    "Modified: / 27-11-2012 / 22:14:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   536
! !
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   537
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   538
!String methodsFor:'converting'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   539
103
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   540
asHGChangesetId
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   541
    ^ HGChangesetId fromString:self.
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   542
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   543
    "Created: / 16-11-2012 / 21:24:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   544
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   545
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   546
!Tools::NewSystemBrowser methodsFor:'menu actions-hg'!
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   547
173
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   548
commonMenuHGBrowseTemporaryWorkingCopy
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   549
    self selectedProjectsForHG value do:[:package|
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   550
        | pkg  |
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   551
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   552
        pkg := HGPackageModel named: package.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   553
        pkg notNil ifTrue:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   554
            pkg temporaryWorkingCopy browse 
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   555
        ].
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   556
    ].
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   557
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   558
    "Created: / 11-01-2013 / 18:47:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   559
! !
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   560
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   561
!Tools::NewSystemBrowser methodsFor:'menu actions-hg'!
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   562
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   563
commonMenuHGBrowseWorkingCopy
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   564
    self selectedProjectsForHG value do:[:package|
162
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   565
        | pkg  |
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   566
162
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   567
        pkg := HGPackageModel named: package.
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   568
        pkg notNil ifTrue:[
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   569
            pkg repository workingCopy browse 
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   570
        ].
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   571
    ].
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   572
162
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   573
    "Modified: / 14-12-2012 / 17:51:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   574
! !
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   575
161
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   576
!Tools::NewSystemBrowser methodsFor:'menus-dynamic-hg'!
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   577
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   578
commonMenuHGPushSlice
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   579
    | menu push submenu packages package remotes default |
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   580
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   581
    menu := Menu new.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   582
    push := MenuItem new
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   583
                label: (resources string: 'Push...');
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   584
                yourself.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   585
    menu addItem: push.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   586
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   587
    packages := self selectedProjectsForHG value collect:[:id|HGPackageModel named:id].
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   588
    ((packages size ~~ 1) or:[packages anElement isNil]) ifTrue:[
161
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   589
        push enabled: false.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   590
        ^menu.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   591
    ].
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   592
161
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   593
    package := packages anElement.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   594
    remotes := package repository remotes.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   595
    remotes isEmpty ifTrue:[
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   596
        push enabled: false.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   597
        ^menu.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   598
    ].
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   599
"/    default := package repository remoteDefault.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   600
"/    default notNil ifTrue:[
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   601
"/        menu addItem: (MenuItem new
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   602
"/                            label:((resources string: 'Push to ') , 'default' asText allBold);
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   603
"/                            value:[package repository push: default];
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   604
"/                            yourself).
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   605
"/    ].
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   606
    (remotes size ~~ 1 or:[remotes anElement ~~ default]) ifTrue:[
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   607
        submenu := Menu new.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   608
        push submenu: submenu.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   609
        remotes do:[:remote|
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   610
            submenu addItem: (MenuItem new
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   611
                            label: remote displayString;
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   612
                            value:[package repository push: remote];
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   613
                            yourself).
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   614
        ].
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   615
    ].
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   616
    ^menu.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   617
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   618
    "Created: / 10-12-2012 / 03:56:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   619
    "Modified: / 14-12-2012 / 18:09:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
161
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   620
! !
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   621
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   622
!Tools::NewSystemBrowser methodsFor:'aspects-navigation-hg'!
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   623
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   624
selectedProjectsForHG
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   625
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   626
    self selectedProjects value notNil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   627
        ifTrue:[^self selectedProjects value].
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   628
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   629
    self selectedClasses value notNil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   630
        ifTrue:[^(self selectedClasses value collect:[:cls|cls package]) asSet].
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   631
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   632
    ^nil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   633
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   634
    "Created: / 10-12-2012 / 03:58:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   635
! !
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   636
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   637
!Tools::NewSystemBrowser class methodsFor:'menu specs-SCM-class'!
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   638
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   639
classMenuSCMExtra_HG
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   640
    "This resource specification was automatically generated
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   641
     by the MenuEditor of ST/X."
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   642
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   643
    "Do not manually edit this!! If it is corrupted,
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   644
     the MenuEditor may not be able to read the specification."
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   645
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   646
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   647
    "
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   648
     MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#classMenuSCMExtra_HG
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   649
     (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser classMenuSCMExtra_HG)) startUp
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   650
    "
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   651
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   652
    <resource: #menu>
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   653
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   654
    ^ 
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   655
     #(Menu
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   656
        (
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   657
         (MenuItem
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   658
            label: 'Push Slice'
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   659
            submenuChannel: commonMenuHGPushSlice
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   660
            isMenuSlice: true
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   661
          )
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   662
          (MenuItem
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   663
            label: 'Browse package working copy'
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   664
            itemValue: commonMenuHGBrowseWorkingCopy
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   665
          )
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   666
         (MenuItem
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   667
            label: 'Browse temporary working copy (for commits & merges)'
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   668
            itemValue: commonMenuHGBrowseTemporaryWorkingCopy
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   669
          )
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   670
         )
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   671
        nil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   672
        nil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   673
      )
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   674
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   675
    "Modified: / 14-12-2012 / 18:05:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   676
! !
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   677
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   678
!Tools::NewSystemBrowser class methodsFor:'menu specs-SCM-project'!
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   679
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   680
projectMenuSCMExtra_HG
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   681
    "This resource specification was automatically generated
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   682
     by the MenuEditor of ST/X."
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   683
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   684
    "Do not manually edit this!! If it is corrupted,
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   685
     the MenuEditor may not be able to read the specification."
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   686
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   687
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   688
    "
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   689
     MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#projectMenuSCMExtra_HG
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   690
     (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser projectMenuSCMExtra_HG)) startUp
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   691
    "
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   692
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   693
    <resource: #menu>
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   694
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   695
    ^ 
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   696
     #(Menu
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   697
        (
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   698
         (MenuItem
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   699
            label: 'Push Slice'
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   700
            submenuChannel: commonMenuHGPushSlice
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   701
            isMenuSlice: true
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   702
          )
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   703
         (MenuItem
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   704
            label: 'Browse package working copy'
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   705
            itemValue: commonMenuHGBrowseWorkingCopy
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   706
          )
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   707
         (MenuItem
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   708
            label: 'Browse temporary working copy (for commits & merges)'
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   709
            itemValue: commonMenuHGBrowseTemporaryWorkingCopy
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   710
          )
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   711
         )
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   712
        nil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   713
        nil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   714
      )
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   715
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   716
    "Modified: / 14-12-2012 / 18:05:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   717
! !
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   718
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   719
!UserPreferences methodsFor:'accessing-scm-mercurial'!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   720
151
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   721
hgAutopush
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   722
    "Return true, if changes should be automatically pushed
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   723
     to an upstream repository (autopush),  false otherwise"
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   724
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   725
    ^self at: #hgAutopush ifAbsent:[ false "or true?" ].
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   726
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   727
    "Created: / 10-12-2012 / 01:23:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   728
! !
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   729
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   730
!UserPreferences methodsFor:'accessing-scm-mercurial'!
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   731
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   732
hgAutopush: aBoolean
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   733
    "Set whether changes should be automatically pushed
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   734
     to an upstream repository (autopush)"
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   735
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   736
    ^self at: #hgAutopush put: aBoolean.
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   737
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   738
    "
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   739
    UserPreferences current hgAutopush
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   740
    UserPreferences current hgAutopush: true
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   741
    UserPreferences current hgAutopush: false
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   742
    "
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   743
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   744
    "Created: / 10-12-2012 / 01:24:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   745
! !
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   746
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   747
!UserPreferences methodsFor:'accessing-scm-mercurial'!
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   748
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   749
hgCommand
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   750
    "Returns path svn executable"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   751
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   752
    | cmd |
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   753
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   754
    cmd := self at:#hgCommand ifAbsent:[ nil ].
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   755
    ^cmd isEmptyOrNil ifTrue:[ nil ] ifFalse:[ cmd ]
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   756
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   757
    "Created: / 19-11-2012 / 21:39:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   758
! !
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   759
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   760
!UserPreferences methodsFor:'accessing-scm-mercurial'!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   761
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   762
hgCommand: aString
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   763
    "Set the command to 'hg' executable"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   764
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   765
    self at:#hgCommand put: aString.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   766
    HGCommand hgCommand: aString.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   767
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   768
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   769
        UserPreferences current hgCommand
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   770
        UserPreferences current hgCommand:'hg'
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   771
        UserPreferences current hgCommand:nil
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   772
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   773
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   774
    "Created: / 19-11-2012 / 21:39:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   775
! !
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   776
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   777
!stx_libscm_mercurial class methodsFor:'documentation'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   778
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   779
extensionsVersion_HG
115
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   780
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   781
    ^ '$Changeset: <not expanded> $'
93
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   782
! !