git/GitCommand.st
author vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
Sun, 30 Sep 2012 22:13:12 +0000
changeset 23 5cbdd3cb7ce4
child 24 bce2a03d1070
permissions -rw-r--r--
- GitPrimitives changed: #prim_git_remote_list:repo: #prim_git_strarray_copy:src: #prim_git_strarray_free: - GitLibraryObject added: #documentation comment/format in: #getHandleClass #setHandleFromRef: - GitCommand added:42 methods category of: - GitRepository class definition added:6 methods category of: - stx_libscm_git changed: #classNamesAndAttributes #extensionMethodNames #preRequisites - GitStringArray class definition added:7 methods changed: #count #strings category of: #count #count: #strings #strings: - GitWorkingCopy class definition added: #repository changed: #setRepository: - GitObject class definition - GitRemote added:7 methods - GitRepositoryObject added:6 methods - GitTests added: #test_02a - GitStructure added: #new - GitWorkingCopyEntry added: #isChanged - extensions ...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     1
"{ Package: 'stx:libscm/git' }"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     2
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     3
Object subclass:#GitCommand
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     4
	instanceVariableNames:''
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     5
	classVariableNames:'GitExecutable'
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     6
	poolDictionaries:''
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     7
	category:'SCM-Git-Internal'
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     8
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     9
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    10
GitCommand subclass:#clone
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    11
	instanceVariableNames:'url path'
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    12
	classVariableNames:''
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    13
	poolDictionaries:''
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    14
	privateIn:GitCommand
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    15
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    16
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    17
GitCommand subclass:#push
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    18
	instanceVariableNames:'remote refspec'
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    19
	classVariableNames:''
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    20
	poolDictionaries:''
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    21
	privateIn:GitCommand
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    22
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    23
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    24
!GitCommand class methodsFor:'documentation'!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    25
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    26
documentation
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    27
"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    28
    A simple wrapper for git command line tool. git command is called
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    29
    in cases there is no native nor libgit2 implementation for given
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    30
    operation (yet).
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    31
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    32
    Individual commands are wrapped in my private classes.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    33
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    34
    [author:]
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    35
        Jan Vrany <jan.vrany@fit.cvut.cz>
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    36
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    37
    [instance variables:]
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    38
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    39
    [class variables:]
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    40
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    41
    [see also:]
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    42
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    43
"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    44
! !
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    45
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    46
!GitCommand class methodsFor:'instance creation'!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    47
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    48
clone
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    49
    ^clone new
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    50
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    51
    "Created: / 01-10-2012 / 00:09:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    52
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    53
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    54
new
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    55
    ^ self basicNew initialize.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    56
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    57
    "Created: / 16-03-2008 / 07:45:22 / janfrog"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    58
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    59
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    60
push
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    61
    ^push new
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    62
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    63
    "Created: / 30-09-2012 / 23:46:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    64
! !
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    65
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    66
!GitCommand class methodsFor:'accessing'!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    67
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    68
verbose
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    69
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    70
    ^ UserPreferences current svnVerbose
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    71
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    72
    "Created: / 19-03-2008 / 12:29:47 / janfrog"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    73
    "Modified: / 19-03-2009 / 14:00:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    74
    "Modified (format): / 27-12-2011 / 16:00:06 / dundee"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    75
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    76
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    77
verbose:aBoolean
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    78
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    79
    UserPreferences current svnVerbose:aBoolean
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    80
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    81
    "Created: / 19-03-2008 / 12:29:59 / janfrog"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    82
    "Modified: / 19-03-2009 / 14:00:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    83
    "Modified (format): / 27-12-2011 / 16:00:13 / dundee"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    84
! !
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    85
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    86
!GitCommand class methodsFor:'commands'!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    87
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    88
clone: url to: stringOfFilename
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    89
    self clone
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    90
        url: url;
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    91
        path: stringOfFilename asFilename asAbsoluteFilename pathName;
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    92
        execute
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    93
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    94
    "Created: / 01-10-2012 / 00:06:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    95
! !
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    96
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    97
!GitCommand methodsFor:'executing'!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    98
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    99
execute
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   100
    |pipe output pid environment|
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   101
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   102
    pipe := NonPositionableExternalStream makePipe.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   103
    output := pipe first.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   104
    environment := OperatingSystem getEnvironment copy.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   105
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   106
    environment at:'LANG' put:'C'.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   107
    pid := OperatingSystem exec:(self executable) withArguments:(self arguments)
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   108
        environment:environment
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   109
        fileDescriptors:{0 . pipe second fileDescriptor . pipe second fileDescriptor}
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   110
        fork:true 
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   111
        newPgrp:false 
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   112
        inDirectory:self workingDirectory.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   113
    pipe second close.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   114
    pid isNil ifTrue:[
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   115
        self error:'Cannot execute git command'.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   116
        output close.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   117
        ^ self.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   118
    ].
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   119
    ^ self parse: output.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   120
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   121
    "
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   122
        SVNv2::Command info: 'https://swing.fit.cvut.cz/svn/stx/libsvn'
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   123
    "
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   124
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   125
    "Created: / 11-05-2011 / 07:45:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   126
    "Modified: / 17-12-2011 / 19:22:00 / dundee"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   127
    "Modified (format): / 27-12-2011 / 15:53:54 / dundee"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   128
    "Modified: / 30-09-2012 / 23:48:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   129
