sponsor Vim development Vim logo Vim Book Ad

svnj.vim : vim svn plugin (subversion svn ) svn browser

 script karma  Rating 11/5, Downloaded by 218    Comments, bugs, improvements  Vim wiki

created by
juneed ahamed
script type
VIM (VIM 7 and up) plugin for subversion (svn)

Support for browsing the repository, working copy, bookmarks and more

Repo :    https://github.com/juneedahamed/svnj.vim

screenshots  :  

Supported OS

Supported operations
     svn log, status, diff, blame, list, info


     1. SVNBrowse

         Browse the svn repository, working copy files from within vim.
         Bookmark files/directories for current vim session or provide permanent bookmarks/favorites from .vimrc.
         Ability to open/openall/diff/log the browsed files.

         Available options for browsing are

            - SVNBrowse
            - SVNBrowseRepo
            - SVNBrowseWorkingCopy
            - SVNBrowseMyList
            - SVNBrowseBookMarks
          Some of the operations supported are

               - Open directory/files
               - Recursive list directories
               - Navigate up one dir
               - Go to Start/Top
               - Open all files
               - Display log of a file/dir
               - Diff the current file with the file in buffer
               - Mark for open/diff
               - Bookmark file for current session
               - Display affected files

     2. SVNLog
         Get the revisions of file in buffer. With the list of revisions from the output.
          - open/diff required file revision
          - mark required revision to open/diff
          - list trunk
          - list branches
          - diff/open files across branches/trunk
          - Affected files

      3. SVNStatus
          Get the output of svn st. With the listed files
          - open any/all files
          - mark required files to open
           - pass q/u option to svn st
           - global option to ignore files

       4. SVNComitts
            Get the list of files checked in across project revision. This command lists the output of svn log of the project directory.  
            - list HEAD/PREV
           - mark revisions for comparing across marked revisions
           - open any/all/marked files listed
      5. SVNDiff
         Immediate diff the file in buffer with the previous revision
         For diff with selected revision use SVNLog

      6. SVNClearCache
          The cache / persistency is not enabled by default. please see help SVNClearCache for more info.

Lists all branches or trunk
    Optional settings when available will provide menu's to navigate available branches/trunk
    At .vimrc add
                   let g:svnj_trunk_url = "svn://";
                   let g:svnj_branch_url = "svn://";

    For more info run :help svnj-options

Basic Usage:
    Run from vim command line
    :SVNBrowse  ,   :SVNBrowseWorkingCopy ,  :SVNBrowseRepo, :SVNBrowseBookMarks , :SVNBrowseMyList
    :help svn
install details
Options 1: (Pathogen Users)
    cd ~/.vim/bundle
    unzip svnj.vim.0.8.zip

