Tag Archive for 'windows'

Understanding SmartSVN’s Revision Graph

SmartSVN, the popular cross-platform client for Apache Subversion, provides all the tools you need to manage your SVN projects out of the box, including a comprehensive Revision Graph.

SmartSVN’s Revision Graph offers an insight into the hierarchical history of your files and directories, by displaying information on:

  • Merged revisions

  • Revisions yet to be merged

  • Whether a merge occurred in a specific revision

  • Which changes happened in which branch

  • When a file was moved, renamed or copied, along with its history

The Revision Graph is useful in several tasks, including identifying changes made in each revision before rolling back to a previous revision, and gathering more information on the state of a project before a merge.

Accessing the Revision Graph

To access the Revision Graph, open the ‘Query’ menu and select ‘Revision Graph.’

revision graph

Understanding the Revision Graph

In the Revision Graph, projects are mainly represented by:

node Nodes – represent a specific entry (file/directory) at a specific revision.

branch 

    Branches – a collection of linked nodes at the same URL.

 

 

The main section of the Revision Graph is the ‘Revisions’ pane, which displays the parent-child relationships between revisions. Revisions are arranged by date, with the newest at the top. In addition to the main ‘Revisions’ pane, the SmartSVN Revision Graph includes several additional views:

  • Revision Info – displays information on the selected revision (such as revision number, date, author who created the revision etc.)

revision info

  • Directories and files – displays modified files in the selected revision. This is useful for pinpointing the revision at what point a particular file changed or disappeared from the project.

From this screen, you can access several additional options:

  • Export – export the Revision Graph as an HTML file by selecting ‘Export as HTML…’ from the ‘Graph’ menu. This file can then be easily shared with other team members.

  • Merge Arrows – select the ‘Show Merge Arrows’ option from the ‘Query’ menu to view the merge arrows. These point from the merge source to the merge target revisions. If the merge source is a range of revisions, the corresponding revisions will be surrounded by a bracket. This allows you to get an overview of merges that have occurred within your project, at a glance.

  • Merge Sources – select the ‘Show Merge Sources’ option from the ‘Query’ menu to see which revisions have been merged into the currently selected target revision.

  • Merge Targets – select ‘Show Merge Targets’ from the ‘Query’ menu to see the revisions where the currently selected target revisions have been merged.

  • Search – if you’re looking for a particular revision, you can save time by using ‘Edit’ and ‘Search.’ Enter the ‘Search For’ term and specify a ‘Search In’ location.

  • Branch Filter – clicking the ‘Branch Filter’ option in the ‘View’ menu allows you to filter the display for certain branches. This is particularly useful if you’re examining a large project consisting of many different branches.

Introduction to SmartSVN

SmartSVN is a powerful and easy-to-use graphical client for Apache Subversion. There are several clients for Subversion, but here are just a few reasons you should try SmartSVN:

  • It’s cross-platform – SmartSVN runs on Windows, Linux and Mac OS X, so you can continue using the operating system (OS) that works the best for you. It can also be integrated into your OS, via Mac’s Finder Integration or Windows Shell.

  • Everything you need, out of the box – SmartSVN comes complete with all the tools you need to manage your Subversion projects:

  1. Conflict solver – this feature combines the freedom of a general, three-way-merge with the ability to detect and resolve any conflicts that occur during the development lifecycle.

  2. File compare – this allows you to make inner-line comparisons and directly edit the compared files.

  3. Built-in SSH client – allows users to access servers using the SSH protocol. This security-conscious protocol encrypts every piece of communication between the client and the server, for additional protection.

  • A complete view of your project at a glance – the most important files (such as conflicted, modified or missing files) are placed at the top of the file list. SmartSVN also highlights which directories contain local modifications, which directories have been changed in the repository, and whether individual files have been modified locally or in the central repo. This makes it easy to get a quick overview of the state of your project.

  • Fully customizable – maximize productivity by fine-tuning your SmartSVN installation to suit your particular needs: Change keyboard shortcuts, write your own plugin with the SmartSVN API, group revisions to personalize your display, create Change Sets, and alter the context menus and toolbars to suit you. You can learn more about customizing SmartSVN at our ‘5 Ways to Customize SmartSVN’ blog post.

  • Comprehensive bug tracker support – Trac and JIRA are both fully supported.