! !
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   130
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   131
!GitCommand methodsFor:'private'!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   132
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   133
arguments
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   134
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   135
    ^ OrderedCollection streamContents:[:s |
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   136
        s nextPut:self executable.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   137
        self argumentsGlobalOn:s.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   138
        s nextPut:self command.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   139
        self argumentsCommandOn:s.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   140
    ].
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   141
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   142
    "Created: / 11-05-2011 / 07:58:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   143
    "Modified (format): / 27-12-2011 / 15:47:23 / dundee"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   144
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   145
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   146
argumentsCommandOn:stream
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   147
    "Called to get command specific options"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   148
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   149
    self shouldImplement
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   150
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   151
    "Created: / 11-05-2011 / 07:58:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   152
    "Modified (format): / 27-12-2011 / 15:46:59 / dundee"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   153
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   154
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   155
argumentsGlobalOn:arg
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   156
    "Called to get global options"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   157
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   158
    "Created: / 11-05-2011 / 07:58:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   159
    "Modified (format): / 27-12-2011 / 15:47:10 / dundee"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   160
    "Modified: / 30-09-2012 / 23:43:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   161
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   162
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   163
command
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   164
    "Returns the git 'command' option, i.e. commit,
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   165
     push, pull, ..."
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   166
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   167
    ^self class nameWithoutPrefix
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   168
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   169
    "
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   170
        GitCommand::push basicNew command
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   171
    "
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   172
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   173
    "Created: / 11-05-2011 / 07:58:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   174
    "Modified (format): / 27-12-2011 / 15:47:17 / dundee"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   175
    "Modified: / 30-09-2012 / 23:37:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   176
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   177
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   178
executable
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   179
    | h |
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   180
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   181
    GitExecutable notNil ifTrue:[^ GitExecutable].
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   182
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   183
    OperatingSystem isMSWINDOWSlike ifTrue:[
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   184
"/        h := Win32OperatingSystem registryEntry 
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   185
"/                key:'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\svn.exe'.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   186
"/        h notNil ifTrue:[GitExecutable := h valueNamed:''].
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   187
"/        GitExecutable notEmptyOrNil ifTrue:[^ GitExecutable]
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   188
        GitExecutable := OperatingSystem pathOfCommand:'git'.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   189
        ^GitExecutable
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   190
    ].
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   191
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   192
    OperatingSystem isUNIXlike ifTrue:[
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   193
        GitExecutable := OperatingSystem pathOfCommand:'git'.    
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   194
        ^GitExecutable
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   195
    ].
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   196
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   197
    self error:'Git executable not found!!'.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   198
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   199
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   200
    "
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   201
     GitExecutable := nil.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   202
     self basicNew executable
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   203
    "
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   204
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   205
    "Created: / 11-05-2011 / 07:59:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   206
    "Modified: / 09-12-2011 / 22:48:33 / dundee"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   207
    "Modified (format): / 27-12-2011 / 15:51:06 / dundee"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   208
    "Modified: / 01-10-2012 / 00:10:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   209
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   210
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   211
parse: stream
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   212
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   213
    "Parses output of svn 'command' option, i.e. commit,
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   214
     log, update, checkout, etc."
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   215
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   216
    ^ self subclassResponsibility
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   217
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   218
    "Created: / 11-05-2011 / 07:58:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   219
    "Created: / 17-12-2011 / 17:02:41 / dundee"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   220
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   221
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   222
workingDirectory
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   223
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   224
    ^ Filename currentDirectory pathName
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   225
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   226
    "Created: / 11-05-2011 / 08:26:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   227
    "Modified (format): / 27-12-2011 / 15:54:08 / dundee"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   228
! !
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   229
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   230
!GitCommand::clone methodsFor:'accessing'!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   231
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   232
path
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   233
    ^ path
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   234
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   235
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   236
path:something
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   237
    path := something.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   238
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   239
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   240
url
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   241
    ^ url
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   242
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   243
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   244
url:something
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   245
    url := something.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   246
! !
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   247
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   248
!GitCommand::clone methodsFor:'private'!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   249
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   250
argumentsCommandOn:stream
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   251
    "Called to get command specific options"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   252
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   253
    stream nextPut: url; nextPut: path
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   254
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   255
    "Created: / 01-10-2012 / 00:04:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   256
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   257
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   258
parse:stream
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   259
    "superclass GitCommand says that I am responsible to implement this method"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   260
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   261
    ^ ''
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   262
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   263
    "Modified: / 01-10-2012 / 00:11:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   264
! !
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   265
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   266
!GitCommand::push methodsFor:'accessing'!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   267
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   268
refspec
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   269
    ^ refspec
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   270
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   271
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   272
refspec:something
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   273
    refspec := something.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   274
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   275
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   276
remote
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   277
    ^ remote
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   278
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   279
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   280
remote:something
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   281
    remote := something.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   282
! !
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   283
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   284
!GitCommand::push methodsFor:'private'!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   285
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   286
argumentsCommandOn:stream
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   287
    "Called to get command specific options"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   288
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   289
    stream nextPutAll: remote.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   290
    refspec notNil ifTrue:[
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   291
        stream nextPutAll: refspec.
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   292
    ]
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   293
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   294
    "Created: / 30-09-2012 / 23:44:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   295
!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   296
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   297
parse:stream
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   298
    "superclass GitCommand says that I am responsible to implement this method"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   299
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   300
    ^ ''
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   301
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   302
    "Modified: / 01-10-2012 / 00:11:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   303
! !
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   304
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   305
!GitCommand class methodsFor:'documentation'!
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   306
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   307
version_SVN
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   308
    ^ '$Id::                                                                                                                        $'
5cbdd3cb7ce4 - GitPrimitives
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   309
! !