cvs(3)svn - MicroEmacs SVN interface
svn-setup - MicroEmacs SVN interface setup
svn-add - MicroEmacs SVN interface - add items
svn-blame - MicroEmacs SVN interface - annotate a file
svn-checkout - MicroEmacs SVN interface - checkout a working copy
svn-commit - MicroEmacs SVN interface - commit changes back
svn-commit-log - MicroEmacs SVN interface - get log for a commit
svn-copy - MicroEmacs SVN interface - copy items
svn-delete - MicroEmacs SVN interface - delete items
svn-diff - MicroEmacs SVN interface - diff changes
svn-ignore - MicroEmacs SVN interface - edit directory item ignore list
svn-info - MicroEmacs SVN interface - display info about an item
svn-log - MicroEmacs SVN interface - list log of changes
svn-move - MicroEmacs SVN interface - move an item
svn-resolve - MicroEmacs SVN interface - resolve conflicts
svn-server-copy - MicroEmacs SVN interface - server based copy items
svn-server-move - MicroEmacs SVN interface - server based move items
svn-status - MicroEmacs SVN interface - status of items
svn-update - MicroEmacs SVN interface - update directory files
svn-xdiff - MicroEmacs SVN interface - external diff changes
n svn
svn-setup
svn-add
svn-blame
svn-checkout
svn-commit
svn-commit-log
svn-copy
svn-delete
svn-diff
svn-ignore
svn-info
svn-log
svn-move
svn-resolve
svn-server-copy
svn-server-move
svn-status
svn-update
svn-xdiff
The svn and sub-commands provide MicroEmacs with an interface to Subversion's svn(1) command. Subversion is a version control system; using it, you can record the history of your source file modifications. Subversion is licensed under the Apache Software Foundation and is freely available on the Internet, see the documentation provided with Subversion for more information on its features and use.
The MicroEmacs svn command opens up a modified file-browser(3) with an additional "*svn-console*" window. The "*files*" window includes additional columns showing the SVN state, revisions and commit author. The browser by default opens with 3 windows including a representation of the file tree. When svn is provided with a numeric argument n of zero (0) then a single window displaying the directory is used only (i.e. 0 svn)
The functionality of the file-browser is the same as a non-SVN folder with the exception that additional SVN item controls are located in the mouse context menu (opened by clicking the right mouse button in the *files* buffer). This menu item opens another sub-menu providing access to the items below. When selecting commands than a pop-up check-box may be displayed which allows options to be selected for the command.
Current State
Checkout files
Update files
Diff files
Commit files
Item Log
Item Blame
Copy items
Move items
Add items
Delete items
Resolve conflicts
Clear svn console
SVN Setup
The svn-add command adds the current buffer or selected items to the repository. Note that this command only performs the local addition, a SVN commit is required to make the addition permanent.
The svn-blame command opens a *svn-blame* window annotating the revision and author of each line in the current buffer or single selected file.
The svn-checkout command checks out a working copy of an item (file or directory) from a repository into the current directory. The user specifies the item via an SVN repository URL.
The svn-commit command commits any changes made to the current buffer's file or selection list to the repository. The user is prompted for a commit log message.
The svn-commit-log command opens a *svn-commit-log* window displaying the SVN log for the given commit. If the output is processed then clicking on or pressing enter on any of the file names listed will execute a svn-diff showing the changes made.
The svn-copy command creates a local copy of the current buffer's file or selected items; alternatively a full SVN repository URL can be given as the destination which will immediately commit the items back to the repository. The advantage of using copy over simply adding a new item is that the item's change log history up to the point of the copy should be maintained by SVN.
The svn-delete command flags the current buffer or selected files for removal from the repository, additionally the command can remove the local file too - PLEASE NOTE THIS CAN LEAD TO LOST DATA!!! This command only performs the local removal, the svn-commit command must be used to make the deletion permanent. Note that as the local file is typically removed the file itself cannot be selected when committing the change, use the svn-status command to list change as this list includes all items flagged for removal.
The svn-diff command opens a *svn-diff* window displaying the differences between the current buffer or selected local files and the repository version.
The svn-ignore command opens a dialog to edit the list of items contained with the current directory which are to be ignored by SVN. Currently selected items are appended to this list and any changes made are only to the local working copy until the changes to the directory are committed back. Note that this command is obtaining and modifying the directory's svn:ignore property.
The svn-info command opens a *svn-info* window displaying the SVN info of the current buffer or single selected file.
The svn-log command opens a *svn-log* window displaying the SVN commit log history of the current buffer or single selected file.
The svn-move command moves (i.e. same as rename when the destination directory is the same) the current buffer's file or selected items, any required changes to the buffer should be saved first and the new file loaded once moved. Note that unlike copy, SVN does not support a direct local to reposition move. The advantage of using move over simply deleting and adding a new item is that the item's change log history will be maintained.
The svn-resolve command may be used to resolve conflicts caused by SVN updating the local working copy.
The svn-server-copy command performs a repository based copy of the current buffer's file or selected item, to a new location in the repository. In SVN this is the easiest way to create a development branch or a release, for example to create the MicroEmacs 2022 release one could server copy <svn-rep>/trunk/MicroEmacs to <svn-rep>/releases/MicroEmacs-2022. As the copy is performed on the server it is immediately committed so the command prompts for a commit log comment.
Similar to svn-server-copy, the svn-server-move command performs a repository based move of the current buffer's file or selected item.
The svn-status command opens a *svn-state* window and shows the state of all the items within the current directory, including the modification state, and optionally whether items are out-of-date (i.e. have been modified in the repository).
The svn-update command updates all files in the current directory, the output being reported to a new *svn-update* window. Note that unlike most svn sub commands this command executes over all files in the current buffer's file directory.
The svn-xdiff command launches an external diff application to display differences, the command be configured first by setting the %svn-xdiff-com to an appropriate command-line, e.g. 'Meld -n %f'. See %xdiff-com(5) for more information.
svn-setup provides a dialog interface to configure the MicroEmacs SVN interface if required. On a typical system installation then it is sufficient to have the svn program in the $PATH and the SVN tools will operate from a working copy of a repository.
svn-setup may also be accessed from user-setup(3) from the Miscellaneous configuration. The the dialog provides the following configuration controls:
SVN Command Setup
SVN Command
Global opts
Def Rep URL
Enable Support on Start-Up
Quick browser mode
Tools
svn and sub-commands are macros defined in file svn.emf.
When filtering is enabled in the file browser the filter used by the SVN interface depends on the file browser mode, if Quick browser mode is enabled the same filter is used, but when disabled all files ignored by svn(1) are also removed by the filter. Use buffer-setup(3) in the buffer to enable/disable the filter.
(c) Copyright JASSPA 2025
Last Modified: 2024/08/06
Generated On: 2025/09/29