r1190 - in /trunk/packages/vim-scripts: CHANGES.CVSCommand.txt doc/vcscommand.txt html/plugin_vcscommand.vim.html plugin/vcscommand.vim plugin/vcscvs.vim plugin/vcsgit.vim

jamessan at users.alioth.debian.org jamessan at users.alioth.debian.org
Tue Feb 5 21:42:48 UTC 2008


Author: jamessan
Date: Tue Feb  5 21:42:48 2008
New Revision: 1190

URL: http://svn.debian.org/wsvn/pkg-vim/?sc=1&rev=1190
Log:
Update vcscommand

Added:
    trunk/packages/vim-scripts/plugin/vcsgit.vim
Modified:
    trunk/packages/vim-scripts/CHANGES.CVSCommand.txt
    trunk/packages/vim-scripts/doc/vcscommand.txt
    trunk/packages/vim-scripts/html/plugin_vcscommand.vim.html
    trunk/packages/vim-scripts/plugin/vcscommand.vim
    trunk/packages/vim-scripts/plugin/vcscvs.vim

Modified: trunk/packages/vim-scripts/CHANGES.CVSCommand.txt
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/CHANGES.CVSCommand.txt?rev=1190&op=diff
==============================================================================
--- trunk/packages/vim-scripts/CHANGES.CVSCommand.txt (original)
+++ trunk/packages/vim-scripts/CHANGES.CVSCommand.txt Tue Feb  5 21:42:48 2008
@@ -1,4 +1,6 @@
 vim600: set foldmethod=marker:tw=78:formatoptions=aw2tq
+
+This file documents major changes from the cvscommand.vim plugin.
 
 1.  Require Vim 7 in order to leverage several convenient features; also
 because I wanted to play with Vim 7.

Modified: trunk/packages/vim-scripts/doc/vcscommand.txt
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/doc/vcscommand.txt?rev=1190&op=diff
==============================================================================
--- trunk/packages/vim-scripts/doc/vcscommand.txt (original)
+++ trunk/packages/vim-scripts/doc/vcscommand.txt Tue Feb  5 21:42:48 2008
@@ -99,11 +99,13 @@
 
 |:VCSAdd|
 |:VCSAnnotate|
+|:VCSBlame|
 |:VCSCommit|
 |:VCSDelete|
 |:VCSDiff|
 |:VCSGotoOriginal|
 |:VCSLog|
+|:VCSRemove|
 |:VCSRevert|
 |:VCSReview|
 |:VCSStatus|
@@ -146,6 +148,10 @@
 'SVNAnnotate', or 'SVKAnnotate' as appropriate, to take advantage of the
 bundled syntax files.
 
+:VCSBlame						*:VCSBlame*
+
+Alias for |:VCSAnnotate|.
+
 :VCSCommit[!]						*:VCSCommit*
 
 This command commits changes to the current file to source control.
@@ -218,6 +224,10 @@
 there is one parameter supplied, it is taken as as a revision parameters to be
 passed through to the underlying VCS.  Otherwise, all parameters are passed to
 the underlying VCS.
+
+:VCSRemove						*:VCSRemove*
+
+Alias for |:VCSDelete|.
 
 :VCSRevert						*:VCSRevert*
 
@@ -317,14 +327,17 @@
 <Leader>ca VCSAdd
 <Leader>cn VCSAnnotate
 <Leader>cc VCSCommit
+<Leader>cD VCSDelete
 <Leader>cd VCSDiff
 <Leader>cg VCSGotoOriginal
 <Leader>cG VCSGotoOriginal!
 <Leader>ci VCSInfo
 <Leader>cl VCSLog
+<Leader>cL VCSLock
 <Leader>cr VCSReview
 <Leader>cs VCSStatus
 <Leader>cu VCSUpdate
+<Leader>cU VCSUnlock
 <Leader>cv VCSVimDiff
 
 Only for CVS buffers:

Modified: trunk/packages/vim-scripts/html/plugin_vcscommand.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/html/plugin_vcscommand.vim.html?rev=1190&op=diff
==============================================================================
--- trunk/packages/vim-scripts/html/plugin_vcscommand.vim.html (original)
+++ trunk/packages/vim-scripts/html/plugin_vcscommand.vim.html Tue Feb  5 21:42:48 2008
@@ -3,7 +3,7 @@
 
 <head>
   <link rel="Stylesheet" type="text/css" href="/css/style.css" >
-  <title>vcscommand.vim - CVS/SVN/SVK integration plugin : vim online</title>
+  <title>vcscommand.vim - CVS/SVN/SVK/git 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">
@@ -143,7 +143,7 @@
         <tr>
           <td valign="top">
 
-<span class="txth1">vcscommand.vim : CVS/SVN/SVK integration plugin</span> 
+<span class="txth1">vcscommand.vim : CVS/SVN/SVK/git integration plugin</span> 
 
 <br>
 <br>
@@ -153,8 +153,8 @@
 <tr>
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
-    Rating <b>1245/407</b>,
-    Downloaded by 18557  </td>
+    Rating <b>1301/428</b>,
+    Downloaded by 19452  </td>
 </tr>
 </table>
 <p>
@@ -167,10 +167,10 @@
 <tr><td>utility</td></tr>
 <tr><td>&nbsp;</td></tr>
 <tr><td class="prompt">description</td></tr>
-<tr><td>VIM 7 plugin useful for manipulating files controlled by CVS, SVN and SVK within VIM, including committing changes and performings diffs using the vimdiff system.&nbsp;&nbsp;Keywords:&nbsp;&nbsp;cvs CVS cvscommand subversion SVN svk</td></tr>
+<tr><td>VIM 7 plugin useful for manipulating files controlled by CVS, SVN, SVK and git within VIM, including committing changes and performings diffs using the vimdiff system.&nbsp;&nbsp;Keywords:&nbsp;&nbsp;cvs CVS cvscommand git subversion SVN svk vcscommand
<br>
<br>This projected is hosted at <a target="_blank" href="http://code.google.com/p/vcscommand/">http://code.google.com/p/vcscommand/</A></td></tr>
 <tr><td>&nbsp;</td></tr>
 <tr><td class="prompt">install details</td></tr>