Multitude of support options – SmartSVN users have access to a range of free support, from refcards to blogs and documentation, the SmartSVN forum and a Twitter account maintained by our open source experts. If you need extra support with your SmartSVN installation, expert email support is included with SmartSVN Professional licenses.

Want to learn more about SmartSVN? On April 18th, WANdisco will be be holding a free ‘Introduction to SmartSVN’ webinar covering everything you need to get off to a great start with this popular client:

  • Repository basics

  • Checkouts, working folders, editing files and commits

  • Reporting on changes

  • Simple branching

  • Simple merging

This webinar is free so register now.

Subversion Tip of the Week

Tagging and Branching with SmartSVN’s ‘Copy Within Repository’

SmartSVN’s ‘Copy Within Repository’ command allows users to perform pure repository copies, which is particularly useful for quickly creating tags and branches.

To create a repository copy within SmartSVN:

1) Open the ‘Modify’ menu and select ‘Copy within Repository’.

2) From the ‘Copy From’ dropdown menu, select the repository where the source resides.

3) In the ‘Copy From’ textbox, specify the directory being copied. In ‘Source Revision,’ tell SmartSVN whether it should copy the HEAD revision (this is selected by default) or a different revision. Use the ‘Browse’ button if you need more information about the contents of the different directories and/or revisions that make up your project.

copy within repo

4) Select either:

  • Copy To – source is copied into the ‘Directory’ under the filename specified by ‘With Name’

  • Copy Contents Into – the contents of the source are copied directly into the ‘Directory’ under ‘With Name.’

5) Enter the copy’s destination in the ‘Directory’ textbox. You can view the available options by clicking the ‘Browse’ button.

6) Give your copy a name in the ‘With Name’ textbox.

7) The copy is performed directly in the repository, so you’ll need to enter an appropriate commit message.

8) Once you’re happy with the information you’ve entered, hit ‘Copy’ to create your new branch/tag.

Try SmartSVN Professional free today! Get a free trial at http://www.smartsvn.com/download.

Subversion Tip of the Week

SmartSVN’s Project Settings Menu 

SmartSVN’s ‘global preferences’ is a method of specifying settings across all your SmartSVN projects for efficiency and simplicity. However, sometimes you need to change settings for a single project, which is where the ‘Project Settings’ menu comes in handy.

In this week’s tip, we’ll look at some of the SmartSVN settings you can apply using this menu.

Accessing Project Settings

To access SmartSVN’s Project Settings, open the ‘Project’ menu and select ‘Settings.’ The different options are listed on the dialog box’s left-hand side.

project settings

1) Text File Encoding

This affects how file contents are presented. Choose from:

  • Use system’s default encoding – SmartSVN uses the system’s encoding when displaying files. This is the default setting for SmartSVN.

  • Use the following encoding – Select your own encoding from the dropdown menu. This is useful if you’re dealing with international characters, which may otherwise be encoded incorrectly.

Note, if you’ve specified a file type using the MIME-Type property, SmartSVN will choose this over the text file encoding settings.

2) Refresh/Scan

SmartSVN can either scan the ‘whole project’ or the ‘root directory only’ when you open a project. In most instances, you’ll want to scan the entire project, but if you’re working with particularly large repositories, the ‘root directory only’ option can speed up this initial scan and avoid high memory consumption.

3) Working Copy

Clicking on ‘Working Copy’ presents you with several checkboxes:

working copy

  • (Re)set to Commit-Times after manipulating local files – tells SmartSVN to always use a local file’s internal Apache Subversion property commit-time. This is useful for ensuring consistency across timezones, and between clients and the Subversion repository.

  • Apply auto-props from SVN ‘config’ file to added files – tells SmartSVN to use the auto-props from the SVN ‘config’ file. With auto-props enabled, you can perform tasks such as automatically inserting keywords into text files and ensuring every file has EOLs that are consistent with the operating system. Not only are auto-props a time-saving feature, but they can help you avoid human error within your project.

  • Keep input files after merging (monitored merge) – tells SmartSVN to always keep the .aux files following a merge, even for non-conflicting files. These files are stored in the ‘merged’ state and can be used to gain a deeper insight into what has changed during the merge.

4) Locks

Apache Subversion is built around a ‘copy-modify-merge’ model, but there are times when a ‘lock-modify-unlock’ model may be appropriate, for example when you’re working on image files, which cannot easily be merged. SmartSVN has full support for locking and unlocking files, but if you’re going to make heavy use of locks, you can configure SmartSVN to automatically flag certain files as requiring locking before anyone begins working on them. This is a useful reminder, especially if your project contains multiple non-mergeable files. Open the ‘Lock’ section of the Project Settings dialog and select either ‘all binary files’ or ‘every file,’ if required. The default is ‘no file.’

