• R/O
  • SSH


File Info

Rev. 12685
Größe 13,346 Bytes
Zeit 2008-04-18 01:44:25
Autor stefankueng
Log Message

Add a compatibility table.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
<html xmlns="http://www.w3.org/1999/xhtml">
<style type="text/css"> /* <![CDATA[ */
  @import "branding/css/tigris.css";
  @import "branding/css/inst.css";
  /* ]]> */</style>
<link rel="stylesheet" type="text/css" media="print"
<script type="text/javascript" src="branding/scripts/tigris.js"></script>
<title>TortoiseSVN 1.5 Release Notes</title>

<div class="app">

<h1 style="text-align: center">TortoiseSVN 1.5 Release Notes</h1>

<div class="h2" id="news" title="news">
<h2>What's New in TortoiseSVN 1.5</h2>

  <li>Merge Tracking</li>
  <li>Sparse checkouts</li>
  <li>Cyrus SASL support for <tt>svnserve</tt></li>
  <li>Changelist support</li>
  <li>Log message caching</li>
  <li>Repository browser</li>
  <li>Revision graph</li>
  <li>Client side hook scripts</li>

<p>Details are described below.</p>

<p>TortoiseSVN 1.5 is a superset of all previous TortoiseSVN releases,
and is considered the current stable and "best" release. Anything in 1.0.x,
1.1.x, 1.2.x, 1.3.x or 1.4.x is also in 1.5, but 1.5 contains features and
bugfixes not present in any earlier release.</p>

</div>  <!-- news -->

<div class="h2" id="compatibility" title="compatibility">
<h2>Compatibility Concerns</h2>

<p>Older clients and servers interoperate transparently with 1.5
servers and clients. Of course, some of the new 1.5 features may not
be available unless both client and server are the latest version.
See the table below about which features require which versions:

<table border="1">
    <th>New Feature</th>
    <th>Minimum Client</th>
    <th>Minimum Server</th>
    <th>Minimum Repository</th>
    <td><a href="#merge-tracking">Merge tracking</a></td>
    <td><a href="#cyrus-sasl"> Cyrus SASL support for <code>svn://</code> repository access</td>
    <td>any<sup>*</sup>, 1.5</td>
    <td>any<sup>*</sup>, 1.5</td>
    <td><sup>*</sup>Limited, only ANONYMOUS and CRAM-MD5 are supported</td></tr>

All other features are independent of the server version and can be used without any
For a more detailed compatibility table, see the 
<a href="http://subversion.tigris.org/svn_1.5_releasenotes.html#new-feature-compatibility-table">Subversion release notes</a>.


<p>Due to certain improvements made to the working copy
library, the version number of the working copy format has been
incremented. This means that Subversion clients earlier than 1.5 will
<em>not</em> be able to work with working copies produced by Subversion
1.5. Similarly, the repository format has changed as well, meaning
that pre-1.5 Subversion tools that normally access a repository
(e.g. <tt>svnserve</tt>, <tt>mod_dav_svn</tt>, <tt>svnadmin</tt>)
won't be able to read a repository originally created by Subversion 1.5.

<p><strong>WARNING:</strong> if a Subversion 1.5 client encounters a pre-1.5
working copy, it will <em>automatically</em> upgrade the working copy
format as soon as it touches it, making it unreadable by older
Subversion clients. If you are using several versions of Subversion
on your machine, you need to be careful about which version you use in
which working copy, to avoid accidentally upgrading the working copy
format. This "auto upgrade" feature, however, does <em>not</em> occur
with the new repository format.

Have a look at the Subversion FAQ about the 
<a href="http://subversion.tigris.org/faq.html#working-copy-format-change">
working copy format change</a>.

</div>  <!-- compatibility -->

<div class="h2" id="merge-tracking" title="merge-tracking">
<h2>Merge Tracking</h2>

