mercurial/HGRevset.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sun, 09 Feb 2014 19:36:58 +0000
changeset 372 5acd6d915c77
child 405 9906c030ae1d
permissions -rw-r--r--
Added HGRevset to fetch revision log using hg revsets. Added HGRepository>>log:limit. It takes a string or HGRevset and returns a set of changesets matching given revset. Revset is a revset specification string as used by hg command (see `hg help revsets` for more)

"
stx:libscm - a new source code management library for Smalltalk/X
Copyright (C) 2012-2013 Jan Vrany

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License. 

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
"
"{ Package: 'stx:libscm/mercurial' }"

Object subclass:#HGRevset
	instanceVariableNames:'expression'
	classVariableNames:''
	poolDictionaries:''
	category:'SCM-Mercurial-Core'
!

!HGRevset class methodsFor:'documentation'!

copyright
"
stx:libscm - a new source code management library for Smalltalk/X
Copyright (C) 2012-2013 Jan Vrany

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License. 

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
"
!

documentation
"
    HGRevset represent a `revset` expression as used by Mercurial.
    Revset is an expression specifying a set of changesets (commits).


    For more on revsets see `hg help revset`

    [author:]
        Jan Vrany <jan.vrany@fit.cvut.cz>

    [instance variables:]

    [class variables:]

    [see also:]
        hg help revset

"
! !

!HGRevset class methodsFor:'instance creation'!

fromString: aString
    ^ self new setExpression: aString

    "Created: / 07-02-2014 / 12:59:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!HGRevset methodsFor:'conversion'!

asHGRevset
    ^ self

    "Created: / 07-02-2014 / 12:59:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

asString
    ^ expression

    "Created: / 07-02-2014 / 12:59:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!HGRevset methodsFor:'initialization'!

setExpression: aString
    expression := aString

    "Created: / 07-02-2014 / 12:59:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !