<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>Subversion enhancements for your commandline</title>
    <link>http://westhoffswelt.de/blog/svn_tweaks.html</link>
    <description>I am mainly using subversion to manage nearly all of my development projects as well as a lot of other stuff which benefits from revisioning. Because I mainly use vim for all my editing needs, I am working on the commandline a lot. This includes the commandline client "svn". I integrated some little bash helper functions, to make the svn output even more readable and useful, into my workflow over the time. These functions are described in detail in this blog entry.
</description>
    <language>en</language>
    <copyright>CC by-nc-sa</copyright>
    <managingEditor>Jakob Westhoff</managingEditor>
    <managingEditor>Jakob Westhoff &lt;jakob@westhoffswelt.de&gt;</managingEditor>
    <pubDate>Sat, 14 Mar 2009 21:38:11 +0000</pubDate>
    <lastBuildDate>Sun, 15 Mar 2009 02:56:18 +0000</lastBuildDate>
    <generator>eZ Components Feed dev (http://ezcomponents.org/docs/tutorials/Feed)</generator>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <item>
      <title>Jakob at Sun, 05 Apr 2009 00:58:52 +0200</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_19</link>
      <description>I just checked the files. Everything works fine here on my side with the files linked in the blog entry.&#13;
&#13;
The diff is done by colordiff. There are no escapesequences involved in the diffing example. At least not in the shell script ;). Manual colorcodes are only used for svn up and svn log.&#13;
&#13;
Maybe your less is configured to disallow colors?&#13;
If you copied the contents of the file into your bashrc file, try to just add the line "source /path/to/svn/bashrc.txt" instead of the copied content. This way you can be sure the escapesequences haven't been messed up by your editor :)&#13;
&#13;
greetings,&#13;
Jakob</description>
      <author>Jakob</author>
      <pubDate>Sat, 04 Apr 2009 22:58:52 +0000</pubDate>
    </item>
    <item>
      <title>Lukas at Thu, 02 Apr 2009 10:25:41 +0200</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_18</link>
      <description>Thx .. but it seems like there is some encoding issue now? I tried to fix all the ^[ by hand, but it still does not seem to work anymore (using svn diff, just gets me the normal svn diff).</description>
      <author>Lukas</author>
      <pubDate>Thu, 02 Apr 2009 08:25:41 +0000</pubDate>
    </item>
    <item>
      <title>Jakob at Wed, 01 Apr 2009 23:53:52 +0200</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_17</link>
      <description>@derek, @Lukas:&#13;
&#13;
I have updated both versions of the script, which should hopefully fix both of your problems :)&#13;
&#13;
greetings&#13;
Jakob</description>
      <author>Jakob</author>
      <pubDate>Wed, 01 Apr 2009 21:53:52 +0000</pubDate>
    </item>
    <item>
      <title>Lukas at Wed, 01 Apr 2009 11:27:19 +0200</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_16</link>
      <description>Not being a bash expert I am not sure whats going on, but with this stuff enabled I can no longer use the "svn copy" command. I always get the following error message:&#13;
"svn: Local, non-commit operations do not take a log message or revision properties"</description>
      <author>Lukas</author>
      <pubDate>Wed, 01 Apr 2009 09:27:19 +0000</pubDate>
    </item>
    <item>
      <title>derek at Fri, 27 Mar 2009 13:27:25 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_15</link>
      <description>I like the functionality added by this script, thanks!&#13;
&#13;
Unfortunately, it breaks a couple of things I like to be able to do, such as:&#13;
&#13;
svn ci -m "This is my log message."&#13;
&#13;
and&#13;
&#13;
svn rm this/is/a/path/with\ a/space\ in\ it&#13;
</description>
      <author>derek</author>
      <pubDate>Fri, 27 Mar 2009 12:27:25 +0000</pubDate>
    </item>
    <item>
      <title>Jakob at Mon, 23 Mar 2009 22:14:32 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_14</link>
      <description>Thanks for the hint. I changed the scripts accordingly.&#13;
&#13;
greetings&#13;
Jakob</description>
      <author>Jakob</author>
      <pubDate>Mon, 23 Mar 2009 21:14:32 +0000</pubDate>
    </item>
    <item>
      <title>Lukas at Mon, 23 Mar 2009 16:25:40 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_13</link>
      <description>It would also be great if it would pick the svn command from the PATH rather than hardcoding an absolute path to the svn command.</description>
      <author>Lukas</author>
      <pubDate>Mon, 23 Mar 2009 15:25:40 +0000</pubDate>
    </item>
    <item>
      <title>Georg at Tue, 17 Mar 2009 15:31:21 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_12</link>
      <description>very nice script, thanks - I'm using it since yesterday...</description>
      <author>Georg</author>
      <pubDate>Tue, 17 Mar 2009 14:31:21 +0000</pubDate>
    </item>
    <item>
      <title>Jakob at Mon, 16 Mar 2009 19:00:00 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_11</link>
      <description>Thanks Lukas and Robin. I have incorporated both of your sugestions and bug fixes into the current script.&#13;
&#13;
greetings&#13;
Jakob</description>
      <author>Jakob</author>
      <pubDate>Mon, 16 Mar 2009 18:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Robin Speekenbrink at Mon, 16 Mar 2009 18:44:20 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_10</link>
      <description>An update (and fix) for my previous comment on the breaking of colours in svndiff: The option -R fixes this...&#13;