You can also choose whether SmartSVN should suggest releasing or keeping locks whenever you perform a commit, which is a helpful reminder if your team are working with multiple locks. Finally, the ‘Automatically scan for locks’ option tells SmartSVN to scan for locked files at specified intervals.

Find out more about locks by reading our ‘Locking and Unlocking in SmartSVN’ blog post.

5) Conflicts

When SmartSVN encounters conflicts, it adds new extensions to the conflicting files to help distinguish between them. By default, SmartSVN will take its cues from the config file, but if you want to specify particular extensions, you can select ‘Use following extensions’ and type the desired extensions into the textbox.

Remember, you can download your free edition of SmartSVN Professional at www.smartsvn.com/download

WANdisco’s March Roundup

Following the recent issuance of our “Distributed computing systems and system components thereof” patent, which cover the fundamentals of active-active replication over a Wide Area Network, we’re excited to announce the filing of three more patents. These patents involve methods, devices and systems that enhance security, reliability, flexibility and efficiency in the field of distributed computing and will have significant benefits for users of our Hadoop Big Data product line.

“Our team continues to break new ground in the field of distributed computing technology,” said David Richards, CEO for WANdisco. “We are proud to have some of the world’s most talented engineers in this field working for us and look forward to the eventual approval of these most recent patent applications. We are particularly excited about their application in our new Big Data product line.”

Our Big Data product line includes Non-Stop NameNode, WANdisco Hadoop Console and WANdisco Distro (WDD.)

This month, we also welcomed Bas Nijjer, who built CollabNet UK from startup to multimillion dollar recurring revenue, to the WANdisco team. Bas Nijjer has a proven track record of increasing customer wins, accelerating revenue and providing customer satisfaction, and he takes on the role of WANdisco Sales Director, EMEA.

“Bas is an excellent addition to our team, with great insight on developing and strengthening sales teams and customer relationships as well as enterprise software,” said David Richards. “His expertise and familiarity with EMEA and his results-oriented attitude will help strengthen the WANdisco team and increase sales and renewals. We are pleased to have him join us.”

If joining the WANdisco team interests you, visit our Careers page for all the latest employment opportunities.

We’ve also posted lots of new content at the WANdisco blog. Users of SmartSVN, our cross-platform graphical Subversion client, can find out how to get even more out of their installation with our ‘Performing a Reverse Merge in SmartSVN’ and ‘Backing Up Your SmartSVN Data’ tutorials. For users running the latest and greatest, 7.5.4 release of SmartSVN, we’ve put together a deep dive into the fixes and new functionality in this release with our ‘What’s New in SmartSVN 7.5.4?’ post. If you haven’t tried SmartSVN yet, you can claim your free trial of this release by visiting http://smartsvn.com/download

We also have a new post from James Creasy, WANdisco’s Senior Director of Product Management, where he takes a closer look at the “WAN” in “WANdisco:”

“We’ve all heard about the globalization of the world economy. Every globally relevant company is now highly dependent on highly available software, and that software needs to be equally global. However, most systems that these companies rely on were architected with a single machine in mind. These machines were accessed over a LAN (local area network) by mostly co-located teams.

All that changed, starting in the 1990’s with widespread adoption of outsourcing. The WAN computing revolution had begun in earnest.”

You can read “What’s in a name, WANdisco?” in full now.

Also at the blog we address the hot topic of ‘Is Subversion Ready for the Enterprise?’ And, if you need more information on the challenges and available solutions for deploying Subversion in an enterprise environment, be sure to sign up for our free-to-attend ‘Scaling Subversion for the Enterprise’ sessions. Taking place a few times a week, these webinars cover limitations and risks related to globally distributed SVN deployments, as well as free resources and live demos to help you overcome them. Take advantage of the opportunity to get answers to your business-specific questions and live demos of enterprise-class SVN products.

Top 5 Reasons To Try SmartSVN

SmartSVN is WANdisco’s powerful graphical client for Apache Subversion. In this post, we run through our top five reasons to try SmartSVN.

1) It’s Cross Platform

SmartSVN runs on Windows, Linux and Mac OS X, so you can continue to work with your operating system of choice. SmartSVN also offers comprehensive support for all of these operating systems – it integrates with Windows Explorer, and can be started as a background process on Windows and Linux.