<p>Merge Tracking in Subversion 1.5.0 is roughly equivalent in
functionality to <a
recording and using merge history to avoid common cases of the
<a href="#repeated-merge">repeated merge</a> problem, and allowing for cherry-picking of changes.
It exposes merge history via properties, and allows for repository
dump/load (including the ability to re-create the merge history

<p>Note: Some merge tracking features can't be used for repositories served
by pre-1.5.x servers.</p>

<div class="h3" id="repeated-merge">
<h3>Repeated Merge</h3>

<p>When working on a branch, Subversion now tracks each revision which
gets merged. This makes it easier to merge changes e.g., from trunk
because it is possible to always merge the whole revision range without
the risk of merging the same revision twice. Subversion will automatically
omit the already merged revisions when doing the merge.</p>

<img src="/images/LogWithGrayedMerge.png" alt="Log dialog showing already 
merged entries grayed out" />

<p>When showing the log from the merge dialog to find the revisions to
merge, TortoiseSVN shows the already merged revisions grayed out as
a visual hint. If a grayed out revision is selected, Subversion does
not merge that revision again because it was already merged.</p>

</div>  <!-- repeated-merge -->

<div class="h3" id="manual-merge">
<h3>Record Manual Merge</h3>

<p>To block a revision from being merged, TortoiseSVN provides a button
in the merge dialog named "record only". This will tell Subversion that
the revision has already been merged, without doing the merge itself.</p>

</div>  <!-- manual-merge -->

<div class="h3" id="merge-info">
<h3>Merge Information</h3>

<p>When inspecting revisions with the log dialog, the messages of revisions
where a merge occurred aren't usually very useful. Most people write
log messages in the form "merged revisions XXX to YYY from /branches/ZZZ"
or something similar. But what's really interesting when examining the
log of a folder/file would be the log messages of all the revisions
that got merged.</p>

<img src="/images/LogWithoutMerge.png" alt="Log dialog showing entries 
without merge history" />

<p>TortoiseSVN can show you those log messages if you want. The log dialog
has a checkbox which when activated will fetch all the log messages of
merged revisions. The log entries of merged revisions are shown a little

<img src="/images/LogWithMerge.png" alt="Log dialog showing entries 
with merge history" />

</div>  <!-- merge-info -->

</div> <!-- merge-tracking -->

<div class="h2" id="sparse-checkouts" title="sparse-checkouts">
<h2>Sparse checkouts</h2>

<p>Many users have very large trees of which they only want to checkout 
certain parts. In case of folders with many subfolders, some of the
subfolders might not be needed.</p>
<p>TortoiseSVN provides the user with a combo box to choose the depth
of a checkout:
<li>Fully recursive</li>
<li>Immediate children, including folders</li>
<li>Only file children</li>
<li>Only this item</li>
The depth of the checkout is remembered, so that a later <em>update</em>
will respect that depth and not fetch everything again.</p>

</div> <!-- sparse-checkouts -->

<div class="h2" id="cyrus-sasl" title="cyrus-sasl">
<h2>Cyrus SASL support for <tt>svnserve</tt></h2>

<p>In Subversion 1.5, svnserve can use SASL (Simple Authentication and Security Layer)
for authentication and data encryption. 
TortoiseSVN has SASL implemented too. The following SASL authentication
methods are available with TortoiseSVN 1.5:
<p>SASL also provides data encryption in some of these methods, so you can secure
your data while it is being transmitted over the internet. Securing your connection
using SASL should be easier than setting up an SSH infrastructure.</p>

</div> <!-- cyrus-sasl -->

<div class="h2" id="changelist-support" title="changelist-support">
<h2>Changelist support</h2>

<p>Sometimes you are working on several different problems at once
in your working copy, and it becomes difficult to track which files are
involved in which change. TortoiseSVN now allows you to group files together
into logical <em>changelists</em>. These appear in the Commit dialog and the
Check for Modifications dialog. As well as giving a visual indication, you
can also select groups for commit.
<img src="/images/ChangeList.png" alt="Commit dialog showing changelists
grouped together" />

TortoiseSVN also provides a special changelist named <em>ignore-on-commit</em>.
Files which belong to that changelist are <em>not</em> selected in the
commit dialog. This helps if you have a file which you must keep versioned
but which you don't want its modifications to get committed.

</div>  <!-- changelist-support -->

<div class="h2" id="log-cache" title="Log Cache">
<h2>Log Cache</h2>

<p>Fetching the log information from the repository can take a long
time, especially for repositories with thousands of revisions or if
the repository is not on a fast connection.</p>

<p>TortoiseSVN 1.5 can cache the log entries on the local drive. Only
the entries which are not yet in the local cache are fetched from the

<p>The log cache improves the performance not only of the log dialog
but also of the revision graph.</p>

</div>  <!-- log-cache -->

<div class="h2" id="repository-browser" title="repository-browser">
<h2>Repository browser</h2>

<p>The repository browser has been completely rewritten and now more
resembles the Windows explorer. It has two panes, with a tree
view on the left and the file/folder list on the right.</p>

<img src="/images/RepositoryBrowser.png" alt="Repository Browser" />

<p>Part of the rewrite also includes a performance improvement when
showing very big directories.</p>

It is also possible to drag files/folders from the repository browser
directly to the explorer as a fast way to save/export those files/folders.

</div>  <!-- repository-browser -->

<div class="h2" id="revision-graph" title="revision-graph">
<h2>Revision Graph</h2>

<p>The revision graph has changed dramatically since the previous release.
Apart from using the log cache if available, it is also much faster when
analyzing the log data.</p>

<p>A small window on the top right of the graph shows an overview of the
whole graph.</p>

<p>The new revision graph has much more options to tweak the output.
For example, the direction of the graph, how the nodes are arranged in
the graph or which nodes/paths/urls should be filtered out completely.</p>

</div>  <!-- revision-graph -->

<div class="h2" id="client-side-hooks" title="client-side-hooks">
<h2>Client-side hook scripts</h2>

TortoiseSVN allows the execution of client side scripts before and after
certain operations. The available hooks are:

	<dt>Start Commit Hook</dt>
		<dd>Called before the commit dialog is shown</dd>
	<dt>Pre-Commit Hook</dt>
		<dd>Called after the commit dialog is shown, but before the actual commit</dd>
	<dt>Post-Commit Hook</dt>
		<dd>Called after the commit is finished</dd>
	<dt>Start Update Hook</dt>
		<dd>Called before an update, before the repository is contacted</dd>
	<dt>Pre-Update Hook</dt>
		<dd>Called before the update, but after the revision to which the update is done is known</dd>
	<dt>Post-Update Hook</dt>
		<dd>Called after the update has finished</dd>

</div>  <!-- client-side-hooks -->

<div class="h2" id="TortoiseMerge" title="TortoiseMerge">
	<dt>Line endings</dt>
		<dd>inconsistent line endings are handled properly, including MAC line endings</dd>
		<dd>Changes made during conflict resolving can be reverted one by one</dd>
		<dd>The target file can be edited directly in TortoiseMerge without the need to use a text editor</dd>

</div>  <!-- TortoiseMerge -->

<div class="h2" id="SubWCRev" title="SubWCRev">

The SubWCRev tool now has a COM interface for easy access from scripting
languages. This makes it possible to embed the revision information
in e.g., MS Word documents.

</div>  <!-- SubWCRev -->

<div class="h2" id="Overlays" title="Overlay Icons">
<h2>Overlay Icons</h2>

If you're using other Tortoise clients like TortoiseCVS you might know
about the problem with the limited overlay slots in Windows. With both
TortoiseSVN and TortoiseCVS installed, some of the overlays won't show
up anymore. This is due to the fact that Windows only has about 12 slots
available for overlays and with both applications installed, that limit
is exhausted.

To solve this issue, we've implemented a common overlay handler for
all Tortoise clients to use. With this handler, all Tortoise clients will
show the same overlay icons and use the same overlay slots. That way
we won't hit the Windows limit so easily anymore.

TortoiseSVN 1.5.x and the TortoiseCVS unstable releases already use
this new overlay handler.

Due to this new overlay handler which shares the overlays, TortoiseSVN
gained two new overlays: for unversioned and ignored files there is now
an overlay too.
<img src="/images/Overlays.png" alt="Icon Overlays" />


</div>  <!-- Overlays -->

</div>  <!-- app -->
Show on old repository browser