Applications

TortoiseSVN User Guide

| Product: TortoiseSVN

Overview

This guide provides comprehensive instructions for deploying and using the cloudimg TortoiseSVN AMI on Amazon Web Services. The AMI delivers a fully preconfigured Windows Server instance with TortoiseSVN installed and ready to use, enabling you to manage Subversion repositories immediately after launch.

TortoiseSVN is an Apache Subversion (SVN) client implemented as a Windows shell extension. It integrates directly into Windows Explorer, providing an intuitive graphical interface for all Subversion operations including checkout, commit, update, merge, branch, and diff. TortoiseSVN makes it easy to work with SVN repositories without needing to use command line tools.

This AMI is ideal for development teams that use Subversion for version control, organizations migrating to or maintaining SVN based workflows, or administrators who need a centralized workstation for managing SVN repositories. Running TortoiseSVN on an AWS instance provides a consistent, accessible environment for repository operations with high bandwidth connectivity to SVN servers hosted on AWS or elsewhere.

For any issues encountered while following this guide, please contact support@cloudimg.co.uk.


Prerequisites

Before launching the TortoiseSVN AMI, ensure you have the following in place.

AWS Account You need an active AWS account with permissions to launch EC2 instances, manage security groups, and access the AWS Marketplace.

EC2 Key Pair Create or identify an existing EC2 key pair in the region where you plan to launch the instance. This key pair is required to decrypt the Windows Administrator password after launch.

Security Group Prepare a security group that allows inbound RDP access. The required rule is outlined below.

Protocol Type Port Description
RDP TCP 3389 Remote Desktop Access

It is strongly recommended to restrict the source IP range for RDP access to your known IP addresses or corporate CIDR blocks rather than allowing access from 0.0.0.0/0.

Remote Desktop Client Install a Remote Desktop Protocol client on your local machine. Options include Microsoft Remote Desktop (available for Windows and macOS), Remmina (Linux), or any other RDP compatible client.

Minimum Instance Requirements

Minimum CPU Minimum RAM Required Disk Space
1 vCPU 1 GB 30 GB

A t3.small instance type is sufficient for most TortoiseSVN workloads. If you plan to work with very large repositories or perform frequent merge operations, a t3.medium or larger may provide a better experience.


Step by Step Setup

Follow the steps below to launch and connect to your TortoiseSVN instance.

Step 1: Launch the Instance

  1. Log in to your AWS account and navigate to the AWS Marketplace.
  2. Search for the cloudimg TortoiseSVN AMI.
  3. Select your desired instance type (t3.small or larger is recommended).
  4. Choose your preferred region and VPC configuration.
  5. Select the EC2 key pair you created in the prerequisites.
  6. Assign the security group with RDP access on port 3389.
  7. Configure storage (30 GB minimum on the root volume; consider more if working with large repositories).
  8. Launch the instance.

Step 2: Wait for Status Checks

After launching the instance, navigate to the EC2 console and wait for the instance to show 2/2 status checks passing. This ensures the instance has fully booted and Windows has completed its initial setup. This process typically takes between 3 and 10 minutes.

Step 3: Retrieve the Administrator Password

  1. Open the EC2 console in the AWS region where you launched the instance.
  2. Select Instances from the left navigation panel.
  3. Locate and select your newly launched instance.
  4. Click Actions at the top of the page.
  5. Navigate to Security and then select Get Windows password.
  6. Click Browse and upload the private key file (.pem) from the key pair you selected during launch.
  7. Click Decrypt password.
  8. Copy the decrypted password and store it securely. This is your Administrator password.

Step 4: Connect via Remote Desktop

  1. Open your Remote Desktop client application.
  2. Create a new connection using the public IP address of your EC2 instance (or the private IP if connecting through a VPN or from within the same VPC).
  3. Enter the following credentials when prompted:
  4. Username: Administrator
  5. Password: The decrypted value from Step 3
  6. If a certificate warning appears, click Continue to proceed. This is expected for new connections.
  7. You will be connected to the Windows Server desktop.

Step 5: Start Using TortoiseSVN

TortoiseSVN is integrated into the Windows shell. Right click on any folder in Windows Explorer to access the TortoiseSVN context menu. You can also use the desktop shortcut icons for common operations such as SVN Checkout, Repository Browser, and TortoiseSVN Settings.


Server Components

The following software components are preinstalled on this AMI.

Component Version
TortoiseSVN 1.14.7

The AMI is built on Windows Server and includes the base operating system along with TortoiseSVN preinstalled as a Windows shell extension. TortoiseSVN includes the SVN command line client, the repository browser, the merge tool, and the diff viewer.