Option 2:
    Download to some folder

    unzip svnj.vim.0.8.zip
    cp -r svnj.vim/plugin/*  ~/.vim/plugin    
    cp -r svnj.vim/autoload/* ~/.vim/autoload
    cp -r svnj.vim/doc/*  ~/.vim/doc

    Run at vim's command :helptags doc

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
svnj.vim.0.8.zip 0.8 2014-05-17 7.0 juneed ahamed + NEW Highlights:  
     Sticky (Ctrl-s), Browsing(Ctrl-h), Diffed files(Ctrl-q)
     Bookmark files listed in SVNStatus window
     Browsing recursive up, Vertical split
     Number of logs to display as argument where applicable
     SVNBlame binds
     Fuzzzy speed improvements
     Quick glance operation using "?"
     New options g:svnj_sticky_on_start, g:svnj_window_max_size
                 g:svnj_custom_sticky_hl, g:svnj_warn_branch_log

+ STICKY, Now can have the svnj window remain on after file selections. Useful
  for doing multiple operations on different files/directories.

  Ctrl-s toggles the STICKY behavior. This operation is available for all
  SVNJ commands which brings up the svnj window.

  If you like the sticky behavior and would like to start as default on use
  the option g:svnj_sticky_on_start as 1 default is 0. At .vimrc
   let g:svnj_sticky_on_start = 1

+ Added Ctrl-q to the files diffed from SVNJWindow. Press Ctrl-q on the diffed
  file. If the sticky is enabled on svnj window, the control/cursor will land back
  on the svnj window.  Very helpfull when need to diff/compare a few versions for
  a given file. See an example usage above as |How to use sticky and Ctrl-q|

+ Speed up fuzzy search

+ Added Ctrl-h to browsing, Takes to repository root if the current directory is
  a revisioned else to Working copy root if working copy. If at working copy
  the first Ctrl-h jumps to Working copy root and again the second Ctrl-h jumps
  to $HOME. Save a few keystorkes

+ Now can bookmark status output, the file/dir will can be bookmarked to open and
  operate on later

+ SVNLog, SVNCommits takes in an optional numeric values as the number of logs to
  display, When not provided will use the default or the value specified
  in g:svnj_max_logs

+ Browsing recursive, If navigating downwards was recursive so will be the upward
  navigation and vice versa

+ Added Ctrl-v to open as vertical split

+ SVNBlame now scrollbinds to file.  When the cursor in the blame buffer is moved
  the file on the right buffer will be in sync with the blame file

+ Added g:svnj_window_max_size to handle the size of svnj window

+ Added F5 to redraw buffer

+ Added "?" as help display supported operations. Now can disable the
  operations using
   let g:svnj_custom_statusbar_ops_hide = 1
  and then use ? to bring out the supported operations for a quick glance

+ Added Ctrl-i for log output to display info and log (Useful if the comments are

+ Bookmark sign is shown while browsing bookmarks list, now its easier to unbook
+ Fixed filename/dirs with spaces/special chars.
svnj.vim.0.7.zip 0.7 2014-05-04 7.0 juneed ahamed Fixed an issue which caused non revisioned files not getting open while browsing.
Please report any issues on github
svnj.vim.0.6.zip 0.6 2014-05-03 7.0 juneed ahamed ADDITIONS:

+ Support for WINDOWS (tested on vim 7.4 should work from 7.0)
+ Support fuzzy with out python  
+ Support for caching - helps improve speed while doing svn files retrieval
  Only for browsing files, Should be enabled, Default is off

+ Affected files operation for SVNBrowse, SVNLog and SVNCommits. THIS IS GOOD :)
  |Ctrl-a| brings up the affected files for the selected revision.  It is available for
  the outputs of browsing and log. Selecting more than one will diff the selected revisions
  and brings out the changed/affected files across the revisions.

+ Added Ctrl-y which will display the svn cmd used. If a better cmd/opt can be used let me

+ Added SVNClearCache to clear all cached info

+ Added command SVNInfo


+ SVNCommits now accepts directories.  A '.' will be expanded to the current directory
+ SVNLog now accepts directories or files.
+ SVNStatus now accepts directories.
+ SVNBrowseRepo now accepts "/" and start browsing from the root of repository
+ SVNBrowseRepo, SVNBrowseWorkingCopy, SVNBrowseBookMarks now can be cached
   NOT Enabled by default. Need to enable this see :help SVNClearCache
+ SVNBrowseRepo, SVNBrowseWorkingCopy now has Ctrl-r to refresh, recreates cache
+ SVNBrowseWorkingCopy, SVNBrowseRepo recursive listing can now be controlled using
  g:svnj_browse_max_files_cnt and g:svnj_browse_repo_max_files_cnt

+ Highlighting of Mark/Selected file
+ Diff when browsing local files
svnj.vim.0.5.zip 0.5 2014-04-19 7.0 juneed ahamed FIXED:
  + statusline getting disappeared in few scenarios  

  + Added BrowseWorkingCopyRec
     - This command recusrively lists file, avoids a few key strokes
  + BrowseWorkingCopy[Rec] command now works for local files/directories also,
     The svn commands like show logs will report error if the selected entry is not
     an svn entity, Other operations like open should work
  + Supported Ctrl-Enter for BrowseMenu on Repo and Workingcopy , saves again few keystorkes
  + OpenAll [Ctrl-o ] operation in case of Browse, Status and Commits will honor the filter,
    Files shown only on the buffer will be candidates to be opened
  + Added Ctrl-i for browsed and stats file, this lists the svn info of file/dir
  + Enhanced file fetcher, limits the depth/number of files fetched
  + status line shows number for files selected/marked
  + Added more customization options
     g:svnj_custom_statusbar_ops_hl, g:svnj_custom_statusbar_ops_hide,
svnj.vim.0.4.zip 0.4 2014-04-13 7.0 juneed ahamed   + Added support to browse the entire svn using |SVNBrowse| command
  + Added support to browse the working directory using |SVNBrowseWorkingCopy| command
  + Added support for permanent bookmarks see g:svnj_browse_mylist
  + Added support for multiple branches at g:svnj_branch_url
        - Hint svn tag  
  + Added support to navigate entire SVN without any configuration
     NOTE: Using configuration options like g:svnj_browse_mylist and g:svnj_branch_url
           will help navigate faster.  Again g:svnj_branch_url supports coma seperated
  + Added sign(s) for file/logs selection
  + Added support for customization
     use    :help svnj-customize
  + Added following Key Mapping
        |Ctrl-t|  : Go to start
        |Ctrl-u|  : Go up
  + Added more files to ignore list
  - Removed |SVNList|, |SVNListRec| in favor of SVNBrowse and SVNBrowseWorkingCopy and

   Known Issue.
   1. Marking/Selecting the file/directory using Ctrl-Space highlights the line
      Later navigating away from the path say going up the directory and recusrive list
      of contents donot highlights the line though remembers the marked file and open/diffs
      the file. (Will Fix later)
svnj.vim.0.3.zip 0.3 2014-03-26 7.0 juneed ahamed + Added Fuzzy search at filter
    NOTE:  Needs vim with python for fuzzy search

+ Added SVNList, SVNListRec

+ Stream lined operations
+ Added option to open files without splits
+ Bug fixes
svnj.vim.0.2.zip 0.2 2014-03-15 7.0 juneed ahamed Enhanced file lookup across branches and trunk. When directory structure across branches do not match and when more than one candidate is available in the lookup branch, the list of files are displayed for selecting the proper file.
svnj.vim.zip 0.1 2014-03-13 7.0 juneed ahamed 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.
SourceForge.net Logo