SmartSVN integrated with Windows Explorer.

For Apple users, SmartSVN leverages the dock icon to automatically notify users of new transactions, and provides a Finder integration (Mac OS X 10.5).

2) Everything you need, out of the box!

SmartSVN comes complete with all the tools you need to manage your Subversion repositories:

  • Conflict Solver

Conflicts can be tricky for Apache Subversion users, but SmartSVN comes with a dedicated ‘Conflict Solver’ that takes the pain out of resolving them. SmartSVN’s built-in Conflict Solver combines the freedom of a general, three-way-merge with the ability to detect and resolve any conflicts that occur during the development lifecycle.

To access this conflict solver, open the ‘Query’ menu and select ‘Conflict solver.’

In the ‘Mark Resolved’ dialog, you can opt to:

  1. Leave the file/directory as it is.
  2. Accept the version in the working copy, as it was before the update or merge was performed.
  3. Accept the new version – the pristine copy after the update or merge was performed.
  4. Accept the old version – the pristine copy before the update or merge was performed.
  • File Compare

SmartSVN provides file-compare out of the box, combining the ability to compare with inner-line comparisons and the ability to edit the compared files directly.

The ‘File Compare’ option can be easily accessed through the ‘Show Changes’ option in the ‘Query’ menu.

  • Built in SSH Client

SmartSVN’s powerful SSH client allows users to access servers using the SSH protocol. This security-conscious protocol encrypts every piece of communication between the client and the server.

3) See the state of your files/directories at a glance

In the project directory you can see at a glance which directories contain local modifications (red arrows) and which directories have been changed in the repository (green arrows.)

Furthermore, you can easily see whether each file has been modified locally and whether it has been modified in the repository:

4) Optimized Interface

SmartSVN’s interface has been designed to give users an optimal view of their project’s state. This includes:

  • Placing the most ‘important’ files (such as conflicting, modified or missing files) at the top of the file list.
  • See at a glance which directories contain local modifications, which directories have been changed in the repositories, and whether individual files have been modified locally and modified in the repository.
  • Displaying all files – even files that don’t exist locally, or currently only exist in the repository. This is beyond the scope of many Apache Subversion clients.
  • Customize the displayed file information according to your needs.

5) Excellent Merge Support

SmartSVN’s xMerge add-on can take the pain out of merging moved and renamed files. xMerge analyzes the repository’s history and identifies files in the merge source and the merge target using Subversion’s copy-from information. This ensures that files can be located and correctly identified, even after they have been moved and/or renamed. This functionality also preserves a file’s log history with greater accuracy, even when a file has been moved and renamed before being merged.

Find out more about the xMerge add-on http://www.smartsvn.com/xmerge-addon

Ready to get started with SmartSVN? Download your free, 30 day free trial of SmartSVN Professional http://smartsvn.com/evaluate

Adding and Removing Files in SmartSVN for Windows

When working with SmartSVN, sooner or later you’ll need to add and remove files from your project. In this article, we show you how to add a file to SmartSVN and place it under version control, before demonstrating how to remove a file from the repository. Finally, we cover adding a file to SmartSVN’s ignore list, which is useful when you need to include a file in your project without placing it under version control.

Adding a File in SmartSVN

1) Outside of SmartSVN, select the file you wish to add and drop it into the working copy on your local machine.

 

 

 

 

 

 

2) Open your working copy with SmartSVN. The new file will appear as an unversioned item. Select the file, followed by the ‘Add’ button. Alternatively, you can right-click the unversioned file and select ‘Add.’

 

 

 

 

 

 

3) Commit your change back to the repository to make it permanent.

 

 

 

 

 

 

4) Don’t forget to add an appropriate log message!

 

 

 

 

 

 

 

Removing Files in SmartSVN

If you can add files, at some point you will need to remove them.

1) Select the file you wish to remove and click SmartSVN’s ‘Remove’ button. Alternatively, right-click the file you wish to remove and select the ‘Remove’ option.

 

 

 

 

 

 

2) In the subsequent dialog, select whether you wish to remove the file from version control, which will schedule the item for removal, or remove the control and also delete it locally.

In this example, we’ll choose to delete the file locally. Select ‘Remove.’

 

 

 

 

 

 

3) Commit your changes back to the repository to make them permanent.

Note, if you have opted to delete the file locally, it will disappear from both your working copy and the repository at this point.

