Subversion Under WINE-Crossover

When running Enterprise Architect under WINE/CrossOver, you can use either a Windows-based Subversion client or a Linux-based Subversion client.

If you intend to use the HTTP or HTTPS protocols you must use the Unix-like client, as the Windows client cannot access the libraries necessary to create the required network connections. It is also easier to set up your working copy folder using the native Unix-like Subversion client and then continue using that same client from within Enterprise Architect.

However, to make use of the Unix-like client under CrossOver, you must also download and install a bridging utility called SVN_gate, which is available from the CodeWeavers' (CrossOver) web site:

When using the Windows Subversion client, you simply install the Win32 Subversion client under CrossOver. Once you have set up your working copy directory, you are ready to use Subversion with Enterprise Architect. However, setting up your working copy is more difficult when using Win32 Subversion under CrossOver. Because you cannot see any output from Subversion commands run under CrossOver, the best way to run the commands is to create a Windows batch file containing the command to run, and to run that batch file as a Windows command under CrossOver. (See the example batch file below.)

If you are running directly under WINE, launch the Windows batch file from a Unix shell script such as follows;


/home/user/cxoffice/bin/wine --bottle "ea" --untrusted

--workdir "/home/user/.cxoffice/ea""/drive_c"

-- "/home/user/.cxoffice/ea/drive_c/batfile.bat"


Enterprise Architect uses the Subversion command line client to communicate with your Subversion server. In order for Enterprise Architect to work successfully with Subversion, your Subversion working copy environment must be set up such that you can issue commands to Subversion from the command line, without ever being prompted for user input such as username or password.

By default, whenever the Subversion command-line client successfully responds to a server's authentication challenge, it saves the credentials in the user's private runtime configuration area, which is:

  • ~/.subversion/auth/ on Unix-like systems or
  • %APPDATA%/Subversion/auth/ on Windows (which translates to .../drive_c/windows/profiles/crossover/Application Data/Subversion/auth/ under CrossOver).

For this reason, Sparx Systems recommend that when you checkout a working copy from the Subversion repository, you specify your username and password on the command line, such that your credentials are cached from the outset. Use a Subversion command such as:

  • Using a Unix-like client (run the command from the command line):
    svn checkout --username "UserName" --password "myPassword" "svn://myServerName:3690/myProject" "/.../drive_c/workingCopyDirectory"
  • Using a Win32 client (run the command within a batch file run under CrossOver):
    "C:\Program Files\Subversion\bin\svn.exe" checkout --username "UserName" --password "myPassword" "svn://myServerName:3690/myProject" "C:\SVN-test\workcopy" >"C:\SVN-test\stdout.txt" &2>"C:\SVN-test\stderr.txt"

It is a good idea to checkout your Subversion working copy into a folder within the WINE bottle where Enterprise Architect is to run. In this way, the pathnames used for your version controlled package files are much shorter.

If you intend to use the Win32 Subversion client with Enterprise Architect, you should create the local working copy that Enterprise Architect is to use, by performing a Subversion checkout command using the Win32 client under WINE/CrossOver. Similarly, if you plan to use the Unix-like Subversion client with Enterprise Architect, you should perform the initial checkout using that client. In this way, your user credentials are cached in the correct location for the client that Enterprise Architect is using.

It is important to verify that your command line client for Subversion is working correctly before attempting to connect from Enterprise Architect. For guidance on verifying your set up, see the Create a Local Working Copy topic.

The following is an example of a Windows batch file that can be used under CrossOver to run Subversion commands. Simply uncomment the command to execute. Each command should be a single line - the '\' is intended as a continuation character.


rem  "C:\Program Files\Subversion\bin\svn.exe" checkout --username "UserName" --password "myPassword"  \

           "svn://myServerName:3690/myProject" "C:\SVN-test\workcopy"

           >"C:\SVN-test\stdout.txt" &2>"C:\SVN-test\stderr.txt"


rem  "C:\Program Files\Subversion\bin\svn.exe" add "C:\SVN-test\workcopy\myTestFile.xml"   \

           >"C:\SVN-test\stdout.txt" &2>"C:\SVN-test\stderr.txt"


rem  "C:\Program Files\Subversion\bin\svn.exe" commit -m"a message"  "C:\SVN-test\workcopy\myTestFile.xml"   \

           >"C:\SVN-test\stdout.txt" &2>"C:\SVN-test\stderr.txt"


rem  "C:\Program Files\Subversion\bin\svn.exe" lock     "C:\SVN-test\workcopy\myTestFile.xml"   \

           >"C:\SVN-test\stdout.txt"  &2>"C:\SVN-test\stderr.txt"