sponsor Vim development Vim logo Vim Book Ad

svnTools : Perform subversion commands from within vim.

 script karma  Rating 20/10, Downloaded by 401  Comments, bugs, improvements  Vim wiki

created by
Javier Puigdevall
script type
Allows to launch several svn commands from within vim.

Use :Svnh to show a command help.

- Info commands:
    Svni                 : get current revision info.
    Svnif                : get current file revision info.

- Blame commands:
    Svnbl                : get blame of current file.
    Svnblv               : get verbose blame of current file.

- Status commands:
    Svnst                : show file's status (conceal symbols: X and ?).
    Svnsta               : show status files (show all symbols).
    Svnstf               : show current file status.
    Svnstd               : show current directory status.
    Svnsth               : show the svn status symbols' help.

- Log commands:
    Svnl [NUM]           : get subversion log (num. commits, defaults to 3000).
    Svnls PATTERN [NUM]  : log search pattern (num. commits, defaults to 3000).
    Svnlf FILEPATH       : show file log.

- Diff commands:
    Svndf                 : get diff of changes on current file.
    Svndd                : get diff of changes on current directory.
    Svnda                : get diff of changes on current workind directory.

- Diff files with vimdiff commands:
    Svnvda               : show (vimdiff) all files with changes (alows to skip binaries).
    SvnvdA               : show (vimdiff) selected files with changes (alows to skip binaries).
    Svnvdf                : show (vimdiff) current file changes.
    Svnvdd               : show (vimdiff) current directory changes.
    Svnvdr REV        : show revision log and open the selected revision changes with vimdiff.          
- Directory compare commands (sandbox compare):
    Svndc DIR1 DIR2        : show (diff) changes between two directories.
    SvndC DIR1 DIR2       : show (diff) changes between two directories, skip binaries.
    Svnvdc DIR1 DIR2      : show (vimdiff) changes between two directories.
    SvnvdC DIR1 DIR2     : show (vimdiff) changes between two directories, skip binaries, files not differing.
                                                                                                                                                                                                                                                                               - Revision commands:
    Svnr REV                     : get diff of selected revision number.
    Svncr REV                   : cat revision number

- Conflicts commands:
    Svnm [LAYOUT]            : merge all conflicts with vimdiff. Layouts: 0 1 2 (default layout: 2).
    Svnmf [LAYOUT]           : merge current file conflict with vimdiff. Layouts: 0 1 2 (default layout: 2).
    Svnmp FILE [LAYOUT]  : merge file conflict with vimdiff. Layouts: 0 1 2 (default layout: 2).
    Svnres [all]                     : perform svn resolve. Use 'all' to resolve all conflicts.
    Svnmh                            : show merge layout help.

- Password settings:
  Optional, if you don't want to use keyring or similar programs.
  The svn password will only be stored for the current vim session.
    let g:svnTools_userAndPsswd = 1
    let g:svnTools_svnUser = "MY_SVN_USER"
    let g:svnTools_storeSvnPsswd = 1
install details
Minimum version: Vim 7.0+
Recomended version: Vim 8.0+

Install vimball:
download svnTools_2.0.1.vmb
vim svnTools_2.0.1.vmb
:so %

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
svnTools_2.0.1.vmb 2.0.1 2022-02-25 7.0 Javier Puigdevall - New: command Vdd, compare with vimdiff all files found on different directories.
    allows to filter files (flags: +fileX, -fileY), skip/keep-only binaries (flags: SB, BO) and/or skip/keep-only equal files (flags: SE, EO).
- New: command Vdf, compare current file with same file on a different directory.
    When the structure paths are the same in both sides, passing as argument the other working directory is enough. ex: 'Vdf ~/Projects/dir2/'
    When comparing directories on the same path, only need to change the directory name. ex: compare same file on sandbox1 with dir2: 'Vdf sandbox1 dir2'
    When comparing directories on the same path, only need to change the directory part to be replaced.ex: compare same file on dir1 with dir2: 'Vdf 1 2'