&#13;
You might want to fix this in your original script:&#13;
/usr/bin/svn diff $@|colordiff|less -R&#13;
&#13;
Hope it helps!</description>
      <author>Robin Speekenbrink</author>
      <pubDate>Mon, 16 Mar 2009 17:44:20 +0000</pubDate>
    </item>
    <item>
      <title>Lukas at Mon, 16 Mar 2009 11:02:10 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_8</link>
      <description>One of the things that annoys me with svn diff is that there is no way to ignore whitespace changes, which is why I have defined an alias:&#13;
alias svndiff='svn diff --diff-cmd `which diff` -x "-u -w"'&#13;
</description>
      <author>Lukas</author>
      <pubDate>Mon, 16 Mar 2009 10:02:10 +0000</pubDate>
    </item>
    <item>
      <title>Robin Speekenbrink at Mon, 16 Mar 2009 09:45:05 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_7</link>
      <description>Jakob,&#13;
&#13;
Nice addons! Although i seem to be running into a problem using colordiff... Your colorization works like a charm on the svnlog, svnst etc but when using svndiff the escape codes seem to show...&#13;
&#13;
I've installed the colordiff and standalone it works like a charm but when adding |less to it, it breaks the coloring... &#13;
&#13;
Anyway to fix this?</description>
      <author>Robin Speekenbrink</author>
      <pubDate>Mon, 16 Mar 2009 08:45:05 +0000</pubDate>
    </item>
    <item>
      <title>Jakob at Mon, 16 Mar 2009 01:20:17 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_6</link>
      <description>Evan if you want to show the externals using my solution just call "/usr/bin/svn st" instead of "svn st". Unfortunately a side effect would be, that the coloring than does not work also.&#13;
&#13;
Concerning the problem with the escape codes. Have you copy&amp;pasted different sections of the blog article or did you copy&amp;paste from one of the bashrc files I provided. In most cases there are problems with the escape sequences copied correctly. "^[" is actually one character not to. Because it only stands for the ESC character. If it is not the right escape char in your document try to replace it manually. In vim for example you can insert the needed escape character by pressing &lt;STRG-V&gt; followed by &lt;ESC&gt; in insert mode.&#13;
&#13;
greetings&#13;
Jakob&#13;
&#13;
</description>
      <author>Jakob</author>
      <pubDate>Mon, 16 Mar 2009 00:20:17 +0000</pubDate>
    </item>
    <item>
      <title>Evan at Sun, 15 Mar 2009 22:53:36 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_5</link>
      <description>You may also want to take a look at a post I did here (http://www.dotevan.com/2008/11/08/de-annoyifying-subversion-externals/). It allows you to default externals on the status to off, but also allows you to switch it back on.&#13;
&#13;
As a side note, I couldn't get the colorization to work in my terminal -- it just displays the escape codes, rather than the colors, even though my terminal is set to display ansi color.</description>
      <author>Evan</author>
      <pubDate>Sun, 15 Mar 2009 21:53:36 +0000</pubDate>
    </item>
    <item>
      <title>Jakob at Sun, 15 Mar 2009 20:52:54 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_4</link>
      <description>Thanks. It's fixed now. I guess I should not write bash scripts at 4 o'clock in the morning ;)&#13;
&#13;
greetings&#13;
Jakob</description>
      <author>Jakob</author>
      <pubDate>Sun, 15 Mar 2009 19:52:54 +0000</pubDate>
    </item>
    <item>
      <title>Matthew Turland at Sun, 15 Mar 2009 19:48:26 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_3</link>
      <description>The alternative version has a syntax error. svnlog() is missing an opening {.</description>
      <author>Matthew Turland</author>
      <pubDate>Sun, 15 Mar 2009 18:48:26 +0000</pubDate>
    </item>
    <item>
      <title>Jakob at Sun, 15 Mar 2009 03:42:15 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_2</link>
      <description>I see your point. Until now I actually used the same naming scheme you are presenting. For this blog post I decided to pimp the calling code a little because I remembered how hard it has been for me at the beginning to use svnup instead of svn up which I typed as some kind of reflex. &#13;
&#13;
In most of the cases you will want to use the enhanced version. If you really need to get the unmodified behaviour or output calling the svn binary using its full path "/usr/bin/svn" will do the trick.&#13;
&#13;
I think considering the number of times you will need the default output instead of the new one this is a useful solution.&#13;
Nevertheless you are right the user should be able to choose between the two different calling behaviours. Therefore I put up a second version of the bashrc functions using the naming scheme you sugested.&#13;
&#13;
greetings&#13;
Jakob</description>
      <author>Jakob</author>
      <pubDate>Sun, 15 Mar 2009 02:42:15 +0000</pubDate>
    </item>
    <item>
      <title>Kore at Sun, 15 Mar 2009 00:56:12 +0100</title>
      <link>http://westhoffswelt.de/blog/svn_tweaks.html#comment_1</link>
      <description>I actually don't really like modifying the behaviour of the original program. That's why the wrapper functions I use are named "svnup", "svndiff", etc.&#13;
&#13;
You overwrite the original behaviour, why might make it harder to use the original tool for some tasks. Like displaying changes in externals, even this is seldomly required...&#13;
&#13;
Another thing which will stop working are simple snippets like: `svn st | grep '^?' | xargs svn add` because of the appended color codes.</description>
      <author>Kore</author>
      <pubDate>Sat, 14 Mar 2009 23:56:12 +0000</pubDate>
    </item>
  </channel>
</rss>

