Giter Club home page Giter Club logo

rapidsvn's Introduction

RapidSVN

INTRODUCTION

RapidSVN is a cross-platform GUI front-end for the Subversion revision system 
(http://subversion.tigris.org/) written in C++ using the wxWidgets GUI 
framework. It is distributed under the GNU General Public License.  
See LICENSE.txt for more details. 

Currently it compiles under Windows and it does so with Linux but there are a 
few runtime issues that are currently being worked out.  Eventually this 
should run on the Mac and several other flavors of *NIX.

WHY WXWIDGETS?

Many of you are probably curious why we would choose wxWidgets as the platform 
in which to build this project.  Since the beginning the goal of Subversion 
was to build a client that would improve source control for operating system 
platform.  By using the Apache Portable Runtime and a load of #ifdef's this 
goal has been effectively accomplished.  With RapidSVN we would like to 
continue this theme.  

In order to get people to transfer over to product to make it easier the 
program should conform to whatever platform they are using.  wxWidgets is the 
perfect platform for this.  It uses GDI on Windows so the Windows guys never
even think for a second that they are using a non-Windows tool and GTK for 
all the Unix guys.  There is even an effort to use QT as well.  This makes 
the best of both worlds without messing with a person's personal 
environment.  

For developers wxWidgets is great. It is easy to learn and quite powerful for 
any platform.  It made the choice easy.

BUILDING AND INSTALLING

* The RapidSVN source code is stored in a Subversion repository (of course!) 
  so in order to get it code you have to download a svn client from the 
  Subversion project page:
  http://subversion.tigris.org/servlets/ProjectDocumentList

* Download the source code for RapidSVN.  You can do this by running the
  following svn command:
  % svn co http://rapidsvn.tigris.org/svn/rapidsvn/trunk rapidsvn

* Download the wxWidgets 2.3.3 (or >= 2.4.0) libraries: http://www.wxWidgets.org/

  If you are building wxWidgets on linux, you will need to specify 
  the --disable-no-exceptions parameter to configure (see 
  http://www.wxwidgets.org/docs/faqgen.htm#exceptions). For development
  you will probably also want --enable-debug.

* Download the latest Subversion source tree.  Here are the directions: 
  http://subversion.tigris.org/project_packages.html

* Once you have Subversion the download all the files just as the directions in 
  the Subversion INSTALL file so you have the directory structure below. Note: 
  the db4-win32 directory name is for MS VC++.

  /subversion
     /apr (apache.org CVS)
     /apr-iconv (apache.org CVS)
     /apr-util (apache.org CVS)
     /db4-win32 (http://www.sleepycat.com/)
     /neon (from http://www.webdav.org/neon/)
  /rapidsvn

* If you are running Windows and you have dependency problems like a missing 
  shfolder.lib then your system very likely does not have the necessary files.
  In this case you can get them by downloading the MS Platform SDK from 
  http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ by
  choosing Core SDK.  Watch out though, because the download is
  enormous, around 400 MB.  It would be best if you just got this from
  an MSDN CD if possible.

* If you have the cvs client installed on your machine then you can download the
  apr libraries with the following commands:
  % cvs -d :pserver:[email protected]:/home/cvspublic co apr
  % cvs -d :pserver:[email protected]:/home/cvspublic co apr-util
  % cvs -d :pserver:[email protected]:/home/cvspublic co apr-iconv
  
  Otherwise, you can get the most recent versions here:
  http://apr.apache.org/download.cgi

* Two environmental variables must be set as well: 
  SUBVERSION - SVN libraries root directory
  WX - wxWidgets libraries directory

  On Windows you can add the following to autoexec.bat or through the 
  Environmental Variables editor.
  set WX=C:\Program Files\wx2
  set SUBVERSION=D:\dev\subversion


BUILDING ON LINUX/UNIX

* Download all of the Subversion code and build it. Note: it is much easier if
  you download the RPMs provided on the Subversion site:
  http://subversion.tigris.org/servlets/ProjectDocumentList

* Download the source code for RapidSVN.  You can do this by running the
  following svn command:
  % svn co http://rapidsvn.tigris.org/svn/rapidsvn/trunk rapidsvn

* Go to the rapidsvn directory and run:
  % ./autogen.sh
  % ./configure

* The configure script might complain about apps/paths it didnt find
  % ./configure --help 
  will return a list of options you might want to set-
  
* Then go to the src/ directory and run 'make'

* If it is built and you get an error like 'could not find something.so' then
  you probably need to add the Apache lib directory into /etc/ld.so.conf and
  then run 'ldconfig'. This is especially true for newer versions of APR.
  If you dont want to touch ld.so.conf you can add the path to the environment
  variable "LD_LIBRARY_PATH".
  Example: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib

* If you get strange segmentation faults after updating or after change
  some of the code: try to rebuild rapidsvn (make clean; make all).

rapidsvn's People

Contributors

cmpilato avatar davidcallen avatar johannes-lode avatar petersliepenbeek avatar rrobek avatar tobwithu avatar xelarellum avatar zlbruce avatar zrax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rapidsvn's Issues

RapidSVN SSL problem with GitHub

When trying to check out an SVN repository from GitHub with the latest RapidSVN release (Windows 10), I get the following error:
Fehler beim Aktualisieren der Dateiliste (Unable to connect to a repository at URL 'https://github.com/...git' OPTIONS of 'https://...': SSL handshake failed: SSL error: tlsv1 alert protocol version (https://github.com))

With TortoiseSVN I can check out this repository.
Any idea, what goes wrong here? Does RapidSVN support SSL?

Log History dialog shows last column "Description" too small

The Log History dialog shows a listview of revisions. The last column in this listview is "Description". It appears rather narrow, and does not size to fill the remaining space in the ListView.

Therefore have to keep resizing it on every display of this window, which is a bit tedious.

Fails to build due to invalid type conversions

Trying to build on Fedora 28 fails due to numerous but probably trivial type-conversion errors, everywhere "|||" appears:

src/action_event.cpp: In member function 'void ActionEvent::init(wxWindow*, int, LogItemType, const wxString&, const wxString&)':
src/action_event.cpp:118:17: error: ambiguous overload for 'operator<<' (operand types are 'wxString' and 'const char [4]')
cat << action << "|||" << msg;

In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:992:13: note: candidate: 'wxString& wxString::operator<<(const wxString&)' <near match>
wxString& operator<<(const wxString& s)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:992:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: conversion from 'const char [4]' to 'const wxString' is ambiguous
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:692:3: note: candidate: 'wxString::wxString(wxChar, size_t)' <near match>
wxString(wxChar ch, size_t nRepeat = 1)
^~~~~~~~
/usr/include/wx-2.8/wx/string.h:692:3: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'wxChar' {aka 'wchar_t'} [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:682:3: note: candidate: 'wxString::wxString(int)' <near match>
wxString(int);
^~~~~~~~
/usr/include/wx-2.8/wx/string.h:682:3: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1006:13: note: candidate: 'wxString& wxString::operator<<(wxChar)' <near match>
wxString& operator<<(wxChar ch) { append(1, ch); return *this; }
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1006:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'wxChar' {aka 'wchar_t'} [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1010:13: note: candidate: 'wxString& wxString::operator<<(const wxWCharBuffer&)' <near match>
wxString& operator<<(const wxWCharBuffer& s)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1010:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid user-defined conversion from 'const char [4]' to 'const wxWCharBuffer&' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/string.h:55,
              from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/buffer.h:134:15: note: candidate is: 'wxWCharBuffer::wxWCharBuffer(size_t)' <near match>
DEFINE_BUFFER(wxWCharBuffer, wchar_t, wxStrdupW);
            ^~~~~~~~~~~~~
/usr/include/wx-2.8/wx/buffer.h:33:5: note: in definition of macro 'DEFINE_BUFFER'
  classname(size_t len)                                                   \
  ^~~~~~~~~
/usr/include/wx-2.8/wx/buffer.h:134:15: note:   conversion of argument 1 would be ill-formed:
DEFINE_BUFFER(wxWCharBuffer, wchar_t, wxStrdupW);
            ^~~~~~~~~~~~~
/usr/include/wx-2.8/wx/buffer.h:33:5: note: in definition of macro 'DEFINE_BUFFER'
  classname(size_t len)                                                   \
  ^~~~~~~~~
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'size_t' {aka 'long unsigned int'} [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'size_t' {aka 'long unsigned int'} [-fpermissive]
In file included from /usr/include/wx-2.8/wx/string.h:55,
              from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/buffer.h:33:22: note:   initializing argument 1 of 'wxWCharBuffer::wxWCharBuffer(size_t)'
  classname(size_t len)                                                   \
            ~~~~~~~^~~
/usr/include/wx-2.8/wx/buffer.h:134:1: note: in expansion of macro 'DEFINE_BUFFER'
DEFINE_BUFFER(wxWCharBuffer, wchar_t, wxStrdupW);
^~~~~~~~~~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1060:13: note: candidate: 'wxString& wxString::operator<<(int)' <near match>
wxString& operator<<(int i)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1060:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
cat << action << "|||" << msg;


/usr/include/wx-2.8/wx/string.h:1063:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'unsigned int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1066:13: note: candidate: 'wxString& wxString::operator<<(long int)' <near match>
wxString& operator<<(long l)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1066:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'long int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1069:13: note: candidate: 'wxString& wxString::operator<<(long unsigned int)' <near match>
wxString& operator<<(unsigned long ul)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1069:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'long unsigned int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1073:13: note: candidate: 'wxString& wxString::operator<<(long long int)' <near match>
wxString& operator<<(wxLongLong_t ll)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1073:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'long long int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/memory.h:16,
              from /usr/include/wx-2.8/wx/object.h:20,
              from /usr/include/wx-2.8/wx/wx.h:16,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/string.h:1079:13: note: candidate: 'wxString& wxString::operator<<(long long unsigned int)' <near match>
wxString& operator<<(wxULongLong_t ull)
          ^~~~~~~~
/usr/include/wx-2.8/wx/string.h:1079:13: note:   conversion of argument 1 would be ill-formed:
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'long long unsigned int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/colour.h:48,
              from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/variant.h:324:20: note: candidate: 'wxColour& operator<<(wxColour&, const wxVariant&)' <near match>
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/colour.h:49:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxColour,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/wx-2.8/wx/variant.h:324:20: note:   conversion of argument 1 would be ill-formed:
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/colour.h:49:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxColour,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/action_event.cpp:118:7: error: cannot bind non-const lvalue reference of type 'wxColour&' to an rvalue of type 'wxColour'
cat << action << "|||" << msg;
~~~~^~~~~~~~~
In file included from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/colour.h:30:5: note:   after user-defined conversion: 'wxColour::wxColour(const wxString&)'
  wxColour(const wxString &colourName) { Set(colourName); }                 \
  ^~~~~~~~
/usr/include/wx-2.8/wx/gtk/colour.h:25:5: note: in expansion of macro 'DEFINE_STD_WXCOLOUR_CONSTRUCTORS'
  DEFINE_STD_WXCOLOUR_CONSTRUCTORS
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/wx-2.8/wx/colour.h:48,
              from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/variant.h:325:20: note: candidate: 'wxVariant& operator<<(wxVariant&, const wxColour&)' <near match>
expdecl wxVariant& operator << ( wxVariant &variant, const classname &object );
                 ^~~~~~~~
/usr/include/wx-2.8/wx/colour.h:49:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxColour,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/wx-2.8/wx/variant.h:325:20: note:   conversion of argument 2 would be ill-formed:
expdecl wxVariant& operator << ( wxVariant &variant, const classname &object );
                 ^~~~~~~~
/usr/include/wx-2.8/wx/colour.h:49:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxColour,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/action_event.cpp:118:20: error: invalid user-defined conversion from 'const char [4]' to 'const wxColour&' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
In file included from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/colour.h:29:5: note: candidate is: 'wxColour::wxColour(long unsigned int)' <near match>
  wxColour( unsigned long colRGB ) { Set(colRGB); }                         \
  ^~~~~~~~
/usr/include/wx-2.8/wx/gtk/colour.h:25:5: note: in expansion of macro 'DEFINE_STD_WXCOLOUR_CONSTRUCTORS'
  DEFINE_STD_WXCOLOUR_CONSTRUCTORS
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/wx-2.8/wx/colour.h:29:5: note:   conversion of argument 1 would be ill-formed:
  wxColour( unsigned long colRGB ) { Set(colRGB); }                         \
  ^~~~~~~~
/usr/include/wx-2.8/wx/gtk/colour.h:25:5: note: in expansion of macro 'DEFINE_STD_WXCOLOUR_CONSTRUCTORS'
  DEFINE_STD_WXCOLOUR_CONSTRUCTORS
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'long unsigned int' [-fpermissive]
cat << action << "|||" << msg;
                 ^~~~~
src/action_event.cpp:118:20: error: invalid conversion from 'const char*' to 'long unsigned int' [-fpermissive]
In file included from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/colour.h:29:29: note:   initializing argument 1 of 'wxColour::wxColour(long unsigned int)'
  wxColour( unsigned long colRGB ) { Set(colRGB); }                         \
            ~~~~~~~~~~~~~~^~~~~~
/usr/include/wx-2.8/wx/gtk/colour.h:25:5: note: in expansion of macro 'DEFINE_STD_WXCOLOUR_CONSTRUCTORS'
  DEFINE_STD_WXCOLOUR_CONSTRUCTORS
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/wx-2.8/wx/colour.h:48,
              from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/variant.h:324:20: note: candidate: 'wxBitmap& operator<<(wxBitmap&, const wxVariant&)' <near match>
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/bitmap.h:36:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxBitmap,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/wx-2.8/wx/variant.h:324:20: note:   conversion of argument 1 would be ill-formed:
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/bitmap.h:36:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxBitmap,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/action_event.cpp:118:7: error: cannot bind non-const lvalue reference of type 'wxBitmap&' to an rvalue of type 'wxBitmap'
cat << action << "|||" << msg;
~~~~^~~~~~~~~
In file included from /usr/include/wx-2.8/wx/bitmap.h:213,
              from /usr/include/wx-2.8/wx/wx.h:44,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/gtk/bitmap.h:64:5: note:   after user-defined conversion: 'wxBitmap::wxBitmap(const wxString&, wxBitmapType)'
  wxBitmap( const wxString &filename, wxBitmapType type = wxBITMAP_TYPE_XPM );
  ^~~~~~~~
In file included from /usr/include/wx-2.8/wx/colour.h:48,
              from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/variant.h:324:20: note: candidate: 'wxImage& operator<<(wxImage&, const wxVariant&)' <near match>
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/image.h:74:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxImage,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/wx-2.8/wx/variant.h:324:20: note:   conversion of argument 1 would be ill-formed:
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/image.h:74:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxImage,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/action_event.cpp:118:7: error: cannot bind non-const lvalue reference of type 'wxImage&' to an rvalue of type 'wxImage'
cat << action << "|||" << msg;
~~~~^~~~~~~~~
In file included from /usr/include/wx-2.8/wx/wx.h:45,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/image.h:200:5: note:   after user-defined conversion: 'wxImage::wxImage(const wxString&, long int, int)'
  wxImage( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
  ^~~~~~~
In file included from /usr/include/wx-2.8/wx/colour.h:48,
              from /usr/include/wx-2.8/wx/window.h:25,
              from /usr/include/wx-2.8/wx/wx.h:36,
              from src/action_event.cpp:26:
/usr/include/wx-2.8/wx/variant.h:324:20: note: candidate: 'wxIcon& operator<<(wxIcon&, const wxVariant&)' <near match>
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/icon.h:48:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxIcon,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/wx-2.8/wx/variant.h:324:20: note:   conversion of argument 1 would be ill-formed:
expdecl classname& operator << ( classname &object, const wxVariant &variant ); \
                 ^~~~~~~~
/usr/include/wx-2.8/wx/icon.h:48:1: note: in expansion of macro 'DECLARE_VARIANT_OBJECT_EXPORTED'
DECLARE_VARIANT_OBJECT_EXPORTED(wxIcon,WXDLLEXPORT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/action.cpp:30:
/home/rpmbuild/fedora/rapidsvn/RapidSVN/libsvncpp/include/svncpp/client.hpp: At global scope:
/home/rpmbuild/fedora/rapidsvn/RapidSVN/libsvncpp/include/svncpp/client.hpp:192:49: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
         const bool ignore_externals = false) throw(ClientException);
                                              ^~~~~
/home/rpmbuild/fedora/rapidsvn/RapidSVN/libsvncpp/include/svncpp/client.hpp:216:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
         StatusEntries & entries) throw(ClientException);
                                  ^~~~~
src/action_event.cpp:118:7: error: cannot bind non-const lvalue reference of type 'wxIcon&' to an rvalue of type 'wxIcon'
cat << action << "|||" << msg;
~~~~^~~~~~~~~

rapidsvn does not work with subversion 1.9

Hi

rapidsvn does not work with subversion 1.9

client_ls.cpp:43:48: error: invalid use of incomplete type 'const svn_sort__item_t {aka const struct svn_sort__item_t}'
return svn_path_compare_paths((const char *)a->key, (const char *)b->key);

wxWidgets >= 2.4.2 required, found version 3.0.2

Hi,

I'm working on Linux Mint 18 (based on Ubuntu Xenial).
I installed the available libwxbase for my distro but I get the strange warning message when running ./configure :

...
checking wxWidgets version... 3.0.2
configure: error: wxWidgets >= 2.4.2 required, found version 3.0.2

To me, it seems like 3.0.2 >= 2.4.2.

Could it be that the configure.in file needs to be adapted ?

Kind regards,

Eric

rapidsvn needs updating for newer autoconf/automake versions

Greetings,

RapidSVN has been using obsoleted practices for its Makefiles for quite a while, and this triggers lots of warnings that will turn into errors as distributions upgrade to newer autoconf/automake versions.

Please check the autoconf and automake NEWS files from up-to-date upstream-tarballs for things you need to change, and preferably update these, run autoupdate, and then carefully review the output of autoreconf --install -Wobsolete to check for remaining things you need to change manually.

This will ensure that rapidsvn continues to build.

log diff is broken

Clicking on Query -> Log -> selecting some ref + clicking on Affected Files/Dirs and slecting a file + Diff always gives me:

Error: Error while performing action: URL 'https://...' refers to a directory
Can't get text contents of a directory

Using the latest version from Github.

And this is a long time bug, see:

http://rapidsvn.tigris.org/ds/viewMessage.do?dsForumId=670&dsMessageId=2332405
http://comments.gmane.org/gmane.comp.version-control.subversion.rapidsvn.user/1107

Please fix this, it's really annoying :/

log pop-up window not wide enough (feature request)

The log modal window is not wide enough and manual stretching of the window is required every time we need to inspect the log.
See the attacheed file which is a screenshot.
rapidsvn_log_window

A wonderful feature would be to save the pop-up's size for the next similar operation.

NOTE: I'm not familiar with RapidSVN's codebase but I would be happy to have a look at it and eventually submit a PR with a proposed modification. I would appreciate a hint on where to look for that implementing such change (what directory or which files).

License libsvncpp

Hi All,

I would like to use parts of libsvncpp in a closed source project. my project uses it to fetch data from a backend and does not show SVN related thing to the end user, so it will never be competing. but since I can't make it completely open source I would like to know if i can legally use the SVN library for communicating with a SVN server?

Is the entire repository GPL or is the libsvncpp already LGPL? (if http://rapidsvn.tigris.org/ds/viewMessage.do?dsForumId=671&dsMessageId=550450 is correct that would still be the case)

You did a great job abstracting the APR logic and the like and it would be a trouble for me if I would have to reinvent the wheel instead of joining because of licensing. (btw is there any change of merging/moving libsvncpp to the apache codebase?)

Kind regards,
Rich

Build with cmake

Right now several build systems are supported to a varying degree of completeness:

  • auto*: the default build system on Posix system
  • Visual Studio solution: the default build system on Windows
  • codeblocks: unknown status
  • qtcreate: unknown status
  • scons: unknown status
  • xcode: unknown status

So, using cmake might be the grand unified solution.

build failed on kylin os

build error ,please help

SyntaxError: invalid syntax
  File "../../../tools/msgfmt.py", line 41
    print(__doc__, file=sys.stderr)
                       ^
SyntaxError: invalid syntax

build log & os info

$ git clone https://github.com/RapidSVN/RapidSVN.git
Cloning into 'RapidSVN'...
remote: Enumerating objects: 19110, done.
remote: Counting objects: 100% (184/184), done.
remote: Compressing objects: 100% (109/109), done.
remote: Total 19110 (delta 74), reused 149 (delta 55), pack-reused 18926
Receiving objects: 100% (19110/19110), 9.54 MiB | 3.10 MiB/s, done.
Resolving deltas:  97% (13979/14405)/14405)
Resolving deltas: 100% (14405/14405), done.
$ cd RapidSVN/
$ ./autogen.sh
configure.ac:9: installing './compile'
configure.ac:2: installing './config.guess'
configure.ac:2: installing './config.sub'
configure.ac:4: installing './install-sh'
configure.ac:4: installing './missing'
librapidsvn/Makefile.am: installing './depcomp'
parallel-tests: installing './test-driver'
$ ./configure --with-svn-lib=/usr/lib/aarch64-linux-gnu/
checking build system type... aarch64-unknown-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking target system type... aarch64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of g++... gcc3
checking how to print strings... printf
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert aarch64-unknown-linux-gnu file names to aarch64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert aarch64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for gcc/g++... found (using "-Wall", "-Wextra" and "-fexceptions")
checking for APR... found
checking for APR util... found
checking for Subversion headers... found
checking for Subversion libraries... found
checking wxWidgets version... 3.0.4
checking for platform specifics... no
checking cppunit-config... not found
checking xsltproc... found
checking docbook xsl stylesheet for manpages... found (/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl)
checking manpage creation... yes
checking doxygen... found
checking dot... found
checking if doxygen is usable... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating build/Makefile
config.status: creating build/vc2005/Makefile
config.status: creating build/xcode/Makefile
config.status: creating doc/Makefile
config.status: creating doc/manpage/Makefile
config.status: creating doc/svncpp/Makefile
config.status: creating libsvncpp/Makefile
config.status: creating libsvncpp/tests/Makefile
config.status: creating librapidsvn/Makefile
config.status: creating librapidsvn/src/locale/Makefile
config.status: creating librapidsvn/src/res/bitmaps/Makefile
config.status: creating librapidsvn/tests/Makefile
config.status: creating packages/Makefile
config.status: creating packages/debian/Makefile
config.status: creating packages/osx/Makefile
config.status: creating packages/rpm/Makefile
config.status: creating packages/win32/Makefile
config.status: creating rapidsvn/Makefile
config.status: creating tools/Makefile
config.status: executing depfiles commands
config.status: executing libtool commands
$ make
......
libtool: link: (cd ".libs" && rm -f "libsvncpp.so" && ln -s "libsvncpp.so.4.0.0" "libsvncpp.so")
libtool: link: ar cr .libs/libsvncpp.a  src/apr.o src/client.o src/client_annotate.o src/client_cat.o src/client_diff.o src/client_ls.o src/client_modify.o src/client_property.o src/client_status.o src/context.o src/datetime.o src/dirent.o src/exception.o src/entry.o src/info.o src/log_entry.o src/m_is_empty.o src/path.o src/pool.o src/property.o src/revision.o src/status.o src/status_selection.o src/targets.o src/url.o src/wc.o
libtool: link: ranlib .libs/libsvncpp.a
libtool: link: ( cd ".libs" && rm -f "libsvncpp.la" && ln -s "../libsvncpp.la" "libsvncpp.la" )
make[1]: Leaving directory '/home/boomer/Program/src/github.com/RapidSVN/RapidSVN/libsvncpp'
Making all in librapidsvn
make[1]: Entering directory '/home/boomer/Program/src/github.com/RapidSVN/RapidSVN/librapidsvn'
Making all in src/locale
make[2]: Entering directory '/home/boomer/Program/src/github.com/RapidSVN/RapidSVN/librapidsvn/src/locale'
for i in de fr hu it_IT pt_BR ru es uk zh_CN ja ; do \
    python ../../../tools/msgfmt.py -o ./$i/rapidsvn.mo ./$i/rapidsvn.po ; \
done
  File "../../../tools/msgfmt.py", line 41
    print(__doc__, file=sys.stderr)
                       ^
SyntaxError: invalid syntax
  File "../../../tools/msgfmt.py", line 41
    print(__doc__, file=sys.stderr)
                       ^
SyntaxError: invalid syntax
  File "../../../tools/msgfmt.py", line 41
    print(__doc__, file=sys.stderr)
                       ^
SyntaxError: invalid syntax
  File "../../../tools/msgfmt.py", line 41
    print(__doc__, file=sys.stderr)
                       ^
SyntaxError: invalid syntax
  File "../../../tools/msgfmt.py", line 41
    print(__doc__, file=sys.stderr)
                       ^
SyntaxError: invalid syntax
  File "../../../tools/msgfmt.py", line 41
    print(__doc__, file=sys.stderr)
                       ^
SyntaxError: invalid syntax
  File "../../../tools/msgfmt.py", line 41
    print(__doc__, file=sys.stderr)
                       ^
SyntaxError: invalid syntax
  File "../../../tools/msgfmt.py", line 41
    print(__doc__, file=sys.stderr)
                       ^
SyntaxError: invalid syntax
  File "../../../tools/msgfmt.py", line 41
    print(__doc__, file=sys.stderr)
                       ^
SyntaxError: invalid syntax
  File "../../../tools/msgfmt.py", line 41
    print(__doc__, file=sys.stderr)
                       ^
SyntaxError: invalid syntax
make[2]: *** [Makefile:483: all-mo] Error 1
make[2]: Leaving directory '/home/boomer/Program/src/github.com/RapidSVN/RapidSVN/librapidsvn/src/locale'
make[1]: *** [Makefile:1882: all-recursive] Error 1
make[1]: Leaving directory '/home/boomer/Program/src/github.com/RapidSVN/RapidSVN/librapidsvn'
make: *** [Makefile:399: all-recursive] Error 1
$ uname -a
Linux boonix 5.4.18-35-generic #21-KYLINOS SMP Tue Jul 20 13:31:32 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
$ cat /etc/os-release
NAME="Kylin"
VERSION="银河麒麟桌面操作系统V10 (SP1)"
VERSION_US="Kylin Linux Desktop V10 (SP1)"
ID=kylin
ID_LIKE=debian
PRETTY_NAME="Kylin V10 SP1"
VERSION_ID="v10"
HOME_URL="http://www.kylinos.cn/"
SUPPORT_URL="http://www.kylinos.cn/support/technology.html"
BUG_REPORT_URL="http://www.kylinos.cn/"
PRIVACY_POLICY_URL="http://www.kylinos.cn"
VERSION_CODENAME=kylin
UBUNTU_CODENAME=kylin
PROJECT_CODENAME=v10sp1
$ svn -version
svn: invalid option character: e
Type 'svn help' for usage.
$ svn --version
svn, version 1.13.0 (r1867053)
   compiled Mar 24 2020, 12:33:36 on aarch64-unknown-linux-gnu
$ gcc -v
gcc version 9.3.0 (Ubuntu 9.3.0-10kylin2)


Compilation error (Debian 8, x86_64)

Hi,

In order to fix the Log dialog being too small, I wanted to get setup to make some changes myself and validate their effect.

I have problems compiling on Debian GNU/Linux (8).
I manually installed wxWidgets-3.0.2, compiled and ran ldconfig.
Compilation is made with g++ 4.9.2.

The following steps were conducted:

git clone <RapidSVN>
cd <RapidSVN>
./configure
make

And the compilation are running into problems as we can see here:

In file included from include/controls.hpp:29:0,
                 from include/rapidsvn_generated.h:49,
                 from include/about_dlg.hpp:27,
                 from src/about_dlg.cpp:29:
include/filelist_ctrl.hpp:126:3: error: conflicting return type specified for 'virtual void FileListCtrl::SetColumnWidth(int, int)'
   SetColumnWidth(const int col, const int width);
   ^
In file included from /usr/local/include/wx-3.0/wx/listctrl.h:35:0,
                 from include/rapidsvn_generated.h:32,
                 from include/about_dlg.hpp:27,
                 from src/about_dlg.cpp:29:
/usr/local/include/wx-3.0/wx/generic/listctrl.h:69:10: error:   overriding 'virtual bool wxGenericListCtrl::SetColumnWidth(int, int)'
     bool SetColumnWidth( int col, int width);
          ^
Makefile:1004: recipe for target 'librapidsvn_la-about_dlg.lo' failed
make[2]: *** [librapidsvn_la-about_dlg.lo] Error 1
make[2]: Leaving directory '/home/eric/workspace/github/RapidSVN/librapidsvn'
Makefile:1604: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/eric/workspace/github/RapidSVN/librapidsvn'
Makefile:387: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

I have no clue as of what is missing or causing this error.
The prequisites listed in INSTALL have been installed.

Any hint would be appreciated.

Eric

Log History is slow to return for large SVN repositories

The Log history can take a long time to return results if the SVN repository is large (or maybe just a bit slow).
This is because it tries to fetch all the log history details in one go.

Solution : Fetch the log history in pages. Add a "get more" button to the Dialog, so the User can request the next fetch. Suggest a fetch size of 50 commits.

Log History dialog shows Diff relative to workspace and not prior revision

I display the Log History dialog and then select a revision in the top ListView.
I then press the Diff button and I expect it to launch my diff tool (diffuse) with a diff of that revision against the prior revision (in the list). Instead it shows the diff relative to the file in the workspace.

This may well be intended, but is not what I personally expect. Could we either

  1. Change the behaviour of diff button (as detailed above)
  2. Change the button to a dropdown button, with two options Diff and "Diff to Workspace"

SVN Client Too Old

I'm currently getting an error when trying to work with a repository created using another SVN client.

Error: Error while updating filelist (This client is too old to work with the
working copy at 'C:\TestSVNRepo' (format 31).
You need to get a newer Subversion client. For more details, see
  http://subversion.apache.org/faq.html#working-copy-format-change
)

Is there a solution/workaround to this??

Ubuntu 20.04 repo

I dont find a easy way to install in my Ubuntu 20.04. How i can install a current version of rapidsvn in atual lts ubuntu?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.