Filesystem Layout

The instance uses a single volume configuration.

Drive Purpose Minimum Size
C:\ Operating system and application 30 GB

Key directory locations on the instance:

Path Description
C:\Program Files\TortoiseSVN\ TortoiseSVN installation directory
C:\Program Files\TortoiseSVN\bin\ SVN command line tools and executables
C:\Users\Administrator\Desktop\ Desktop with TortoiseSVN shortcut icons
C:\Users\Administrator\AppData\Roaming\Subversion\ SVN configuration and authentication cache
C:\Users\Administrator\Documents\ Recommended location for working copies

If you work with large repositories, consider attaching an additional EBS volume and using it as the root directory for your working copies to avoid filling the system drive.


Managing the Application

Checking Out a Repository

  1. Open Windows Explorer and navigate to the folder where you want to create the working copy (for example, C:\Users\Administrator\Documents).
  2. Right click in the folder and select SVN Checkout from the context menu.
  3. Enter the repository URL in the URL of repository field.
  4. Confirm the checkout directory path.
  5. Choose the revision to check out (HEAD for the latest, or a specific revision number).
  6. Click OK to begin the checkout.
  7. If prompted, enter your SVN credentials (username and password). TortoiseSVN can save these credentials for future use.

Updating a Working Copy

  1. Right click on the working copy folder in Windows Explorer.
  2. Select SVN Update from the context menu.
  3. TortoiseSVN will download the latest changes from the repository and merge them into your working copy.

Committing Changes

  1. Right click on the working copy folder or specific files.
  2. Select SVN Commit from the context menu.
  3. Review the list of changed files. Check the files you want to include in the commit.
  4. Enter a descriptive commit message.
  5. Click OK to commit the changes to the repository.

Using the Repository Browser

  1. Right click in Windows Explorer and select TortoiseSVN then Repo browser.
  2. Enter the repository URL to browse the repository structure.
  3. You can create folders, delete files, copy, move, and view file contents directly from the repository browser without a working copy.

Viewing File Differences

  1. Right click on a modified file in your working copy.
  2. Select TortoiseSVN then Diff to compare the working copy with the base revision.
  3. TortoiseSVN's built in diff viewer (TortoiseMerge) will display the changes side by side.

Viewing the Log

  1. Right click on a file or folder in the working copy.
  2. Select TortoiseSVN then Show log.
  3. The log dialog displays the revision history with commit messages, authors, dates, and changed paths.