Adding a File to SmartSVN’s Ignore List

If you have added a file to your working copy but don’t want to place it under version control, it may be worth adding to SmartSVN’s ignore list. This will prevent you from receiving a notification about the unversioned file every time you perform a commit.

To add a file to SmartSVN’s ignore list:

1) Select the file you wish to ignore.
2)
Open the ‘Modify’ menu and click ‘Ignore…’
3)
Choose either ‘Explore Explicitly,’ which will add the selected file/directory to the ignore list, or ‘Ignore As Pattern’ which instructs SmartSVN to ignore all files with a certain naming convention.
4)
Select ‘Ok’ to add the file(s) to SmartSVN’s ignore list.

Tip. If you cannot access the ‘Ignore’ option, check you are not attempting to ignore a previously committed file. You can only ignore unversioned files.

Remember that a free download of SmartSVN Foundation is available. Simply visit http://smartsvn.com/ to get started. 

 

Merging in Subversion: Merge a Range of Revisions

Along with branching, merging is the issue that regularly causes Apache Subversion users the most confusion – but merging needn’t be complicated! In this post, we’ll show you how to successfully perform a merge in less than ten steps, using TortoiseSVN’s ‘merge a range of revisions’ option.

Tip. Two common scenarios where this type of merge comes in handy are sync’ing a development branch by applying all the latest changes from its ‘parent’ branch; and cherry-picking specific changes to add to your release branch.

To merge a range of revisions:

1) Right-click on the file you wish to merge and open the ‘TortoiseSVN’ menu.

2) Select ‘Merge’ from TortoiseSVN’s sub-menu.

 

 

 

 

 

 

 

 

3) Select the ‘Merge a Range of Revisions’ option.

 

 

 

 

 

 

 

 

 

4) In the ‘Merge’ dialog, select the desired URL using the “….” button.

5) Either specify the revision numbers you wish to merge, or leave the revision range blank to merge all outstanding changes from the specified source.

 

 

 

 

 

 

 

 

 

6) Once you have entered all the relevant information, click ‘Next.’

7) TortoiseSVN will open the ‘Merge options’ dialog. In most instances, the default settings can be used.

8) Select ‘Merge’ to perform your merge!

Need more info on branching and merging in Subversion? This year’s Subversion Live series of conferences features a session dedicated to Branching and Merging Best Practices. Visit http://www.wandisco.com/svn-live-2012 to find out more.

Getting Started with TortoiseSVN 1.7.9

The latest release of TortoiseSVN – version 1.7.9 – has just been released. But how do you get started with the popular Apache Subversion client for Windows? In this post, we show you how to install TortoiseSVN and checkout your first working copy.

1) TortoiseSVN 1.7.9 binaries are available from http://www.wandisco.com/subversion/download#tortoise Click on the appropriate installer to download.

2) Open the installer, and select ‘Run’ when prompted.

3) You will be taken to TortoiseSVN’s setup wizard. Click ‘Next.’

4) Accept the terms in the License Agreement, and select ‘Next.’

5) In the subsequent dialog, select where TortoiseSVN should be installed and which features you want to install. Once you are happy with the configuration, click ‘Next.’

6) Click the ‘Install’ button. Once TortoiseSVN has finished installing, click the ‘Finish’ button to complete the setup process.

7) TortoiseSVN is implemented as a Windows shell extension. To perform a checkout in TortoiseSVN, right-click on the location where you wish to create a working copy, and select ‘SVN Checkout…’

8) Enter the URL of your repository and select whether you want to checkout the HEAD revision, or a particular revision number. Click ‘Ok’ to perform the checkout.

You have now successfully performed your first checkout!

Remember that TortoiseSVN can be downloaded for free from http://www.wandisco.com/subversion/download 

 

TortoiseSVN 1.7.9 Available to Download

TortoiseSVN 1.7.9 is now available to download.

This release of the popular Windows client for Apache Subversion fixes a bug introduced in the 1.7.8 release, that could cause other applications to crash. This release also fixes some additional bugs, including crashes when refreshing the status list control, and copied files failing to revert to the recycle bin. TortoiseSVN 1.7.9 is linked against Subversion 1.7.6.

TortoiseSVN users are recommended to upgrade to this release as soon as possible.

Looking for tips and tricks on getting the most out of TortoiseSVN? We publish a new Subversion Tip of the Week every Monday, which includes frequent TortoiseSVN tips.