-<tr><td>If you are upgrading from the cvscommand.vim script, remove the cvscommand.vim plugin and the cvscommand.txt help file from your system before installing this version.&nbsp;&nbsp;Also, read the CHANGES.txt file to learn about changes since cvscommand.vim.
<br>
<br>For Vim 7:
<br>
<br>&nbsp;&nbsp;Unzip the installation file.
<br>&nbsp;&nbsp;Move the vcscommand.vim, vcscvs.vim, and vcssvn.vim scripts into your plugin directory.
<br>&nbsp;&nbsp;Move the vcscommand.txt file into your doc directory and use the ':helptags' command to add it to your help directory (:help add-local-help).
<br>
<br>Optionally, you can move the syntax scripts into your syntax directory to get syntax highlighting of annotate result buffers.
<br>
<br>For vim 6.x:
<br>
<br>Use a previous version of the script (1.76 of cvscommand.zip).&nbsp;&nbsp;This only supports CVS.</td></tr>
+<tr><td>If you are upgrading from the cvscommand.vim script, remove the cvscommand.vim plugin and the cvscommand.txt help file from your system before installing this version.&nbsp;&nbsp;Also, read the CHANGES.txt file to learn about changes since cvscommand.vim.
<br>
<br>For Vim 7:
<br>
<br>&nbsp;&nbsp;Unzip the installation file.
<br>&nbsp;&nbsp;Move the vcscommand.vim, vcscvs.vim, vcssvn.vim, vcssvk.vim, and vcsgit.vim scripts into your plugin directory.
<br>&nbsp;&nbsp;Move the vcscommand.txt file into your doc directory and use the ':helptags' command to add it to your help directory (:help add-local-help).
<br>
<br>Optionally, you can move the syntax scripts into your syntax directory to get syntax highlighting of annotate result buffers.
<br>
<br>For vim 6.x:
<br>
<br>Use a previous version of the script (1.76 of cvscommand.zip).&nbsp;&nbsp;This only supports CVS.</td></tr>
 <tr><td>&nbsp;</td></tr>
 </table>
 
@@ -204,252 +204,260 @@
     <th valign="top">release notes</th>
 </tr>
 <tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=7435">vcscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>beta19</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2007-07-31</i></td>
-    <td class="rowodd" valign="top" nowrap>7.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Load the plugin with nocompatible set, as it should have been done a few years ago.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=7119">vcscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>beta18</b></td>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=8210">vcscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>beta20</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2008-02-01</i></td>
+    <td class="rowodd" valign="top" nowrap>7.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Implemented (first pass of) git support.
<br>
<br>Temporarily removed buffer status/command verification scheme.
<br>
<br>Save and restore 'foldlevel' with VCSVimDiff.
<br>
<br>Added VCSRemove as alias for VCSDelete.
<br>Added VCSBlame as alias for VCSAnnotate.
<br></td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=7435">vcscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>beta19</b></td>
+    <td class="roweven" valign="top" nowrap><i>2007-07-31</i></td>
+    <td class="roweven" valign="top" nowrap>7.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Load the plugin with nocompatible set, as it should have been done a few years ago.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=7119">vcscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>beta18</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2007-05-15</i></td>
+    <td class="rowodd" valign="top" nowrap>7.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Added 'VCSCommandDisableMappings' and 'VCSCommandDisableExtensionMappings' options.&nbsp;&nbsp;If set, these variables prevent creation of the default command key mappings.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=7112">vcscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>beta17</b></td>
     <td class="roweven" valign="top" nowrap><i>2007-05-15</i></td>
     <td class="roweven" valign="top" nowrap>7.0</td>
     <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">Added 'VCSCommandDisableMappings' and 'VCSCommandDisableExtensionMappings' options.&nbsp;&nbsp;If set, these variables prevent creation of the default command key mappings.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=7112">vcscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>beta17</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2007-05-15</i></td>
