WorkBench-1.6.8/ 000755 000771 000771 00000000000 12204167366 013723 5 ustar 00barry barry 000000 000000 WorkBench-1.6.8/Builder/ 000755 000771 000771 00000000000 12204167366 015311 5 ustar 00barry barry 000000 000000 WorkBench-1.6.8/Docs/ 000755 000771 000771 00000000000 12204167366 014613 5 ustar 00barry barry 000000 000000 WorkBench-1.6.8/Import/ 000755 000771 000771 00000000000 12204167366 015175 5 ustar 00barry barry 000000 000000 WorkBench-1.6.8/INSTALL.html 000644 000771 000771 00000002754 12204114361 015712 0 ustar 00barry barry 000000 000000
Note: These steps are only necessary if you checked out the sources from the pysvn subversion repository. The Source kits have already had these steps run.
In the Source
folder:
python make_wb_version.py python make_wb_images.py
In the Source
folder:
python wb_main.py
Check the output from wb_main.py. You can prevent wb_main.py redirecting stdout by running as:
python wb_main.py --noredirect
Windows does not have a usable stdout instead look in "%TEMP%\workbench.tmp" for Python messages and errors.
WorkBench-1.6.8/Kit/ 000755 000771 000771 00000000000 12204167366 014452 5 ustar 00barry barry 000000 000000 WorkBench-1.6.8/LICENSE.txt 000644 000771 000771 00000004315 11724430522 015542 0 ustar 00barry barry 000000 000000 ================================================================= Copyright (C) 2003-2012 Barry A. Scott. All rights reserved. ================================================================= The Apache Software License, Version 1.1 Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by Barry A. Scott http://www.barrys-emacs.org." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names "PySVN" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact barry@barrys-emacs.org. 5. Products derived from this software may not be called "PySVN", nor may "PySVN" appear in their name, without prior written permission of Barry Scott. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================================= WorkBench-1.6.8/Source/ 000755 000771 000771 00000000000 12204167366 015163 5 ustar 00barry barry 000000 000000 WorkBench-1.6.8/Tests/ 000755 000771 000771 00000000000 12204167366 015025 5 ustar 00barry barry 000000 000000 WorkBench-1.6.8/Tests/copy_paste_test.sh 000755 000771 000771 00000000700 10351126374 020561 0 ustar 00barry barry 000000 000000 #!/bin/sh rm -rf copy_paste mkdir -p copy_paste/repos svnadmin create --fs-type fsfs copy_paste/repos R=file://$PWD/copy_paste/repos svn mkdir -m "Init" $R/trunk svn checkout $R/trunk copy_paste/wc svn mkdir copy_paste/wc/original echo orig file 1 >copy_paste/wc/original/file1 echo orig file 2 >copy_paste/wc/original/file2 echo orig file 3 >copy_paste/wc/original/file3 svn add copy_paste/wc/original/* svn commit copy_paste/wc -m "populate" WorkBench-1.6.8/Source/dlog.cmd 000644 000771 000771 00000000122 10007315155 016556 0 ustar 00barry barry 000000 000000 setlocal del "%USERPROFILE%\Application data\Workbench\workbench.log" endlocal WorkBench-1.6.8/Source/dump_wx.py 000644 000771 000771 00000000123 10217035304 017200 0 ustar 00barry barry 000000 000000 import wx wx_names = dir(wx) wx_names.sort() for name in wx_names: print name WorkBench-1.6.8/Source/I18N/ 000755 000771 000771 00000000000 12204167365 015641 5 ustar 00barry barry 000000 000000 WorkBench-1.6.8/Source/linux.mak 000644 000771 000771 00000002462 11063505766 017022 0 ustar 00barry barry 000000 000000 # # makefile WorkBench # all: build_bin locale/en/LC_MESSAGES/pysvn_workbench.mo locale/en/LC_MESSAGES/pysvn_workbench.mo: ./make-pot-file.sh ./make-po-file.sh en ./make-mo-files.sh locale APPNAME=wb APPTYPE=run PYTHONPATH=$(PYSVNLIB) SOURCES= \ wb_app.py \ wb_dialogs.py \ wb_diff_difflib.py \ wb_diff_frame.py \ wb_diff_images.py \ wb_diff_main.py \ wb_diff_processor.py \ wb_exceptions.py \ wb_frame.py \ wb_list_panel.py \ wb_ids.py \ wb_images.py \ wb_main.py \ wb_platform_specific.py \ wb_platform_unix_specific.py \ wb_preferences.py \ wb_shell_commands.py \ wb_shell_unix_commands.py \ wb_source_control_providers.py \ wb_subversion_utils.py \ wb_subversion_provider.py \ wb_subversion_project_info.py \ wb_subversion_tree_handler.py \ wb_subversion_list_handler.py \ wb_subversion_info_dialog.py \ wb_subversion_properties_dialog.py \ wb_tree_panel.py \ wb_version.py include wb_common.mak PYCHECKER_OPTIONS=--no-shadowbuiltin INSTALLER_OPTIONS=--force-ld-library-path build_bin: build_app build_fixup build_fixup: rm -f bin/support/readline.so #check: checkstop clean:: rm -f locale/en/LC_MESSAGES/pysvn_workbench.mo rm -f .pycheckrc rm -rf bin rm -rf *.pyc rm -rf wb_version.py #include $(PYCHECKER_DIR)/pychecker.mak include $(MEINC_INSTALLER_DIR)/meinc_installer.mak WorkBench-1.6.8/Source/macosx.mak 000644 000771 000771 00000000421 10724204653 017140 0 ustar 00barry barry 000000 000000 # # Mac OS X makefile for WorkBench # all: wb_version.py wb_images.py locale/en/LC_MESSAGES/pysvn_workbench.mo locale/en/LC_MESSAGES/pysvn_workbench.mo: ./make-pot-file.sh ./make-po-file.sh en ./make-mo-files.sh locale clean:: rm -rf locale/* include wb_common.mak WorkBench-1.6.8/Source/make-mo-files.cmd 000644 000771 000771 00000000036 11261605162 020266 0 ustar 00barry barry 000000 000000 %PYTHON% make_mo_files.py %1 WorkBench-1.6.8/Source/make-mo-files.sh 000755 000771 000771 00000000122 11261605162 020134 0 ustar 00barry barry 000000 000000 #!/bin/sh set -e ${PYTHON} make_mo_files.py ${1:?missing arg 1 output locale dir} WorkBench-1.6.8/Source/make-po-file.cmd 000644 000771 000771 00000000035 11261605162 020105 0 ustar 00barry barry 000000 000000 %PYTHON% make_po_file.py %1 WorkBench-1.6.8/Source/make-po-file.sh 000755 000771 000771 00000000077 11261605162 017765 0 ustar 00barry barry 000000 000000 #!/bin/sh set -e ${PYTHON} make_po_file.py ${1?locale missing} WorkBench-1.6.8/Source/make-pot-file.cmd 000644 000771 000771 00000000033 11261605162 020267 0 ustar 00barry barry 000000 000000 %PYTHON% make_pot_file.py WorkBench-1.6.8/Source/make-pot-file.sh 000755 000771 000771 00000000045 11262106032 020135 0 ustar 00barry barry 000000 000000 #!/bin/sh ${PYTHON} make_pot_file.py WorkBench-1.6.8/Source/make_mo_files.py 000644 000771 000771 00000001154 11425265407 020327 0 ustar 00barry barry 000000 000000 #!/usr/bin/python import sys import os localedir = sys.argv[1] all_lang = ['en', 'de', 'hu'] for lang in all_lang: mo_output_dir = '%s/%s/LC_MESSAGES' % (localedir, lang) os.makedirs( mo_output_dir ) if lang == 'en': po_file = 'I18N/pysvn_workbench_en.current.po' else: po_file = 'I18N/pysvn_workbench_%s.po' % lang rc = os.system( 'msgfmt ' '%s ' '--check-format ' '--output-file=%s/pysvn_workbench.mo' % (po_file, mo_output_dir) ) if rc != 0: sys.exit( rc ) print 'Info: %s/pysvn_workbench.mo' % mo_output_dir sys.exit( 0 ) WorkBench-1.6.8/Source/make_po_file.py 000644 000771 000771 00000004064 11261605162 020144 0 ustar 00barry barry 000000 000000 #!/bin/sh import sys import os import wb_version import datetime args = {'WB_LOCALE': sys.argv[1]} if os.path.exists( 'I18N/pysvn_workbench_%(WB_LOCALE)s.po' % args ): print 'Info: Update %(WB_LOCALE)s from I18N/pysvn_workbench.current.pot' % args rc = os.system( 'msginit ' '--input=I18N/pysvn_workbench.current.pot ' '--locale=${WB_LOCALE} ' '--no-wrap ' '--no-translator ' '--output-file=I18N/pysvn_workbench_%(WB_LOCALE)s.tmp.po' % args ) if rc != 0: sys.exit( rc ) rc = os.system( 'msgmerge ' 'I18N/pysvn_workbench_%(WB_LOCALE)s.po ' 'I18N/pysvn_workbench_%(WB_LOCALE)s.tmp.po ' '--quiet ' '--no-wrap ' '--output-file=I18N/pysvn_workbench_%(WB_LOCALE)s.current.po' % args ) if rc != 0: sys.exit( rc ) else: print 'Info: Create %(WB_LOCALE)s from I18N/pysvn_workbench.current.pot' % args rc = os.system( 'msginit ' '--input=I18N/pysvn_workbench.current.pot ' '--locale=%(WB_LOCALE)s.UTF-8 ' '--no-wrap ' '--no-translator ' '--output-file=I18N/pysvn_workbench_%(WB_LOCALE)s.current.po' % args ) if rc != 0: sys.exit( rc ) print 'Info: Version brand %(WB_LOCALE)s from I18N/pysvn_workbench.current.pot' % args po_filename = 'I18N/pysvn_workbench_%(WB_LOCALE)s.current.po' % args all_po_lines = open( po_filename, 'r' ).readlines() for index, line in enumerate( all_po_lines ): if line.startswith( '"Project-Id-Version:' ): all_po_lines[ index ] = ('"Project-Id-Version: WorkBench %d.%d.%d.%d\\n"\n' % (wb_version.major ,wb_version.minor ,wb_version.patch ,wb_version.build)) elif line.startswith( '"PO-Revision-Date:' ): all_po_lines[ index ] = '"PO-Revision-Date: %s\\n"\n' % (datetime.datetime.now().isoformat(' '),) elif line.startswith( '"Content-Type: text/plain; charset=' ): all_po_lines[ index ] = '"Content-Type: text/plain; charset=UTF-8\\n"\n' open( po_filename, 'w' ).write( ''.join( all_po_lines ) ) sys.exit( 0 ) WorkBench-1.6.8/Source/make_pot_file.py 000644 000771 000771 00000001363 11655513604 020335 0 ustar 00barry barry 000000 000000 #!/usr/bin/python import sys import os import glob all_py_files = set( glob.glob( '*.py' ) ) all_py_files.remove( 'wb_diff_images.py' ) all_py_files.remove( 'wb_images.py' ) f = open( 'wb_files.tmp', 'wt' ) for py_file in all_py_files: f.write( '%s\n' % py_file ) f.close() cmd = ('xgettext ' '--files-from=wb_files.tmp ' '--default-domain=pysvn_workbench ' '--output=I18N/pysvn_workbench.current.pot ' '--msgid-bugs-address=barryscott@tigris.org ' '--copyright-holder="Barry Scott" ' '--keyword=U_ ' '--keyword=T_ ' '--keyword=S_:1,2 ' '--add-comments ' '--no-wrap ' '--width=2047 ' '--add-comments=Translat ' '--language=Python') print 'Info: %s' % (cmd,) rc = os.system( cmd ) sys.exit( rc ) WorkBench-1.6.8/Source/make_wb_images.py 000644 000771 000771 00000004300 10701374354 020461 0 ustar 00barry barry 000000 000000 ''' ==================================================================== Copyright (c) 2003-2006 Barry A Scott. All rights reserved. This software is licensed as described in the file LICENSE.txt, which you should have received as part of this distribution. ==================================================================== make_eb_images.py ''' import sys data_slice = 32 argv = [ sys.argv[0], 'wb_images.py', 'toolbar_images/add.png', 'toolbar_images/checkin.png', 'toolbar_images/delete.png', 'toolbar_images/diff.png', 'toolbar_images/edit.png', 'toolbar_images/editcopy.png', 'toolbar_images/editcut.png', 'toolbar_images/editpaste.png', 'toolbar_images/exclude.png', 'toolbar_images/file_browser.png', 'toolbar_images/history.png', 'toolbar_images/include.png', 'toolbar_images/info.png', 'toolbar_images/lock.png', 'toolbar_images/open.png', 'toolbar_images/property.png', 'toolbar_images/revert.png', 'toolbar_images/terminal.png', 'toolbar_images/unlock.png', 'toolbar_images/update.png', 'toolbar_images/flatview.png', 'toolbar_images/onlychanges.png', 'wb.png', ] def main( argv ): f = file( argv[1], 'w' ) f.write( header ) for filename in argv[2:]: f.write( 'images_by_filename["%s"] = (\n' % filename ) i = file( filename, 'rb' ) data = i.read() i.close() for offset in range( 0, len(data), data_slice ): f.write( ' %r\n' % data[offset:offset+data_slice] ) f.write( ' )\n' ) f.write( footer ) f.close() header = ''' import wx import cStringIO def getBitmap( name, size=None ): return wx.BitmapFromImage( getImage( name, size ) ) def getImage( name, size=None ): stream = cStringIO.StringIO( images_by_filename[ name ] ) image = wx.ImageFromStream( stream ) if size is not None: w, h = size if image.GetWidth() != w or image.GetHeight() != h: image.Rescale( w, h ) return image def getIcon( name, size=None ): icon = wx.EmptyIcon() icon.CopyFromBitmap( getBitmap( name, size ) ) return icon images_by_filename = {} ''' footer = ''' ''' if __name__ == '__main__': sys.exit( main( argv ) ) WorkBench-1.6.8/Source/make_wb_version.py 000644 000771 000771 00000001134 10605662704 020705 0 ustar 00barry barry 000000 000000 ''' ==================================================================== Copyright (c) 2007 Barry A Scott. All rights reserved. This software is licensed as described in the file LICENSE.txt, which you should have received as part of this distribution. ==================================================================== make_wb_version.py ''' import sys sys.path.append( '../Builder' ) import brand_version argv = [ sys.argv[0], '../Builder/version.info', 'wb_version.py.template', ] if __name__ == '__main__': sys.exit( brand_version.main( argv ) ) WorkBench-1.6.8/Source/pylintrc 000644 000771 000771 00000023337 10543315465 016761 0 ustar 00barry barry 000000 000000 # lint Python modules using external checkers. # # This is the main checker controling the other ones and the reports # generation. It is itself both a raw checker and an astng checker in order # to: # * handle message activation / deactivation at the module level # * handle some basic but necessary stats'data (number of classes, methods...) # # This checker also defines the following reports: # * R0001: Total errors / warnings # * R0002: % errors / warnings by module # * R0003: Messages # * R0004: Global evaluation [MASTER] # Profiled execution. profile=no # Add