r171 - in trunk/vim-scripts/vim-scripts-6: debian html plugin

Stefano Zacchiroli zack@costa.debian.org
Sat, 16 Apr 2005 21:00:46 +0000


Author: zack
Date: 2005-04-16 21:00:46 +0000 (Sat, 16 Apr 2005)
New Revision: 171

Added:
   trunk/vim-scripts/vim-scripts-6/debian/doc-base
   trunk/vim-scripts/vim-scripts-6/html/index.html
   trunk/vim-scripts/vim-scripts-6/html/plugin_svncommand.vim.html
   trunk/vim-scripts/vim-scripts-6/plugin/svncommand.vim
Modified:
   trunk/vim-scripts/vim-scripts-6/debian/README.Debian
   trunk/vim-scripts/vim-scripts-6/debian/changelog
   trunk/vim-scripts/vim-scripts-6/debian/copyright
   trunk/vim-scripts/vim-scripts-6/debian/dirs
   trunk/vim-scripts/vim-scripts-6/debian/rules
   trunk/vim-scripts/vim-scripts-6/debian/vim-scripts.pl
Log:
- added svncommand.vim plugin
- generate index.html of shipped documentation, register documentation
  to doc-base
- improved README.Debian


Modified: trunk/vim-scripts/vim-scripts-6/debian/README.Debian
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/README.Debian	2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/README.Debian	2005-04-16 21:00:46 UTC (rev 171)
@@ -1,3 +1,4 @@
+
   If you just link these scripts instead of copying them, they will be
 upgraded automatically. That's a good idea.
 
@@ -7,12 +8,24 @@
 $VIMRUNTIME directory is used - the old symlinks are ignored; on
 removing the old version, the symlinks might be removed, leaving no
 trace behind.
-  You can, however, put them into the vimfiles directory, that's
-/etc/vim on Debian systems.  Thus "cd /etc/vim; mkdir ftplugin; cd
-ftplugin; ln -s /usr/share/vim-scripts/ftplugin/xml.vim" does the trick.
 
+  You can, however, put them into /etc/vim which is included in
+option 'runtimepath' on Debian systems. For example:
+
+  cd /etc/vim
+  mkdir ftplugin
+  cd ftplugin
+  ln -s /usr/share/vim-scripts/ftplugin/xml.vim
+
+will make the xml.vim filetype plugin available to every user.
+
+  You can also have all scripts available by all users adding
+/usr/share/vim-scripts to the 'runtimepath' vim option. Just add the
+following line to your /etc/vim/vimrc:
+
+  set runtimepath+=/usr/share/vim-scripts
+
   Also you may want to have a look at the scripts which hide in Vim's
 macro directory, which is found at /usr/share/vim/vim63/macros in
 Debian. Especially the matchit.vim script is nice.
 
-vim:tw=72

Modified: trunk/vim-scripts/vim-scripts-6/debian/changelog
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/changelog	2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/changelog	2005-04-16 21:00:46 UTC (rev 171)
@@ -1,8 +1,8 @@
 vim-scripts (6-1) unstable; urgency=low
 
   * major review of shipped scripts