-    <td class="rowodd" valign="top" nowrap>7.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Use 'executable()' to test for VCS tools (to avoid potentially slow operation at plugin load time).
<br>
<br>Always pass current revision to VCSAnnotate when using CVS with no arguments.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=7044">vcscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>beta16</b></td>
-    <td class="roweven" valign="top" nowrap><i>2007-04-30</i></td>
-    <td class="roweven" valign="top" nowrap>7.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">VCSLog accepts passthrough options.
<br>VCSDiff correctly checks whether second argument starts with hyphen when deciding whether to pass-through.
<br></td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=7025">vcscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>beta15</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2007-04-24</i></td>
-    <td class="rowodd" valign="top" nowrap>7.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Use 'haslocaldir()' if available to correctly handle windows that used :lcd.
<br>
<br>Made VCSDiff pass-through.
<br>
<br>Fixed SVK VCSDiff implementation.
<br>
<br>Made VCSCommands work a bit better on directory buffers (netrw).
<br>
<br>Replaced delayed extension registration to directly loading the main plugin from
<br>extension plugins.&nbsp;&nbsp;This allows base functions declared in the main plugin to
<br>be used in the extensions.
<br>
<br>Fixed SVN diff to actually use 'VCSCommandSVNDiffOpt' option.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=6975">vcscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>beta14</b></td>
-    <td class="roweven" valign="top" nowrap><i>2007-04-12</i></td>
-    <td class="roweven" valign="top" nowrap>7.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">Reincarnated 'CVSAnnotateParent' option for CVS as 'VCSCommandCVSAnnotateParent'.
<br>
<br>Close all vcscommand result buffers when vim exits to prevent them from being written to the viminfo file.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6858">vcscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>beta13</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2007-03-12</i></td>
-    <td class="rowodd" valign="top" nowrap>7.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Fixed following commands (broken in Beta 12):
<br>&nbsp;&nbsp;VCSLock
<br>&nbsp;&nbsp;VCSRevert
<br>&nbsp;&nbsp;VCSUnlock
<br>&nbsp;&nbsp;VCSUpdate</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=6814">vcscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>beta12</b></td>
-    <td class="roweven" valign="top" nowrap><i>2007-02-28</i></td>
-    <td class="roweven" valign="top" nowrap>7.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">Added SVK support.
<br>
<br>Replaced SVN-specific command SVNInfo with VCSInfo, which is defined for SVK
<br>and SVN.&nbsp;&nbsp;This is mapped to '&lt;leader&gt;ci' by default; as a consequence, the
<br>default mapping for the CVS-specific CVSEditors command was changed to
<br>'&lt;leader&gt;cE'.
<br>
<br>Made VCSAnnotate accept parameters to pass to the underlying VCS.
<br>
<br>Made error messages for operations on non-versioned files more consistent.
<br>
<br>Added check to disable individual VCS extension plugins.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6761">vcscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>beta11</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2007-02-20</i></td>
-    <td class="rowodd" valign="top" nowrap>7.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Added VCSCommandSVNDiffExt option to allow external diff applications.
<br>Added VCSDelete command.
<br>Added pass-through parameters to VCS Add, Delete, Log, Status, Lock, and Unlock commands (extra parameters to the command are given to the underlying VCS command).</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=6368">vcscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>Beta10</b></td>
-    <td class="roweven" valign="top" nowrap><i>2006-11-02</i></td>
-    <td class="roweven" valign="top" nowrap>7.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">Changed file type of commit log buffers to 'commitlog' (from 'commit log') to avoid FileType errors.
<br>
<br>Added 'VCSCommandSVNDiffOpt' to pass options to the svn diff -x parameter.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6160">vcscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>Beta9</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2006-09-11</i></td>
-    <td class="rowodd" valign="top" nowrap>7.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Added 'VCSCommandResultBufferNameExtension' option for adding a custom extension to the VCS output buffer names.&nbsp;&nbsp;This is intended to help users experiencing issues due to autocommands and other settings that depend on buffer name.
<br>
<br>Added 'VCSCommandResultBufferNameFunction' option for completely over-riding the procedure for generating the result buffer names.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=6070">vcscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>Beta8</b></td>
-    <td class="roweven" valign="top" nowrap><i>2006-08-14</i></td>
-    <td class="roweven" valign="top" nowrap>7.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">Changed behavior of plugin within Explorer/netrw -style directory buffers.&nbsp;&nbsp;Commands within such a buffer now act as though invoked on that directory, and so affect all files (and subdirectories), regardless of where the cursor is within the directory buffer.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6055">vcscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>Beta5</b></td>
+    <td class="roweven" valign="top" width="2000">Use 'executable()' to test for VCS tools (to avoid potentially slow operation at plugin load time).
<br>
<br>Always pass current revision to VCSAnnotate when using CVS with no arguments.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=7044">vcscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>beta16</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2007-04-30</i></td>
+    <td class="rowodd" valign="top" nowrap>7.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">VCSLog accepts passthrough options.
<br>VCSDiff correctly checks whether second argument starts with hyphen when deciding whether to pass-through.
<br></td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=7025">vcscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>beta15</b></td>
+    <td class="roweven" valign="top" nowrap><i>2007-04-24</i></td>
+    <td class="roweven" valign="top" nowrap>7.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Use 'haslocaldir()' if available to correctly handle windows that used :lcd.
<br>
<br>Made VCSDiff pass-through.
<br>
<br>Fixed SVK VCSDiff implementation.
<br>
<br>Made VCSCommands work a bit better on directory buffers (netrw).
<br>
<br>Replaced delayed extension registration to directly loading the main plugin from
<br>extension plugins.&nbsp;&nbsp;This allows base functions declared in the main plugin to
<br>be used in the extensions.
<br>
<br>Fixed SVN diff to actually use 'VCSCommandSVNDiffOpt' option.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6975">vcscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>beta14</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2007-04-12</i></td>
+    <td class="rowodd" valign="top" nowrap>7.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Reincarnated 'CVSAnnotateParent' option for CVS as 'VCSCommandCVSAnnotateParent'.
<br>
<br>Close all vcscommand result buffers when vim exits to prevent them from being written to the viminfo file.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=6858">vcscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>beta13</b></td>
+    <td class="roweven" valign="top" nowrap><i>2007-03-12</i></td>
+    <td class="roweven" valign="top" nowrap>7.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fixed following commands (broken in Beta 12):
<br>&nbsp;&nbsp;VCSLock
<br>&nbsp;&nbsp;VCSRevert
<br>&nbsp;&nbsp;VCSUnlock
<br>&nbsp;&nbsp;VCSUpdate</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6814">vcscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>beta12</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2007-02-28</i></td>
+    <td class="rowodd" valign="top" nowrap>7.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Added SVK support.
<br>
<br>Replaced SVN-specific command SVNInfo with VCSInfo, which is defined for SVK
<br>and SVN.&nbsp;&nbsp;This is mapped to '&lt;leader&gt;ci' by default; as a consequence, the
<br>default mapping for the CVS-specific CVSEditors command was changed to
<br>'&lt;leader&gt;cE'.
<br>
<br>Made VCSAnnotate accept parameters to pass to the underlying VCS.
<br>
<br>Made error messages for operations on non-versioned files more consistent.
<br>
<br>Added check to disable individual VCS extension plugins.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=6761">vcscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>beta11</b></td>
+    <td class="roweven" valign="top" nowrap><i>2007-02-20</i></td>
+    <td class="roweven" valign="top" nowrap>7.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Added VCSCommandSVNDiffExt option to allow external diff applications.
<br>Added VCSDelete command.
<br>Added pass-through parameters to VCS Add, Delete, Log, Status, Lock, and Unlock commands (extra parameters to the command are given to the underlying VCS command).</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6368">vcscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>Beta10</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-11-02</i></td>
+    <td class="rowodd" valign="top" nowrap>7.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Changed file type of commit log buffers to 'commitlog' (from 'commit log') to avoid FileType errors.
<br>
<br>Added 'VCSCommandSVNDiffOpt' to pass options to the svn diff -x parameter.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=6160">vcscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>Beta9</b></td>
+    <td class="roweven" valign="top" nowrap><i>2006-09-11</i></td>
+    <td class="roweven" valign="top" nowrap>7.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Added 'VCSCommandResultBufferNameExtension' option for adding a custom extension to the VCS output buffer names.&nbsp;&nbsp;This is intended to help users experiencing issues due to autocommands and other settings that depend on buffer name.
<br>
<br>Added 'VCSCommandResultBufferNameFunction' option for completely over-riding the procedure for generating the result buffer names.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6070">vcscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>Beta8</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-08-14</i></td>
+    <td class="rowodd" valign="top" nowrap>7.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Changed behavior of plugin within Explorer/netrw -style directory buffers.&nbsp;&nbsp;Commands within such a buffer now act as though invoked on that directory, and so affect all files (and subdirectories), regardless of where the cursor is within the directory buffer.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=6055">vcscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>Beta5</b></td>
+    <td class="roweven" valign="top" nowrap><i>2006-08-09</i></td>
+    <td class="roweven" valign="top" nowrap>7.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Corrected shortcut help text in commit message buffer.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6054">vcscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>Beta4</b></td>
     <td class="rowodd" valign="top" nowrap><i>2006-08-09</i></td>
     <td class="rowodd" valign="top" nowrap>7.0</td>
     <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Corrected shortcut help text in commit message buffer.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=6054">vcscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>Beta4</b></td>
