Showing posts with label source control. Show all posts
Showing posts with label source control. Show all posts

Subversion 1.6 Quick Reference Card


  • You want to know subversions new features?
  • You like quick reference cards like the ones that come with emacs and gdb?

Get the Subversion Quick Reference card for Subversion 1.6. This two-page PDF document summarizes common Subversion command line commands, subcommands and switches.

Found on CollabNet.

subcommander

Recently, I discovered another graphical client for the subversion source control system.

subcommanderSubcommander is a cross platform (MacOSX, Windows & Linux) client with diff and merge tool and integrates very well into Ubuntu, and supports much better subversions trunk, branches and tags layout.

Screenshot
Compared to eSvn it can browse and work directly with repositories, and has all features from kdesvn.
See also my previously post about subversion GUIs.

It can be installed from Synaptic, aptitude or apt-get, but unfortunately doesn't create an entry in the applications menu.

File Synchronization

Unison is a file-synchronization tool for Unix and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.


Unison shares a number of features with tools such as configuration management packages (CVS, PRCS, Subversion, BitKeeper, etc.), distributed filesystems (Coda, etc.), uni-directional mirroring utilities (rsync, etc.), and other synchronizers (Intellisync, Reconcile, etc).

Other applications


Linux


rsync is an open source utility that provides fast incremental file transfer.
In Ubuntu you can install from the application menu Grsync, a simple graphical interface for rsync.

Windows


SyncToy is a free PowerToy designed by Microsoft that provides an easy to use graphical user interface that can automate synchronizing files and folders. It is written using Microsoft's .NET framework.

Visual Diff and Merge tools

Meld
Working with source controls systems implies to view differences between versions, merge changes.
Or you just want to see quickly a difference between two files or folders.

On Linux you could stick to good and old tool diff, but it's a command line tool and it gets very confusing when viewing differences between big files.

WinMerge
It's much better to use visual tools for these task, moreover they integrate well with source control tools like explained in one of my previous topics.


For Ubuntu there is meld.

For Windows I recommend WinMerge.

GUI for subversion

First of all, I recommend all programmers to hold their sources, even personal stuff, in a source control system.
It makes things much easier if you have to perform some roll-back of parts of your code, or even have to find out bug regressions.

With subversion its so easy to have your own subversion repository and one day I'll talk about this.

To handle subversion from command line isn't very simple, especially if you want to compare what changed, if you have to resolve merge conflicts or you just want to investigate which projects are located inside a repository.

There are several implementations of GUIs out there for subversion.

Update: My latest recommendation is subcommander!

On KUbuntu the one I recommend is kdesvn that can be installed directly from the applications menu.
It permits to browse existing repositories and perform all possible operations like checkin/outs, merges, diffs, change properties, etc.
A very nice feature is its integration with the dot utility for painting Revision Graphs. You'll have to install the GraphViz package: sudo apt-get install graphviz

eSvn integrates better into Ubuntu than kdesvn, is almost equal, but has some limitations when browsing repositories (you can't see the log for a certain tag, for example). I still recommend it when you use Ubuntu. Another advantage: It's multi-platform, and is available for Windows also.

On Windows there is a very powerful tool called TortoiseSVN. Unfortunately, it hasn't been ported to Linux yet.
Tortoise has some special features for integration with issue tracking systems like Jira, integration into VisualStudio, aso.

Other applications

Previously, I recommended RapidSVN, but it doesn't support repository administration, nor it doesn't support double-clicking a file to see its content (you first have to checkout to a working folder).
On Ubuntu you find also SVN Workbench, but this tool doesn't support browsing existing repositories.