Merge jv
authorMerge Script
Tue, 09 Aug 2016 06:39:39 +0200
branchjv
changeset 1179 a3c51fbc33cf
parent 1168 07633e05c812 (diff)
parent 1178 3a6dad9479fd (current diff)
child 1182 38600a7a9203
Merge
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore	Tue Aug 09 06:39:39 2016 +0200
@@ -0,0 +1,16 @@
+
+syntax: glob
+*Init.c   
+makefile
+*.so
+*.H
+*.o
+*.STH
+*.sc
+objbc
+objvc
+*.class
+java/libs/*.jar
+java/libs-src/*.jar
+*-Test.xml
+st.chg
--- a/Make.proto	Tue Aug 09 03:35:30 2016 +0000
+++ b/Make.proto	Tue Aug 09 06:39:39 2016 +0200
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic3 -I$(INCLUDE_TOP)/stx/libtool -I$(INCLUDE_TOP)/stx/libview -I$(INCLUDE_TOP)/stx/libview2 -I$(INCLUDE_TOP)/stx/libwidg2
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/xml/vw -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libbasic3 -I$(INCLUDE_TOP)/stx/libtool -I$(INCLUDE_TOP)/stx/libtool2 -I$(INCLUDE_TOP)/stx/libview -I$(INCLUDE_TOP)/stx/libview2 -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/libwidg2
 
 
 # if you need any additional defines for embedded C code,
@@ -92,6 +92,13 @@
 
 
 
+# Enforce recompilation of package definition class if Mercurial working
+# copy state changes. Together with --guessVersion it ensures that package
+# definition class always contains correct binary revision string.
+ifneq (**NOHG**, $(shell hg root 2> /dev/null || echo -n '**NOHG**'))
+stx_libsvn.$(O): $(shell hg root)/.hg/dirstate
+endif
+
 
 
 
@@ -131,7 +138,7 @@
 
 
 # build all packages containing referenced classes for this package
-# they are nor needed to compile the package
+# they are not needed to compile the package (but later, to load it)
 references:
 
 
@@ -157,7 +164,7 @@
 $(OUTDIR)SVN__ConfigurationApp.$(O) SVN__ConfigurationApp.$(H): SVN__ConfigurationApp.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libtool/AbstractSettingsApplication.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)SVN__Credentials.$(O) SVN__Credentials.$(H): SVN__Credentials.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SVN__Dialog.$(O) SVN__Dialog.$(H): SVN__Dialog.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libview2/SimpleDialog.$(H) $(STCHDR)
-$(OUTDIR)SVN__DiffViewApp.$(O) SVN__DiffViewApp.$(H): SVN__DiffViewApp.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libtool/DiffTextView.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__DiffCodeView2.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libwidg2/SyncedMultiColumnTextView.$(H) $(INCLUDE_TOP)/stx/libwidg2/TwoColumnTextView.$(H) $(STCHDR)
+$(OUTDIR)SVN__DiffViewApp.$(O) SVN__DiffViewApp.$(H): SVN__DiffViewApp.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libtool/DiffTextView.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__DiffCodeView2.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libwidg2/SyncedMultiColumnTextView.$(H) $(INCLUDE_TOP)/stx/libwidg2/TwoColumnTextView.$(H) $(STCHDR)
 $(OUTDIR)SVN__Entry.$(O) SVN__Entry.$(H): SVN__Entry.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SVN__Enum.$(O) SVN__Enum.$(H): SVN__Enum.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SVN__ExternalMergeTool.$(O) SVN__ExternalMergeTool.$(H): SVN__ExternalMergeTool.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -264,7 +271,7 @@
 $(OUTDIR)SVN__StatusCommand.$(O) SVN__StatusCommand.$(H): SVN__StatusCommand.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libsvn/SVN__Command.$(H) $(INCLUDE_TOP)/stx/libsvn/SVN__WCCommand.$(H) $(INCLUDE_TOP)/stx/libsvn/SVN__WCPathCommand.$(H) $(STCHDR)
 $(OUTDIR)SVN__UpdateCommand.$(O) SVN__UpdateCommand.$(H): SVN__UpdateCommand.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libsvn/SVN__BranchCommand.$(H) $(INCLUDE_TOP)/stx/libsvn/SVN__Command.$(H) $(INCLUDE_TOP)/stx/libsvn/SVN__UpdateLikeCommand.$(H) $(STCHDR)
 $(OUTDIR)SVN__UpdateTask.$(O) SVN__UpdateTask.$(H): SVN__UpdateTask.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libsvn/SVN__FileoutLikeTask.$(H) $(INCLUDE_TOP)/stx/libsvn/SVN__Task.$(H) $(INCLUDE_TOP)/stx/libsvn/SVN__UpdateLikeTask.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/ArithmeticValue.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(INCLUDE_TOP)/stx/libbasic/CharacterArray.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/Date.$(H) $(INCLUDE_TOP)/stx/libbasic/Dictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/Filename.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/IdentityDictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/Integer.$(H) $(INCLUDE_TOP)/stx/libbasic/Magnitude.$(H) $(INCLUDE_TOP)/stx/libbasic/Method.$(H) $(INCLUDE_TOP)/stx/libbasic/Notification.$(H) $(INCLUDE_TOP)/stx/libbasic/Number.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/OrderedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Set.$(H) $(INCLUDE_TOP)/stx/libbasic/String.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UserNotification.$(H) $(INCLUDE_TOP)/stx/libbasic/UserPreferences.$(H) $(INCLUDE_TOP)/stx/libbasic3/Change.$(H) $(INCLUDE_TOP)/stx/libbasic3/ChangeSet.$(H) $(INCLUDE_TOP)/stx/libbasic3/ClassChange.$(H) $(INCLUDE_TOP)/stx/libbasic3/MethodChange.$(H) $(INCLUDE_TOP)/stx/libtool/AbstractFileBrowser.$(H) $(INCLUDE_TOP)/stx/libtool/SystemBrowser.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libwidg2/FilenameWidgetWithHistory.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/ArithmeticValue.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(INCLUDE_TOP)/stx/libbasic/CharacterArray.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/Date.$(H) $(INCLUDE_TOP)/stx/libbasic/Dictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/Filename.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/IdentityDictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/Integer.$(H) $(INCLUDE_TOP)/stx/libbasic/Magnitude.$(H) $(INCLUDE_TOP)/stx/libbasic/Method.$(H) $(INCLUDE_TOP)/stx/libbasic/Notification.$(H) $(INCLUDE_TOP)/stx/libbasic/Number.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/OrderedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Set.$(H) $(INCLUDE_TOP)/stx/libbasic/String.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UserNotification.$(H) $(INCLUDE_TOP)/stx/libbasic/UserPreferences.$(H) $(INCLUDE_TOP)/stx/libbasic3/Change.$(H) $(INCLUDE_TOP)/stx/libbasic3/ChangeSet.$(H) $(INCLUDE_TOP)/stx/libbasic3/ClassChange.$(H) $(INCLUDE_TOP)/stx/libbasic3/MethodChange.$(H) $(INCLUDE_TOP)/stx/libtool/AbstractFileBrowser.$(H) $(INCLUDE_TOP)/stx/libtool/SystemBrowser.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libwidg2/FilenameWidgetWithHistory.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/Make.spec	Tue Aug 09 03:35:30 2016 +0000
+++ b/Make.spec	Tue Aug 09 06:39:39 2016 +0200
@@ -42,6 +42,7 @@
 #  -warnNonStandard : no warnings about ST/X extensions
 #  -warnEOLComments : no warnings about EOL comment extension
 #  -warnPrivacy     : no warnings about privateClass extension
+#  -warnUnused      : no warnings about unused variables
 #
 # ********** OPTIONAL: MODIFY the next line(s) ***
 # STCWARNINGS=-warn
--- a/OSProcess.st	Tue Aug 09 03:35:30 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,365 +0,0 @@
-"
- Copyright (c) 2007-2010 Jan Vrany
- Copyright (c) 2009-2010 eXept Software AG
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the 'Software'), to deal in the Software without
- restriction, including without limitation the rights to use,
- copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the
- Software is furnished to do so, subject to the following
- conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
-"
-"{ Package: 'stx:libsvn' }"
-
-"{ NameSpace: SVN }"
-
-Object subclass:#OSProcess
-        instanceVariableNames:'executable arguments environment workdir stdin stdout stderr
-                exitValue runningLock'
-        classVariableNames:''
-        poolDictionaries:''
-        category:'OS-Support'
-!
-
-!OSProcess class methodsFor:'documentation'!
-
-copyright
-"
- Copyright (c) 2007-2010 Jan Vrany
- Copyright (c) 2009-2010 eXept Software AG
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the 'Software'), to deal in the Software without
- restriction, including without limitation the rights to use,
- copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the
- Software is furnished to do so, subject to the following
- conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
-
-"
-! !
-
-!OSProcess class methodsFor:'private'!
-
-asShellQuotedArgument: anObject
-
-    | aString unquotedStream quotedStream |
-    aString := anObject asString.
-
-    (aString first = $' and: [aString last = $'])
-        ifTrue:[^aString].
-
-    (aString first = $" and: [aString last = $"])
-        ifTrue:[^aString].
-
-    (aString allSatisfy:
-        [:char|char isSeparator not and: [(#($" $< $> $& $# $; $\) includes: char) not]])
-            ifTrue:[^aString].
-
-    unquotedStream := aString readStream.
-    quotedStream := (String new: aString size + 10) writeStream.
-    quotedStream nextPut: $".
-    [ unquotedStream atEnd ] whileFalse:
-        [|char|
-        char := unquotedStream next.
-        (#($" $\) includes: char) ifTrue:[quotedStream nextPut: $\].
-        quotedStream nextPut: char].
-    quotedStream nextPut: $".
-    ^quotedStream contents.
-
-    "
-        OSProcess asShellQuotedArgument: 'Hello' .
-        OSProcess asShellQuotedArgument: 'Hello world'
-        OSProcess asShellQuotedArgument: 'Hello'' world'
-        OSProcess asShellQuotedArgument: 'Hello
-        World'
-    "
-
-    "Created: / 10-10-2008 / 12:32:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 02-06-2009 / 19:41:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
-! !
-
-!OSProcess methodsFor:'accessing'!
-
-arguments
-    ^ arguments ? #()
-
-    "Created: / 15-03-2008 / 18:09:37 / janfrog"
-!
-
-arguments:something
-    arguments := something.
-
-    "Created: / 15-03-2008 / 18:09:37 / janfrog"
-!
-
-environment
-    ^ environment
-
-    "Created: / 15-03-2008 / 18:09:37 / janfrog"
-!
-
-environment:something
-    environment := something.
-
-    "Created: / 15-03-2008 / 18:09:37 / janfrog"
-!
-
-executable
-    ^ executable
-
-    "Created: / 15-03-2008 / 18:09:37 / janfrog"
-!
-
-executable:something
-    executable := something.
-
-    "Created: / 15-03-2008 / 18:09:37 / janfrog"
-!
-
-exitValue
-
-    self waitFor.
-    ^exitValue
-
-    "Created: / 15-03-2008 / 18:08:00 / janfrog"
-    "Modified: / 19-04-2008 / 12:25:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-stderr
-    ^ stderr ? Stderr
-
-    "Created: / 15-03-2008 / 18:21:05 / janfrog"
-!
-
-stderr:something
-    stderr := something.
-
-    "Created: / 15-03-2008 / 18:21:05 / janfrog"
-!
-
-stdin
-    ^ stdin ? Stdin
-
-    "Created: / 15-03-2008 / 18:21:05 / janfrog"
-!
-
-stdin:something
-    stdin := something.
-
-    "Created: / 15-03-2008 / 18:21:05 / janfrog"
-!
-
-stdout
-    ^ stdout ? Transcript
-
-    "Created: / 15-03-2008 / 18:21:05 / janfrog"
-!
-
-stdout:something
-    stdout := something.
-
-    "Created: / 15-03-2008 / 18:21:05 / janfrog"
-!
-
-workdir
-    ^ workdir ? Filename defaultDirectory
-
-    "Created: / 15-03-2008 / 18:09:37 / janfrog"
-!
-
-workdir:aStringOrFilename
-    workdir := aStringOrFilename asString.
-
-    "Created: / 15-03-2008 / 18:09:37 / janfrog"
-    "Modified: / 09-04-2009 / 17:32:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
-! !
-
-!OSProcess methodsFor:'conversion'!
-
-asShellCommandString
-
-    | cmdStream |
-    cmdStream := String new writeStream.
-    cmdStream nextPutAll:self executable.
-    self arguments do:
-        [:arg|
-        cmdStream space.
-        cmdStream nextPutAll:(self asShellQuotedArgument: arg)].
-
-    ^cmdStream contents utf8Encoded
-
-    "Created: / 19-03-2008 / 12:34:59 / janfrog"
-    "Modified: / 31-03-2008 / 14:09:05 / janfrog"
-    "Modified: / 23-03-2009 / 10:09:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
-! !
-
-!OSProcess methodsFor:'operations'!
-
-execute
-    "
-    self synchronized:
-        [runningLock
-            ifNotNil:[self error:'Process already running']
-            ifNil:[runningLock := Semaphore new:0]].
-    [["
-
-        OperatingSystem isMSWINDOWSlike"false"
-            ifTrue: [self executeOnStupidPlatform]
-            ifFalse:[self executeOnReasonablePlatform]
-     "
-
-        (OperatingSystem
-            executeCommand: self asShellCommandString
-            inputFrom: self stdin
-            outputTo: self stdout
-            errorTo: self stderr
-            auxFrom: nil
-            environment: nil
-            inDirectory: self workdir asString
-            lineWise: (self stdout = self stderr)
-            onError:[:value|exitValue := value code.false])
-            ifTrue:[exitValue := 0]
-    "
-
-    ] ensure:[runningLock signalForAll. runningLock := nil]] fork
-    "
-
-    "Created: / 15-03-2008 / 18:11:20 / janfrog"
-    "Modified: / 19-03-2008 / 12:35:05 / janfrog"
-    "Modified: / 08-06-2008 / 19:15:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 11-04-2010 / 13:04:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-waitFor
-
-    "| lock |
-    self synchronized:
-        [runningLock
-            ifNil:[^self]
-            ifNotNil:[lock := runningLock]].
-    lock wait"
-
-    "Created: / 15-03-2008 / 18:32:41 / janfrog"
-    "Modified: / 08-06-2008 / 19:15:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
-! !
-
-!OSProcess methodsFor:'private'!
-
-asShellQuotedArgument:arg
-    ^ self class asShellQuotedArgument:arg
-
-    "Created: / 10-10-2008 / 12:32:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-executeOnReasonablePlatform
-    "
-    self synchronized:
-        [runningLock 
-            ifNotNil:[self error:'Process already running']
-            ifNil:[runningLock := Semaphore new:0]].
-    [["
-        (OperatingSystem
-            executeCommand: self asShellCommandString
-            inputFrom: self stdin
-            outputTo: self stdout
-            errorTo: self stderr
-            auxFrom: nil
-            environment: nil
-            inDirectory: self workdir asString
-            lineWise: (self stdout = self stderr)
-            onError:[:value|exitValue := value code.false])
-            ifTrue:[exitValue := 0]        
-    "
-    ] ensure:[runningLock signalForAll. runningLock := nil]] fork
-    "
-
-    "Modified: / 19-03-2008 / 12:35:05 / janfrog"
-    "Modified: / 08-06-2008 / 19:15:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Created: / 11-04-2010 / 12:49:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-executeOnStupidPlatform
-
-    "i.e., on MS Windows. For some reasons sometimes part
-     of stdout bytes are lost. Arghh.
-     To workaround it, redirect output to file and then
-     read that file. Stupid & complicated kludge, sigh."
-
-    | extStdoutF extStdout extStderrF extStderr |
-    [extStdout := (extStdoutF := Filename newTemporary) writeStream.
-    extStderr := (extStderrF := Filename newTemporary) writeStream.        
-    (OperatingSystem
-            executeCommand: self asShellCommandString
-            inputFrom: self stdin
-            outputTo: extStdout
-            errorTo: extStderr
-            auxFrom: nil
-            environment: nil
-            inDirectory: self workdir asString
-            lineWise: (self stdout = self stderr)
-            onError:[:value|exitValue := value code.false])
-            ifTrue:[exitValue := 0]    
-    ] ensure: [
-        extStdout close. extStderr close.
-        stdout nextPutAll: extStdoutF contentsAsString.
-        stderr nextPutAll: extStderrF contentsAsString.
-        "Windows are really stupid!! Sometimes they lock files
-         longer than needed. Even same process is not allowed
-         to work with them. Sigh sigh sigh..."
-        [ extStdoutF remove ] on: Error do:
-            [Delay waitForMilliseconds: 10.
-            [ extStdoutF remove ] on: Error do:
-                [Delay waitForMilliseconds: 20.
-                extStdoutF remove]].
-        "Same for stderr"
-        [ extStderrF remove ] on: Error do:
-            [Delay waitForMilliseconds: 10.
-            [ extStderrF remove ] on: Error do:
-                [Delay waitForMilliseconds: 20.
-                extStderrF remove]]]
-
-    "Created: / 11-04-2010 / 12:50:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 04-09-2010 / 23:41:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!OSProcess class methodsFor:'documentation'!
-
-version
-    ^ '$Header$'
-!
-
-version_CVS
-    ^ '$Header$'
-!
-
-version_SVN
-    ^ '§Id: SVN__OSProcess.st 350 2011-07-07 18:42:56Z vranyj1 §'
-! !
--- a/SVNSourceCodeManager.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVNSourceCodeManager.st	Tue Aug 09 06:39:39 2016 +0200
@@ -25,6 +25,8 @@
 "
 "{ Package: 'stx:libsvn' }"
 
+"{ NameSpace: Smalltalk }"
+
 AbstractSourceCodeManager subclass:#SVNSourceCodeManager
 	instanceVariableNames:''
 	classVariableNames:'LoadInProgressQuery'
@@ -603,7 +605,7 @@
         repo := manager repositoryForPackage: aPackageId.
         retval := (repo notNil and:[repo exists]) ifTrue:[
             repo workingCopy checkout: SVN::Revision head full: true.
-            packageDir := Smalltalk packageDirectoryForPackageId:aPackageId.
+            packageDir := Smalltalk getPackageDirectoryForPackage:aPackageId.
             "Quick and dirty hack to support old version of Smalltalk/X"
             (Smalltalk respondsTo: #loadPackage:fromDirectory:asAutoloaded:)
                 ifTrue:
@@ -638,7 +640,7 @@
     ^ retval
 
     "Created: / 09-04-2009 / 17:20:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 25-04-2011 / 15:20:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 28-06-2016 / 07:53:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !SVNSourceCodeManager class methodsFor:'source code administration'!
@@ -825,6 +827,11 @@
     ^ '$Header$'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id$'
 ! !
--- a/SVN__AddCommand.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__AddCommand.st	Tue Aug 09 06:39:39 2016 +0200
@@ -103,6 +103,12 @@
     ^ '$Header$'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '§Id: SVN__AddCommand.st 363 2011-08-08 13:49:48Z vranyj1 §'
 ! !
+
--- a/SVN__CommitDialog2.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__CommitDialog2.st	Tue Aug 09 06:39:39 2016 +0200
@@ -1,3 +1,28 @@
+"
+ Copyright (c) 2007-2010 Jan Vrany
+ Copyright (c) 2009-2010 eXept Software AG
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the 'Software'), to deal in the Software without
+ restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following
+ conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+"
 "{ Package: 'stx:libsvn' }"
 
 "{ NameSpace: SVN }"
@@ -17,6 +42,36 @@
 	privateIn:CommitDialog2
 !
 
+!CommitDialog2 class methodsFor:'documentation'!
+
+copyright
+"
+ Copyright (c) 2007-2010 Jan Vrany
+ Copyright (c) 2009-2010 eXept Software AG
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the 'Software'), to deal in the Software without
+ restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following
+ conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+"
+! !
 
 !CommitDialog2 class methodsFor:'interface specs'!
 
@@ -905,3 +960,4 @@
 version_CVS
     ^ '$Header$'
 ! !
+
--- a/SVN__CommitTests.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__CommitTests.st	Tue Aug 09 06:39:39 2016 +0200
@@ -1,3 +1,28 @@
+"
+ Copyright (c) 2007-2010 Jan Vrany
+ Copyright (c) 2009-2010 eXept Software AG
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the 'Software'), to deal in the Software without
+ restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following
+ conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+"
 "{ Package: 'stx:libsvn' }"
 
 "{ NameSpace: SVN }"
@@ -9,6 +34,36 @@
 	category:'SVN-Tests'
 !
 
+!CommitTests class methodsFor:'documentation'!
+
+copyright
+"
+ Copyright (c) 2007-2010 Jan Vrany
+ Copyright (c) 2009-2010 eXept Software AG
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the 'Software'), to deal in the Software without
+ restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following
+ conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+"
+! !
 
 !CommitTests methodsFor:'initialization & release'!
 
@@ -297,3 +352,4 @@
 version_SVN
     ^'§Id: SVN__CommitTests.st 110 2009-08-19 13:21:10Z vranyj1 §'
 ! !
+
--- a/SVN__ConfigurationTests.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__ConfigurationTests.st	Tue Aug 09 06:39:39 2016 +0200
@@ -216,3 +216,4 @@
 version_SVN
     ^ '§Id: SVN__ConfigurationTests.st 350 2011-07-07 18:42:56Z vranyj1 §'
 ! !
+
--- a/SVN__FileoutLikeTask.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__FileoutLikeTask.st	Tue Aug 09 06:39:39 2016 +0200
@@ -414,14 +414,17 @@
     "First, generate files into a temporary files - so originals
      are not destroyed when something goes wrong."
     self filesToGenerate do:[:supportFileName | 
-        | supportFile |
+        | supportFile supportFileContents |
 
         supportFile := workingCopy path / (supportFileName , '.tmp').
         (packageClassesChanged or:[ supportFile exists not ]) ifTrue:[
             ActivityNotification notify:'Updating ' , supportFileName.
-            supportFile directory exists ifFalse: [supportFile directory makeDirectory].
-            supportFile writingFileDo:[:s|
-                    s nextPutAll:(self for: pkgDef generateFile:supportFileName)
+            supportFileContents := (self for: pkgDef generateFile:supportFileName).
+            supportFileContents notNil ifTrue:[ 
+                supportFile directory exists ifFalse: [supportFile directory makeDirectory].
+                supportFile writingFileDo:[:s|
+                        s nextPutAll:supportFileContents
+                ]
             ]
         ]
     ].
@@ -431,13 +434,14 @@
 
         supportFile := workingCopy path / supportFileName.
         supportFileTmp := workingCopy path / (supportFileName , '.tmp').
-
-        supportFileTmp moveTo: supportFile
+        supportFileTmp exists ifTrue:[
+            supportFileTmp moveTo: supportFile
+        ]
     ].
 
     "Created: / 20-06-2009 / 16:01:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 21-06-2009 / 15:18:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 29-03-2012 / 18:34:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-01-2016 / 23:38:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 doUpdateProjectDefinition
--- a/SVN__PackageAResource.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__PackageAResource.st	Tue Aug 09 06:39:39 2016 +0200
@@ -150,3 +150,4 @@
 version_SVN
     ^ '§Id: SVN__PackageAResource.st 350 2011-07-07 18:42:56Z vranyj1 §'
 ! !
+
--- a/SVN__PackageBResource.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__PackageBResource.st	Tue Aug 09 06:39:39 2016 +0200
@@ -137,3 +137,4 @@
 version_SVN
     ^ '§Id: SVN__PackageBResource.st 350 2011-07-07 18:42:56Z vranyj1 §'
 ! !
+
--- a/SVN__PackagePatternTests.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__PackagePatternTests.st	Tue Aug 09 06:39:39 2016 +0200
@@ -153,3 +153,4 @@
 version_SVN
     ^ '§Id: SVN__PackagePatternTests.st 350 2011-07-07 18:42:56Z vranyj1 §'
 ! !
+
--- a/SVN__PackageResource.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__PackageResource.st	Tue Aug 09 06:39:39 2016 +0200
@@ -125,3 +125,4 @@
 version_SVN
     ^ '§Id: SVN__PackageResource.st 352 2011-07-07 19:06:31Z vranyj1 §'
 ! !
+
--- a/SVN__ProgressNotification.st	Tue Aug 09 03:35:30 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-"
- COPYRIGHT (c) 2008 by eXept Software AG
-              All Rights Reserved
-
- This software is furnished under a license and may be used
- only in accordance with the terms of that license and with the
- inclusion of the above copyright notice.   This software may not
- be provided or otherwise made available to, or used by, any
- other person.  No title to or ownership of the software is
- hereby transferred.
-"
-"{ Package: 'stx:libsvn' }"
-
-"{ NameSpace: SVN }"
-
-ActivityNotification subclass:#ProgressNotification
-	instanceVariableNames:''
-	classVariableNames:''
-	poolDictionaries:''
-	category:'SVN-Notifications'
-!
-
-!ProgressNotification class methodsFor:'documentation'!
-
-copyright
-"
- COPYRIGHT (c) 2008 by eXept Software AG
-              All Rights Reserved
-
- This software is furnished under a license and may be used
- only in accordance with the terms of that license and with the
- inclusion of the above copyright notice.   This software may not
- be provided or otherwise made available to, or used by, any
- other person.  No title to or ownership of the software is
- hereby transferred.
-"
-! !
-
-!ProgressNotification class methodsFor:'notification'!
-
-notify: aString progress: aNumber
-
-    self raiseRequestWith: aNumber errorString: aString
-
-    "Created: / 28-10-2008 / 12:30:58 / Jan Vrany <vranyj1@fel.cvut.cz>"
-! !
-
-!ProgressNotification methodsFor:'instance creation'!
-
-progressValue
-    ^ parameter
-
-    "Created: / 28-10-2008 / 12:26:11 / Jan Vrany <vranyj1@fel.cvut.cz>"
-! !
-
-!ProgressNotification class methodsFor:'documentation'!
-
-version
-    ^ '$Header$'
-!
-
-version_CVS
-    ^ '$Header$'
-!
-
-version_SVN
-    ^'§Id: SVN__ProgressNotification.st 68 2009-04-16 11:35:57Z vranyj1 §'
-! !
--- a/SVN__RepositoryConfigurationDialog.st	Tue Aug 09 03:35:30 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +0,0 @@
-"{ Package: 'stx:libsvn' }"
-
-"{ NameSpace: SVN }"
-
-Dialog subclass:#RepositoryConfigurationDialog
-	instanceVariableNames:'packageHolder urlHolder'
-	classVariableNames:''
-	poolDictionaries:''
-	category:'SVN-UI-Dialogs'
-!
-
-
-!RepositoryConfigurationDialog class methodsFor:'help specs'!
-
-helpSpec
-    "This resource specification was automatically generated
-     by the UIHelpTool of ST/X."
-
-    "Do not manually edit this!! If it is corrupted,
-     the UIHelpTool may not be able to read the specification."
-
-    "
-     UIHelpTool openOnClass:SVN::RepositoryConfigurationDialog    
-    "
-
-    <resource: #help>
-
-    ^ super helpSpec addPairsFrom:#(
-
-#Package
-'Package name may contain wild cards: \ * matches any text\ # matches any character\ [...] matches set of characters'
-
-#URL
-'Repository url. Following variables are expanded\ %p - full package name (ex: ''stx/goodies/libsvn'')'
-
-)
-! !
-
-!RepositoryConfigurationDialog class methodsFor:'interface specs'!
-
-contentSpec
-    "This resource specification was automatically generated
-     by the UIPainter of ST/X."
-
-    "Do not manually edit this!! If it is corrupted,
-     the UIPainter may not be able to read the specification."
-
-    "
-     UIPainter new openOnClass:SVN::RepositoryConfigurationDialog andSelector:#contentSpec
-     SVN::RepositoryConfigurationDialog new openInterface:#contentSpec
-    "
-
-    <resource: #canvas>
-
-    ^ 
-     #(FullSpec
-        name: contentSpec
-        window: 
-       (WindowSpec
-          label: 'Repository configuration'
-          name: 'Repository configuration'
-          min: (Point 10 10)
-          bounds: (Rectangle 0 0 647 345)
-        )
-        component: 
-       (SpecCollection
-          collection: (
-           (TransparentBoxSpec
-              name: 'Content'
-              layout: (LayoutFrame 0 0 -30 0.5 0 1 30 0.5)
-              component: 
-             (SpecCollection
-                collection: (
-                 (LabelSpec
-                    label: 'Package:'
-                    name: 'PackageLabel'
-                    layout: (LayoutFrame 0 0 15 0 120 0 35 0)
-                    translateLabel: true
-                    adjust: right
-                  )
-                 (InputFieldSpec
-                    name: 'Package'
-                    layout: (LayoutFrame 122 0 5 0 -2 1 30 0)
-                    activeHelpKey: Package
-                    enableChannel: svnEnabledAspect
-                    model: packageHolder
-                    immediateAccept: false
-                    acceptOnReturn: true
-                    acceptOnTab: true
-                    acceptOnLostFocus: true
-                    modifiedChannel: modifiedChannel
-                    acceptOnPointerLeave: true
-                    valueChangeCallBackSelector: validate
-                  )
-                 (LabelSpec
-                    label: 'Repository URL:'
-                    name: 'URLLabel'
-                    layout: (LayoutFrame 0 0 47 0 120 0 62 0)
-                    translateLabel: true
-                    adjust: right
-                  )
-                 (InputFieldSpec
-                    name: 'URL'
-                    layout: (LayoutFrame 122 0 37 0 0 1 62 0)
-                    activeHelpKey: URL
-                    enableChannel: svnEnabledAspect
-                    model: urlHolder
-                    immediateAccept: false
-                    acceptOnReturn: true
-                    acceptOnTab: true
-                    acceptOnLostFocus: true
-                    modifiedChannel: modifiedChannel
-                    acceptOnPointerLeave: true
-                    valueChangeCallBackSelector: validate
-                  )
-                 )
-               
-              )
-            )
-           )
-         
-        )
-      )
-! !
-
-!RepositoryConfigurationDialog methodsFor:'accessing'!
-
-answerValueSelector 
-
-    ^#model
-
-    "Modified: / 16-08-2009 / 11:54:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-package
-
-    ^self packageHolder value
-
-    "Created: / 16-08-2009 / 17:19:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-url
-
-    ^self urlHolder value
-
-    "Created: / 16-08-2009 / 17:02:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
-! !
-
-!RepositoryConfigurationDialog methodsFor:'accessing - defaults'!
-
-defaultModel
-
-    ^RepositoryConfiguration new
-
-    "Created: / 16-08-2009 / 16:02:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-defaultTitle
-
-    ^'Repository configuration'
-
-    "Created: / 03-10-2008 / 13:58:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 16-08-2009 / 16:12:12 / Jan Vrany <vranyj1@fel.cvut.cz>"
-! !
-
-!RepositoryConfigurationDialog methodsFor:'actions'!
-
-doAccept
-
-    self canDoAccept ifFalse:[^self].
-    self model 
-        package: self package;
-        url: self url.
-    super doAccept.
-
-    "Created: / 16-08-2009 / 17:02:49 / Jan Vrany <vranyj1@fel.cvut.cz>"
-! !
-
-!RepositoryConfigurationDialog methodsFor:'aspects'!
-
-packageHolder
-    <resource: #uiAspect>
-
-    "automatically generated by UIPainter ..."
-
-    "*** the code below creates a default model when invoked."
-    "*** (which may not be the one you wanted)"
-    "*** Please change as required and accept it in the browser."
-    "*** (and replace this comment by something more useful ;-)"
-
-    packageHolder isNil ifTrue:[
-        packageHolder := ValueHolder new.
-"/ if your app needs to be notified of changes, uncomment one of the lines below:
-"/       packageHolder addDependent:self.
-"/       packageHolder onChangeSend:#packageHolderChanged to:self.
-    ].
-    ^ packageHolder.
-!
-
-urlHolder
-    <resource: #uiAspect>
-
-    "automatically generated by UIPainter ..."
-
-    "*** the code below creates a default model when invoked."
-    "*** (which may not be the one you wanted)"
-    "*** Please change as required and accept it in the browser."
-    "*** (and replace this comment by something more useful ;-)"
-
-    urlHolder isNil ifTrue:[
-        urlHolder := ValueHolder new.
-"/ if your app needs to be notified of changes, uncomment one of the lines below:
-"/       urlHolder addDependent:self.
-"/       urlHolder onChangeSend:#urlHolderChanged to:self.
-    ].
-    ^ urlHolder.
-! !
-
-!RepositoryConfigurationDialog methodsFor:'validation'!
-
-validate
-    | url |
-
-    [url := self url.
-    url 
-        ifNil:
-            [^self canDoAccept: false]
-        ifNotNil:
-            [url := url asURL.
-            url isValidSvnRepositoryUrl 
-                ifFalse:[^self canDoAccept: false]
-                ifTrue:[self urlHolder setValue: url printString]].
-    self canDoAccept: true.                    
-    ] on: SvnError do:
-        [self canDoAccept: false].
-
-    "Created: / 16-08-2009 / 16:25:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
-! !
-
-!RepositoryConfigurationDialog class methodsFor:'documentation'!
-
-version
-    ^ '$Header$'
-!
-
-version_CVS
-    ^ '$Header$'
-!
-
-version_SVN
-    ^'§Id: SVN__RepositoryConfigurationDialog.st 107 2009-08-16 17:21:27Z vranyj1 §'
-! !
--- a/SVN__RepositoryDialog.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__RepositoryDialog.st	Tue Aug 09 06:39:39 2016 +0200
@@ -326,7 +326,7 @@
 
     self showProgressWhile:
     [| pkg pattern replacements url repo placeholders |
-    ActivityNotification raiseErrorString:'Getting list of branches...'.
+    ActivityNotification notify:'Getting list of branches...'.
     pkg := packageHolder value asSymbol.  
     pattern := PackagePattern for: pkg.
     placeholders := Configuration variableValuesForPackage:pkg.    
@@ -340,7 +340,7 @@
     branchHolder value isNilOrEmptyCollection 
         ifTrue:[branchHolder value: repo trunk]]
 
-    "Modified: / 23-03-2011 / 19:04:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-01-2016 / 23:46:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 selectPackage
@@ -533,3 +533,4 @@
 version_SVN
     ^ '§Id: SVN__RepositoryDialog.st 363 2011-08-08 13:49:48Z vranyj1 §'
 ! !
+
--- a/SVN__RepositoryResource.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__RepositoryResource.st	Tue Aug 09 06:39:39 2016 +0200
@@ -198,3 +198,4 @@
 version_SVN
     ^ '§Id: SVN__RepositoryResource.st 350 2011-07-07 18:42:56Z vranyj1 §'
 ! !
+
--- a/SVN__RevisionBase.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__RevisionBase.st	Tue Aug 09 06:39:39 2016 +0200
@@ -1,3 +1,28 @@
+"
+ Copyright (c) 2007-2010 Jan Vrany
+ Copyright (c) 2009-2010 eXept Software AG
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the 'Software'), to deal in the Software without
+ restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following
+ conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+"
 "{ Package: 'stx:libsvn' }"
 
 "{ NameSpace: SVN }"
@@ -9,6 +34,36 @@
 	category:'SVN-Core'
 !
 
+!RevisionBase class methodsFor:'documentation'!
+
+copyright
+"
+ Copyright (c) 2007-2010 Jan Vrany
+ Copyright (c) 2009-2010 eXept Software AG
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the 'Software'), to deal in the Software without
+ restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following
+ conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+"
+! !
 
 !RevisionBase methodsFor:'printing & storing'!
 
@@ -27,3 +82,4 @@
 version_CVS
     ^ '$Header$'
 ! !
+
--- a/SVN__UpdateLikeCommand.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__UpdateLikeCommand.st	Tue Aug 09 06:39:39 2016 +0200
@@ -157,6 +157,9 @@
         line isEmpty ifFalse:[
             (line startsWith:'Summary of conflicts')       
                 ifTrue:[^notifications].
+            (line startsWith:'Summary of updates') ifTrue:[ 
+                ^ notifications
+            ].
             ((line startsWith:'--- Merging') 
                 or:[(line startsWith:'Fetching external item into')
                 or:[(line startsWith:'External at revision')]])
@@ -165,7 +168,7 @@
 
     "Created: / 03-10-2008 / 16:31:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 18-08-2009 / 14:38:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 30-07-2012 / 23:55:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 15-01-2016 / 23:39:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !UpdateLikeCommand class methodsFor:'documentation'!
@@ -177,3 +180,4 @@
 version_SVN
     ^ '§Id: SVN__UpdateLikeCommand.st 362 2011-08-08 13:07:42Z vranyj1 §'
 ! !
+
--- a/SVN__UpdateLikeWizard.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__UpdateLikeWizard.st	Tue Aug 09 06:39:39 2016 +0200
@@ -521,3 +521,4 @@
 version_SVN
     ^ '§Id: SVN__UpdateLikeWizard.st 350 2011-07-07 18:42:56Z vranyj1 §'
 ! !
+
--- a/SVN__WorkingCopy.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/SVN__WorkingCopy.st	Tue Aug 09 06:39:39 2016 +0200
@@ -1108,6 +1108,7 @@
 
     svnMetadataDir := self path / '.svn'.
     svnMetadataDir exists ifFalse:[ ^false ].
+    (svnMetadataDir / 'wc.db') exists ifTrue:[ ^ true ].
     (svnMetadataDir / 'entries') exists  ifFalse:[ ^false ].
     (svnMetadataDir / 'text-base') exists ifFalse:[ ^false ].
 
@@ -1118,7 +1119,7 @@
 
     "Created: / 08-04-2008 / 14:17:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 16-07-2009 / 13:57:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 04-05-2012 / 17:12:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 15-01-2016 / 23:14:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !WorkingCopy class methodsFor:'documentation'!
--- a/abbrev.stc	Tue Aug 09 03:35:30 2016 +0000
+++ b/abbrev.stc	Tue Aug 09 06:39:39 2016 +0200
@@ -119,7 +119,7 @@
 SVN::StatusCommand SVN__StatusCommand stx:libsvn 'SVN-Private-Commands' 0
 SVN::UpdateCommand SVN__UpdateCommand stx:libsvn 'SVN-Private-Commands' 0
 SVN::UpdateTask SVN__UpdateTask stx:libsvn 'SVN-Tasks' 0
-SVN::CommitTests SVN__CommitTests stx:libsvn 'SVN-Tests' 0
+SVN::CommitTests SVN__CommitTests stx:libsvn 'SVN-Tests' 1
 SVN::ConfigurationTests SVN__ConfigurationTests stx:libsvn 'SVN-Tests' 1
 SVN::PackageAResource SVN__PackageAResource stx:libsvn 'SVN-Tests-Resources' 1
 SVN::PackageBResource SVN__PackageBResource stx:libsvn 'SVN-Tests-Resources' 1
--- a/bc.mak	Tue Aug 09 03:35:30 2016 +0000
+++ b/bc.mak	Tue Aug 09 06:39:39 2016 +0200
@@ -30,11 +30,12 @@
 !INCLUDE Make.spec
 
 LIBNAME=libstx_libsvn
+MODULE_PATH=libsvn
 RESFILES=libsvn.$(RES)
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libtool -I$(INCLUDE_TOP)\stx\libview -I$(INCLUDE_TOP)\stx\libview2 -I$(INCLUDE_TOP)\stx\libwidg2
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\xml\vw -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libtool -I$(INCLUDE_TOP)\stx\libtool2 -I$(INCLUDE_TOP)\stx\libview -I$(INCLUDE_TOP)\stx\libview2 -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\libwidg2
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -88,7 +89,7 @@
 $(OUTDIR)SVN__ConfigurationApp.$(O) SVN__ConfigurationApp.$(H): SVN__ConfigurationApp.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libtool\AbstractSettingsApplication.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)SVN__Credentials.$(O) SVN__Credentials.$(H): SVN__Credentials.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SVN__Dialog.$(O) SVN__Dialog.$(H): SVN__Dialog.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libview2\SimpleDialog.$(H) $(STCHDR)
-$(OUTDIR)SVN__DiffViewApp.$(O) SVN__DiffViewApp.$(H): SVN__DiffViewApp.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libtool\DiffTextView.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__DiffCodeView2.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libwidg2\SyncedMultiColumnTextView.$(H) $(INCLUDE_TOP)\stx\libwidg2\TwoColumnTextView.$(H) $(STCHDR)
+$(OUTDIR)SVN__DiffViewApp.$(O) SVN__DiffViewApp.$(H): SVN__DiffViewApp.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libtool\DiffTextView.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__DiffCodeView2.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libwidg2\SyncedMultiColumnTextView.$(H) $(INCLUDE_TOP)\stx\libwidg2\TwoColumnTextView.$(H) $(STCHDR)
 $(OUTDIR)SVN__Entry.$(O) SVN__Entry.$(H): SVN__Entry.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SVN__Enum.$(O) SVN__Enum.$(H): SVN__Enum.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SVN__ExternalMergeTool.$(O) SVN__ExternalMergeTool.$(H): SVN__ExternalMergeTool.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -195,6 +196,15 @@
 $(OUTDIR)SVN__StatusCommand.$(O) SVN__StatusCommand.$(H): SVN__StatusCommand.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libsvn\SVN__Command.$(H) $(INCLUDE_TOP)\stx\libsvn\SVN__WCCommand.$(H) $(INCLUDE_TOP)\stx\libsvn\SVN__WCPathCommand.$(H) $(STCHDR)
 $(OUTDIR)SVN__UpdateCommand.$(O) SVN__UpdateCommand.$(H): SVN__UpdateCommand.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libsvn\SVN__BranchCommand.$(H) $(INCLUDE_TOP)\stx\libsvn\SVN__Command.$(H) $(INCLUDE_TOP)\stx\libsvn\SVN__UpdateLikeCommand.$(H) $(STCHDR)
 $(OUTDIR)SVN__UpdateTask.$(O) SVN__UpdateTask.$(H): SVN__UpdateTask.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libsvn\SVN__FileoutLikeTask.$(H) $(INCLUDE_TOP)\stx\libsvn\SVN__Task.$(H) $(INCLUDE_TOP)\stx\libsvn\SVN__UpdateLikeTask.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\ArithmeticValue.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(INCLUDE_TOP)\stx\libbasic\CharacterArray.$(H) $(INCLUDE_TOP)\stx\libbasic\Class.$(H) $(INCLUDE_TOP)\stx\libbasic\ClassDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\Date.$(H) $(INCLUDE_TOP)\stx\libbasic\Dictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Filename.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\IdentityDictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Integer.$(H) $(INCLUDE_TOP)\stx\libbasic\Magnitude.$(H) $(INCLUDE_TOP)\stx\libbasic\Method.$(H) $(INCLUDE_TOP)\stx\libbasic\Notification.$(H) $(INCLUDE_TOP)\stx\libbasic\Number.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\OrderedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Set.$(H) $(INCLUDE_TOP)\stx\libbasic\String.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UserNotification.$(H) $(INCLUDE_TOP)\stx\libbasic\UserPreferences.$(H) $(INCLUDE_TOP)\stx\libbasic3\Change.$(H) $(INCLUDE_TOP)\stx\libbasic3\ChangeSet.$(H) $(INCLUDE_TOP)\stx\libbasic3\ClassChange.$(H) $(INCLUDE_TOP)\stx\libbasic3\MethodChange.$(H) $(INCLUDE_TOP)\stx\libtool\AbstractFileBrowser.$(H) $(INCLUDE_TOP)\stx\libtool\SystemBrowser.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libwidg2\FilenameWidgetWithHistory.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\ArithmeticValue.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(INCLUDE_TOP)\stx\libbasic\CharacterArray.$(H) $(INCLUDE_TOP)\stx\libbasic\Class.$(H) $(INCLUDE_TOP)\stx\libbasic\ClassDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\Date.$(H) $(INCLUDE_TOP)\stx\libbasic\Dictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Filename.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\IdentityDictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Integer.$(H) $(INCLUDE_TOP)\stx\libbasic\Magnitude.$(H) $(INCLUDE_TOP)\stx\libbasic\Method.$(H) $(INCLUDE_TOP)\stx\libbasic\Notification.$(H) $(INCLUDE_TOP)\stx\libbasic\Number.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\OrderedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Set.$(H) $(INCLUDE_TOP)\stx\libbasic\String.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UserNotification.$(H) $(INCLUDE_TOP)\stx\libbasic\UserPreferences.$(H) $(INCLUDE_TOP)\stx\libbasic3\Change.$(H) $(INCLUDE_TOP)\stx\libbasic3\ChangeSet.$(H) $(INCLUDE_TOP)\stx\libbasic3\ClassChange.$(H) $(INCLUDE_TOP)\stx\libbasic3\MethodChange.$(H) $(INCLUDE_TOP)\stx\libtool\AbstractFileBrowser.$(H) $(INCLUDE_TOP)\stx\libtool\SystemBrowser.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libwidg2\FilenameWidgetWithHistory.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
+
+# **Must be at end**
+
+# Enforce recompilation of package definition class if Mercurial working
+# copy state changes. Together with --guessVersion it ensures that package
+# definition class always contains correct binary revision string.
+!IFDEF HGROOT
+$(OUTDIR)stx_libsvn.$(O): $(HGROOT)\.hg\dirstate
+!ENDIF
--- a/bmake.bat	Tue Aug 09 03:35:30 2016 +0000
+++ b/bmake.bat	Tue Aug 09 06:39:39 2016 +0200
@@ -7,6 +7,7 @@
 @REM Kludge got Mercurial, cannot be implemented in Borland make
 @FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
 @IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+
 make.exe -N -f bc.mak  %DEFINES% %*
 
 
--- a/extensions.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/extensions.st	Tue Aug 09 06:39:39 2016 +0200
@@ -2128,6 +2128,7 @@
 
 !stx_libsvn class methodsFor:'documentation'!
 
-extensionsVersion_CVS
-    ^ '$Header$'
-! !
\ No newline at end of file
+extensionsVersion_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
--- a/stx_libsvn.st	Tue Aug 09 03:35:30 2016 +0000
+++ b/stx_libsvn.st	Tue Aug 09 06:39:39 2016 +0200
@@ -25,6 +25,8 @@
 "
 "{ Package: 'stx:libsvn' }"
 
+"{ NameSpace: Smalltalk }"
+
 LibraryDefinition subclass:#stx_libsvn
 	instanceVariableNames:''
 	classVariableNames:''
@@ -74,20 +76,20 @@
 !
 
 mandatoryPreRequisites
-    "list all required mandatory packages.
-     Packages are mandatory, if they contain superclasses of the package's classes
-     or classes which are extended by this package.
-     This list can be maintained manually or (better) generated and
-     updated by scanning the superclass hierarchies
-     (the browser has a menu function for that)"
+    "list packages which are mandatory as a prerequisite.
+     This are packages containing superclasses of my classes and classes which
+     are extended by myself.
+     They are mandatory, because we need these packages as a prerequisite for loading and compiling.
+     This method is generated automatically,
+     by searching along the inheritance chain of all of my classes."
 
     ^ #(
-        #'stx:libbasic'    "ArithmeticValue - extended "
-        #'stx:libbasic3'    "AbstractSourceCodeManager - superclass of SVNSourceCodeManager "
-        #'stx:libtool'    "AbstractFileBrowser - extended "
-        #'stx:libview'    "DeviceGraphicsContext - extended "
-        #'stx:libview2'    "ApplicationModel - extended "
-        #'stx:libwidg2'    "FilenameWidgetWithHistory - extended "
+        #'stx:libbasic'    "ArithmeticValue - extended"
+        #'stx:libbasic3'    "AbstractSourceCodeManager - superclass of SVNSourceCodeManager"
+        #'stx:libtool'    "AbstractFileBrowser - extended"
+        #'stx:libview'    "DisplaySurface - extended"
+        #'stx:libview2'    "ApplicationModel - extended"
+        #'stx:libwidg2'    "FilenameWidgetWithHistory - extended"
     )
 !
 
@@ -123,18 +125,20 @@
 !
 
 referencedPreRequisites
-    "list all packages containing classes referenced by the packages's members.
-     This list can be maintained manually or (better) generated and
-     updated by looking for global variable accesses
-     (the browser has a menu function for that)
-     However, often too much is found, and you may want to explicitely
-     exclude individual packages in the #excludedFromPreRequisites method."
+    "list packages which are a prerequisite, because they contain
+     classes which are referenced by my classes.
+     We do not need these packages as a prerequisite for compiling or loading,
+     however, a class from it may be referenced during execution and having it
+     unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
+     includes explicit checks for the package being present.
+     This method is generated automatically,
+     by searching all classes (and their packages) which are referenced by my classes."
 
     ^ #(
-        #'stx:goodies/xml/vw'    "XML::Node - referenced by SVN::WCEntry class>>readFromXml: "
-        #'stx:libbasic2'    "List - referenced by SVN::Configuration>>initialize "
-        #'stx:libtool2'    "MenuEditor - referenced by SVN::IconLibrary class>>initialize "
-        #'stx:libwidg'    "Button - referenced by SVN::CommitDialog2>>doRunSanityChecks "
+        #'stx:goodies/xml/vw'    "XML::Node - referenced by SVN::WCEntry class>>readFromXml:"
+        #'stx:libbasic2'    "List - referenced by SVN::Configuration>>initialize"
+        #'stx:libtool2'    "MenuEditor - referenced by SVN::IconLibrary class>>initialize"
+        #'stx:libwidg'    "Button - referenced by SVN::CommitDialog2>>doRunSanityChecks"
     )
 !
 
@@ -288,12 +292,41 @@
 !
 
 extensionMethodNames
-    "lists the extension methods which are to be included in the project.
-     Entries are 2-element array literals, consisting of class-name and selector."
+    "list class/selector pairs of extensions.
+     A correponding method with real names must be present in my concrete subclasses"
 
     ^ #(
+        AbstractFileBrowser canSubversionMerge
+        AbstractFileBrowser canSubversionMergeAuto
+        AbstractFileBrowser canSubversionMergeWithExternalDiff3
+        AbstractFileBrowser canSubversionResolve
+        AbstractFileBrowser hasSubversionWorkingCopySelected
+        AbstractFileBrowser hasSubversionWorkingCopySelectedAndDiff3CmdDefined
+        AbstractFileBrowser svnAdd
         AbstractFileBrowser svnCommit
+        AbstractFileBrowser svnCompare
+        AbstractFileBrowser svnCompare:
+        AbstractFileBrowser svnCompareWithBASE
+        AbstractFileBrowser svnCompareWithHEAD
+        AbstractFileBrowser svnDebugOpenWorkingCopyBrowser
+        AbstractFileBrowser svnDiff
+        AbstractFileBrowser svnExecuteCommand:
+        AbstractFileBrowser svnExecuteCommand:objects:
+        AbstractFileBrowser svnInfo
+        AbstractFileBrowser svnLog:
+        AbstractFileBrowser svnMerge
+        AbstractFileBrowser svnMergeAuto
+        AbstractFileBrowser svnMergeBranch
+        AbstractFileBrowser svnMergeFilesFor:do:
+        AbstractFileBrowser svnMergeFilesFor:inDirectoryContaining:do:
+        AbstractFileBrowser svnMergeWithExternalDiff3
+        AbstractFileBrowser svnRemove
+        AbstractFileBrowser svnRevert
         AbstractFileBrowser svnStatus
+        AbstractFileBrowser svnStatusShowUpdates
+        AbstractFileBrowser svnUpdate
+        AbstractFileBrowser svnUpdateWithExternalDiff3
+        AbstractFileBrowser svnWorkingCopy
         ChangeSet condenseChangesForPackage2:
         Class fileOutAsMethodIn:selector:
         Class svnBranch
@@ -347,10 +380,16 @@
         #'Tools::NewSystemBrowser' svnRepositoryManager
         #'Tools::NewSystemBrowser' theSingleSelectedProjectForSubversion
         #'Tools::NewSystemBrowser' theSingleSelectedProjectFromClasses
+        UserPreferences svnCommand
+        UserPreferences svnCommand:
         UserPreferences svnConfigurations2
         UserPreferences svnConfigurations2:
         UserPreferences svnCurrentConfiguration
         UserPreferences svnCurrentConfiguration:
+        UserPreferences svnDiff2Command
+        UserPreferences svnDiff2Command:
+        UserPreferences svnDiff3Command
+        UserPreferences svnDiff3Command:
         UserPreferences svnEnabled
         UserPreferences svnEnabled:
         UserPreferences svnVerbose
@@ -359,6 +398,7 @@
         'ProjectDefinition class' forEachContentsMethodsCodeToCompileDo:ignoreOldEntries:ignoreOldDefinition:
         'ProjectDefinition class' svnRepositoryUrl
         'ProjectDefinition class' #'svnRepositoryUrlString_code'
+        'ProjectDefinition class' svnRevision
         'Tools::NewSystemBrowser class' classMenuSubversion
         'Tools::NewSystemBrowser class' classSubversionChangesetMenu
         'Tools::NewSystemBrowser class' classSubversionCompareMenu
@@ -367,42 +407,6 @@
         'Tools::NewSystemBrowser class' projectSubversionCompareMenu
         'Tools::NewSystemBrowser class' projectSubversionMergeMenu
         'UserNotification class' notify:progress:
-        AbstractFileBrowser canSubversionMerge
-        AbstractFileBrowser canSubversionMergeAuto
-        AbstractFileBrowser canSubversionMergeWithExternalDiff3
-        AbstractFileBrowser canSubversionResolve
-        AbstractFileBrowser hasSubversionWorkingCopySelected
-        AbstractFileBrowser hasSubversionWorkingCopySelectedAndDiff3CmdDefined
-        AbstractFileBrowser svnAdd
-        AbstractFileBrowser svnCompare
-        AbstractFileBrowser svnCompare:
-        AbstractFileBrowser svnCompareWithBASE
-        AbstractFileBrowser svnCompareWithHEAD
-        AbstractFileBrowser svnDebugOpenWorkingCopyBrowser
-        AbstractFileBrowser svnDiff
-        AbstractFileBrowser svnExecuteCommand:
-        AbstractFileBrowser svnExecuteCommand:objects:
-        AbstractFileBrowser svnInfo
-        AbstractFileBrowser svnLog:
-        AbstractFileBrowser svnMerge
-        AbstractFileBrowser svnMergeAuto
-        AbstractFileBrowser svnMergeBranch
-        AbstractFileBrowser svnMergeFilesFor:do:
-        AbstractFileBrowser svnMergeFilesFor:inDirectoryContaining:do:
-        AbstractFileBrowser svnMergeWithExternalDiff3
-        AbstractFileBrowser svnRemove
-        AbstractFileBrowser svnRevert
-        AbstractFileBrowser svnStatusShowUpdates
-        AbstractFileBrowser svnUpdate
-        AbstractFileBrowser svnUpdateWithExternalDiff3
-        AbstractFileBrowser svnWorkingCopy
-        UserPreferences svnCommand
-        UserPreferences svnCommand:
-        UserPreferences svnDiff2Command
-        UserPreferences svnDiff2Command:
-        UserPreferences svnDiff3Command
-        UserPreferences svnDiff3Command:
-        'ProjectDefinition class' svnRevision
     )
 ! !
 
@@ -473,4 +477,9 @@
 
 ! !
 
+!stx_libsvn class methodsFor:'documentation'!
 
+version_HG
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/vcmake.bat	Tue Aug 09 03:35:30 2016 +0000
+++ b/vcmake.bat	Tue Aug 09 06:39:39 2016 +0200
@@ -13,8 +13,9 @@
 @REM Kludge got Mercurial, cannot be implemented in Borland make
 @FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
 @IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+
+
 make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %*
 
 
 
-