mercurial/extensions.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 14 Jan 2013 22:16:57 +0000
changeset 178 1ed827252fee
parent 174 0d293012a897
child 180 7b70d26f28da
permissions -rw-r--r--
More work on merging. Not yet finished.
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 ].
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    10
    ^HGRepository on: root.
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>"
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    13
! !
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
!AbstractFileBrowser methodsFor:'menu-queries-hg'!
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    16
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    17
hasHGWorkingCopySelected
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    18
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    19
    ^ self hgMenusAreShown 
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    20
        and:[((Smalltalk at:#HGRepository) discover:self currentDirectoryDisplayed) notNil]
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    21
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    22
    "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
    23
! !
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
    24
173
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    25
!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
    26
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    27
hgCommit
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    28
    | wc task |
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    29
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    30
    wc := self currentHgRepository workingCopy.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    31
    task := HGCommitTask new temporaryWorkingCopy: wc.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    32
    HGCommitDialog new
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    33
        task: task;
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    34
        open
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    35
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    36
    "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
    37
    "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
    38
! !
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
!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
    41
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    42
hgExecuteCommand: command
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    43
    "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
    44
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    45
    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
    46
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    47
    "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
    48
! !
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
!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
    51
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    52
hgExecuteCommand: command objects: givenObjects
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    53
    "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
    54
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    55
    | objects workdir objectsAsString executionBlock |
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    56
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    57
    objects := givenObjects.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    58
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    59
    (self isKindOf: FileBrowserV2) ifTrue:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    60
        workdir := self currentDirectoryDisplayed.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    61
        workdir isDirectory ifFalse:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    62
            workdir := workdir directory
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    63
        ].
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    64
    ] ifFalse:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    65
        (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
    66
            workdir := objects anElement
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    67
        ] ifFalse:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    68
            workdir := Filename currentDirectory.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    69
        ]
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
    objectsAsString := String streamContents:[:s|
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    73
        objects size == 1 ifTrue:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    74
            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
    75
                s nextPut:$.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    76
            ] ifFalse:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    77
                s nextPutAll: objects anElement asString.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    78
            ]
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    79
        ] ifFalse:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    80
            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
    81
                separatedBy:[s space]
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    82
        ]
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
    executionBlock := [:stream |
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    86
        | cmd |
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    87
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    88
        cmd := '%1 --noninteractive %2 %3' 
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    89
                bindWith: HGCommand hgCommand
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    90
                    with: command
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    91
                    with: objectsAsString.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    92
        stream nextPutAll: cmd; cr; cr.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    93
        (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
    94
    ].
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    95
    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
    96
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    97
    "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
    98
! !
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
    99
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   100
!AbstractFileBrowser methodsFor:'menu-dynamic-hg'!
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   101
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   102
hgMenuMerge
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   103
    | menu repo wc cs |
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   104
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   105
    menu := Menu new.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   106
    repo := self currentHgRepository.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   107
    wc := repo workingCopy.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   108
    cs := wc changeset.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   109
    repo branches do:[:branch|
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   110
        branch heads do:[:head|
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   111
            head ~~ cs ifTrue:[
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   112
                | item |
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   113
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   114
                item := MenuItem 
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   115
                            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
   116
                            itemValue: [self hgMenuMerge: head ].
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   117
                menu addItem: item.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   118
            ].
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
    ^menu.
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   123
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   124
    "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
   125
! !
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   126
173
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   127
!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
   128
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   129
hgStatus
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   130
    self hgExecuteCommand: 'status'
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   131
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   132
    "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
   133
! !
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   134
162
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   135
!AbstractFileBrowser class methodsFor:'menu specs-scm'!
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   136
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   137
hgMenu
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   138
    "This resource specification was automatically generated
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   139
     by the MenuEditor of ST/X."
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   140
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   141
    "Do not manually edit this!! If it is corrupted,
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   142
     the MenuEditor may not be able to read the specification."
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   143
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   144
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   145
    "
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   146
     MenuEditor new openOnClass:AbstractFileBrowser andSelector:#hgMenu
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   147
     (Menu new fromLiteralArrayEncoding:(AbstractFileBrowser hgMenu)) startUp
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   148
    "
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   149
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   150
    <resource: #menu>
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   151
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   152
    ^ 
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   153
     #(Menu
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   154
        (
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   155
         (MenuItem
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   156
            enabled: hasHGWorkingCopySelected
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   157
            label: 'Commit'
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   158
            itemValue: hgCommit
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   159
            labelImage: (ResourceRetriever HGIconLibrary commit 'Commit')
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   160
          )
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   161
         (MenuItem
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   162
            label: '-'
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   163
          )
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   164
         (MenuItem
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   165
            enabled: hasHGWorkingCopySelected
173
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   166
            label: 'Status'
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   167
            itemValue: hgStatus
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   168
          )
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   169
         (MenuItem
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   170
            label: '-'
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   171
          )
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   172
         (MenuItem
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   173
            enabled: hasHGWorkingCopySelected
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   174
            label: 'Merge...'
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   175
            submenuChannel: hgMenuMerge
178
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   176
            labelImage: (ResourceRetriever HGIconLibrary merge 'Merge...')
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   177
          )
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   178
         (MenuItem
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   179
            enabled: hasHGWorkingCopySelected
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   180
            label: 'Show conflicts'
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   181
            itemValue: hgResolveList
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   182
          )
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   183
         (MenuItem
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   184
            label: 'Resolve conflicts'
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   185
            itemValue: hgResolve
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   186
          )
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   187
         (MenuItem
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   188
            enabled: hasHGWorkingCopySelected
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   189
            label: 'Mark as resolved'
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   190
            itemValue: hgResolveMark
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   191
          )
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   192
         (MenuItem
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   193
            enabled: hasHGWorkingCopySelected
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   194
            label: 'Mark as unresolved'
1ed827252fee More work on merging. Not yet finished.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   195
            itemValue: hgResolveUnmark
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   196
          )
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   197
         )
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   198
        nil
162
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   199
        nil
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   200
      )
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   201
! !
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   202
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   203
!Annotation class methodsFor:'instance creation'!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   204
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   205
HGRevision: aString
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   206
    "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
   207
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   208
    ^HGRevisionAnnotation revision: aString
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   209
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   210
    "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
   211
! !
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   212
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   213
!ByteArray methodsFor:'converting'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   214
103
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   215
asHGChangesetId
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   216
    ^ HGChangesetId fromBytes:self.
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   217
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   218
    "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
   219
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   220
162
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   221
!ConfigurableFeatures class methodsFor:'queries-features'!
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   222
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   223
hasHGSupport
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   224
    "/ use Smalltalk-at to trick the dependency/prerequisite generator
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   225
    ^ (Smalltalk at: #'HGSourceCodeManager' ifAbsent:nil) notNil
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   226
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   227
    "
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   228
     ConfigurableFeatures hasGitSupport
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   229
    "
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   230
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   231
    "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
   232
! !
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   233
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   234
!ConfigurableFeatures class methodsFor:'queries-features'!
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   235
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   236
hasHGSupportEnabled
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   237
    ^ self hasSCMSupportEnabledFor:#'HGSourceCodeManager'
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   238
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   239
    "
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   240
     self hasGitSupportEnabled
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   241
    "
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   242
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   243
    "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
   244
! !
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   245
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   246
!Integer methodsFor:'converting'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   247
103
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   248
asHGChangesetId
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   249
    ^ (HGChangesetId new:0) revno:self.
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   250
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   251
    "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
   252
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   253
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   254
!Object methodsFor:'converting'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   255
103
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   256
asHGChangesetId
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   257
    HGError 
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   258
        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
   259
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   260
    "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
   261
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   262
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   263
!Object methodsFor:'converting'!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   264
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   265
asHGRevision
103
04731ef44417 HGNodeId renamed to HGChangesetId
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   266
    ^self asHGChangesetId
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   267
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   268
    "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
   269
    "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
   270
! !
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   271
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   272
!ProjectDefinition class methodsFor:'accessing - hg'!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   273
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   274
hgBinaryRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   275
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   276
    "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   277
    Answers Mercurial revision from which the package was compiled.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   278
    If no binary revision is available, returns nil."
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   279
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   280
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   281
    | revInfo |
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   282
91
f07d8ef6c01a stx compilation fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   283
    self binaryRevisionString notNil ifTrue:[
f07d8ef6c01a stx compilation fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   284
        revInfo := HGRevisionInfo readFrom: self binaryRevisionString onError:[nil].
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   285
        revInfo notNil ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   286
            ^revInfo changesetId
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   287
        ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   288
    ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   289
    ^nil
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   290
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   291
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   292
    "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   293
        stx_libbasic hgBinaryRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   294
        stx_libsvn hgBinaryRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   295
        stx_libscm_mercurial hgBinaryRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   296
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   297
    "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   298
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   299
    "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
   300
! !
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   301
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   302
!ProjectDefinition class methodsFor:'accessing - hg'!
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   303
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   304
hgLogicalRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   305
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   306
    "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   307
    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
   308
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   309
    Revision is computed as follows:
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   310
        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
   311
           if so, return its value.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   312
        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
   313
        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
   314
           return working copy's revision"
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   315
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   316
    | versionMethod versionAnnotation revInfo pkgDir repoDir repo |
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   317
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   318
    "1 --- "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   319
102
16bc16d9e6d5 Update logical revision on commit,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   320
    versionMethod := self class compiledMethodAt: HGSourceCodeManager nameOfVersionMethodInClasses.
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   321
    versionMethod notNil ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   322
        versionAnnotation := versionMethod annotationAt: #HGRevision:.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   323
        versionAnnotation notNil ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   324
            ^versionAnnotation revision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   325
        ].
174
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 173
diff changeset
   326
    ] ifFalse:[
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 173
diff changeset
   327
        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
   328
        versionMethod := self class compiledMethodAt: HGSourceCodeManager nameOfVersionMethodInClasses.
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   329
    ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   330
    
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   331
    "2 --- "
91
f07d8ef6c01a stx compilation fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   332
    self binaryRevisionString notNil ifTrue:[
f07d8ef6c01a stx compilation fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 88
diff changeset
   333
        revInfo := HGRevisionInfo readFrom: self binaryRevisionString onError:[nil].
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   334
        revInfo notNil ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   335
            ^revInfo changesetId
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   336
        ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   337
    ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   338
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   339
    "3 --- "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   340
    pkgDir := Smalltalk getPackageDirectoryForPackage: self package.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   341
    pkgDir notNil ifTrue:[
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   342
        repoDir := HGRepository discover: pkgDir.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   343
        repoDir notNil ifTrue:[
170
e0bdc6f35bf9 Bugfix in ProjectDefinition>>hgLogicalRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 163
diff changeset
   344
            | id |
e0bdc6f35bf9 Bugfix in ProjectDefinition>>hgLogicalRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 163
diff changeset
   345
88
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   346
            repo := HGRepository on: repoDir.
170
e0bdc6f35bf9 Bugfix in ProjectDefinition>>hgLogicalRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 163
diff changeset
   347
            id := repo workingCopy changeset id.
e0bdc6f35bf9 Bugfix in ProjectDefinition>>hgLogicalRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 163
diff changeset
   348
            versionMethod annotateWith: (HGRevisionAnnotation revision: id).
e0bdc6f35bf9 Bugfix in ProjectDefinition>>hgLogicalRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 163
diff changeset
   349
            ^id
88
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
    ].
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   352
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   353
    "4 --- "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   354
    self breakPoint: #jv.
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   355
    ^nil
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   356
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
    "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   359
        stx_libbasic hgLogicalRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   360
        stx_libsvn hgLogicalRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   361
        stx_libscm_mercurial hgLogicalRevision
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   362
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   363
    "
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   364
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   365
    "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
   366
    "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
   367
! !
1ad71a063a20 Bunch of fixes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   368
107
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   369
!ProjectDefinition class methodsFor:'description - actions - hg'!
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   370
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   371
hgPostLoad
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   372
    <postLoad>
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   373
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   374
    | dir repo versionMethod |
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   375
    "Eventually update an version_HG"
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   376
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   377
    self binaryRevisionString isNil ifTrue:[
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   378
        dir := Smalltalk getPackageDirectoryForPackage: self package.
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   379
        dir := HGRepository discover: dir.
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   380
        dir notNil ifTrue:[
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   381
            repo := HGRepository on: dir.
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   382
            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
   383
            versionMethod annotateWith: 
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   384
                (HGRevisionAnnotation revision: repo workingCopy changeset id)
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   385
        ].
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   386
    ].
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   387
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   388
    "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
   389
    "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
   390
! !
c92f7674485e Fixed test StXTests>>test_commit_03c
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
   391
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   392
!String 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 fromString: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: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
   398
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   399
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   400
!Tools::NewSystemBrowser methodsFor:'menu actions-hg'!
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   401
173
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   402
commonMenuHGBrowseTemporaryWorkingCopy
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   403
    self selectedProjectsForHG value do:[:package|
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   404
        | pkg  |
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   405
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   406
        pkg := HGPackageModel named: package.
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   407
        pkg notNil ifTrue:[
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   408
            pkg temporaryWorkingCopy browse 
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   409
        ].
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   410
    ].
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   411
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   412
    "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
   413
! !
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   414
c72794df7ae3 Implemented commit menu item in file browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 170
diff changeset
   415
!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
   416
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   417
commonMenuHGBrowseWorkingCopy
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   418
    self selectedProjectsForHG value do:[:package|
162
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   419
        | pkg  |
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   420
162
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   421
        pkg := HGPackageModel named: package.
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   422
        pkg notNil ifTrue:[
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   423
            pkg repository workingCopy browse 
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   424
        ].
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   425
    ].
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   426
162
108fc9ee061e Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 161
diff changeset
   427
    "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
   428
! !
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   429
161
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   430
!Tools::NewSystemBrowser methodsFor:'menus-dynamic-hg'!
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   431
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   432
commonMenuHGPushSlice
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   433
    | menu push submenu packages package remotes default |
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   434
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   435
    menu := Menu new.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   436
    push := MenuItem new
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   437
                label: (resources string: 'Push...');
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   438
                yourself.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   439
    menu addItem: push.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   440
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   441
    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
   442
    ((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
   443
        push enabled: false.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   444
        ^menu.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   445
    ].
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   446
161
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   447
    package := packages anElement.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   448
    remotes := package repository remotes.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   449
    remotes isEmpty ifTrue:[
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   450
        push enabled: false.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   451
        ^menu.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   452
    ].
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   453
"/    default := package repository remoteDefault.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   454
"/    default notNil ifTrue:[
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   455
"/        menu addItem: (MenuItem new
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   456
"/                            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
   457
"/                            value:[package repository push: default];
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   458
"/                            yourself).
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   459
"/    ].
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   460
    (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
   461
        submenu := Menu new.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   462
        push submenu: submenu.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   463
        remotes do:[:remote|
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   464
            submenu addItem: (MenuItem new
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   465
                            label: remote displayString;
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   466
                            value:[package repository push: remote];
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   467
                            yourself).
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   468
        ].
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   469
    ].
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   470
    ^menu.
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   471
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   472
    "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
   473
    "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
   474
! !
ed22df640210 Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 154
diff changeset
   475
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   476
!Tools::NewSystemBrowser methodsFor:'aspects-navigation-hg'!
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   477
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   478
selectedProjectsForHG
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   479
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   480
    self selectedProjects value notNil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   481
        ifTrue:[^self selectedProjects value].
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   482
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   483
    self selectedClasses value notNil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   484
        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
   485
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   486
    ^nil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   487
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   488
    "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
   489
! !
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   490
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   491
!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
   492
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   493
classMenuSCMExtra_HG
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   494
    "This resource specification was automatically generated
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   495
     by the MenuEditor of ST/X."
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   496
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   497
    "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
   498
     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
   499
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   500
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   501
    "
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   502
     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
   503
     (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
   504
    "
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   505
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   506
    <resource: #menu>
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   507
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   508
    ^ 
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   509
     #(Menu
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   510
        (
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   511
         (MenuItem
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   512
            label: 'Push Slice'
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   513
            submenuChannel: commonMenuHGPushSlice
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   514
            isMenuSlice: true
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   515
          )
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   516
          (MenuItem
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   517
            label: 'Browse package working copy'
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   518
            itemValue: commonMenuHGBrowseWorkingCopy
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   519
          )
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   520
         (MenuItem
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   521
            label: 'Browse temporary working copy (for commits & merges)'
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   522
            itemValue: commonMenuHGBrowseTemporaryWorkingCopy
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   523
          )
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   524
         )
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   525
        nil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   526
        nil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   527
      )
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   528
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   529
    "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
   530
! !
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   531
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   532
!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
   533
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   534
projectMenuSCMExtra_HG
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   535
    "This resource specification was automatically generated
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   536
     by the MenuEditor of ST/X."
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   537
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   538
    "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
   539
     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
   540
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   541
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   542
    "
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   543
     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
   544
     (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
   545
    "
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   546
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   547
    <resource: #menu>
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   548
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   549
    ^ 
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   550
     #(Menu
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   551
        (
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   552
         (MenuItem
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   553
            label: 'Push Slice'
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   554
            submenuChannel: commonMenuHGPushSlice
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   555
            isMenuSlice: true
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   556
          )
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   557
         (MenuItem
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   558
            label: 'Browse package working copy'
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   559
            itemValue: commonMenuHGBrowseWorkingCopy
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   560
          )
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   561
         (MenuItem
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   562
            label: 'Browse temporary working copy (for commits & merges)'
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   563
            itemValue: commonMenuHGBrowseTemporaryWorkingCopy
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   564
          )
154
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   565
         )
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   566
        nil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   567
        nil
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   568
      )
163
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   569
21bc6994087d Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 162
diff changeset
   570
    "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
   571
! !
c1221bf5f357 Added 'Push' menu to system browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   572
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   573
!UserPreferences methodsFor:'accessing-scm-mercurial'!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   574
151
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   575
hgAutopush
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   576
    "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
   577
     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
   578
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   579
    ^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
   580
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   581
    "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
   582
! !
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   583
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   584
!UserPreferences methodsFor:'accessing-scm-mercurial'!
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   585
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   586
hgAutopush: aBoolean
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   587
    "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
   588
     to an upstream repository (autopush)"
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   589
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   590
    ^self at: #hgAutopush put: aBoolean.
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   591
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   592
    "
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   593
    UserPreferences current hgAutopush
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   594
    UserPreferences current hgAutopush: true
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   595
    UserPreferences current hgAutopush: false
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   596
    "
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   597
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   598
    "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
   599
! !
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   600
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   601
!UserPreferences methodsFor:'accessing-scm-mercurial'!
527a1e85aef8 Support for 'autopush' in commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   602
80
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   603
hgCommand
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   604
    "Returns path svn executable"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   605
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   606
    | cmd |
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   607
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   608
    cmd := self at:#hgCommand ifAbsent:[ nil ].
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   609
    ^cmd isEmptyOrNil ifTrue:[ nil ] ifFalse:[ cmd ]
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   610
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   611
    "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
   612
! !
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   613
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   614
!UserPreferences methodsFor:'accessing-scm-mercurial'!
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   615
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   616
hgCommand: aString
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   617
    "Set the command to 'hg' executable"
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   618
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   619
    self at:#hgCommand put: aString.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   620
    HGCommand hgCommand: aString.
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   621
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   622
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   623
        UserPreferences current hgCommand
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   624
        UserPreferences current hgCommand:'hg'
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   625
        UserPreferences current hgCommand:nil
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   626
    "
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   627
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   628
    "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
   629
! !
8f300696b26b Added configurable path to 'hg' command.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   630
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   631
!stx_libscm_mercurial class methodsFor:'documentation'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   632
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   633
extensionsVersion_HG
115
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   634
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   635
    ^ '$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
   636
! !