- New: commands SvnD, SvnDD and SvnDA. Advanced diff on path, allows to filter files (flags: +fileX, -fileY), and skip/keep-only binaries (flags: SB, BO).
- New: commands SvnVD, SvnVDD and SvnVDA. Advanced vimdiff on path, allows to filter files (flags: +fileX -fileY), and skip/keep-only binaries (flags: SB, BO).
- New: Svndc and Svnvdc admit flags SE and SB to skip equal files and binary files. use falgs C1 or C2 to check only changes on path1 or path2.
svnTools_2.0.0.vmb 2.0.0 2022-01-21 7.4 Javier Puigdevall - REFACTORING of the plugin to divide in different files.
- New: on SvnvdC and Svnvdc commands: allow to skip or keep only the files matching the required patterns.
- New: Svnedit command, not showing the plugint/svnTools.vim file.
  New autoload/svnTools/ folder to save the plugin files.
- New: save and restore changes' functions: Svncsv, Svncvd, Svncvdd, Svncr.
  Allowing to save, compare and restore changes.
  Every time we save changes a new  directory is created: _svnTools_changes_YYMMDD_HHMMSS/
  Every modified file is saved as: dir1___dir2___dir3__filename.ext
- New: Svnpwd command, enter user and password.
- New: on Svndvda, Svnvdd commands: allow user to select the files to perform the vimdiff.
- New: on Svndvda, Svnvdd commands: allow user to filter files adding splace separated filter patterns.
svnTools_1.0.6.vmb 1.0.6 2021-05-28 7.0 Javier Puigdevall - New: Svndvdr command, when placed on an svn log and diff file (obtained from Svnr, Svnda, Svndd or Svndf), for each file open the vimdiff of the current log's file revision.                                                                                                                                                                                                                            
- New configuration option g:svnTools_userAndPsswd to use non interactive snv and send user and password in the same command: let g:svnTools_userAndPsswd = 1                                                                                                                                                                                                                                  
- New options to manage svn user and password: g:svnTools_svnUser, g:svnTool_storeSvnPsswd.
svnTools_1.0.5.vmb 1.0.5 2021-02-26 7.0 Javier Puigdevall - New: Svnlr command, when placed on an svn log file, for each revision
  number get its log and diff changes.
- Fix Svnm command, treat status ' C ' as file in conflict.
- Fix Svnm command, treat status !.*C as file in conflict.
- Fix Svnm command, do not try opening merge tool when file in confict is not found.
- Fix GetStatusFilesList function, file path is last column not second one.
- New Svnvmb command, development command to create a vimball release of the plugin.
svnTools.vmb 1.0.4 2020-12-16 7.0 Javier Puigdevall - New on Svnda, Svndd, Svndf: do not allow to modify or save the revision file on vimdiff.                                                                                                                                                                                                                                    
- New Svndc command, show diff between files with changes on two different directories.                                                                                                                                                                                                                                      
- New Svndc command, show diff between files with changes on two different directories, skip binary files.                                                                                                                                                                                                                    
- New Svnmh command: show merge layout help.  
svnTools.vmb 1.0.3 2020-12-10 7.0 Javier Puigdevall - New SvnvdA command. For every modifed file, allows user to get vimdiff, skip (this/all/none) file,                                                                                                                                                                                                                          
    skip (this/all/none) binaries.                                                                                                                                                                                                                                                                                            
- New on Svnvdf/Svnvdd/Svnvda check if file is binary, ask user to skip binary files.                                                                                                                                                                                                                                        
- New on Svnvdc will now show only files with differecnes, omitt any files that do not differ.                                                                                                                                                                                                                                
- New Svnvdca command to show all changes between directories.                                                                                                                                                                                                                                                                
- Fix GetStatusFilesString issue affecting svnTools#VimDiffCompareDirChanges.                                                                                                                                                                                                                                                
- Add Svnm command to merge commit upon conflict.                                                                                                                                                                                                                                                                            
- Add Svnrv command to resolve commit conflicts.                                                                                                                                                                                                                                                                              
- Add Svnst commands to show svn status.                                                                                                                                                                                                                                                                                      
- Adapt to jobs.vim 0.1.0                                                                                                                                                                                                                                                                                                    
- Add Svnvdr command to show vimdiff on files modified on selected revision.
svnTools.tar.gz 1.01 2020-06-22 7.0 Javier Puigdevall Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.