-    - added scripts: plugin/{calendar.vim, gnupg.vim, minibufexpl.vim,
-      themes.vim, utl.vim, vimspell.vim, winmanager.vim},
+    - added scripts: plugin/{calendar.vim,gnupg.vim,minibufexpl.vim,
+      svncommand.vim,themes.vim,utl.vim,vimspell.vim,winmanager.vim},
       ftplugin/xml.vim (Closes: Bug#303587, Bug#303589, Bug#303592)
     - removed scripts: closetag.vim
     - upgraded to latest version on vim.org scripts: ftplugin/po.vim,
@@ -10,11 +10,12 @@
       cvsmenu.vim, taglist.vim, whatdomain.vim}
     - replaced scripts: colors/* (by themes.vim above), plugin/thlnk.vim
       (by utl.vim)
-  * ship webpages of shipped scripts in html/ dir
+  * ship webpages of scripts in html/; registered them to doc-base
   * debian/rules
     - install scripts in /usr/share/vim-scripts/ instead of
-      /usr/share/doc/vim-scripts/examples/. Symlinks provided for
+      /usr/share/doc/vim-scripts/examples/. Symlink provided for
       backward compatibility
+    - invokes dh_compress
     - moved debhelper compatibility level to debian/compat
   * use dpatch, changed debian/{control,rules,patches} as needed
   * debian/control
@@ -26,6 +27,7 @@
   * debian/copyright
     - rewritten including copyright/license information about all
       shipped script
+  * improved debian/README.Debian
 
  -- Stefano Zacchiroli <zack@debian.org>  Fri,  8 Apr 2005 17:39:18 +0200
 

Modified: trunk/vim-scripts/vim-scripts-6/debian/copyright
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/copyright	2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/copyright	2005-04-16 21:00:46 UTC (rev 171)
@@ -110,6 +110,14 @@
 license:     public domain
 version:     1.67
 
+script_name: plugin/svncommand.vim
+script_url:  http://www.vim.org/scripts/script.php?script_id=922
+author:      Adam Lazur
+author_url:  http://www.vim.org/account/profile.php?user_id=1129
+email:       adam at lazur.org
+license:     public domain
+version:     2
+
 script_name: plugin/utl.vim
 script_url:  http://www.vim.org/scripts/script.php?script_id=293
 author:      Stefan Bittner

Modified: trunk/vim-scripts/vim-scripts-6/debian/dirs
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/dirs	2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/dirs	2005-04-16 21:00:46 UTC (rev 171)
@@ -1,2 +1 @@
 usr/share/vim-scripts/
-usr/share/doc/vim-scripts/examples/

Added: trunk/vim-scripts/vim-scripts-6/debian/doc-base
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/doc-base	2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/doc-base	2005-04-16 21:00:46 UTC (rev 171)
@@ -0,0 +1,9 @@
+Document: vim-scripts
+Title: vim-scripts' scripts web pages
+Author: Various
+Abstract: Web pages of vim scripts shipped by vim-scripts
+Section: Apps/Tools
+
+Format: HTML
+Index: /usr/share/doc/vim-scripts/html/index.html
+Files: /usr/share/doc/vim-scripts/html/*

Modified: trunk/vim-scripts/vim-scripts-6/debian/rules
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/rules	2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/rules	2005-04-16 21:00:46 UTC (rev 171)
@@ -24,7 +24,6 @@
 binary-arch:
 # Nothing to do here.
 
-DESTDIR = /usr/share/vim-scripts
 OLD_DESTDIR = /usr/share/doc/vim-scripts/examples
 
 # Build architecture-independent files here.
@@ -34,10 +33,8 @@
 	dh_installdirs
 	dh_install
 	dh_installdocs
-	for dir in `cat debian/install | sed 's|/.*||'`; do \
-	  test -L debian/vim-scripts$(OLD_DESTDIR)/$$dir || \
-	    ln -s ../../../vim-scripts/$$dir debian/vim-scripts$(OLD_DESTDIR)/; \
-	done
+	test -L debian/vim-scripts$(OLD_DESTDIR) || \
+	  ln -s ../../vim-scripts debian/vim-scripts$(OLD_DESTDIR)
 	dh_installchangelogs 
 	dh_fixperms
 	dh_compress

Modified: trunk/vim-scripts/vim-scripts-6/debian/vim-scripts.pl
===================================================================
--- trunk/vim-scripts/vim-scripts-6/debian/vim-scripts.pl	2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/debian/vim-scripts.pl	2005-04-16 21:00:46 UTC (rev 171)
@@ -4,7 +4,7 @@
 # Copyright (C) 2005, Stefano Zacchiroli <zack@debian.org>
 #
 # Created:        Sat, 16 Apr 2005 12:43:04 +0200 zack
-# Last-Modified:  Sat, 16 Apr 2005 12:43:04 +0200 zack
+# Last-Modified:  Sat, 16 Apr 2005 22:59:01 +0200 zack
 #
 # This is free software, you can redistribute it and/or modify it under the
 # terms of the GNU General Public License version 2 as published by the Free
@@ -48,6 +48,37 @@
   return [$script_version, $script_date, $download_url];
 }
 
+sub rebuild_index() {
+  open INDEX, "> html/index.html";
+  print INDEX <<EOH;
+<html>
+ <head>
+  <title>vim-scripts - scripts web pages index</title>
+ </head>
+ <body>
+  <p>
+   <h2>vim-scripts - scripts web pages index:</h2>
+  </p>
+  <ul>
+EOH
+  open FIND, "find html/ -type f -name '*.html' -printf '\%f\\n' |";
+  my @fnames = <FIND>;
+  close FIND;
+  foreach my $fname (sort @fnames) {
+    chomp $fname;
+    next if $fname =~ "index.html";
+    my $anchor = $fname;
+    $anchor =~ s/_/\//;
+    print INDEX "   <li><a href=\"$fname\">$anchor</a></li>\n";
+  }
+  print INDEX <<EOT;
+  </ul>
+ </body>
+</html>
+EOT
+  close INDEX;
+}
+
 open STATUS, "< $status" or die "Can't open debian/copyright";
 my ($script_name, $script_url, $author, $author_url, $email, $license,
   $version);
@@ -87,6 +118,7 @@
       }
     }
   }
+  rebuild_index() if ($action eq "doc");
 }
 close STATUS;
 

Added: trunk/vim-scripts/vim-scripts-6/html/index.html
===================================================================
--- trunk/vim-scripts/vim-scripts-6/html/index.html	2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/html/index.html	2005-04-16 21:00:46 UTC (rev 171)
@@ -0,0 +1,33 @@
+<html>
+ <head>
+  <title>vim-scripts - scripts documentation index</title>
+ </head>
+ <body>
+  <p>
+   <h2>vim-scripts - script documentation index:</h2>
+  </p>
+  <ul>
+   <li><a href="ftplugin_po.vim.html">ftplugin/po.vim.html</a></li>
+   <li><a href="ftplugin_xml.vim.html">ftplugin/xml.vim.html</a></li>
+   <li><a href="games_VimSokoban_sokoban.vim.html">games/VimSokoban_sokoban.vim.html</a></li>
+   <li><a href="games_tetris.vim.html">games/tetris.vim.html</a></li>
+   <li><a href="plugin_Align.vim.html">plugin/Align.vim.html</a></li>
+   <li><a href="plugin_a.vim.html">plugin/a.vim.html</a></li>
+   <li><a href="plugin_bufexplorer.vim.html">plugin/bufexplorer.vim.html</a></li>
+   <li><a href="plugin_calendar.vim.html">plugin/calendar.vim.html</a></li>
+   <li><a href="plugin_cvscommand.vim.html">plugin/cvscommand.vim.html</a></li>
+   <li><a href="plugin_cvsmenu.vim.html">plugin/cvsmenu.vim.html</a></li>
+   <li><a href="plugin_gnupg.vim.html">plugin/gnupg.vim.html</a></li>
+   <li><a href="plugin_info.vim.html">plugin/info.vim.html</a></li>
+   <li><a href="plugin_minibufexpl.vim.html">plugin/minibufexpl.vim.html</a></li>
+   <li><a href="plugin_svncommand.vim.html">plugin/svncommand.vim.html</a></li>
+   <li><a href="plugin_taglist.vim.html">plugin/taglist.vim.html</a></li>
+   <li><a href="plugin_themes.vim.html">plugin/themes.vim.html</a></li>
+   <li><a href="plugin_utl.vim.html">plugin/utl.vim.html</a></li>
+   <li><a href="plugin_vimspell.vim.html">plugin/vimspell.vim.html</a></li>
+   <li><a href="plugin_whatdomain.vim.html">plugin/whatdomain.vim.html</a></li>
+   <li><a href="plugin_winmanager.vim.html">plugin/winmanager.vim.html</a></li>
+   <li><a href="syntax_CVSAnnotate.vim.html">syntax/CVSAnnotate.vim.html</a></li>
+  </ul>
+ </body>
+</html>

Added: trunk/vim-scripts/vim-scripts-6/html/plugin_svncommand.vim.html
===================================================================
--- trunk/vim-scripts/vim-scripts-6/html/plugin_svncommand.vim.html	2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/html/plugin_svncommand.vim.html	2005-04-16 21:00:46 UTC (rev 171)
@@ -0,0 +1,269 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+  <link rel="Stylesheet" type="text/css" href="/css/style.css" >
+  <title>svncommand.vim - Subversion (svn) integration plugin : vim online</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+  <meta name="KEYWORDS" content="Vim, Vi IMproved, text editor, home, documentation, tips, scripts, news">
+  <link rel="shortcut icon" type="image/x-icon" href="/images/vim_shortcut.ico">
+</head>
+
+<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" bgcolor="#ffffff"> 
+
+<!-- HEADER, SPONSOR IMAGE, VIM IMAGE AND BOOK AD -->
+<table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red">
+  <tr>
+    <td colspan="4" class="lightbg"><img src="/images/spacer.gif" width="1" height="5" alt=""></td>
+  </tr>
+  <tr>
+  <td class="lightbg">&nbsp;&nbsp;&nbsp;</td>
+  <td class="lightbg" align="left"><a href="/sponsor/index.php"><img src="/images/sponsorvim.gif" alt="sponsor Vim development" border="0"></a></td>
+    <td class="lightbg" align="center"><a href="/index.php"><img src="/images/vim_header.gif" border="0" alt="Vim logo"></a></td>
+    <td class="lightbg" align="right"><a href="http://iccf-holland.org/click5.html"><img src="/images/buyhelplearn.gif" alt="Vim Book Ad" border="0"></a></td>
+  </tr>
+  <tr>
+    <td colspan="4" class="lightbg"><img src="/images/spacer.gif" width="1" height="5" alt=""></td>
+  </tr>
+  <tr>
+    <td colspan="4" class="darkbg"><img src="/images/spacer.gif" width="1" height="10" alt=""></td>
+  </tr>
+</table>
+<!-- THE PAGE BODY: BETWEEN HEADER AND FOOTER -->
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+  <col width="180">
+  <col width="1">
+
+  <tr valign="top">
+    <td class="sidebar">
+      <table width="180" cellpadding="4" cellspacing="0" border="0">
+        <tr valign="top">
+          <td class="sidebar">
+
+<!-- INCLUDE THE PAGE NAVIGATION -->
+<table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red">
+    <tr>
+        <td><small>not logged in (<a href="/login.php">login</a>)</small></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="1"></td>
+    </tr>
+    <tr>
+        <td class="darkbg"><img src="/images/spacer.gif" alt='' border="0" height="3"></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="2"></td>
+    </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/index.php">Home</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/search.php">Search</a></td>
+        </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+    <tr>
+        <td class="checker"><img src="/images/spacer.gif" alt='' border="0" height="1"></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/about.php">About Vim</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/community.php">Community</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/news/news.php">News</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/sponsor/index.php">Sponsoring</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/trivia.php">Trivia</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/docs.php">Documentation</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/download.php">Download</a></td>
+        </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+    <tr>
+        <td class="checker"><img src="/images/spacer.gif" alt='' border="0" height="1"></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/scripts/index.php">Scripts</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/tips/index.php">Tips</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/account/index.php">My Account</a></td>
+        </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+    <tr>
+        <td class="checker"><img src="/images/spacer.gif" alt='' border="0" height="1"></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/huh.php">Site Help</a></td>
+        </tr>
+</table>
+
+            <table width="172" cellpadding="0" cellspacing="0" border="0">
+              <tr><td><img src="/images/spacer.gif" alt="" border="0" width="1" height="8"></td></tr>
+              <tr><td class="darkbg"><img src="/images/spacer.gif" width="1" height="3" alt=""></td></tr>
+            </table>
+            <br>
+
+<!-- INCLUDE THE PAGE SIDEBAR TEXT -->
+&nbsp;
+
+          </td>
+        </tr>
+      </table>
+    </td>
+
+    <td class="darkbg"><img src="/images/spacer.gif" width="1" height="1" border="0" alt=""><br></td>
+    <td>
+      <table width="100%" cellpadding="10" cellspacing="0" border="0" bordercolor="red">
+        <tr>
+          <td valign="top">
+
+<span class="txth1">svncommand.vim : Subversion (svn) integration plugin</span> 
+
+<br>
+<br>
+
+<!-- karma table -->
+<table cellpadding="4" cellspacing="0" border="1" bordercolor="#000066">
+<tr>
+  <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
+  <td>
+    Rating <b>92/38</b>,
+    Downloaded by 1436  </td>
+</tr>
+</table>
+<p>
+
+<table cellspacing="0" cellpadding="0" border="0">
+<tr><td class="prompt">created by</td></tr>
+<tr><td><a href="/account/profile.php?user_id=1129">Adam Lazur</a></td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td class="prompt">script type</td></tr>
+<tr><td>utility</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td class="prompt">description</td></tr>
+<tr><td>This is almost a straight port of cvscommand.vim to support subversion. There's some stuff hacked out, some stuff hacked in, and a lot of s/CVS/SVN/g going on.
<br>
<br>Current support is for single file type ops, just like cvscommand.vim. The commandset available is basically: status, info, update, revert, diff, annotate, commit, add, log, vimdiff, review.
<br>
<br>There is no support for properties, directories, or anything super advanced.</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td class="prompt">install details</td></tr>
+<tr><td>plop svncommand.vim in ~/.vim/plugin and away you go. Read the script for things that can be customized out of the box. Hack the script to do whatever else you want.</td></tr>
+<tr><td>&nbsp;</td></tr>
+</table>
+
+<!-- rating table -->
+<form name="rating">
+<input type="hidden" name="script_id" value="922">
+<table cellpadding="4" cellspacing="0" border="1" bordercolor="#000066">
+<tr>
+  <td class="lightbg"><b>rate this script</b></td>
+  <td valign="middle">
+    <input type="radio" name="rating" value="life_changing">Life Changing
+    <input type="radio" name="rating" value="helpful">Helpful
+    <input type="radio" name="rating" value="unfulfilling">Unfulfilling&nbsp;
+    <input type="submit" value="rate">
+  </td>
+</tr>
+</table>
+</form>
+<span class="txth2">script versions</span> (<a href="add_script_version.php?script_id=922">upload new version</a>)
+<p>
+Click on the package to download.
+<p>
+
+<table cellspacing="2" cellpadding="4" border="0" width="100%">
+<tr class='tableheader'>
+        <th valign="top">package</th>
+    <th valign="top">script version</th>
+    <th valign="top">date</th>
+    <th valign="top">Vim version</th>
+    <th valign="top">user</th>
+    <th valign="top">release notes</th>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=2784">svncommand.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>2</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2004-02-25</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=1129">Adam Lazur</a></i></td>
+    <td class="rowodd" valign="top" width="2000">added svn info support</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=2782">svncommand.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1</b></td>
+    <td class="roweven" valign="top" nowrap><i>2004-02-25</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=1129">Adam Lazur</a></i></td>
+    <td class="roweven" valign="top" width="2000">Initial upload</td>
+</tr>
+</table>
+<!-- finish off the framework -->
+          </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+
+<!-- END OF THE PAGE BODY: BETWEEN HEADER AND FOOTER -->
+
+<table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red">
+  <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td></tr>
+  <tr><td colspan="4" bgcolor="#000000"><img src="/images/spacer.gif" height="2" width="1" alt=""></td></tr>
+  <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td></tr>
+  <tr>
+    <td><img src="/images/spacer.gif" width="5" height="1" alt=""></td>
+
+    <td align="left" valign="top"><small>
+      If you have questions or remarks about this site, visit the
+      <a href="http://vimonline.sf.net">vimonline development</a> pages.
+      Please use this site responsibly.
+      <br> 
+      
+      Questions about <a href="http://www.vim.org/about.php">Vim</a> should go
+      to vim@vim.org after searching
+      <a href="http://groups.yahoo.com/group/vim">the archive</a>.
+      Help Bram <a href="http://iccf-holland.org/">help Uganda</a>.
+      </small>
+    </td>
+
+    <td align="right" valign="top">
+      	<a href="http://www.webconceptgroup.net"><img src="/images/logo_sponsor_wcg.jpg" width="131" height="30" border="0" alt="Sponsored by Web Concept Group Inc."></a>
+	<a href="http://sflogo.sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=8&type=1" width="88" height="31" border="0" alt="SourceForge Logo"></a>
+    </td>
+
+    <td><img src="/images/spacer.gif" width="5" height="1" alt=""></td>
+  </tr>
+
+    
+  <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td>
+  
+  </tr>
+</table>
+
+</body>
+</html>
+

Added: trunk/vim-scripts/vim-scripts-6/plugin/svncommand.vim
===================================================================
--- trunk/vim-scripts/vim-scripts-6/plugin/svncommand.vim	2005-04-16 12:40:33 UTC (rev 170)
+++ trunk/vim-scripts/vim-scripts-6/plugin/svncommand.vim	2005-04-16 21:00:46 UTC (rev 171)
@@ -0,0 +1,547 @@
+" vim600: set foldmethod=marker ts=2 sts=2:
+" $Id: svncommand.vim 879 2004-02-26 04:46:28Z laz $
+"
+" Vim plugin to assist in working with SVN-controlled files.
+"
+" Last Change:   $Date: 2004-02-25 23:46:28 -0500 (Wed, 25 Feb 2004) $
+" Maintainer:    Adam Lazur <adam@lazur.org>
+" License:       This file is placed in the public domain.
+" Version:       2
+"
+" Section: Documentation {{{1
+"
+" This is mostly a s/CVS/SVN/g on cvscommand.vim by Bob Hiestand
+" <bob@hiestandfamily.org> with some svn translations for various things.
+"
+" Provides functions to invoke various SVN commands on the current file.
+" The output of the commands is captured in a new scratch window.  For
+" convenience, if the functions are invoked on a SVN output window, the
+" original file is used for the svn operation instead after the window is
+" split.  This is primarily useful when running SVNCommit and you need to see
+" the changes made, so that SVNDiff is usable and shows up in another window.
+"
+" These functions are exported into the global environment, meaning they are
+" directly accessed without prepending '<PLUG>'.  This is because the author
+" directly accesses several of them without using the mappings in order to
+" pass parameters.
+"
+" Several of these act immediately, such as
+"
+" SVNAdd        Performs "svn add" on the current file.
+"
+" SVNAnnotate   Performs "svn annotate" on the current file.  If not given an
+"               argument, uses the most recent version of the file.
+"               Otherwise, the argument is used as a revision number.
+"
+" SVNCommit     This is a two-stage command.  The first step opens a buffer to
+"               accept a log message.  When that buffer is written, it is
+"               automatically closed and the file is committed using the
+"               information from that log message.  If the file should not be
+"               committed, just destroy the log message buffer without writing
+"               it.
+"
+" SVNDiff       With no arguments, this performs "svn diff" on the current
+"               file.  With one argument, "svn diff" is performed on the
+"               current file against the specified revision.  With two
+"               arguments, svn diff is performed between the specified
+"               revisions of the current file.  This command uses the
+"               'SVNCommandDiffOpt' variable to specify diff options.  If that
+"               variable does not exist, then 'wbBc' is assumed.  If you wish
+"               to have no options, then set it to the empty string.
+"
+" SVNLog        Performs "svn log" on the current file.
+"
+" SVNReview     Retrieves a particular version of the current file.  If no
+"               argument is given, the most recent version of the file on
+"               the current branch is retrieved.  The specified revision is
+"               retrieved into a new buffer.
+"
+" SVNStatus     Performs "svn status" on the current file.
+"
+" SVNInfo       Performs "svn info" on the current file.
+"
+" SVNUpdate     Performs "svn update" on the current file.
+"
+" SVNVimDiff    With no arguments, this prompts the user for a revision and
+"               then uses vimdiff to display the differences between the current
+"               file and the specified revision.  If no revision is specified,
+"               the most recent version of the file on the current branch is used.
+"               With one argument, that argument is used as the revision as
+"               above.  With two arguments, the differences between the two
+"               revisions is displayed using vimdiff.
+"
+"               With either zero or one argument, the original buffer is used
+"               to perform the vimdiff.  When the other buffer is closed, the
+"               original buffer will be returned to normal mode.
+"
+" By default, a mapping is defined for each command.  User-provided mappings
+" can be used instead by mapping to <Plug>CommandName, for instance:
+"
+" nnoremap ,ca <Plug>SVNAdd
+"
+" The default mappings are as follow:
+"
+"   <Leader>sa SVNAdd
+"   <Leader>sn SVNAnnotate
+"   <Leader>sc SVNCommit
+"   <Leader>sd SVNDiff
+"   <Leader>sl SVNLog
+"   <Leader>sr SVNReview
+"   <Leader>ss SVNStatus
+"   <Leader>si SVNInfo
+"   <Leader>sq SVNRevert
+"   <Leader>sv SVNVimDiff
+"
+" Options:
+"
+" Several variables are checked by the script to determine behavior as follow:
+"
+" SVNCommandDeleteOnHide
+"   This variable, if set to a non-zero value, causes the temporary SVN result
+"   buffers to automatically delete themselves when hidden.
+"
+" SVNCommandDiffOpt
+"   This variable, if set, determines the options passed to the "svn diff"
+"   command.  If not set, it defaults to ''.
+"
+" SVNCommandNameMarker
+"   This variable, if set, configures the special attention-getting characters
+"   that appear on either side of the svn buffer type in the buffer name.  If
+"   not set, it defaults to '_'.
+"
+" SVNCommandSplit
+"   This variable controls the orientation of the buffer split when executing
+"   the SVNVimDiff command.  If set to 'horizontal', the resulting buffers
+"   will be on top of one another.
+
+" Section: Plugin header {{{1
+
+if exists("loaded_svncommand")
+   finish
+endif
+let loaded_svncommand = 1
+
+" Section: Utility functions {{{1
+
+" Function: s:SVNResolveLink() {{{2
+" Fully resolve the given file name to remove shortcuts or symbolic links.
+
+function! s:SVNResolveLink(fileName)
+  let resolved = resolve(a:fileName)
+  if resolved != a:fileName
+    let resolved = s:SVNResolveLink(resolved)
+  endif
+  return resolved
+endfunction
+
+" Function: s:SVNChangeToCurrentFileDir() {{{2
+" Go to the directory in which the current SVN-controlled file is located.
+" If this is a SVN command buffer, first switch to the original file.
+
+function! s:SVNChangeToCurrentFileDir()
+  let oldCwd=getcwd()
+  let fileName=s:SVNResolveLink(@%)
+  let newCwd=fnamemodify(fileName, ':h')
+  if strlen(newCwd) > 0
+    execute 'cd' escape(newCwd, ' ')
+  endif
+  return oldCwd
+endfunction
+
+" Function: s:SVNCreateCommandBuffer(cmd, cmdname, filename) {{{2
+" Creates a new scratch buffer and captures the output from execution of the
+" given command.  The name of the scratch buffer is returned.
+
+function! s:SVNCreateCommandBuffer(cmd, cmdname, filename)
+  let nameMarker = s:SVNGetOption("SVNCommandNameMarker", '_')
+  let origBuffNR=bufnr("%")
+  let bufName=a:filename . ' ' . nameMarker . a:cmdname . nameMarker
+  let counter=0
+  let currentBufName = bufName
+  while buflisted(currentBufName)
+    let counter=counter + 1
+    let currentBufName=bufName . ' (' . counter . ')'
+  endwhile
+  let currentBufName = escape(currentBufName, ' *\')
+
+  if s:SVNEditFile(currentBufName) == -1
+    return ""
+  endif
+
+  set buftype=nofile
+  set noswapfile
+  set filetype=
+  if s:SVNGetOption("SVNCommandDeleteOnHide", 0)
+    set bufhidden=delete
+  else
+    set bufhidden=hide
+  endif
+  let b:svnOrigBuffNR=origBuffNR
+  silent execute a:cmd
+  $d
+  1
+  return currentBufName
+endfunction
+
+" Function: s:SVNBufferCheck() {{{2
+" Attempts to locate the original file to which SVN operations were applied.
+
+function! s:SVNBufferCheck()
+  if exists("b:svnOrigBuffNR")
+    if bufexists(b:svnOrigBuffNR)
+      execute "sbuffer" . b:svnOrigBuffNR
+      return 1
+    else
+      " Original buffer no longer exists.
+      return -1
+    endif
+  else
+    " No original buffer
+    return 0
+  endif
+endfunction
+
+" Function: s:SVNToggleDeleteOnHide() {{{2
+" Toggles on and off the delete-on-hide behavior of SVN buffers
+
+function! s:SVNToggleDeleteOnHide()
+  if exists("g:SVNCommandDeleteOnHide")
+    unlet g:SVNCommandDeleteOnHide
+  else
+    let g:SVNCommandDeleteOnHide=1
+  endif
+endfunction
+
+" Function: s:SVNGetOption(name, default) {{{2
+" Grab a user-specified option to override the default provided.  Options are
+" searched in the window, buffer, then global spaces.
+
+function! s:SVNGetOption(name, default)
+  if exists("w:" . a:name)
+    execute "return w:".a:name
+  elseif exists("b:" . a:name)
+    execute "return b:".a:name
+  elseif exists("g:" . a:name)
+    execute "return g:".a:name
+  else
+    return a:default
+  endif
+endfunction
+
+" Function: s:SVNEditFile(name) {{{2
+" Wrapper around the 'edit' command to provide some helpful error text if the
+" current buffer can't be abandoned.
+" Returns: 0 if successful, -1 if an error occurs.
+
+function! s:SVNEditFile(name)
+  let v:errmsg = ""
+  execute 'edit' a:name
+  if v:errmsg != ""
+    if &modified && !&hidden
+      echoerr "Unable to open command buffer because 'nohidden' is set and the current buffer is modified (see :help 'hidden')."
+    else
+      echoerr "Unable to open command buffer" v:errmsg
+    endif
+    return -1
+  endif
+endfunction
+
+" Function: s:SVNDoCommand(svncmd, cmdName) {{{2
+" General skeleton for SVN function execution.
+" Returns: name of the new command buffer containing the command results
+
+function! s:SVNDoCommand(cmd, cmdName)
+  let svnBufferCheck=s:SVNBufferCheck()
+  if svnBufferCheck == -1 
+    echo "Original buffer no longer exists, aborting."
+    return ""
+  endif
+
+  let fileName=@%
+  let realFileName = fnamemodify(s:SVNResolveLink(fileName), ':t')
+  let oldCwd=s:SVNChangeToCurrentFileDir()
+  let fullCmd = '0r!' . a:cmd . ' "' . realFileName . '"'
+  let resultBufferName=s:SVNCreateCommandBuffer(fullCmd, a:cmdName, fileName)
+  execute 'cd' escape(oldCwd, ' ')
+  return resultBufferName
+endfunction
+
+" Section: SVN functions {{{1
+
+" Function: s:SVNAdd() {{{2
+function! s:SVNAdd()
+  return s:SVNDoCommand('svn add', 'svnadd')
+endfunction
+
+" Function: s:SVNAnnotate(...) {{{2
+function! s:SVNAnnotate(...)
+  let svnBufferCheck=s:SVNBufferCheck()
+  if svnBufferCheck == -1 
+    echo "Original buffer no longer exists, aborting."
+    return ""
+  endif
+
+  let currentLine=line(".")
+  let oldCwd=s:SVNChangeToCurrentFileDir()
+
+  if a:0 == 0
+    let revOptions = ''
+    let caption = 'current'
+  else
+    let revOptions = '-r' . a:1
+    let caption = 'r' . a:1
+  endif
+
+  let resultBufferName=s:SVNCreateCommandBuffer('0r!svn annotate ' . revOptions . ' "' . s:SVNResolveLink(@%) . '"', 'svnannotate', expand("%"))
+  if resultBufferName != "" 
+    exec currentLine
+    set filetype=SVNAnnotate
+  endif
+
+  execute 'cd' escape(oldCwd, ' ')
+  return resultBufferName
+endfunction
+
+" Function: s:SVNCommit() {{{2
+function! s:SVNCommit()
+  let svnBufferCheck=s:SVNBufferCheck()
+  if svnBufferCheck ==  -1
+    echo "Original buffer no longer exists, aborting."
+    return ""
+  endif
+
+  let originalBuffer=bufnr("%")
+  let nameMarker = s:SVNGetOption("SVNCommandNameMarker", '_')
+  let messageFileName = escape(tempname().'svn-commit.'.nameMarker.'log message'.nameMarker, ' ?*\')
+  let newCwd=expand("%:h")
+  let fileName=expand("%:t")
+
+  execute 'au BufWritePost' messageFileName 'call s:SVNFinishCommit("' . messageFileName . '", "' . newCwd . '", "' . fileName . '") | au! * ' messageFileName
+  execute 'au BufDelete' messageFileName 'au! * ' messageFileName
+
+  if s:SVNEditFile(messageFileName) == -1
+    execute 'au! *' messageFileName
+  else
+    " succeeded... turn buffer into svn commit buffer and simulate the ci
+    " stuff
+    set ft=svn
+    let l:statuscmd = 'r!svn status '.fileName
+    silent! exe l:statuscmd
+    call append(0,"")
+    call append(1,"--This line, and those below, will be ignored--")
+    0
+    let b:svnOrigBuffNR=originalBuffer
+  endif
+endfunction
+
+" Function: s:SVNDiff(...) {{{2
+function! s:SVNDiff(...)
+  if a:0 == 1
+    let revOptions = '-r' . a:1
+    let caption = 'svndiff ' . a:1 . ' -> current'
+  elseif a:0 == 2
+    let revOptions = '-r' . a:1 . ' -r' . a:2
+    let caption = 'svndiff ' . a:1 . ' -> ' . a:2
+  else
+    let revOptions = ''
+    let caption = 'svndiff'
+  endif
+
+  let svndiffopt=s:SVNGetOption('SVNCommandDiffOpt', '')
+
+  if svndiffopt == ""
+    let diffoptionstring=""
+  else
+    let diffoptionstring=" -" . svndiffopt . " "
+  endif
+
+  let resultBufferName = s:SVNDoCommand('svn diff ' . diffoptionstring . revOptions , caption)
+  if resultBufferName != ""
+    set filetype=diff
+  endif
+  return resultBufferName
+endfunction
+
+" Function: s:SVNFinishCommit(messageFile, targetDir, targetFile) {{{2
+function! s:SVNFinishCommit(messageFile, targetDir, targetFile)
+  if filereadable(a:messageFile)
+    let oldCwd=getcwd()
+    if strlen(a:targetDir) > 0
+      execute 'cd' escape(a:targetDir, ' ')
+    endif
+    let resultBufferName=s:SVNCreateCommandBuffer('0r!svn commit -F "' . a:messageFile . '" "'. a:targetFile . '"', 'svncommit', expand("%"))
+    execute 'cd' escape(oldCwd, ' ')
+    execute 'bw' escape(a:messageFile, ' *?\')
+    silent execute '!rm' a:messageFile
+    return resultBufferName
+  else
+    echo "Can't read message file; no commit is possible."
+    return ""
+  endif
+endfunction
+
+" Function: s:SVNLog() {{{2
+function! s:SVNLog()
+  let resultBufferName=s:SVNDoCommand('svn log', 'svnlog')
+  if resultBufferName != ""
+    set filetype=rcslog
+  endif
+  return resultBufferName
+endfunction
+
+" Function: s:SVNRevert() {{{2
+function! s:SVNRevert()
+  return s:SVNDoCommand('svn revert ', 'svnrevert')
+endfunction
+
+" Function: s:SVNReview(...) {{{2
+function! s:SVNReview(...)
+  if a:0 == 0
+    let versiontag="current"
+    let versionOption=""
+  else
+    let versiontag='r'.a:1
+    let versionOption=" -r " . a:1 . " "
+  endif
+
+  let origFileType=&filetype
+
+  let resultBufferName = s:SVNDoCommand('svn cat ' . versionOption, versiontag)
+
+  let &filetype=origFileType
+  return resultBufferName
+endfunction
+
+" Function: s:SVNStatus() {{{2
+function! s:SVNStatus()
+  return s:SVNDoCommand('svn status -v', 'svnstatus')
+endfunction
+
+" Function: s:SVNInfo() {{{2
+function! s:SVNInfo()
+  return s:SVNDoCommand('svn info', 'svninfo')
+endfunction
+
+" Function: s:SVNUpdate() {{{2
+function! s:SVNUpdate()
+  return s:SVNDoCommand('svn update', 'update')
+endfunction
+
+" Function: s:SVNVimDiff(...) {{{2
+function! s:SVNVimDiff(...)
+  let svnBufferCheck=s:SVNBufferCheck()
+  if svnBufferCheck == -1 
+    echo "Original buffer no longer exists, aborting."
+    return ""
+  endif
+
+  " Establish split before leaving original buffer
+  let splitModifier="vertical"
+  if s:SVNGetOption('SVNCommandSplit', 'vertical') == 'horizontal'
+    let splitModifier = ''
+  endif
+
+  let originalBuffer=bufnr("%")
+
+  let isUsingSource=1
+
+  if(a:0 == 0)
+    let resultBufferName=s:SVNReview()
+  elseif(a:0 == 1)
+    let resultBufferName=s:SVNReview(a:1)
+  else
+    let isUsingSource=0
+    let resultBufferName=s:SVNReview(a:1)
+    set buftype=
+    w!
+    execute "au BufDelete" resultBufferName "call delete(\"".resultBufferName ."\") | au! BufDelete" resultBufferName
+    execute "buffer" originalBuffer
+    let originalBuffer=bufnr(resultBufferName)
+    let resultBufferName=s:SVNReview(a:2)
+  endif
+
+  if isUsingSource
+    " Provide for restoring state of original buffer
+    execute "au BufDelete" resultBufferName "call setbufvar(" b:svnOrigBuffNR ", \"&diff\", 0)"
+    execute "au BufDelete" resultBufferName "call setbufvar(" b:svnOrigBuffNR ", \"&foldcolumn\", 0)"
+    execute "au BufDelete" resultBufferName "au! BufDelete " escape(resultBufferName, ' *?\')
+  endif
+
+  execute "silent leftabove" splitModifier "diffsplit" escape(bufname(originalBuffer), ' *?\')
+  execute bufwinnr(originalBuffer) "wincmd w"
+  return resultBufferName
+endfunction
+
+" Section: Command definitions {{{1
+com! SVNAdd call s:SVNAdd()
+com! -nargs=? SVNAnnotate call s:SVNAnnotate(<f-args>)
+com! SVNCommit call s:SVNCommit()
+com! -nargs=* SVNDiff call s:SVNDiff(<f-args>)
+com! SVNLog call s:SVNLog()
+com! -nargs=? SVNRevert call s:SVNRevert(<f-args>)
+com! -nargs=? SVNReview call s:SVNReview(<f-args>)
+com! SVNStatus call s:SVNStatus()
+com! SVNInfo call s:SVNInfo()
+com! SVNUpdate call s:SVNUpdate()
+com! -nargs=* SVNVimDiff call s:SVNVimDiff(<f-args>)
+
+" Section: Plugin command mappings {{{1
+nnoremap <unique> <Plug>SVNAdd :SVNAdd<CR>
+nnoremap <unique> <Plug>SVNAnnotate :SVNAnnotate<CR>
+nnoremap <unique> <Plug>SVNCommit :SVNCommit<CR>
+nnoremap <unique> <Plug>SVNDiff :SVNDiff<CR>
+nnoremap <unique> <Plug>SVNLog :SVNLog<CR>
+nnoremap <unique> <Plug>SVNRevert :SVNRevert<CR>
+nnoremap <unique> <Plug>SVNReview :SVNReview<CR>
+nnoremap <unique> <Plug>SVNStatus :SVNStatus<CR>
+nnoremap <unique> <Plug>SVNInfo :SVNInfo<CR>
+nnoremap <unique> <Plug>SVNUpdate :SVNUpdate<CR>
+nnoremap <unique> <Plug>SVNVimDiff :SVNVimDiff<CR>
+
+" Section: Default mappings {{{1
+if !hasmapto('<Plug>SVNAdd')
+  nmap <unique> <Leader>sa <Plug>SVNAdd
+endif
+if !hasmapto('<Plug>SVNAnnotate')
+  nmap <unique> <Leader>sn <Plug>SVNAnnotate
+endif
+if !hasmapto('<Plug>SVNCommit')
+  nmap <unique> <Leader>sc <Plug>SVNCommit
+endif
+if !hasmapto('<Plug>SVNDiff')
+  nmap <unique> <Leader>sd <Plug>SVNDiff
+endif
+if !hasmapto('<Plug>SVNLog')
+  nmap <unique> <Leader>sl <Plug>SVNLog
+endif
+if !hasmapto('<Plug>SVNRevert')
+  nmap <unique> <Leader>sq <Plug>SVNRevert
+endif
+if !hasmapto('<Plug>SVNReview')
+  nmap <unique> <Leader>sr <Plug>SVNReview
+endif
+if !hasmapto('<Plug>SVNStatus')
+  nmap <unique> <Leader>ss <Plug>SVNStatus
+endif
+if !hasmapto('<Plug>SVNInfo')
+  nmap <unique> <Leader>si <Plug>SVNInfo
+endif
+if !hasmapto('<Plug>SVNUpdate')
+  nmap <unique> <Leader>su <Plug>SVNUpdate
+endif
+if !hasmapto('<Plug>SVNVimDiff')
+  nmap <unique> <Leader>sv <Plug>SVNVimDiff
+endif
+
+" Section: Menu items {{{1
+amenu <silent> &Plugin.SVN.&Add      <Plug>SVNAdd
+amenu <silent> &Plugin.SVN.A&nnotate <Plug>SVNAnnotate
+amenu <silent> &Plugin.SVN.&Commit   <Plug>SVNCommit
+amenu <silent> &Plugin.SVN.&Diff     <Plug>SVNDiff
+amenu <silent> &Plugin.SVN.&Log      <Plug>SVNLog
+amenu <silent> &Plugin.SVN.Revert    <Plug>SVNRevert
+amenu <silent> &Plugin.SVN.&Review   <Plug>SVNReview
+amenu <silent> &Plugin.SVN.&Status   <Plug>SVNStatus
+amenu <silent> &Plugin.SVN.&Info     <Plug>SVNInfo
+amenu <silent> &Plugin.SVN.&Update   <Plug>SVNUpdate
+amenu <silent> &Plugin.SVN.&VimDiff  <Plug>SVNVimDiff