-    <td class="roweven" valign="top" nowrap><i>2006-08-09</i></td>
-    <td class="roweven" valign="top" nowrap>7.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">Changed default mappings back to those from cvscommand (starting with
<br>'&lt;Leader&gt;c' instead of '&lt;Leader&gt;v'.&nbsp;&nbsp;This is to avoid conflict with existing plugins using the '&lt;Leader&gt;v' prefix.&nbsp;&nbsp;Please note that the mappings can still be overridden by the user using &lt;Plug&gt; mappings.&nbsp;&nbsp;Please consult the documentation for more information.
<br>
<br>Removed special characters other than parentheses from output buffer names.&nbsp;&nbsp;This is to address buffer name problems on Windows.
<br></td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6040">vcscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>Beta3</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2006-08-04</i></td>
-    <td class="rowodd" valign="top" nowrap>7.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Initial public release of vcscommand (based on cvscommand) to integrate subversion (SVN) and utilize VIM 7.0 features.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=5302">cvscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.76</b></td>
-    <td class="roweven" valign="top" nowrap><i>2006-02-22</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">Added optional direct specification of log message on :CVSCommit command (to avoid using the log message buffer).&nbsp;&nbsp;Usage:
<br>
<br>:CVSCommit &lt;log message text here&gt;</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=5208">cvscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.75</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2006-02-13</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Forced file changed check whenever the original CVS file could have changed, even in split window environments (per Luca Gerli).</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=5069">cvscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.74</b></td>
-    <td class="roweven" valign="top" nowrap><i>2006-02-06</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">* Added ability to use CVSCommand functions / hotkeys on directory listing buffers, specifically the file explorer.
<br>* CVSAnnotate:&nbsp;&nbsp;Previously, if CVSAnnotate was invoked on a CVSAnnotate buffer, the new annotate buffer would go to the version just prior to the one on the current line.&nbsp;&nbsp;Now, the new buffer uses the version on the current line.&nbsp;&nbsp;To obtain the old behavior, set CVSCommandAnnotateParent to a non-zero value.&nbsp;&nbsp;The header lines resulting from the cvs annotate command are now trimmed.&nbsp;&nbsp;No attempt is made to jump to the 'correct' line in a CVSAnnotate buffer, as it is unlikely to be the correct line anyway.
<br></td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4999">cvscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.73</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2006-01-23</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Fixed typo in sample map in documentation per Luca Gerli.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4987">cvscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.72</b></td>
-    <td class="roweven" valign="top" nowrap><i>2006-01-17</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">Moved version check to after the loaded_cvscommand check.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4798">cvscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.71</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2005-11-22</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Restored CVSVimDiffFinish user autocommand which executes after a CVSVimDiff
<br>(in order to allow customization of window placement, etc).
<br></td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4728">cvscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.70</b></td>
-    <td class="roweven" valign="top" nowrap><i>2005-11-10</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">Fixes bug that resulted in working directory change.
<br>
<br>Displays warning to user and will not load if running on VIM earlier than 6.2.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4403">cvscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.68</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2005-06-30</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Fixed bug with autochdir and CVSCommit.
<br>(Repackaged from previous upload, which had new script in wrong place and old script in right place).du</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=3491">cvscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.67</b></td>
-    <td class="roweven" valign="top" nowrap><i>2004-09-27</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">Corrected b:CVSRepository variable for CVSAdd'd files.&nbsp;&nbsp;This will fix status line display for these files, if the default (cvs) status line is used.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=3450">cvscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.66</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2004-09-14</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Changed maintainer email address.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=3294">cvscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.65</b></td>
-    <td class="roweven" valign="top" nowrap><i>2004-08-02</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">Added instructions for integrating with SSH.
<br>
<br>Added CVSCommandCVSExec option to specify cvs executable path.
<br>
<br>Added CVSBufferSetup user event.
<br></td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=3018">cvscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.64</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2004-05-12</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Delete folds created by vimdiff mode in CVSVimDiff if the original window used manual folds, when it is restored.
<br>
<br>Always set scrollbind in the result window of a CVSVimDiff in order to combat the effects of splitting windows resetting scrollbind.&nbsp;&nbsp;Please let me know if this causes anyone trouble.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=2126">cvscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.63</b></td>
-    <td class="roweven" valign="top" nowrap><i>2003-07-03</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">Bugfix release.&nbsp;&nbsp;Buffers start with 1, not 0.&nbsp;&nbsp;Switch to the original buffer first before destorying CVS buffers in
<br>CVSGotoOriginal! in order to preserve window layout.
<br></td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=2123">cvscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.62</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2003-07-02</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Added b:CVSRepository as a standard variable if buffer setup is enabled.
<br>
<br>Changed sample status line to display the repository version number if it differs from
<br>the working version number.
<br>
<br>Added recursive annotation functionality.
<br>
<br>Silenced text puts to set up the CVSCommit buffer.
<br>
<br>Added CVSVimDiffFinish event for window placement customization.
<br>
<br>Implemented the remove-all-CVS-buffers aspect of CVSGotoOriginal! in a slightly
<br>more sane way.
<br>
<br>Added 'foldenable' to the list of restored options for
<br>CVSVimDiff.
<br></td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=1949">cvscommand.zip</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.54</b></td>
-    <td class="roweven" valign="top" nowrap><i>2003-04-28</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="roweven" valign="top" width="2000">Added recognition of numerical tags for use as sticky tags.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=1929">cvscommand.zip</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.52</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2003-04-18</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Added the CVSGotoOriginal[!] command and mappings (&lt;Leader&gt;cg and &lt;Leader&gt; cG for with and without '!', respectively).&nbsp;&nbsp;This command jumps to the source buffer if the current buffer is a CVS output buffer.&nbsp;&nbsp;The '!' also closes all CVS output buffer for the given source buffer.</td>
+    <td class="rowodd" valign="top" width="2000">Changed default mappings back to those from cvscommand (starting with
<br>'&lt;Leader&gt;c' instead of '&lt;Leader&gt;v'.&nbsp;&nbsp;This is to avoid conflict with existing plugins using the '&lt;Leader&gt;v' prefix.&nbsp;&nbsp;Please note that the mappings can still be overridden by the user using &lt;Plug&gt; mappings.&nbsp;&nbsp;Please consult the documentation for more information.
<br>
<br>Removed special characters other than parentheses from output buffer names.&nbsp;&nbsp;This is to address buffer name problems on Windows.
<br></td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=6040">vcscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>Beta3</b></td>
+    <td class="roweven" valign="top" nowrap><i>2006-08-04</i></td>
+    <td class="roweven" valign="top" nowrap>7.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Initial public release of vcscommand (based on cvscommand) to integrate subversion (SVN) and utilize VIM 7.0 features.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=5302">cvscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.76</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-02-22</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Added optional direct specification of log message on :CVSCommit command (to avoid using the log message buffer).&nbsp;&nbsp;Usage:
<br>
<br>:CVSCommit &lt;log message text here&gt;</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=5208">cvscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.75</b></td>
+    <td class="roweven" valign="top" nowrap><i>2006-02-13</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Forced file changed check whenever the original CVS file could have changed, even in split window environments (per Luca Gerli).</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=5069">cvscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.74</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-02-06</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">* Added ability to use CVSCommand functions / hotkeys on directory listing buffers, specifically the file explorer.
<br>* CVSAnnotate:&nbsp;&nbsp;Previously, if CVSAnnotate was invoked on a CVSAnnotate buffer, the new annotate buffer would go to the version just prior to the one on the current line.&nbsp;&nbsp;Now, the new buffer uses the version on the current line.&nbsp;&nbsp;To obtain the old behavior, set CVSCommandAnnotateParent to a non-zero value.&nbsp;&nbsp;The header lines resulting from the cvs annotate command are now trimmed.&nbsp;&nbsp;No attempt is made to jump to the 'correct' line in a CVSAnnotate buffer, as it is unlikely to be the correct line anyway.
<br></td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4999">cvscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.73</b></td>
+    <td class="roweven" valign="top" nowrap><i>2006-01-23</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fixed typo in sample map in documentation per Luca Gerli.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4987">cvscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.72</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-01-17</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Moved version check to after the loaded_cvscommand check.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4798">cvscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.71</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-11-22</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Restored CVSVimDiffFinish user autocommand which executes after a CVSVimDiff
<br>(in order to allow customization of window placement, etc).
<br></td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4728">cvscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.70</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-11-10</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Fixes bug that resulted in working directory change.
<br>
<br>Displays warning to user and will not load if running on VIM earlier than 6.2.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4403">cvscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.68</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-06-30</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fixed bug with autochdir and CVSCommit.
<br>(Repackaged from previous upload, which had new script in wrong place and old script in right place).du</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=3491">cvscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.67</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2004-09-27</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Corrected b:CVSRepository variable for CVSAdd'd files.&nbsp;&nbsp;This will fix status line display for these files, if the default (cvs) status line is used.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=3450">cvscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.66</b></td>
+    <td class="roweven" valign="top" nowrap><i>2004-09-14</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Changed maintainer email address.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=3294">cvscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.65</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2004-08-02</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Added instructions for integrating with SSH.
<br>
<br>Added CVSCommandCVSExec option to specify cvs executable path.
<br>
<br>Added CVSBufferSetup user event.
<br></td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=3018">cvscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.64</b></td>
+    <td class="roweven" valign="top" nowrap><i>2004-05-12</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Delete folds created by vimdiff mode in CVSVimDiff if the original window used manual folds, when it is restored.
<br>
<br>Always set scrollbind in the result window of a CVSVimDiff in order to combat the effects of splitting windows resetting scrollbind.&nbsp;&nbsp;Please let me know if this causes anyone trouble.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=2126">cvscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.63</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2003-07-03</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Bugfix release.&nbsp;&nbsp;Buffers start with 1, not 0.&nbsp;&nbsp;Switch to the original buffer first before destorying CVS buffers in
<br>CVSGotoOriginal! in order to preserve window layout.
<br></td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=2123">cvscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.62</b></td>
+    <td class="roweven" valign="top" nowrap><i>2003-07-02</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Added b:CVSRepository as a standard variable if buffer setup is enabled.
<br>
<br>Changed sample status line to display the repository version number if it differs from
<br>the working version number.
<br>
<br>Added recursive annotation functionality.
<br>
<br>Silenced text puts to set up the CVSCommit buffer.
<br>
<br>Added CVSVimDiffFinish event for window placement customization.
<br>
<br>Implemented the remove-all-CVS-buffers aspect of CVSGotoOriginal! in a slightly
<br>more sane way.
<br>
<br>Added 'foldenable' to the list of restored options for
<br>CVSVimDiff.
<br></td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=1949">cvscommand.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.54</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2003-04-28</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Added recognition of numerical tags for use as sticky tags.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=1929">cvscommand.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.52</b></td>
+    <td class="roweven" valign="top" nowrap><i>2003-04-18</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=241">Bob Hiestand</a></i></td>
+    <td class="roweven" valign="top" width="2000">Added the CVSGotoOriginal[!] command and mappings (&lt;Leader&gt;cg and &lt;Leader&gt; cG for with and without '!', respectively).&nbsp;&nbsp;This command jumps to the source buffer if the current buffer is a CVS output buffer.&nbsp;&nbsp;The '!' also closes all CVS output buffer for the given source buffer.</td>
 </tr>
 </table>
 <!-- finish off the framework -->

Modified: trunk/packages/vim-scripts/plugin/vcscommand.vim
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/plugin/vcscommand.vim?rev=1190&op=diff
==============================================================================
--- trunk/packages/vim-scripts/plugin/vcscommand.vim (original)
+++ trunk/packages/vim-scripts/plugin/vcscommand.vim Tue Feb  5 21:42:48 2008
@@ -2,7 +2,7 @@
 "
 " Vim plugin to assist in working with files under control of CVS or SVN.
 "
-" Version:       Beta 19
+" Version:       Beta 20
 " Maintainer:    Bob Hiestand <bob.hiestand at gmail.com>
 " License:
 " Copyright (c) 2007 Bob Hiestand
@@ -51,6 +51,8 @@
 "                  Additionally, if the current buffer is a VCSAnnotate buffer
 "                  already, the version number on the current line is used.
 "
+" VCSBlame         Alias for 'VCSAnnotate'.
+"
 " VCSCommit[!]     Commits changes to the current file to source control.
 "
 "                  If called with arguments, the arguments are the log message.
@@ -94,6 +96,8 @@
 "
 " VCSLog           Displays the version history of the current file in a new
 "                  scratch buffer.
+"
+" VCSRemove        Alias for 'VCSDelete'.
 "
 " VCSRevert        Replaces the modified version of the current file with the
 "                  most recent version from the repository.
@@ -295,8 +299,6 @@
 " Section: Script variable initialization {{{1
 
 let s:plugins = {}
-let s:pluginFiles = []
-let s:extendedMappings = {}
 let s:optionOverrides = {}
 let s:isEditFileRunning = 0
 
@@ -321,13 +323,13 @@
 function! s:ExecuteExtensionMapping(mapping)
   let buffer = bufnr('%')
   let vcsType = VCSCommandGetVCSType(buffer)
-  if !has_key(s:extendedMappings, vcsType)
+  if !has_key(s:plugins, vcsType)
     throw 'Unknown VCS type:  ' . vcsType
   endif
-  if !has_key(s:extendedMappings[vcsType], a:mapping)
+  if !has_key(s:plugins[vcsType][2], a:mapping)
     throw 'This extended mapping is not defined for ' . vcsType
   endif
-  silent execute 'normal' ':' .  s:extendedMappings[vcsType][a:mapping] . "\<CR>"
+  silent execute 'normal' ':' .  s:plugins[vcsType][2][a:mapping] . "\<CR>"
 endfunction
 
 " Function: s:ExecuteVCSCommand(command, argList) {{{2
@@ -335,7 +337,7 @@
 " Returns: buffer number of resulting output scratch buffer, or -1 if an error
 " occurs.
 
-function! s:ExecuteVCSCommand(command, argList, verifyBuffer)
+function! s:ExecuteVCSCommand(command, argList)
   try
     let buffer = bufnr('%')
 
@@ -354,21 +356,9 @@
       if !filereadable(bufferName)
         throw 'No such file ' . bufferName
       endif
-      if(a:verifyBuffer)
-        if isdirectory(bufferName)
-        endif
-        let revision = VCSCommandGetRevision()
-        if revision == ''
-          throw 'Unable to obtain version information.'
-        elseif revision == 'Unknown'
-          throw 'Item not under source control'
-        elseif revision == 'New'
-          throw 'Operation not available on newly-added item.'
-        endif
-      endif
-    endif
-
-    let functionMap = s:plugins[vcsType]
+    endif
+
+    let functionMap = s:plugins[vcsType][1]
     if !has_key(functionMap, a:command)
       throw 'Command ''' . a:command . ''' not implemented for ' . vcsType
     endif
@@ -490,7 +480,7 @@
 
   try
     let vcsType = VCSCommandGetVCSType(bufnr('%'))
-    let b:VCSCommandBufferInfo =  s:plugins[vcsType].GetBufferInfo()
+    let b:VCSCommandBufferInfo = s:plugins[vcsType][1].GetBufferInfo()
     silent do VCSCommand User VCSBufferSetup
   catch /No suitable plugin/
     " This is not a VCS-controlled file.
@@ -679,7 +669,7 @@
     let messageFileName = tempname()
     call writefile(a:logMessageList, messageFileName)
     try
-      let resultBuffer = s:ExecuteVCSCommand('Commit', [messageFileName], 0)
+      let resultBuffer = s:ExecuteVCSCommand('Commit', [messageFileName])
       if resultBuffer < 0
         return resultBuffer
       endif
@@ -739,7 +729,7 @@
         if exists('s:vimDiffSourceBuffer')
           call s:WipeoutCommandBuffers(s:vimDiffSourceBuffer, 'vimdiff')
         endif
-        let resultBuffer = s:plugins[vcsType].Review([a:1])
+        let resultBuffer = s:plugins[vcsType][1].Review([a:1])
         if resultBuffer < 0
           echomsg 'Can''t open revision ' . a:1
           return resultBuffer
@@ -750,7 +740,7 @@
         " If no split method is defined, cheat, and set it to vertical.
         try
           call s:OverrideOption('VCSCommandSplit', VCSCommandGetOption('VCSCommandDiffSplit', VCSCommandGetOption('VCSCommandSplit', 'vertical')))
-          let resultBuffer = s:plugins[vcsType].Review([a:2])
+          let resultBuffer = s:plugins[vcsType][1].Review([a:2])
         finally
           call s:OverrideOption('VCSCommandSplit')
         endtry
@@ -769,9 +759,9 @@
           call s:OverrideOption('VCSCommandSplit', VCSCommandGetOption('VCSCommandDiffSplit', VCSCommandGetOption('VCSCommandSplit', 'vertical')))
           try
             if(a:0 == 0)
-              let resultBuffer = s:plugins[vcsType].Review([])
+              let resultBuffer = s:plugins[vcsType][1].Review([])
             else
-              let resultBuffer = s:plugins[vcsType].Review([a:1])
+              let resultBuffer = s:plugins[vcsType][1].Review([a:1])
             endif
           finally
             call s:OverrideOption('VCSCommandSplit')
@@ -800,6 +790,7 @@
                 \ . '|call setbufvar('.originalBuffer.', ''&foldcolumn'', '.getbufvar(originalBuffer, '&foldcolumn').')'
                 \ . '|call setbufvar('.originalBuffer.', ''&foldenable'', '.getbufvar(originalBuffer, '&foldenable').')'
                 \ . '|call setbufvar('.originalBuffer.', ''&foldmethod'', '''.getbufvar(originalBuffer, '&foldmethod').''')'
+                \ . '|call setbufvar('.originalBuffer.', ''&foldlevel'', '''.getbufvar(originalBuffer, '&foldlevel').''')'
                 \ . '|call setbufvar('.originalBuffer.', ''&scrollbind'', '.getbufvar(originalBuffer, '&scrollbind').')'
                 \ . '|call setbufvar('.originalBuffer.', ''&wrap'', '.getbufvar(originalBuffer, '&wrap').')'
                 \ . '|if &foldmethod==''manual''|execute ''normal zE''|endif'
@@ -845,7 +836,7 @@
     return vcsType
   endif
   for vcsType in keys(s:plugins)
-    if s:plugins[vcsType].Identify(a:buffer)
+    if s:plugins[vcsType][1].Identify(a:buffer)
       call setbufvar(a:buffer, 'VCSCommandVCSType', vcsType)
       return vcsType
     endif
@@ -898,10 +889,8 @@
 " Function: VCSCommandRegisterModule(name, file, commandMap) {{{2
 " Allows VCS modules to register themselves.
 
-function! VCSCommandRegisterModule(name, file, commandMap, mappingMap)
-  let s:plugins[a:name] = a:commandMap
-  call add(s:pluginFiles, a:file)
-  let s:extendedMappings[a:name] = a:mappingMap
+function! VCSCommandRegisterModule(name, path, commandMap, mappingMap)
+  let s:plugins[a:name] = [a:path, a:commandMap, a:mappingMap]
   if !empty(a:mappingMap)
         \ && !VCSCommandGetOption('VCSCommandDisableMappings', 0)
         \ && !VCSCommandGetOption('VCSCommandDisableExtensionMappings', 0)
@@ -912,7 +901,10 @@
 endfunction
 
 " Function: VCSCommandDoCommand(cmd, cmdName, statusText) {{{2
-" General skeleton for VCS function execution.
+" General skeleton for VCS function execution.  The given command is executed
+" after appending the current buffer name (or substituting it for
+" <VCSCOMMANDFILE>, if such a token is present).  The output is captured in a
+" new buffer.
 " Returns: name of the new command buffer containing the command results
 
 function! VCSCommandDoCommand(cmd, cmdName, statusText)
@@ -921,23 +913,29 @@
     throw 'Original buffer no longer exists, aborting.'
   endif
 
-  let fileName = resolve(bufname(originalBuffer))
+  let path = resolve(bufname(originalBuffer))
 
   " Work with netrw or other systems where a directory listing is displayed in
   " a buffer.
 
-  if isdirectory(fileName)
-    let realFileName = '.'
+  if isdirectory(path)
+    let fileName = '.'
   else
-    let realFileName = fnamemodify(fileName, ':t')
+    let fileName = fnamemodify(path, ':t')
+  endif
+
+  if match(a:cmd, '<VCSCOMMANDFILE>') > 0
+	  let fullCmd = substitute(a:cmd, '<VCSCOMMANDFILE>', fileName, 'g')
+  else
+	  let fullCmd = a:cmd . ' "' . fileName . '"'
   endif
 
   " Change to the directory of the current buffer.  This is done for CVS, but
   " is left in for other systems as it does not affect them negatively.
 
-  let oldCwd = VCSCommandChangeToCurrentFileDir(fileName)
+  let oldCwd = VCSCommandChangeToCurrentFileDir(path)
   try
-    let output = system(a:cmd . ' "' . realFileName . '"')
+    let output = system(fullCmd)
   finally
     call VCSCommandChdir(oldCwd)
   endtry
@@ -1006,22 +1004,6 @@
   endif
 endfunction
 
-" Function: VCSCommandGetRevision() {{{2
-" Global function for retrieving the current buffer's revision number.
-" Returns: Revision number or an empty string if an error occurs.
-
-function! VCSCommandGetRevision()
-  if !exists('b:VCSCommandBufferInfo')
-    let b:VCSCommandBufferInfo =  s:plugins[VCSCommandGetVCSType(bufnr('%'))].GetBufferInfo()
-  endif
-
-  if len(b:VCSCommandBufferInfo) > 0
-    return b:VCSCommandBufferInfo[0]
-  else
-    return ''
-  endif
-endfunction
-
 " Function: VCSCommandDisableBufferSetup() {{{2
 " Global function for deactivating the buffer autovariables.
 
@@ -1071,20 +1053,22 @@
 
 " Section: Command definitions {{{1
 " Section: Primary commands {{{2
-com! -nargs=* VCSAdd call s:MarkOrigBufferForSetup(s:ExecuteVCSCommand('Add', [<f-args>], 0))
-com! -nargs=* VCSAnnotate call s:ExecuteVCSCommand('Annotate', [<f-args>], 1)
+com! -nargs=* VCSAdd call s:MarkOrigBufferForSetup(s:ExecuteVCSCommand('Add', [<f-args>]))
+com! -nargs=* VCSAnnotate call s:ExecuteVCSCommand('Annotate', [<f-args>])
+com! -nargs=* VCSBlame call s:ExecuteVCSCommand('Annotate', [<f-args>])
 com! -nargs=? -bang VCSCommit call s:VCSCommit(<q-bang>, <q-args>)
-com! -nargs=* VCSDelete call s:ExecuteVCSCommand('Delete', [<f-args>], 1)
-com! -nargs=* VCSDiff call s:ExecuteVCSCommand('Diff', [<f-args>], 1)
+com! -nargs=* VCSDelete call s:ExecuteVCSCommand('Delete', [<f-args>])
+com! -nargs=* VCSDiff call s:ExecuteVCSCommand('Diff', [<f-args>])
 com! -nargs=0 -bang VCSGotoOriginal call s:VCSGotoOriginal(<q-bang>)
-com! -nargs=* VCSInfo call s:ExecuteVCSCommand('Info', [<f-args>], 1)
-com! -nargs=* VCSLock call s:MarkOrigBufferForSetup(s:ExecuteVCSCommand('Lock', [<f-args>], 1))
-com! -nargs=* VCSLog call s:ExecuteVCSCommand('Log', [<f-args>], 1)
-com! -nargs=0 VCSRevert call s:MarkOrigBufferForSetup(s:ExecuteVCSCommand('Revert', [], 1))
-com! -nargs=? VCSReview call s:ExecuteVCSCommand('Review', [<f-args>], 1)
-com! -nargs=* VCSStatus call s:ExecuteVCSCommand('Status', [<f-args>], 1)
-com! -nargs=* VCSUnlock call s:MarkOrigBufferForSetup(s:ExecuteVCSCommand('Unlock', [<f-args>], 1))
-com! -nargs=0 VCSUpdate call s:MarkOrigBufferForSetup(s:ExecuteVCSCommand('Update', [], 1))
+com! -nargs=* VCSInfo call s:ExecuteVCSCommand('Info', [<f-args>])
+com! -nargs=* VCSLock call s:MarkOrigBufferForSetup(s:ExecuteVCSCommand('Lock', [<f-args>]))
+com! -nargs=* VCSLog call s:ExecuteVCSCommand('Log', [<f-args>])
+com! -nargs=* VCSRemove call s:ExecuteVCSCommand('Delete', [<f-args>])
+com! -nargs=0 VCSRevert call s:MarkOrigBufferForSetup(s:ExecuteVCSCommand('Revert', []))
+com! -nargs=? VCSReview call s:ExecuteVCSCommand('Review', [<f-args>])
+com! -nargs=* VCSStatus call s:ExecuteVCSCommand('Status', [<f-args>])
+com! -nargs=* VCSUnlock call s:MarkOrigBufferForSetup(s:ExecuteVCSCommand('Unlock', [<f-args>]))
+com! -nargs=0 VCSUpdate call s:MarkOrigBufferForSetup(s:ExecuteVCSCommand('Update', []))
 com! -nargs=* VCSVimDiff call s:VCSVimDiff(<f-args>)
 
 " Section: VCS buffer management commands {{{2
@@ -1092,7 +1076,7 @@
 com! VCSCommandEnableBufferSetup call VCSCommandEnableBufferSetup()
 
 " Allow reloading VCSCommand.vim
-com! VCSReload let savedPluginFiles = s:pluginFiles|aunmenu Plugin.VCS|unlet! g:loaded_VCSCommand|runtime plugin/vcscommand.vim|for file in savedPluginFiles|execute 'source' file|endfor
+com! VCSReload let savedPlugins = s:plugins|let s:plugins = {}|aunmenu Plugin.VCS|unlet! g:loaded_VCSCommand|runtime plugin/vcscommand.vim|for plugin in values(savedPlugins)|execute 'source' plugin[0]|endfor|unlet savedPlugins
 
 " Section: Plugin command mappings {{{1
 nnoremap <silent> <Plug>VCSAdd :VCSAdd<CR>

Modified: trunk/packages/vim-scripts/plugin/vcscvs.vim
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/plugin/vcscvs.vim?rev=1190&op=diff
==============================================================================
--- trunk/packages/vim-scripts/plugin/vcscvs.vim (original)
+++ trunk/packages/vim-scripts/plugin/vcscvs.vim Tue Feb  5 21:42:48 2008
@@ -111,6 +111,22 @@
     return VCSCommandDoCommand(fullCmd, a:cmdName, a:statusText)
   else
     throw 'CVS VCSCommand plugin called on non-CVS item.'
+  endif
+endfunction
+
+" Function: GetRevision() {{{2
+" Function for retrieving the current buffer's revision number.
+" Returns: Revision number or an empty string if an error occurs.
+
+function! GetRevision()
+  if !exists('b:VCSCommandBufferInfo')
+    let b:VCSCommandBufferInfo =  s:cvsFunctions.GetBufferInfo()
+  endif
+
+  if len(b:VCSCommandBufferInfo) > 0
+    return b:VCSCommandBufferInfo[0]
+  else
+    return ''
   endif
 endfunction
 
@@ -167,7 +183,7 @@
       " CVS defaults to pulling HEAD, regardless of current branch.
       " Therefore, always pass desired revision.
       let caption = ''
-      let options = ['-r' .  VCSCommandGetRevision()]
+      let options = ['-r' .  GetRevision()]
     endif
   elseif len(a:argList) == 1 && a:argList[0] !~ '^-'
     let caption = a:argList[0]

Added: trunk/packages/vim-scripts/plugin/vcsgit.vim
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/plugin/vcsgit.vim?rev=1190&op=file
==============================================================================
--- trunk/packages/vim-scripts/plugin/vcsgit.vim (added)
+++ trunk/packages/vim-scripts/plugin/vcsgit.vim Tue Feb  5 21:42:48 2008
@@ -1,0 +1,234 @@
+" vim600: set foldmethod=marker:
+"
+" git extension for VCSCommand.
+"
+" Version:       VCS development
+" Maintainer:    Bob Hiestand <bob.hiestand at gmail.com>
+" License:
+" Copyright (c) 2007 Bob Hiestand
+"
+" Permission is hereby granted, free of charge, to any person obtaining a copy
+" of this software and associated documentation files (the "Software"), to
+" deal in the Software without restriction, including without limitation the
+" rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+" sell copies of the Software, and to permit persons to whom the Software is
+" furnished to do so, subject to the following conditions:
+"
+" The above copyright notice and this permission notice shall be included in
+" all copies or substantial portions of the Software.
+"
+" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+" IN THE SOFTWARE.
+"
+" Section: Documentation {{{1
+"
+" Options documentation: {{{2
+"
+" VCSCommandGitExec
+"   This variable specifies the git executable.  If not set, it defaults to
+"   'git' executed from the user's executable path.
+"
+" VCSCommandGitDiffOpt
+"   This variable, if set, determines the default options passed to the
+"   VCSDiff command.  If any options (starting with '-') are passed to the
+"   command, this variable is not used.
+
+" Section: Plugin header {{{1
+
+if v:version < 700
+	echohl WarningMsg|echomsg 'VCSCommand requires at least VIM 7.0'|echohl None
+	finish
+endif
+
+let s:save_cpo=&cpo
+set cpo&vim
+
+runtime plugin/vcscommand.vim
+
+if !executable(VCSCommandGetOption('VCSCommandGitExec', 'git'))
+	" git is not installed
+	finish
+endif
+
+" Section: Variable initialization {{{1
+
+let s:gitFunctions = {}
+
+" Section: Utility functions {{{1
+
+" Function: s:DoCommand(cmd, cmdName, statusText) {{{2
+" Wrapper to VCSCommandDoCommand to add the name of the git executable to the
+" command argument.
+function! s:DoCommand(cmd, cmdName, statusText)
+	if VCSCommandGetVCSType(expand('%')) == 'git'
+		let fullCmd = VCSCommandGetOption('VCSCommandGitExec', 'git') . ' ' . a:cmd
+		return VCSCommandDoCommand(fullCmd, a:cmdName, a:statusText)
+	else
+		throw 'git VCSCommand plugin called on non-git item.'
+	endif
+endfunction
+
+" Section: VCS function implementations {{{1
+
+" Function: s:gitFunctions.Identify(buffer) {{{2
+function! s:gitFunctions.Identify(buffer)
+	let oldCwd = VCSCommandChangeToCurrentFileDir(resolve(bufname(a:buffer)))
+	try
+		call system(VCSCommandGetOption('VCSCommandGitExec', 'git') . ' rev-parse --is-inside-work-tree')
+		if(v:shell_error)
+			return 0
+		else
+			return 1
+		endif
+	finally
+		call VCSCommandChdir(oldCwd)
+	endtry
+endfunction
+
+" Function: s:gitFunctions.Add(argList) {{{2
+function! s:gitFunctions.Add(argList)
+	return s:DoCommand(join(['add'] + ['-v'] + a:argList, ' '), 'add', join(a:argList, ' '))
+endfunction
+
+" Function: s:gitFunctions.Annotate(argList) {{{2
+function! s:gitFunctions.Annotate(argList)
+	if len(a:argList) == 0
+		if &filetype == 'gitAnnotate'
+			" Perform annotation of the version indicated by the current line.
+			let options = matchstr(getline('.'),'^\x\+')
+		else
+			let options = ''
+		endif
+	elseif len(a:argList) == 1 && a:argList[0] !~ '^-'
+		let options = a:argList[0]
+	else
+		let options = join(a:argList, ' ')
+	endif
+
+	let resultBuffer = s:DoCommand('blame ' . options . ' -- ', 'annotate', options) 
+	if resultBuffer > 0
+		normal 1G
+		set filetype=gitAnnotate
+	endif
+	return resultBuffer
+endfunction
+
+" Function: s:gitFunctions.Commit(argList) {{{2
+function! s:gitFunctions.Commit(argList)
+	let resultBuffer = s:DoCommand('commit -F "' . a:argList[0] . '"', 'commit', '')
+	if resultBuffer == 0
+		echomsg 'No commit needed.'
+	endif
+	return resultBuffer
+endfunction
+
+" Function: s:gitFunctions.Delete() {{{2
+" All options are passed through.
+function! s:gitFunctions.Delete(argList)
+	let options = a:argList
+	let caption = join(a:argList, ' ')
+	return s:DoCommand(join(['rm'] + options, ' '), 'delete', caption)
+endfunction
+
+" Function: s:gitFunctions.Diff(argList) {{{2
+" Pass-through call to git-diff.  If no options (starting with '-') are found,
+" then the options in the 'VCSCommandGitDiffOpt' variable are added.
+function! s:gitFunctions.Diff(argList)
+	let gitDiffOpt = VCSCommandGetOption('VCSCommandGitDiffOpt', '')
+	if gitDiffOpt == ''
+		let diffOptions = []
+	else
+		let diffOptions = [gitDiffOpt]
+		for arg in a:argList
+			if arg =~ '^-'
+				let diffOptions = []
+				break
+			endif
+		endfor
+	endif
+
+	let resultBuffer = s:DoCommand(join(['diff'] + diffOptions + a:argList), 'diff', join(a:argList))
+	if resultBuffer > 0
+		set filetype=diff
+	else
+		echomsg 'No differences found'
+	endif
+	return resultBuffer
+endfunction
+
+" Function: s:gitFunctions.GetBufferInfo() {{{2
+" Provides version control details for the current file.  Current version
+" number and current repository version number are required to be returned by
+" the vcscommand plugin.  This CVS extension adds branch name to the return
+" list as well.
+" Returns: List of results:  [revision, repository, branch]
+
+function! s:gitFunctions.GetBufferInfo()
+	let oldCwd = VCSCommandChangeToCurrentFileDir(resolve(bufname('%')))
+	try
+		let branch = substitute(system(VCSCommandGetOption('VCSCommandGitExec', 'git') . ' symbolic-ref HEAD'), '\n$', '', '')
+		let branch = substitute(branch, '^refs/heads/', '', '')
+		return[branch]
+	finally
+		call VCSCommandChdir(oldCwd)
+	endtry
+endfunction
+
+" Function: s:gitFunctions.Log() {{{2
+function! s:gitFunctions.Log(argList)
+	let resultBuffer=s:DoCommand(join(['log'] + a:argList), 'log', join(a:argList, ' '))
+	if resultBuffer > 0
+		set filetype=gitlog
+	endif
+	return resultBuffer
+endfunction
+
+" Function: s:gitFunctions.Revert(argList) {{{2
+function! s:gitFunctions.Revert(argList)
+	return s:DoCommand('checkout', 'revert', '')
+endfunction
+
+" Function: s:gitFunctions.Review(argList) {{{2
+function! s:gitFunctions.Review(argList)
+	if len(a:argList) == 0
+		let revision = 'HEAD'
+	else
+		let revision = a:argList[0]
+	endif
+
+	let oldCwd = VCSCommandChangeToCurrentFileDir(resolve(bufname('%')))
+	try
+		let prefix = system(VCSCommandGetOption('VCSCommandGitExec', 'git') . ' rev-parse --show-prefix')
+	finally
+		call VCSCommandChdir(oldCwd)
+	endtry
+
+	let prefix = substitute(prefix, '\n$', '', '')
+	let blob = revision . ':' . prefix . '<VCSCOMMANDFILE>' 
+	let resultBuffer = s:DoCommand('show ' . blob, 'review', revision)
+	if resultBuffer > 0
+		let &filetype=getbufvar(b:VCSCommandOriginalBuffer, '&filetype')
+	endif
+	return resultBuffer
+endfunction
+
+" Function: s:gitFunctions.Status(argList) {{{2
+function! s:gitFunctions.Status(argList)
+	throw "This command is not implemented for git.  If you have an idea for what it should do, please let me know."
+endfunction
+
+" Function: s:gitFunctions.Update(argList) {{{2
+function! s:gitFunctions.Update(argList)
+	throw "This command is not implemented for git because file-by-file update doesn't make much sense in that context.  If you have an idea for what it should do, please let me know."
+endfunction
+
+
+" Section: Plugin Registration {{{1
+call VCSCommandRegisterModule('git', expand('<sfile>'), s:gitFunctions, [])
+
+let &cpo = s:save_cpo




More information about the pkg-vim-maintainers mailing list