Creating Branches and Tags

  1. Right click on the working copy folder.
  2. Select TortoiseSVN then Branch/tag.
  3. Enter the destination URL for the branch or tag (following your repository's convention, typically /branches/feature_name or /tags/release_1.0).
  4. Add a log message and click OK.

Merging Changes

  1. Right click on the target working copy folder where you want to apply the merge.
  2. Select TortoiseSVN then Merge.
  3. Choose the merge type (merge a range of revisions or reintegrate a branch).
  4. Enter the source URL and revision range.
  5. Click Next and then Merge to apply the changes.
  6. Resolve any conflicts that arise during the merge.

Resolving Conflicts

When a conflict occurs during an update or merge:

  1. Right click on the conflicted file.
  2. Select TortoiseSVN then Edit conflicts.
  3. TortoiseMerge will open showing the conflicting changes.
  4. Resolve the conflicts by choosing which changes to keep.
  5. Save the file and mark it as resolved by right clicking and selecting TortoiseSVN then Resolved.

Scripts and Logs

SVN Command Line Tools

TortoiseSVN includes the SVN command line client. You can use it from the Command Prompt or PowerShell:

svn --version
svn info <repository_url>
svn log <repository_url> --limit 10
svn checkout <repository_url> <local_path>
svn update <working_copy_path>
svn commit -m "Commit message" <working_copy_path>

The command line tools are located at C:\Program Files\TortoiseSVN\bin\ and are added to the system PATH.

TortoiseSVN Log Cache

TortoiseSVN caches repository log data locally for performance:

Location Description
C:\Users\Administrator\AppData\Local\TortoiseSVN\logcache\ Cached repository log data

SVN Authentication Cache

Saved credentials are stored in:

Location Description
C:\Users\Administrator\AppData\Roaming\Subversion\auth\ Cached SVN credentials

Windows Event Logs

For system level diagnostics, use the Windows Event Viewer. Press the Windows key, search for Event Viewer, and open it to review application and system logs.


Troubleshooting

Cannot connect via RDP

  • Verify that the instance has passed 2/2 status checks in the EC2 console.
  • Confirm that your security group allows inbound TCP traffic on port 3389 from your IP address.
  • Ensure you are using the correct public IP address. If the instance was stopped and started, the public IP may have changed unless you are using an Elastic IP.
  • Check that your local firewall or corporate network is not blocking outbound RDP connections.

Password decryption fails

  • Ensure you are uploading the correct .pem file that matches the key pair selected during instance launch.
  • The password may take up to 15 minutes to become available after the first launch. Wait and try again if the option is greyed out.

Cannot connect to the SVN repository

  • Verify the repository URL is correct and accessible.
  • Ensure the security group allows outbound traffic on the port used by the SVN server (80 for HTTP, 443 for HTTPS, 3690 for svn:// protocol, or 22 for svn+ssh://).
  • If the instance is in a private subnet, ensure a NAT gateway is configured for outbound internet access.
  • Verify your SVN credentials are correct. You can clear saved credentials by navigating to TortoiseSVN then Settings then Saved Data and clearing the authentication data.

SVN operations are slow

  • Check the network bandwidth between the instance and the SVN server. Hosting both in the same AWS region will provide the best performance.
  • For large repositories, consider using a shallow checkout or limiting the depth of the working copy.
  • Clear the TortoiseSVN log cache if it has grown very large (accessible via TortoiseSVN then Settings then Log Caching).

TortoiseSVN context menu does not appear

  • TortoiseSVN integrates with Windows Explorer. If the context menu options are missing, try restarting Windows Explorer or logging out and back in.
  • Verify that TortoiseSVN is properly installed by checking the Programs list in the Control Panel.

Merge conflicts are difficult to resolve

  • Use TortoiseMerge (the built in three way merge tool) for resolving conflicts. It provides a clear visual representation of the conflicting changes.
  • For complex merges, consider merging smaller ranges of revisions incrementally rather than a large range all at once.

Insufficient disk space

  • SVN working copies store a pristine copy of each file locally, effectively doubling the disk space requirements. Monitor the C: drive usage.
  • Attach an additional EBS volume for working copies if you are working with large repositories.
  • Use svn cleanup on the working copy to remove any temporary files.

RDP session disconnects frequently

  • Check your network connection stability.
  • Adjust the RDP client settings to reduce bandwidth requirements by lowering the display quality or disabling visual effects.
  • Ensure the instance is not running out of memory, which could cause Windows to become unresponsive.

Security Recommendations

Change the Administrator Password

After your first login, change the default Administrator password to a strong, unique password. Open the Windows command prompt or PowerShell and run:

net user Administrator YourNewStrongPassword

Note that once you change the password, the original decrypted password from the AWS console will no longer be valid.

Restrict RDP Access

Limit the security group rule for port 3389 to only your specific IP addresses or a trusted CIDR range. Avoid using 0.0.0.0/0, which would expose the instance to RDP brute force attacks from the entire internet.

Use HTTPS for Repository Connections

Always use HTTPS (port 443) when connecting to SVN repositories to ensure credentials and data are encrypted in transit. Avoid using unencrypted HTTP or svn:// protocols over the internet.

Secure Stored SVN Credentials

TortoiseSVN can save repository credentials locally. Be aware that anyone with RDP access to the instance can access these saved credentials. Limit RDP access to trusted users only and clear saved credentials periodically through TortoiseSVN then Settings then Saved Data.

Enable Windows Firewall Rules

Review and configure the Windows Firewall to restrict inbound and outbound traffic to only what is necessary for your SVN workflow.

Keep Software Updated

Regularly update TortoiseSVN and Windows Server to ensure you have the latest security patches and bug fixes. Check for TortoiseSVN updates via Help then Check for updates in the TortoiseSVN settings.

Use an Elastic IP

Assign an Elastic IP to your instance to maintain a consistent IP address across stop and start cycles. This is useful if your SVN server whitelists specific IP addresses.

Enable CloudWatch Monitoring

Configure Amazon CloudWatch to monitor your instance metrics such as CPU utilization, memory usage, and disk space. Set up alarms to notify you if resources are running low.

Back Up Working Copies

Use EBS snapshots to create regular backups of the instance volume, especially before performing large merge operations. This provides a rollback point if something goes wrong.


Support

If you encounter any issues not covered in this guide, the cloudimg support team is available to help.

  • Email: support@cloudimg.co.uk
  • Phone: (+44) 02045382725
  • Website: www.cloudimg.co.uk
  • Address: 3rd Floor, 86 90 Paul Street, London, EC2A 4NE

Support is available for any issues related to the AMI, including connectivity problems, software configuration, and general guidance on using the preconfigured environment.

When contacting support, please include your EC2 instance ID, the AWS region, and a description of the issue along with any relevant error messages or screenshots.