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> script karma </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> </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. Keywords: 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. Keywords: 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> </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. Also, read the CHANGES.txt file to learn about changes since cvscommand.vim.
<br>
<br>For Vim 7:
<br>
<br> Unzip the installation file.
<br> Move the vcscommand.vim, vcscvs.vim, and vcssvn.vim scripts into your plugin directory.
<br> 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). 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. Also, read the CHANGES.txt file to learn about changes since cvscommand.vim.
<br>
<br>For Vim 7:
<br>
<br> Unzip the installation file.
<br> Move the vcscommand.vim, vcscvs.vim, vcssvn.vim, vcssvk.vim, and vcsgit.vim scripts into your plugin directory.
<br> 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). This only supports CVS.</td></tr>
<tr><td> </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. 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. 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. 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> VCSLock
<br> VCSRevert
<br> VCSUnlock
<br> 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. This is mapped to '<leader>ci' by default; as a consequence, the
<br>default mapping for the CVS-specific CVSEditors command was changed to
<br>'<leader>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. 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. 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. 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> VCSLock
<br> VCSRevert
<br> VCSUnlock
<br> 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. This is mapped to '<leader>ci' by default; as a consequence, the
<br>default mapping for the CVS-specific CVSEditors command was changed to
<br>'<leader>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. 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. 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>'<Leader>c' instead of '<Leader>v'. This is to avoid conflict with existing plugins using the '<Leader>v' prefix. Please note that the mappings can still be overridden by the user using <Plug> mappings. Please consult the documentation for more information.
<br>
<br>Removed special characters other than parentheses from output buffer names. 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). Usage:
<br>
<br>:CVSCommit <log message text here></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: 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. Now, the new buffer uses the version on the current line. To obtain the old behavior, set CVSCommandAnnotateParent to a non-zero value. The header lines resulting from the cvs annotate command are now trimmed. 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. 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. 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. Buffers start with 1, not 0. 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 (<Leader>cg and <Leader> cG for with and without '!', respectively). This command jumps to the source buffer if the current buffer is a CVS output buffer. 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>'<Leader>c' instead of '<Leader>v'. This is to avoid conflict with existing plugins using the '<Leader>v' prefix. Please note that the mappings can still be overridden by the user using <Plug> mappings. Please consult the documentation for more information.
<br>
<br>Removed special characters other than parentheses from output buffer names. 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). Usage:
<br>
<br>:CVSCommit <log message text here></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: 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. Now, the new buffer uses the version on the current line. To obtain the old behavior, set CVSCommandAnnotateParent to a non-zero value. The header lines resulting from the cvs annotate command are now trimmed. 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. 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. 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. Buffers start with 1, not 0. 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 (<Leader>cg and <Leader> cG for with and without '!', respectively). This command jumps to the source buffer if the current buffer is a CVS output buffer. 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