sponsor Vim development Vim logo Vim Book Ad

aurum : Plugin for dealing with source files under various VCS control

 script karma  Rating 44/19, Downloaded by 7998  Comments, bugs, improvements  Vim wiki

created by
ZyX
 
script type
utility
 
description

This plugin provides a vim <--> VCS (currently mercurial, git and subversion)
integration for your projects. Features:
  - Partially committing changes (:AuRecord [1]).
  - Viewing file state at particular revision (aurum://file [2], :AuFile [3]).
  - Viewing uncommited changes in a vimdiff [4], as well as changes between
    specific revisions (:AuVimDiff [5]). It is also possible to open multiple
    tabs with all changes to all files viewed as side-by-side diffs.
  - Viewing revisions log (:AuLog [6]). Output is highly customizable.
  - Viewing working directory status (:AuStatus [7]).
  - Commiting changes (:AuCommit [8]), commit messages are remembered in case of
    rollback (g:aurum_remembermsg [9]).
  - Obtaining various URL’s out of remote repository URL (like URL of the HTML
    version of the current file with URL fragment pointing to the current line
    attached: useful for sharing) (:AuHyperlink [10]). For mercurial it also
    supports git and subversion revisions (in case you are using hg-git and
    hgsubversion respectively).
  - aurum#changeset() [11], aurum#repository() [12] and aurum#status() [13] functions
    that are to be used from modeline.
  - Frontends for various other VCS commands.
Most commands can be reached with a set of mappings (see aurum-mappings [14]),
all mappings are customizable.

Plugin’s mercurial driver is able to use mercurial python API as well as its
CLI, but remember that the former is much slower and less tested. In order to
use mercurial python API you must have vim compiled with +python [15] (mercurial
currently does not support python 3) and have mercurial in python’s sys.path
(note: on windows msi installer is not adding mercurial to sys.path, so you
won’t be able to use its python API).

Plugin requires some additional plugins:
  - frawor (https://bitbucket.org/ZyX_I/frawor)
  - (optional) ansi_esc_echo (https://bitbucket.org/ZyX_I/ansi_esc_echo)
  - (optional) one of
      - Command-T (vimscript #3025)
      - ctrlp (vimscript #3736)
      - FuzzyFinder (vimscript #1984)
      - unite (vimscript #3396)
      - ku (vimscript #2337)
      - tlib (vimscript #1863)
    for :AuFile [3] prompt option and a number of OpenAny/AnnotateAny mappings.
(with their dependencies).

Note: aurum supports VAM (https://github.com/MarcWeber/vim-addon-manager). It
      is prefered that you use it for aurum installation.


Project page: https://bitbucket.org/ZyX_I/aurum
Documentation: http://vimpluginloader.sourceforge.net/doc/aurum.txt.html


[1] http://vimcommunity.bitbucket.org/doc/aurum.txt.html#.3aAuRecord
[2] http://vimcommunity.bitbucket.org/doc/aurum.txt.html#aurum.3a.2f.2ffile
[3] http://vimcommunity.bitbucket.org/doc/aurum.txt.html#.3aAuFile
[4] http://vimcommunity.bitbucket.org/doc/diff.txt.html#vimdiff
[5] http://vimcommunity.bitbucket.org/doc/aurum.txt.html#.3aAuVimDiff
[6] http://vimcommunity.bitbucket.org/doc/aurum.txt.html#.3aAuLog
[7] http://vimcommunity.bitbucket.org/doc/aurum.txt.html#.3aAuStatus
[8] http://vimcommunity.bitbucket.org/doc/aurum.txt.html#.3aAuCommit
[9] http://vimcommunity.bitbucket.org/doc/aurum.txt.html#g.3aaurum_remembermsg
[10] http://vimcommunity.bitbucket.org/doc/aurum.txt.html#.3aAuHyperlink
[11] http://vimcommunity.bitbucket.org/doc/aurum.txt.html#aurum.23changeset.28.29
[12] http://vimcommunity.bitbucket.org/doc/aurum.txt.html#aurum.23repository.28.29
[13] http://vimcommunity.bitbucket.org/doc/aurum.txt.html#aurum.23status.28.29
[14] http://vimcommunity.bitbucket.org/doc/aurum.txt.html#aurum-mappings
[15] http://vimcommunity.bitbucket.org/doc/various.txt.html#.2bpython

 
install details
You can install this plugin using vim-addon-manager (vimscript #2905) plugin (install VAM, run “ActivateAddons aurum” and add “call vam#ActivateAddons(['aurum'])” to your .vimrc. VAM will install all dependencies for you). You can also use archives attached to this page, they contain plugin with all dependencies, so you do not need to fetch them yourself.

Gentoo users can use the following mercurial overlay: http://vimpluginloader.hg.sourceforge.net:8000/hgroot/vimpluginloader/pluginloader-overlay.
 

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
aurum-1.8.1.tar.gz 1.8.1 2013-10-11 7.3 ZyX Two fixes to gJ/gK mappings: update did not work with renames equal to zero and subversion driver incorrectly set “children” property
aurum-1.8.tar.gz 1.8 2013-10-06 7.3 ZyX Improved :AuName [1] completion.
Added :AuRecord [2] amend and :AuCommit [3] amend.
J/K mappings used in buffers opened by :AuVimDiff [4] now do not cancel diff mode.
Add gJ/gK mappings for aurum://file [5] and aurum://annotate [6]: they bring the
user to the next or previous revision where given file changed.
Add <C-r><C-h> and <C-r><C-v> global mappings: they insert current revision hash
(<C-r><C-h>) or current revision number into the buffer or command-line.
Updated hypsites so that they now know about sourceforge update and
code.google.com/r URLs.
Subversion driver is now faster when using gJ/gK mappings in aurum://file [5]
buffers.
Some fixes:
- Workaround problem when committing Gentoo ebuild if Gentoo plugins are
  installed.
- aurum:// [7] buffers are automatically closed in case they failed to open.
- aurum://edit buffers (used in :AuRecord [2]) now do not fail for non-existent
  files.
- Subversion driver now does not create duplicate entries in :AuLog [8] output.
- Subversion driver now does filter files in aurum-rf-status [9] function in
  all cases.

[1] http://vimpluginloader.sourceforge.net/doc/aurum.txt.html#.3aAuName
[2
] http://vimpluginloader.sourceforge.net/doc/aurum.txt.html#.3aAuRecord
[3
] http://vimpluginloader.sourceforge.net/doc/aurum.txt.html#.3aAuCommit
[4
] http://vimpluginloader.sourceforge.net/doc/aurum.txt.html#.3aAuVimDiff
[5
] http://vimpluginloader.sourceforge.net/doc/aurum.txt.html#aurum.3a.2f.2ffile
[6
] http://vimpluginloader.sourceforge.net/doc/aurum.txt.html#aurum.3a.2f.2fannotate
[7
] http://vimpluginloader.sourceforge.net/doc/aurum.txt.html#aurum.3a.2f.2f
[8
] http://vimpluginloader.sourceforge.net/doc/aurum.txt.html#.3aAuLog
[9
] http://vimpluginloader.sourceforge.net/doc/aurum.txt.html#aurum-rf-status
aurum-1.7.1.tar.gz 1.7.1 2013-03-28 7.3 ZyX Make :AuH always use current changeset (it was using working directory changeset for url types “bundle”, “changeset” and “log”)
Fix “buffer does not exist” message shown after committing with AuRecord
aurum-1.7.tar.gz 1.7 2013-02-09 9999 ZyX Added new powerline support
Added a number of AuFile mappings
Improved handling of wiping vimdiff buffers
Added renames support in AuFile and AuAnnotate
Added g:aurum_showprogress option
Added partial support for pygit2
Added partial support for bzrlib
Made querying status in separate process work regardless of presense of pyeval()
Fixed cursorbind for AuAnnotate
Fixed occasionally happenning “Cannot convert returned object to vim value” error
Fixed forced branch delete for git driver
Made it use new frawor autoloading capabilities
aurum-1.6.tar.gz 1.6 2012-11-01 7.3 ZyX Made aurum#status and aurum#branch functions use python multiprocessing module for improving their speed (not in bazaar driver)
Made repo.functions.pull also update when using mercurial driver
Made repo.functions.pull use “svn update” in subversion driver
Added full undo support in :AuRecord status buffer (it now can undo changes to file you edited)
Removed some unneeded Hit-Enter prompts
Added support for passwords in subversion (and other) repository URLs
Added mappings for opening diff or vimdiff split(s) from commit buffer
Added option for automatically opening diff with changes that are to be committed (excluding unknown and deleted files) when commit buffer is opened
Added initial bazaar support (all functions are there and working, but speed is far from optimal)
aurum-1.5.7.tar.gz 1.5.7 2012-10-06 7.3 ZyX Made git driver use fast-forward merges when pulling
Now using ansi_esc_echo in more cases
Fixed AuGrep when using git driver (errors when grep found nothing)
Fixed :AuHyperlink when using git driver (problems when pushurl is not defined, regression introduced in 1.5.1)
Made gitrepo.push/pull not be silent
aurum-1.5.6.tar.gz 1.5.6 2012-09-02 7.3 ZyX Added support tlib, ku and unite
Made AuVimDiff full only narrow file list when “files” option was specified
Improved code that disables vimdiff when closing one of the buffers: it is now always used and it works when closing both “original” and “changeset” versions
aurum-1.5.5.tar.gz 1.5.5 2012-08-19 7.3 ZyX Added :AuFile prompt option and corresponding OpenAny global mapping
Improved folding and foldtext in diff filetype plugin
Fixed phase updating in non-python version of mercurial driver
aurum-1.5.4.tar.gz 1.5.4 2012-08-12 7.3 ZyX Fixed listing of ignored files in git driver
aurum-1.5.1.tar.gz 1.5.1 2012-08-12 7.3 ZyX Added $parents_, $children_ and $tags_ template words, improved mimicing of mercurial log
Added support for listing ignored files in repo.functions.status in non-mercurial drivers
Improved support for older mercurial versions
aurum#status now does not report status for buffers with non-empty &buftype
Speeded up some shell calls (requires python)
Fixed mercurial repository updating when user did history editing
Fixed template compiler that was removing some $words and joining lines under certain conditions
Fixed error message when trying to annotate untracked file
Fixed aurum://annotate buffers highlighting and detection of full descriptions
Made :AuCommit use :startinsert! so that now cursor will appear at the end of line
Fixed repo.functions.grep in non-python version of mercurial driver
Fixed phases support in non-python version of mercurial driver
aurum-1.5.tar.gz 1.5 2012-07-02 7.3 ZyX Added autoaddlog AuLog option (lazy loading of changesets that are not immediately displayed)
Added powerline support (requires some changes to powerline theme and coloscheme)
Added aurum#branch()
Added support for vim.bindeval (added to vim since 7.3.569)
Added progress bar support to :AuLog
Changed AuHyperlink syntax, added AuHyperlink lines (points to a lines range. Currently only github is supported)
Added support for phases (mercurial driver only)
Added ansi_esc_echo plugin support (untested) (adds colored output, but uses :echo instead of :echom thus it is not saved in :messages)
Improved git driver speed
Improved repository object updating
Fixed some mappings (they did not conform other ones)
Fixed calling aurum commands not inside a repository
Fixed gettiphex function in git driver in case master branch is not present
Refactoring: moved almost all files to autoload/
aurum-1.4.11.tar.gz 1.4.11 2012-04-03 7.3 ZyX Added :AuLog ignfiles diff (for [vim]diff AuLog mappings) and open (for annotate, open, diff and similar AuLog mappings) options
Added location list support to :AuGrep
Added aurum python module reloading
Added g:aurum_loglimit option
Added support for custom mappings to :AuLog procinput
Renamed g:aurum_closewindow option to g:aurum_closelogwindow and g:aurum_usewin to g:aurum_vimdiffusewin
Mercurial graph drawing function optimizations (reduced time needed to draw cpython log from about 116 seconds to 97 on my machine)
:AuLog files option is supported in more mappings
aurum-1.4.10.tar.gz 1.4.10 2012-03-21 7.3 ZyX Added subversion revisions and git sha1s support to mercurial driver for hgsubversion and hg-git respectively (latter works only with python version of driver)
Added push and pull (pull+update) global mappings
Fixed repository object updating in non-python driver
Made it restore some settings values after quiting annotation mode, made :AuAnnotate also set nowrap
aurum-1.4.9.tar.gz 1.4.9 2012-03-10 7.3 ZyX Added :AuOther push/pull/incoming/outgoing command
Fixed :AuFile replace
Fixed repo.functions.grep in newer mercurial versions
aurum-1.4.8.tar.gz 1.4.8 2012-03-02 7.3 ZyX Made aurum:// *Cmd events support ++opts
Made mappings for aurum://file and aurum://diff be created in more cases when these buffers are obtained using some mapping
Support more complex commands in procinput mode
Added svn-like logging style
Fixed :AuHyperlink with some URL types
Fixed :AuVimDiff failure to restore state in some cases
aurum-1.4.7.tar.gz 1.4.7 2012-02-11 7.3 ZyX Made :AuLog procinput be able to handle non-single-key commads (support is limited though)
Made subversion driver less fragile
Fixed :AuHyperlink support in git and subversion drivers
Fixed syntax highlighting for revision numbers in :AuLog subversionrepo
Fixed :read aurum://log
aurum-1.4.6.tar.gz 1.4.6 2012-02-05 7.3 ZyX Improved repo.functions.readfile(): it should now work correctly with binary files
Fixed launching :AuRecord in an old vim instance with already opened files
aurum-1.4.5.tar.gz 1.4.5 2012-02-04 7.3 ZyX Made *Update avoid “detached HEAD” state whenever possible when using git driver
aurum-1.4.4.tar.gz 1.4.4 2012-02-04 7.3 ZyX Improved :AuCommit: it now throws an error if there is nothing to commit
Improved sourceforge subversion checkouts support
Added macros that reloads aurum
aurum-1.4.3.tar.gz 1.4.3 2012-02-04 7.3 ZyX Made :AuJunk, :AuTrack and :AuMove normally work with directories
aurum-1.4.2.tar.gz 1.4.2 2012-02-01 7.3 ZyX Added subversion support
Fixed committing forgotten files in the git driver
Added repository object caching
Made different mappings more verbose in case of failure
aurum-1.4.1.tar.gz 1.4.1 2012-01-22 7.3 ZyX Renamed :AuStatus “rev1” and “rev2” options to “rev” and “wdrev” respectively
Added :AuStatus “changes” option
Added more mappings that invoke full vimdiff
Made gM be now default rhs for AuLog date mapping (old “gD” is taken by one of full vimdiff mappings)
Made git grapher also draw skipped changesets, though without messages
aurum-1.4.tar.gz 1.4 2012-01-14 7.3 ZyX Added incremental update support to aurum://log so that you can view and use log buffers while log is being generated
Made :AuLog limit option apply after any other selector
Added g:aurum_hg_useshell option that makes you able to launch pre/post-{command} hooks while using Mercurial Python API

Fixed :write aurum://commit
Fixed AuLog Prev/Next mappings: they did not work if some revisions were skipped
Fixed :AuCommit called in a diff buffer with full diff: it did not want to commit anything
aurum-1.3.tar.gz 1.3 2012-01-03 7.3 ZyX Added git driver
Added g:aurum_bufleaveremembermsg option
Added support for sourcing aurum://file URLs
Added git and gitoneline log styles
Added graphing code ported from git
Made :AuJunk use untracked files if “ignore” option was specified

Various fixes:
— Fixed :AuMove repo/file repo/file2
— Fixed :AuCommit repo path/to/repo all
— Fixed grepping with mercurial+python driver: it now supports all possible filenames
aurum-1.2.2.tar.gz 1.2.2 2011-12-09 7.3 ZyX Added :AuName and :AuBranch commands
aurum-1.1.tar.gz 1.1 2011-12-08 7.3 ZyX Made it possible to write your own SCM drivers
Some additions and fixes to :AuHyperlink remote repositories support
aurum-1.0.tar.gz 1.0 2011-11-29 7.3 ZyX Initial release
ip used for rating: 3.91.19.28

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.
   
Vim at Github