Stefan Reichör <> (xsteve)

Patch Review
r880373, r880372, r880371, r879619, r879043, r879032, r879030, r879029, r878854, r878546, r878544, r877522, r877218, r877085, r875894, r875728, r874735, r874677, r874514, r873631, r873347, r873315, r872369, r872353, r872351, r872236, r872220, r872205, r872204, r872150, r872106, r872066, r872064, r871962, r871939, r871849, r870298, r870266, r870265, r870184, r870018, r869811, r869810, r869690, r869679, r869327, r868716, r868715, r867908, r867199, r867198, r866575, r866559, r866518, r866457, r866152, r865905, r865895, r865711, r865657, r865637, r865630, r865622, r865611, r865549, r865534, r865520, r865518, r865517, r865481, r865315, r865242, r865227, r865226, r865209, r865200, r865162, r864833, r864762, r864644, r864635, r864634, r864608, r864607, r864596, r864529, r864504, r864418, r864417, r864415, r864372, r864274, r864273, r864169, r864102, r864021, r863978, r863960, r863924, r863896, r863895, r863850, r863665, r863664, r863515, r863512, r863505, r863494, r863475, r863470, r863405, r863212, r863153, r863122, r863039, r863022, r862821, r862761, r862665, r862656, r862523, r862367, r862353, r862352, r862320, r862319, r862318, r862292, r862118, r862117, r862055, r862054, r861963, r861858, r861707, r861680, r861631, r861604, r861591, r861508, r861451, r861393, r861385, r861347, r861339, r860898, r860897, r860721, r860358, r860311, r860307, r860266, r860177, r860162, r860159, r860130, r860080, r859987, r859865, r859795, r859794, r859722, r859692, r859631, r859513, r859288, r859265, r859212, r858963, r858962, r858950, r858873, r858544, r858420, r858056, r857995, r857796, r857546, r857542, r856991, r856386, r856144, r856042, r856040, r855867, r855725, r855613, r855518, r855410, r855100, r855085, r855083, r855077, r855061, r854840, r854733, r854732, r854609, r854597, r854592, r854204, r854125, r853915, r853911, r853824, r853818, r853720, r853668, r853635, r853513, r853512, r853465, r853464, r853314, r853295, r853294, r853293, r853205, r853166, r853089, r853017, r852983, r852972, r852712, r852570, r852340, r852111, r852023, r851990, r851898, r851766, r851764, r851550, r851444, r851443, r851442, r851319, r851226, r851202, r851136, r851118, r851057, r850880, r850851, r850801, r850794, r850769, r850495, r850184, r850153, r850145, r850137, r850112, r850096, r850092, r850081, r849989, r849895, r849893, r849372, r849014, r848955, r848764, r848544, r848368, r848078, r848000, r847947, r847922, r847912, r847235, r847179, r847161, r847139, r847129, r847128, r847095, r847062, r847006, r846927, r846885, r846332, r846281, r846256, r843877, r843671, r843189 r856811

r843189 | xsteve | 2002-09-02 19:43:13 +0000 (Mon, 02 Sep 2002)

Added psvn.el - the emacs interface for subversion.
psvn.el provides a similar interface for subversion as pcl-cvs for cvs.

r843671 | xsteve | 2002-10-31 19:31:15 +0000 (Thu, 31 Oct 2002)

Add some colors to the svn status buffer

r843877 | xsteve | 2002-11-15 20:53:45 +0000 (Fri, 15 Nov 2002)

* Added new keyboard shortcut: s - svn-status-show-process-buffer
* Added some emacs20 compatibility code (functions point-at-eol, point-at-bol)
* Added function description for svn-status-mode (suggestion from Isaac Jones)
* Some fixes in function svn-status-line-info->hide-because-unmodified

r846256 | xsteve | 2003-06-10 19:42:57 +0000 (Tue, 10 Jun 2003)

* Added function svn-status-remove-control-M
  - Use it in svn-status-property-edit to fix a coding system problem on win32

r846281 | xsteve | 2003-06-12 11:45:43 +0000 (Thu, 12 Jun 2003)

* Added functions for svn process management:
  - svn-process-kill: Kill the actual running svn process
  - svn-process-send-string: Give the user the possibility to answer questions
    from the svn command line tool

r846332 | xsteve | 2003-06-17 05:56:40 +0000 (Tue, 17 Jun 2003)

* Added new functions:
  - svn-prop-edit-svn-log, svn-log-edit-svn-log
  - These functions show the svn log of the currently marked files
* Added function comments to svn-prop-edit-mode, svn-log-edit-mode

r846885 | xsteve | 2003-08-21 13:17:41 +0000 (Thu, 21 Aug 2003)

* Added new user commands:
  - svn-status-get-specific-revision (interface to svn cat)
  - svn-ediff-with-revision (run ediff with a file working copy and a specified revision)

r846927 | xsteve | 2003-08-25 12:48:37 +0000 (Mon, 25 Aug 2003)

* Some patches from Leif Warland
  - Turn on the log-view-mode in svn-status-show-svn-log
  - If a prefix argument is given to either svn-status-show-svn-diff or
    svn-status-ediff-with-revision, the user is prompted for a revision for this
* svn-status-remove-control-M, svn-process-send-string do work now with read only
  process buffers (like log-view-mode)

r847006 | xsteve | 2003-08-31 19:06:45 +0000 (Sun, 31 Aug 2003)

* Some Patches from Richard Lewis
  - Directories are coloured blue (svn-status-directory-face) and other
     files are coloured orange (svn-status-filename-face)
  - Files are indented according to their location
  - Non directories are written without their directory part (unless
     unmodified files are hidden)
  - Pressing `m' colours the whole line green instead of just the `*',
    which was hard to see
  - `RET' on a directory runs svn-status on that directory
  - `^'   runs svn-status on the parent of the current directory
  - The default path offered by `+' becomes the directory containing the
     file under point.
  - Finally, I changed svn-status to test for the presence of a `.svn/'
     directory inside its argument---if no .svn directory exists then the
     arument wasnt a subversion working copy so we offer the user the
     chance to run dired instead.

r847062 | xsteve | 2003-09-05 21:36:55 +0000 (Fri, 05 Sep 2003)

* Removed some old (already commented out) code
* Added new function: svn-status-unset-all-usermarks (on key sequence * !)
* Now it is possible to save the commit message to a file (svn-log-edit-file-name)
  This file is automatically reloaded, when a commit command is issued again
* New function svn-log-edit-show-files-to-commit

r847095 | xsteve | 2003-09-09 19:03:41 +0000 (Tue, 09 Sep 2003)

* [=] now shows the diff for the actual file
* [control =] shows the diffs for all marked files
* Initial (quite trivial) implementation for svn-status-property-set-keyword-list

r847128 | xsteve | 2003-09-12 19:54:41 +0000 (Fri, 12 Sep 2003)

* Return to the *svn-status* buffer after an ediff session
  (Thanks to Leif Warland)
* Now svn propdel works also, if no files are marked
  - it operates on the line where the cursor is

r847129 | xsteve | 2003-09-12 20:12:39 +0000 (Fri, 12 Sep 2003)

* Some patches from Shun-ichi GOTO:
  - M-DEL now runs svn-status-unset-all-user-mark
  - * u runs svn-status-show-svn-diff-for-marked-files
  - (svn-status-get-specific-revision): Do not use 3rd arg of add-to-list
    for old emacsen
  - (svn-prop-edit-done): Bug fix of paren.
  - (svn-prop-edit-do-it): New function splitted from 
    svn-prop-edit-done to take arg for async/sync.
  - (svn-status-property-ignore-file-extension): Use synchronous operation.
  - (svn-status-property-ignore-file): Likewise.

r847139 | xsteve | 2003-09-15 19:43:39 +0000 (Mon, 15 Sep 2003)

* New user command to show the repository info in the *svn-status* buffer:
  svn-status-parse-info (bound to ?I)
* Show the number of marked files in the *svn-status* buffer
* svn-status-show-svn-log now takes a prefix argument:
  - No prefix argument: act as before
  - prefix argument 0:  run svn log --quiet
  - other prefixes:     run svn log --verbose

r847161 | xsteve | 2003-09-18 19:22:10 +0000 (Thu, 18 Sep 2003)

* New command: svn-status-toggle-elide on $
  - elide files or directories
* svn-status-bury-buffer
  - Improved the bury algorithm - send all psvn buffers to the end of the buffer list
* Some cosmetic changes in status messages

r847179 | xsteve | 2003-09-20 19:06:13 +0000 (Sat, 20 Sep 2003)

* Some patches from  Tadashi Watanabe
* Started to use the customize interface
  - The used faces can be customized now
* Added a suffix to the argument files to make psvn usable for multiuser systems
  (svn.arg, svn-prop-edit.txt, svn-log-edit.txt)

r847235 | xsteve | 2003-09-23 19:57:39 +0000 (Tue, 23 Sep 2003)

* Some patches from Richard Lewis
  - New command svn-status-mv to implement svn mv (bound to `R' as in dired)
  - Added svn-log-edit-mode-hook (run when we enter svn-log-edit-mode)
  - New variable svn-status-default-log-arguments: a string of arguments
    for svn-status-show-svn-log when no prefixes are used.
  - Fixed a bug in svn-status-update-buffer (a bracket was in the wrong
    place, meaning `C-u g' included the last file twice)
  - In 0.29.0 in the output of `svn status -v', "Head revision" changed
    to "status against revision" breaking `C-u g'.  Also the order in
    which files appear in the output of `svn status' is less predicatble
    (expecially with a mixed revision working copy), so it is necessary
    to sort the file-list before inserting it into the *svn-status*
    buffer (otherwise files won't appear under their directories)
  - Added more docstrings
  - Added svn-status-examine-parent, svn-status-toggle-elide and
    svn-status-mv to the menu.
  - Make the localrev and lastchangedrev have width at least 4

r847912 | xsteve | 2003-11-24 20:40:45 +0000 (Mon, 24 Nov 2003)

* Implemented svn blame command
  - bound to b
* Now show the output of many commands in the *svn-process* buffer, even if 
  svn-status-update is called afterwards
* svn-status-show-svn-diff now shows the diff against the HEAD, if the working copy
  is unchanged and there are changes in the HEAD revision

r847922 | xsteve | 2003-11-25 20:24:19 +0000 (Tue, 25 Nov 2003)

* Improved the svn-status-sort-predicate function
* Added svn-status-rm (bound to C-d)

r847947 | xsteve | 2003-11-29 20:45:57 +0000 (Sat, 29 Nov 2003)

* Speed up the mark/unmark operations
  - do not call svn-status-update-buffer for every changed mark
  - update only the affected line
* Thanks to Tadashi Watanabe for the idea for this patch

r848000 | xsteve | 2003-12-03 20:46:41 +0000 (Wed, 03 Dec 2003)

* The elided files/directories are now preserved after a svn status command
* Do not position point at the beginning of the file list after an operation
  that removes a file from the list (like svn ignore)
* The fast marking now also works, if files are hidden
* In function svn-status-property-edit-svn-ignore:
  - Edit the ignore list of this directory, if the point is on a directory line
    (before it was the parent directory)

r848078 | xsteve | 2003-12-15 20:03:20 +0000 (Mon, 15 Dec 2003)

* Added new marking commands
  "* ?" svn-status-mark-unknown
  "* A" svn-status-mark-added
  "* M" svn-status-mark-modified

r848368 | xsteve | 2004-01-14 20:36:18 +0000 (Wed, 14 Jan 2004)

* Added new command: svn-status-view-file-other-window
  - bound to the key 'v'
* svn-log-edit-svn-log does work again
  - it takes now a prefix argument like svn-status-show-svn-log

r848544 | xsteve | 2004-01-23 22:48:58 +0000 (Fri, 23 Jan 2004)

* Added new command: svn-status-property-set-eol-style
  - Bound to P y
  - Set the eol-style of the marked files to one of native, CRLF, LF, CR
* Fixed a bug in svn-prop-edit-svn-log: It takes now also an argument

r848764 | xsteve | 2004-02-18 20:20:17 +0000 (Wed, 18 Feb 2004)

* Changed maintainer email address

r848955 | xsteve | 2004-03-03 20:47:04 +0000 (Wed, 03 Mar 2004)

* Removed some (already commented) dead code
* Patches from Shun-ichi GOTO:
  - in svn-process-sentinel:
    Nicer treatment, if the svn process exits abnormally
  - Compatibility fix for older emacsen in svn-status-property-set-eol-style

r849014 | xsteve | 2004-03-08 20:42:22 +0000 (Mon, 08 Mar 2004)

* Compatibility code for emacs20 for
  puthash, gethash (thanks to Shun-ichi Goto)
* Remove temporary created files for commit and the property editor

r849372 | xsteve | 2004-04-07 16:05:03 +0000 (Wed, 07 Apr 2004)

* Patches from Juanma Barranquero
  - fixed some typos, mostly missing dots at the end of documentation
    sentences and a few cases of arguments not capitalized in docstrings.
  - most uses of "actual" were changed to "current"

r849893 | xsteve | 2004-05-21 18:43:50 +0000 (Fri, 21 May 2004)

Apply patches from Richard Lewis, plus note that psvn.el also works
with svn 1.03.

* trunk/contrib/client-side/psvn/psvn.el: 
  svn-status-default-log-arguments): Add star to doc string so M-x
    ste-variable sees it.
  (svn-status-find-files): New name for svn-status-find-file.  Let it
    open all the selected files.
  (svn-status-show-svn-log): Prefix of -1 now overrides the effect of
  (svn-status-mode-map): Use kbd to make all the keys work on all
  (svn-status-mv):  Check status of the files to be moved
    - for local property mods maybe use `svn mv --force'
    - for files that were `svn add'ed but not committed, do nothing
    - for unversioned files offer to run plain `mv -i'
    - for unexpected statuses do nothing
  (svn-status-mode-menu): Add `svn rm'.
  (svn-log-edit-show-files-to-commit): Bind to C-c C-?.
  (svn-log-edit-erase-edit-buffer): New command to erase the
    "*svn-log-edit*" buffer. Bind to C-c C-z
  (various): Clarify many doc strings.  Instead of listing all the 
    key bindings by hand, use \{svn-status-mode-map}.

r849895 | xsteve | 2004-05-21 19:07:35 +0000 (Fri, 21 May 2004)

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-get-file-list, svn-status-get-file-list-names): new functions
  (svn-status-add-file): now takes an optional prefix arg
    when it gets a prefix argument use th actual file, 
    otherwise the marked files

r849989 | xsteve | 2004-05-31 19:40:55 +0000 (Mon, 31 May 2004)

Minor marking fix, added some todo items.

* trunk/contrib/client-side/psvn/psvn.el: 
  Fixed a minor marking bug (patch from Shun-ichi GOTO)

r850081 | xsteve | 2004-06-15 19:47:36 +0000 (Tue, 15 Jun 2004)

Better treatment for marked files when some files are hidden

* trunk/contrib/client-side/psvn/psvn.el: 
  (svn-process-sentinel): Unset marked files after a commit or a revert, 
  when 'commit or 'revert are part of the list svn-status-unmark-files-after-list
  (svn-status-update-buffer): Never hide marked files

r850092 | xsteve | 2004-06-16 21:51:49 +0000 (Wed, 16 Jun 2004)

Better treatment for marked files when some files are hidden

* trunk/contrib/client-side/psvn/psvn.el: 
  (svn-process-sentinel): After a commit or a revert: run (svn-status-update)
  (svn-status-ediff-with-revision): Use the correct emacs major mode for the
  ediff partner

r850096 | xsteve | 2004-06-17 20:18:10 +0000 (Thu, 17 Jun 2004)

* trunk/contrib/client-side/psvn/psvn.el: 
  (svn-status-file-name-sans-version): New function
  (svn-status-revision-normal-mode): New function
  (svn-status-get-specific-revision-internal): New function
  (svn-status-get-specific-revision): Take only one arg
    This function calls svn-status-get-specific-revision-internal
  (svn-status-ediff-with-revision): The correct major mode is
    now set in svn-status-get-specific-revision-internal

r850112 | xsteve | 2004-06-20 19:25:10 +0000 (Sun, 20 Jun 2004)

Patches from Richard Lewis

* trunk/contrib/client-side/psvn/psvn.el: 
  - Restore second line in License statement(!)
  - Start docstrings of user setable variables with a `*'
  - Quote all variables and functions in doc-strings, and end first
     line with a `.'
  - (svn-parse-status-result): Parse lines coming form svn:externals
     instead of stopping at the blank line before
  - Use `kbd' in all the define-key commands
  - End file with `;;; psvn.el ends here' as suggested by `M-x checkdoc'

r850137 | xsteve | 2004-06-23 21:06:56 +0000 (Wed, 23 Jun 2004)

* trunk/contrib/client-side/psvn/psvn.el: 
  - Removed function svn-revision-normal-mode
    Use an entry in auto-mode-alist instead (thanks to Kalle Olavi Niemitalo for the tip)
  - Started to implement a svn-log-view-mode
    This mode is used to display the output from svn log

r850145 | xsteve | 2004-06-24 20:55:01 +0000 (Thu, 24 Jun 2004)

* trunk/contrib/client-side/psvn/psvn.el: 
  (svn-process-sentinel): Create a *svn-log* buffer after a svn log command
  (svn-status-file-name-sans-version): Removed function
  (svn-log-view-next): New function, bound to n in svn-log-view-mode
  (svn-log-view-prev): New function, bound to n in svn-log-view-mode
  (svn-log-revision-at-point): New function
  (svn-log-view-diff): View the changeset for the log message at point

r850153 | xsteve | 2004-06-25 20:05:23 +0000 (Fri, 25 Jun 2004)

* trunk/contrib/client-side/psvn/psvn.el: 
  (svn-process-sentinel): Do not try to change the content of a read-only *svn-log* buffer
  (svn-log-view-diff): Now use a prefix argument
    - with prefix argument: ask the user for the revisions for the diff
    - without the prefix argument: show the changeset for the revision at point
      against that revision number minus one.

r850184 | xsteve | 2004-06-30 19:15:05 +0000 (Wed, 30 Jun 2004)

Use read-directory-name if it is available, otherwise use read-file-name to get
a directory name from the user

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status): Use read-directory-name instead of read-file-name to read a directory name
  (svn-status-mv): Use read-directory-name instead of read-file-name to read a directory name

r850495 | xsteve | 2004-07-26 19:24:43 +0000 (Mon, 26 Jul 2004)

Patches from David Butcher:
Added support for svn resolved

* trunk/contrib/client-side/psvn/psvn.el:
  - (svn-status-resolved): New function
  - svn-status-resolved is on key ?V
  - Removed some tabs from the source file

r850769 | xsteve | 2004-08-20 19:52:33 +0000 (Fri, 20 Aug 2004)

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-add-file): now runs "svn add --non-recursive <files>"
  (svn-status-add-file-recursively): New function, runs "svn add <files>"

r850794 | xsteve | 2004-08-24 19:48:47 +0000 (Tue, 24 Aug 2004)

Show that a file was changed and saved in emacs in the *svn-status* buffer

* trunk/contrib/client-side/psvn/psvn.el:
  - (svn-status-line-info->set-filemark): New function
  - (svn-status-after-save-hook): New function
  - Add svn-status-after-save-hook to after-save-hook

r850801 | xsteve | 2004-08-25 19:05:48 +0000 (Wed, 25 Aug 2004)

* trunk/contrib/client-side/psvn/psvn.el:
  - svn-status-file-modified-after-save-flag: New variable
  - (svn-status-after-save-hook): Bug fix, when svn-status-directory-history is nil,
    Use svn-status-file-modified-after-save-flag

r850851 | xsteve | 2004-08-30 18:07:24 +0000 (Mon, 30 Aug 2004)

* trunk/contrib/client-side/psvn/psvn.el:
  - Changed maintainer email: ->
  - Changed download url: -> 
  - I finally got my own domain:
  - Fixed a bug in svn-status-update, when it was called with a prefix argument

r850880 | xsteve | 2004-09-02 19:46:41 +0000 (Thu, 02 Sep 2004)

* trunk/contrib/client-side/psvn/psvn.el:
  - (svn-status, svn-process-sentinel): Don't destroy complex window configurations,
    when svn-status is run.

r851057 | xsteve | 2004-09-15 18:38:26 +0000 (Wed, 15 Sep 2004)

* trunk/contrib/client-side/psvn/psvn.el:
  - (svn-status-find-info-for-file-name): Use svn-status-info instead the buffer content
    to find the info. Now the function succeeds also, when some files are hidden.

r851118 | xsteve | 2004-09-18 19:36:35 +0000 (Sat, 18 Sep 2004)

* trunk/contrib/client-side/psvn/psvn.el:
  - The sorting of the svn-status buffer is now optional
  - This speeds up the M-x svn-status command
  - However, the filelist is probably not correctly sorted
    when this feature is used
  - Added the svnstatus-mode-options-map
  - The above mentioned sorting variable can be saved via
    the new options mechanism.
  - The options can be loaded again

r851136 | xsteve | 2004-09-21 20:12:42 +0000 (Tue, 21 Sep 2004)

* trunk/contrib/client-side/psvn/psvn.el:
  - svn-log-edit-insert-files-to-commit: new variable
  - (svn-log-edit-insert-files-to-commit): new function to insert the
    files to commit in the *log-edit* buffer
  - (svn-log-edit-remove-comment-lines): new function to remove the
    additional lines inserted by svn-log-edit-insert-files-to-commit

r851202 | xsteve | 2004-09-24 22:47:12 +0000 (Fri, 24 Sep 2004)

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-parse-status-result): Reverse the collected svn-status-info before displaying it.
  (svn-status-update-buffer): Better handling, when the user switches to an other
  window during the call to svn-status
  (svn-status-elp-init): New function to gather profile information for psvn.el

r851226 | xsteve | 2004-09-27 19:38:29 +0000 (Mon, 27 Sep 2004)

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-ensure-cursor-on-file): New function.
  It is used for a better error checking for operations 
  that operate on files.

r851319 | xsteve | 2004-10-05 19:05:05 +0000 (Tue, 05 Oct 2004)

Speedup for svn commit operation, because svn status is not run after a commit.

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-line-info->set-propmark, svn-status-line-info->set-localrev,
  svn-status-line-info->set-lastchangerev): new functions to allow the
  modification of the svn-status-info data structure.
  (svn-status-update-with-command-list): New function to apply a list of changes
  to svn-status-info and the *svn-status* buffer.
  (svn-status-annotate-status-buffer-entry): Helper function to apply one
  change in svn-status-update-with-command-list.
  (svn-status-parse-commit-output): New function that is used to parse the
  output of svn commit. That function generates a list that is usable for
  (svn-status-goto-file-name): Improved performance for that function.

r851442 | xsteve | 2004-10-13 20:15:54 +0000 (Wed, 13 Oct 2004)

Added a popup menu on mouse-3

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-popup-menu): new function.
  (svn-status-face-set-temporary-during-popup): helper function for svn-status-popup-menu.

r851443 | xsteve | 2004-10-13 20:38:25 +0000 (Wed, 13 Oct 2004)

Fixed a bug in the new fast commit functionality

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-parse-commit-output): Skip the leading directory,
  if the commit was sent for the . entry in the *svn-status* buffer

r851444 | xsteve | 2004-10-13 20:41:00 +0000 (Wed, 13 Oct 2004)

Fixed another bug in the new fast commit functionality

* trunk/contrib/client-side/psvn/psvn.el:
  The last fix does not work very well. Added another fix to improve the situation.

r851550 | xsteve | 2004-10-18 19:35:38 +0000 (Mon, 18 Oct 2004)

The files are now highlighted, when the mouse is over them.

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-add-face): Add a mouse-face to highlight the string, if the mouse is over it.

r851764 | xsteve | 2004-10-31 21:39:21 +0000 (Sun, 31 Oct 2004)

Support to edit a previous log entry.

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-log-edit-log-entry): New function that is bound to e in
  the svn-log-view-mode-map

r851766 | xsteve | 2004-10-31 22:05:01 +0000 (Sun, 31 Oct 2004)

  Updated my email address: ->

r851898 | xsteve | 2004-11-10 21:32:12 +0000 (Wed, 10 Nov 2004)

The elided files/directories can now be saved across sessions.

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-apply-elide-list): New function that makes it possible
    to apply a list of elided entries in the *svn-status* buffer.
    That list can be saved with "O s" and loaded again with "O l".

r851990 | xsteve | 2004-11-15 20:56:53 +0000 (Mon, 15 Nov 2004)

Bugfix to display external items correct.

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-parse-status-result): Fixed the regexp that identifies external items.
  (svn-parse-status-update-buffer): Added a docstring.

r852023 | xsteve | 2004-11-18 21:32:42 +0000 (Thu, 18 Nov 2004)

Improve the parsing after svn commit on the windows platform

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-sentinel-fixup-path-seperators): Convert windows path separator
    to unix style.
  (svn-process-sentinel): Use svn-process-sentinel-fixup-path-seperators after
    calls to svn status and svn commit

r852111 | xsteve | 2004-11-25 20:16:18 +0000 (Thu, 25 Nov 2004)

Minor fixes.

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-line-info->lastchangerev): Handle the case when lastchangerev 
    is nil.
  (svn-status-annotate-status-buffer-entry): Update the localrev and the
    lastchangerev field for added files also.
  (svn-status-after-save-hook): Test, if the *svn-status* buffer does exist,
    before switching to that buffer.

r852340 | xsteve | 2004-12-09 21:04:43 +0000 (Thu, 09 Dec 2004)

Minor fixes.

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-sentinel): Call svn-process-sentinel-fixup-path-seperators
    in the *svn-process* buffer
  (svn-status-parse-commit-output): Fixed regexp for Committed revision
  (svn-status-property-set-property): Ensure that the *svn-property-edit*
    buffer does exist
  (svn-prop-edit-do-it): Don't switch to 
    svn-status-pre-propedit-window-configuration, if it is not set.

r852570 | xsteve | 2004-12-22 20:27:18 +0000 (Wed, 22 Dec 2004)

Added functionality to set the svn:executable property

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-property-set-executable): New function: set the svn:executable
    property on all marked files. It is bound to P x.

r852712 | xsteve | 2005-01-08 21:03:18 +0000 (Sat, 08 Jan 2005)

Started trac issue tracker integration.

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-set-trac-project-root): New function to set the url for the trac
     issue tracker.
  (svn-trac-browse-timeline): New function to display the trac time line via

r852972 | xsteve | 2005-02-01 21:17:29 +0000 (Tue, 01 Feb 2005)

Some bugfixes.

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-after-save-hook): Use save-window-excursion instead of 
     save-excursion to keep the cursor position after inserting
     a modified line
  (svn-logview-mode): Derive it from fundamental-mode instead of logview-mode.
     That change should make xemacs users happier.

r852983 | xsteve | 2005-02-02 20:25:13 +0000 (Wed, 02 Feb 2005)

Added an interface to run svnversion

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-svnversion): New function to show the output of svnversion
    for a given directory. It is bound to V.

r853017 | xsteve | 2005-02-08 20:48:30 +0000 (Tue, 08 Feb 2005)

Minor UI improvements, xemacs compatibility fixes

* trunk/contrib/client-side/psvn/psvn.el:
  Define match-string-no-properties, if it is not defined (needed for xemacs)
  (svn-prop-edit-do-it, svn-log-edit-done): Call set-buffer-file-coding-system
    only if it is available (fix for xemacs)
  (svn-status-property-parse): Removed obsolete function
  (svn-status-update-buffer): Don't show 'em', when svn-status-short-mod-flag-p
    is nil
  Added svn-status-add-file-recursively to the menu
  Added svn-status-set-trac-project-root to the trac menu

r853089 | xsteve | 2005-02-14 20:19:32 +0000 (Mon, 14 Feb 2005)

Added user setting: svn-status-svn-environment-var-list

* trunk/contrib/client-side/psvn/psvn.el:
  svn-status-svn-executable: New variable that specifies the name of the svn
  svn-status-svn-environment-var-list: New variable to specify some environment
    variables that are specific to the svn process
  (svn-run-svn): Use the two variables above

r853166 | xsteve | 2005-02-20 20:21:55 +0000 (Sun, 20 Feb 2005)

Don't use M-v for psvn.el

* trunk/contrib/client-side/psvn/psvn.el:
  svn-status-resolved is now on X v, instead on M-v
  M-v normally runs scroll-down and should not be redefined in specific modes.
  Added the new map svn-status-mode-extension-map (bound to X) to get again
    some keys free for psvn.el.

r853205 | xsteve | 2005-02-23 20:32:18 +0000 (Wed, 23 Feb 2005)

Added a function to copy the actual filename to the kill-ring

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-copy-filename-as-kill): New function, bound to w
  (svn-status-svnversion): Instead of nil show '.' for files
     in the root directory of the working copy.

r853293 | xsteve | 2005-03-01 21:27:35 +0000 (Tue, 01 Mar 2005)

Added the svn-log-edit-done-hook

* trunk/contrib/client-side/psvn/psvn.el:
  svn-log-edit-done-hook: New hook that is run, after commiting files via psvn
  (svn-status-diff-mode): New function that shows the *svn-process* buffer,
     using the diff-mode
     Use svn-status-diff-mode

r853294 | xsteve | 2005-03-01 21:47:46 +0000 (Tue, 01 Mar 2005)

Some preperations for a planner integration of psvn.el

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-parse-info): When called with ARG==t, don't call 
  (svn-log-edit-done): Run the svn-log-edit-done-hook before
     setting svn-status-files-to-commit to nil

r853295 | xsteve | 2005-03-01 22:09:39 +0000 (Tue, 01 Mar 2005)

Added the svn-status-negate-meaning-of-arg-commands list

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-possibly-negate-meaning-of-arg): New function to negate
     the meaning of ARG, if this-command is a member of
  (svn-process-sentinel): Call svn-log-edit-done-hook here instead of
     calling it in svn-log-edit-done.

r853314 | xsteve | 2005-03-02 21:33:47 +0000 (Wed, 02 Mar 2005)

Added variable svn-status-module-name

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status): It is now possible to put svn-status in the
  (svn-status-set-module-name): New function to set svn-status-module-name
     The function is bound to O n
  svn-status-module-name: New variable, it can be saved to the psvn settings 
     file. Additionally that name is shown as project name.

r853464 | xsteve | 2005-03-12 20:52:24 +0000 (Sat, 12 Mar 2005)

Readded a keybinding for svn-status-resolve-conflicts

* trunk/contrib/client-side/psvn/psvn.el:
  Since X is now a prefix key, svn-status-resolve-conflicts is no longer
  available via that key.
  svn-status-resolve-conflicts is now on X X (thanks to Eric Hanchrow 
    <>) for the suggestion.

r853465 | xsteve | 2005-03-12 21:47:13 +0000 (Sat, 12 Mar 2005)

svn-status-possibly-negate-meaning-of-arg should now work better

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-possibly-negate-meaning-of-arg): Added an optional argument:
     command: if specified, allow to use it instead of this-command

r853512 | xsteve | 2005-03-16 20:05:04 +0000 (Wed, 16 Mar 2005)

Improved the svn-status-after-save-hook

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-get-file-name-buffer-position): New function to find out the
    point position for a given filename. Return nil, if the filename is
    not displayed at the moment
  (svn-status-goto-file-name): Use svn-status-get-file-name-buffer-position
  (svn-status-after-save-hook): Run svn-status-update-buffer if the file
    is not yet shown

  Thanks to Tadashi Watanabe <> for the idea for that patch

r853513 | xsteve | 2005-03-16 20:54:23 +0000 (Wed, 16 Mar 2005)

Started to use a process filter for the svn output

* trunk/contrib/client-side/psvn/psvn.el:
  The process filter will be used to implement a way to read username/password
  from the user.
  svn-status-use-process-filter: New variable to activate the new process filter
    It is set to nil because it could potentially break every psvn functionality.
  (svn-run-svn): Install the process filter if needed.
  (svn-process-filter): New function. It receives the output from the svn process.
    It inserts the output to the *svn-process* buffer and shows the chunks in the
    *Messages* buffer for debugging purposes

r853635 | xsteve | 2005-03-21 20:02:01 +0000 (Mon, 21 Mar 2005)

Added user option: svn-status-load-state-before-svn-status

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status): Run svn-status-load-state, when 
    svn-status-load-state-before-svn-status is t.
  (svn-status-load-state): New optional parameter to suppress a loading error,
    when the state file can't be read

r853668 | xsteve | 2005-03-22 20:11:22 +0000 (Tue, 22 Mar 2005)

Added svn-status-window-alist

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-show-process-output): New function to show the *svn-process*
     output in a buffer that is selcted by svn-status-window-alist
  (svn-process-sentinel, svn-status-diff-mode): 
     Use svn-status-show-process-output instead of 
  (svn-status-diff-mode): Set the buffer read-only.

r853720 | xsteve | 2005-03-24 20:54:41 +0000 (Thu, 24 Mar 2005)

Removed svn-status-update from svn-status-negate-meaning-of-arg-commands

* trunk/contrib/client-side/psvn/psvn.el:
   When you used svn-status-update and svn-status, they negated each other
   and the wanted effect was not achieved.
   Therefore I removed svn-status-update from that list.

r853818 | xsteve | 2005-03-29 18:24:04 +0000 (Tue, 29 Mar 2005)

Added a way to suppress the display of *svn-process* output after a command.

* contrib/client-side/psvn/psvn.el
  (svn-status-window-alist): If 'invisible' is used, the *svn-process* is not
    shown after a command has finished.
  (svn-status-show-process-output): Honor the 'invisible' setting from
  (svn-process-sentinel): Call svn-status-show-process-output also after the
    svn update command has finished.

r853824 | xsteve | 2005-03-29 20:20:49 +0000 (Tue, 29 Mar 2005)

Implemented some UI improvements.
Suggested by: Bill Wohler <>

* contrib/client-side/psvn/psvn.el
  (svn-status-apply-usermark, svn-status-apply-usermark-checked): Show a 
    '(Un)Marking...done' message, when (un)marking more files.
  (svn-status-base-dir): Use expand-file-name to handle paths containing ~.

r853911 | xsteve | 2005-04-01 20:08:59 +0000 (Fri, 01 Apr 2005)

Implemented some UI improvements.
Suggested by: Bill Wohler <>

* contrib/client-side/psvn/psvn.el
  (svn-status-apply-usermark, svn-status-apply-usermark-checked): Improved
    the marking/unmarking messages again. Show the number of (un)marked
    files after marking more than one file.
  (svn-status-base-dir): Work correct for the / directory

r853915 | xsteve | 2005-04-01 20:55:27 +0000 (Fri, 01 Apr 2005)

Provide several options to display a header line

* contrib/client-side/psvn/psvn.el
  svn-status-use-header-line: New variable to select, if the emacs
    header-line-format should be used, or if the header line should
    be inserted as text in the *svn-status* buffer
  (svn-status-mode): Describe the fields of the *svn-status* buffer

r854125 | xsteve | 2005-04-08 20:24:45 +0000 (Fri, 08 Apr 2005)

Allow the user to enter the username/passwd

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-filter): Some improvements to prepare the questioning for
    the password of a user
  (svn-process-send-string): Added the optional parameter send-passwd
    to suppress the display of a sent passwd
  That feature is experimental at the moment and can be enabled via
    (setq svn-status-use-process-filter t)

r854204 | xsteve | 2005-04-11 21:13:31 +0000 (Mon, 11 Apr 2005)

Renamed the option to handle user/passwd reads

* trunk/contrib/client-side/psvn/psvn.el:
  Renamed svn-status-use-process-filter to svn-status-track-user-input

r854592 | xsteve | 2005-04-29 20:20:55 +0000 (Fri, 29 Apr 2005)

svn-status-buffer-name can be used to change the *svn-status* buffer name

* trunk/contrib/client-side/psvn/psvn.el:
  Replaced all occurrences of "*svn-status*" with svn-status-buffer-name

r854597 | xsteve | 2005-04-29 21:14:18 +0000 (Fri, 29 Apr 2005)

New variable: svn-log-edit-use-log-edit-mode

* trunk/contrib/client-side/psvn/psvn.el:
  svn-log-edit-mode is derived from log-edit-mode, if 
    svn-log-edit-use-log-edit-mode is t
  otherwise svn-log-edit-mode is an independent mode

  Note log-edit-mode is not available for XEmacs

r854609 | xsteve | 2005-04-30 19:16:06 +0000 (Sat, 30 Apr 2005)

Added svn-status-custom-hide-function

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-update-buffer): When svn-status-custom-hide-function is set,
    call that function with each entry to decide, if the line should be

r854732 | xsteve | 2005-05-09 19:31:14 +0000 (Mon, 09 May 2005)

Added svn-status-set-user-mark to svn-status-negate-meaning-of-arg-commands

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-set-user-mark, svn-status-unset-user-mark): Honor the
    svn-status-unset-user-mark in svn-status-negate-meaning-of-arg-commands

r854733 | xsteve | 2005-05-09 19:34:01 +0000 (Mon, 09 May 2005)

Remove the aa dir again

* trunk/contrib/client-side/psvn/
  Oops: Didn't want to commit the test directory aa - removed it again.

r854840 | xsteve | 2005-05-17 20:10:04 +0000 (Tue, 17 May 2005)

Added function svn-status-message

* trunk/contrib/client-side/psvn/psvn.el:
  svn-status-debug-level: New variable to specify the verbosity of psvn.el 
  (svn-status-message): New function to display debug messages, depending on
    the value fo svn-status-debug-level

r855061 | xsteve | 2005-06-06 19:19:18 +0000 (Mon, 06 Jun 2005)

Added a global keymap for psvn.el

* trunk/contrib/client-side/psvn/psvn.el:
  svn-status-prefix-key: Prefix key used for psvn commands from the global 
  svn-global-keymap: Keymap that holds the function entries for the
    global accessible psvn functions

r855077 | xsteve | 2005-06-07 19:39:24 +0000 (Tue, 07 Jun 2005)

Added svn-status-this-directory

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-this-directory): New function to run svn-status without asking for
    the directory
  Use svn-status-this-directory for the global keybinding
  Fixed the bug, that svn-global-keymap is not defined

r855083 | xsteve | 2005-06-08 18:16:57 +0000 (Wed, 08 Jun 2005)

Improved the performance of 'svn add' and 'svn rm'

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-sentinel): use svn-status-update-with-command-list instead
     of svn-status-update to speed things up
  (svn-status-update-with-command-list): Try to preserve the point position
  (svn-status-annotate-status-buffer-entry): Add support for add,rm from
     the working copy
  (svn-status-parse-ar-output): New function to parse the output of
     svn add/rm to avoid running svn-status-update

r855085 | xsteve | 2005-06-08 19:13:09 +0000 (Wed, 08 Jun 2005)

Improved svn-status-cleanup

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-cleanup): When called with a prefix argument, use the actual file
     instead of the marked files, and added a docstring

r855100 | xsteve | 2005-06-10 19:52:48 +0000 (Fri, 10 Jun 2005)

Improved the trac integration

* trunk/contrib/client-side/psvn/psvn.el:
  svn-browse-url-function: new variable to specify the browser to use
  svn-global-trac-map: Keymap to access the trac functions via keyboard
  (svn-browse-url): browse a given url via svn-browse-url-function
  (svn-trac-browse-changeset): new function to show a changeset in
     the trac issue tracker
  (svn-trac-browse-ticket): new function to show a ticket in
     the trac issue tracker

r855410 | xsteve | 2005-07-13 19:21:14 +0000 (Wed, 13 Jul 2005)

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-parse-info-result): Use a case insensitive search for "url:"
  Put svn-status-update-cmd to the global svn map

r855518 | xsteve | 2005-07-26 20:57:10 +0000 (Tue, 26 Jul 2005)

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-commit-file): renamed to svn-status-commit, that name describes
    better what the function does
  The global keymap allows now to quickly show diffs (=) 
    or to start a commit (c)

r855613 | xsteve | 2005-08-01 20:02:54 +0000 (Mon, 01 Aug 2005)

New option: svn-status-display-full-path

* trunk/contrib/client-side/psvn/psvn.el:
  Based on a patch from Vesa Karvonen <>
  svn-status-display-full-path: New option to display the full path
    for nested directories
  (svn-insert-line-in-status-buffer): Use svn-status-display-full-path
  (svn-status-toggle-display-full-path): New function to interactively
    toggle svn-status-display-full-path. It is bound to O f

r855725 | xsteve | 2005-08-09 19:07:23 +0000 (Tue, 09 Aug 2005)

Bugfix in svn-status-after-save-hook

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-after-save-hook): Preserve the buffer position in the
    *svn-status* buffer after that function is called

r855867 | xsteve | 2005-08-17 19:58:06 +0000 (Wed, 17 Aug 2005)

New function svn-status-dired-jump

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-dired-jump): Jump to the file at point in a dired buffer
    That function is bound to C-x C-j

r856040 | xsteve | 2005-08-29 16:52:05 +0000 (Mon, 29 Aug 2005)

Fixed calculation of svn-status-temp-dir on xemacs

Reported by: <>

* trunk/contrib/client-side/psvn/psvn.el:
  svn-status-temp-dir: temp-directory is a function on xemacs, not a variable
    Added a docstring for svn-status-temp-dir

r856042 | xsteve | 2005-08-29 19:44:43 +0000 (Mon, 29 Aug 2005)

Added svn-status-default-diff-arguments, improved arglist handling for

* trunk/contrib/client-side/psvn/psvn.el:
  svn-status-default-diff-arguments: New option to specify a list of default
    arguments that should be passed to "svn diff"
  (svn-status-for): New macro, taken from esh-util.el, eshell-for
  (svn-status-flatten-list): New function, taken from esh-util.el, 
  (svn-run-svn): ARGLIST is flattend and every nil value is removed.
  (svn-status-show-svn-diff-internal): Use svn-status-default-diff-arguments

r856144 | xsteve | 2005-09-05 19:40:02 +0000 (Mon, 05 Sep 2005)

Minor improvements

* trunk/contrib/client-side/psvn/psvn.el:
  PCL-CVS compatibility: M-s runs svn-status-update (Suggested from
    Jarl Friis <>)
  svn-status-coding-system: New variable to specify the coding system for svn
  (svn-run-svn): Use svn-status-coding-system
  (svn-status-flatten-list): Simplify code (suggested by Kalle Olavi Niemitalo 

r856386 | xsteve | 2005-09-27 20:08:18 +0000 (Tue, 27 Sep 2005)

Select the HEAD revision, when running ediff on a file that has changed

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-get-specific-revision-internal): When the actual file has
    a new revision in the repository, run ediff against HEAD, otherwise
    use BASE

r856811 | kon | 2005-10-15 18:24:28 +0000 (Sat, 15 Oct 2005)

Document the package prefix.

Review by: xsteve
(the text, but not its exact placement)

* contrib/client-side/psvn/psvn.el:
    Added a comment about the prefixes this package uses in its symbols.

r856991 | xsteve | 2005-10-22 19:26:44 +0000 (Sat, 22 Oct 2005)

Readded svn-status-default-diff-arguments

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-show-svn-diff-internal): Use svn-status-default-diff-arguments
     if defined

r857542 | xsteve | 2005-11-21 20:01:17 +0000 (Mon, 21 Nov 2005)

Implemented svn-status-export

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-export): New function to export the current working directory 
    to a directory specified by the user.
    The new function is bound to X e.

r857546 | xsteve | 2005-11-21 20:42:01 +0000 (Mon, 21 Nov 2005)

New setting: svn-status-preserve-window-configuration

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-show-process-output): Honor 
    svn-status-preserve-window-configuration: don't call delete-other-windows
    if that option is set.
  svn-status-preserve-window-configuration is set to nil per default.

r857796 | xsteve | 2005-12-10 21:47:20 +0000 (Sat, 10 Dec 2005)

Added some emacs standard keybindings

* trunk/contrib/client-side/psvn/psvn.el:
  n runs now svn-status-next-line
  p runs now svn-status-previous-line

r857995 | xsteve | 2005-12-22 23:06:36 +0000 (Thu, 22 Dec 2005)

Added a real svn-status-diff-mode

* trunk/contrib/client-side/psvn/psvn.el:
  Renamed svn-status-diff-mode to svn-status-activate-diff-mode
  (svn-status-diff-mode): New function, activate a dedicated diff-mode
    for psvn. That mode uses the svn-status-diff-mode-map.
  (svn-status-diff-save-current-defun-as-kill): Copy the function name
    at point in *svn-diff* buffers. That function is bound to ?w
    in the svn-status-diff-mode-map.

r858056 | xsteve | 2006-01-04 21:01:27 +0000 (Wed, 04 Jan 2006)

Bury the log edit buffer after committing.

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-log-edit-done): Bury the *svn-log-edit* buffer
    after committing

r858420 | xsteve | 2006-02-05 20:45:56 +0000 (Sun, 05 Feb 2006)

Usability improvement for svn-status-mv

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-mv): When renaming a single file, add the current file name
    as default-value. That allows an easier renaming to a similar name.
    Just type <down> to insert the current name in the minibuffer.

r858544 | xsteve | 2006-02-15 20:51:59 +0000 (Wed, 15 Feb 2006)

Minor documentation updates, xemacs compatibility fix

* trunk/contrib/client-side/psvn/psvn.el:
  Updated the copyright year and the tested svn client version
  require has different parameter lists for emacs, xemacs
    Now use a version that both accept

r858873 | xsteve | 2006-03-09 20:42:24 +0000 (Thu, 09 Mar 2006)

Improved the file saving before a commit

* trunk/contrib/client-side/psvn/psvn.el:
  svn-status-do-prompt-for-save: New variable to make buffer saving optional.
  (svn-status-save-some-buffers): New function to ask the user, if a
    file in a given subtree should be saved if it is modified
  (svn-status-commit, svn-log-edit-done): Call svn-status-save-some-buffers,
    depending on svn-status-do-prompt-for-save
  (svn-status-base-dir): New optional parameter: start-directory.
    Additionally returns nil, if not in a subversion working copy.

r858950 | xsteve | 2006-03-13 20:07:01 +0000 (Mon, 13 Mar 2006)

Added a way to skip buffer switching after an asynch command.

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-had-user-input-since-asynch-run): New function, it tells if the user
    continued editing after starting an asynchronous operation. The test
    is done by comparing (recent-keys) with a saved value of (recent-keys)
  (svn-process-sentinel): Use svn-had-user-input-since-asynch-run. If there
    was an user input don't switch to the *svn-status* buffer
  (svn-log-view-font-lock-keywords): Improve the regex - don't highlight lines
    starting with r without a consecutive number.

r858962 | xsteve | 2006-03-14 20:33:52 +0000 (Tue, 14 Mar 2006)

Removed the variable svn-status-do-prompt-for-save.

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-do-prompt-for-save): Removed this variable.
    The only useful setting for this variable was t, so removed it again.
  (svn-status-commit, svn-log-edit-done): Call svn-status-save-some-buffers

r858963 | xsteve | 2006-03-14 20:42:16 +0000 (Tue, 14 Mar 2006)

Added bindings to the svn global map to switch to the *svn-status* buffer

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-switch-to-status-buffer): Switch to the *svn-status* buffer
    That command is bound to svn-global-keymap b
  (svn-status-pop-to-status-buffer): Pop to the *svn-status* buffer
    That command is bound to svn-global-keymap o

r859212 | xsteve | 2006-04-03 19:10:26 +0000 (Mon, 03 Apr 2006)

Allow editing of the parameters passed to svn-status

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status): Calling with the prefix argument '- allows to edit
    the parameters for svn status. Adding -N allows to run it non
  (svn-run): Allow editing of the svn arguments instead of only
    allow adding of extra parameters

r859265 | xsteve | 2006-04-05 18:52:13 +0000 (Wed, 05 Apr 2006)

Various UI improvements

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-info-mode): New mode for *svn-info* buffers. The key q buries the 
    *svn-info* buffer
  (svn-process-mode): New mode for *svn-process* buffers. The key q buries the
    *svn-process* buffer
  (svn-status-blame): When called with a prefix argument, ask the user for
    the revision that should be passed to svn blame

r859288 | xsteve | 2006-04-06 20:00:50 +0000 (Thu, 06 Apr 2006)

Editing svn:keywords doesn't force a call to svn-status-update

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-sentinel): Parse the output of svn for the effect of
    the propset command instead of calling svn-status-update. This
    gives a major speedup.
  (svn-status-annotate-status-buffer-entry): Add support for 'propset
  (svn-status-parse-property-output): New function to parse the output
    of svn propset.

r859513 | xsteve | 2006-04-20 20:37:09 +0000 (Thu, 20 Apr 2006)

Show the '.' entry always in the *svn-status* buffer

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-update-buffer): Show the '.' entry always. This makes
    the '.' key binding more useful, when unmodified files are hidden
    via '_'. When the cursor is on the '.' entry, all files are
    considered for the next svn action.

r859631 | xsteve | 2006-05-08 19:11:20 +0000 (Mon, 08 May 2006)

Allow to run svn-status-blame from a svn controlled file

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-run): Set the new variable svn-status-pre-run-svn-buffer
  (svn-process-sentinel): When svn blame finished, go to the line
    from the source file, if svn blame was invoked from a source file
  (svn-status-get-file-information): New function. Either call 
    svn-status-get-file-information or return the buffer-file-name for
    the current buffer
  (svn-status-blame): Allow it to run from a svn controlled source file
    Bind it to the svn-global-keymap (subkey b).

r859692 | xsteve | 2006-05-11 19:06:33 +0000 (Thu, 11 May 2006)

Bugfix for marking files when unmodified files are hidden

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-toggle-edit-cmd-flag): Added function description
  (svn-status-apply-usermark): Fixed marking, when unmodified files
    are hidden. Consider the special case of the '.' entry that is always 

r859722 | xsteve | 2006-05-15 20:03:59 +0000 (Mon, 15 May 2006)

Annotate the *svn-status* buffer after svn update

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-sentinel): Annotate the *svn-status* buffer after
    svn update
  (svn-status-annotate-status-buffer-entry): Handle the action 'updated also
  (svn-status-parse-update-output): New function to parse the svn update output
  (svn-status-update-cmd): A prefix argument allows to specify the target revision

r859794 | xsteve | 2006-05-19 19:45:00 +0000 (Fri, 19 May 2006)

Added a constant that holds the svn revision number

* trunk/contrib/client-side/psvn/psvn.el:
  svn-psvn-revision holds the svn file Id of psvn.el

r859795 | xsteve | 2006-05-19 20:06:12 +0000 (Fri, 19 May 2006)

Replaced some calls to message with svn-status-message

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-update-with-command-list, svn-status-after-save-hook):
    Replaced unimportant debug message calls with svn-status-message

r859865 | xsteve | 2006-05-23 19:37:33 +0000 (Tue, 23 May 2006)

Implemented support for svn ls

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-sentinel): Added support for svn ls
  (svn-status-parse-info-result): Extract the repository root also
  (svn-status-base-info->repository-root): New function. Return
    the repository root that was parsed in svn-status-parse-info-result
  (svn-status-ls): New function. Run svn ls.
  (svn-status-ls-branches): Show the available branches for the
    actual working copy.

r859987 | xsteve | 2006-06-02 20:05:37 +0000 (Fri, 02 Jun 2006)

Added support to resolve merge conflicts

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-resolve-conflicts-ediff): Extended the regexps to support
    merge conflicts also. Thanks to Kai Benndorf for help.

r860080 | xsteve | 2006-06-08 20:39:06 +0000 (Thu, 08 Jun 2006)

Allow to create local svn repositories + implemented svn-checkout.

* trunk/contrib/client-side/psvn/psvn.el:
  svn-admin-default-create-directory: New variable that specifies the
    suggested directory when creating new repositories via emacs
  (svn-checkout): New function to checkout from a svn repository
  (svn-admin-create): New function to create local svn repositories.
    That function runs the hook svn-admin-create-hook
  (svn-admin-create-trunk-directory): Imports an empty trunk directory
    to the repository specified via svn-admin-last-repository-dir
  (svn-admin-start-import): New convenience function to start importing
    a directory into a svn repository. The user is asked whether to
    create a new repository or to use an existing.

r860130 | xsteve | 2006-06-12 19:31:31 +0000 (Mon, 12 Jun 2006)

Bugfix for svn-status-parse-info-result

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-parse-info-result): Support older svn server revisions
    also that dont show the "repository root" for "svn info ."

r860159 | xsteve | 2006-06-13 19:22:37 +0000 (Tue, 13 Jun 2006)

Changed default for svn-status-preserve-window-configuration to t

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-show-process-buffer-internal)): Honour 

r860162 | xsteve | 2006-06-13 20:07:47 +0000 (Tue, 13 Jun 2006)

Indicate which svn process is running for non *svn-status* buffers also

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-pre-run-mode-line-process): New variable that holds the 
    mode-line-process when svn-run is invoked
  (svn-status-1): Ensure that svn-run is called from the actual
  (svn-run): Set mode-line-process to svn-status-mode-line-process
    for non *svn-status* buffers
  (svn-process-sentinel): Reset the mode-line-process to

r860177 | xsteve | 2006-06-14 19:47:31 +0000 (Wed, 14 Jun 2006)

Optimized svn-status-toggle-display-full-path

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-window-line-position): New function to get the cursor
    position in the current displayed window
  (svn-status-update-buffer): Preserve the window line position
    when the buffer is updated
  (svn-status-toggle-display-full-path): Don't run svn status.
    Just redisplay the *svn-status* buffer either with or without
    full paths

r860266 | xsteve | 2006-06-20 20:23:15 +0000 (Tue, 20 Jun 2006)

Implemented a workaround if window-inside-edges is not defined

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-window-line-position): Return nil, if window-inside-edges
     is not available
  (svn-status-update-buffer): Call recenter only, if window-line-pos
     is correct (window-inside-edges is available)

r860307 | xsteve | 2006-06-23 20:12:37 +0000 (Fri, 23 Jun 2006)

Parse property updates correct after svn update

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-annotate-status-buffer-entry): Support the 'updated-props action
  (svn-status-parse-update-output): Parse the 'updated-props correct

r860311 | xsteve | 2006-06-23 21:30:51 +0000 (Fri, 23 Jun 2006)

Added support for svn lock/unlock

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-sentinel): Added support for 'lock, 'unlock
  (svn-parse-status-result): Extract the svn-repo-locked-mark column
  (svn-status-line-info->repo-locked): New function
  (svn-insert-line-in-status-buffer): Show a repo lock if taken
  (svn-status-lock): New function to lock a file, bound to k
  (svn-status-unlock): New function to lock a file, bound to K

r860358 | xsteve | 2006-06-28 19:15:19 +0000 (Wed, 28 Jun 2006)

Remove a repository lock from the display after a commit.

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-line-info->repo-locked): Corrected documentation
  (svn-status-line-info->set-repo-locked): New function
  (svn-status-annotate-status-buffer-entry): Reset the locked info
    after a commit

r860721 | xsteve | 2006-07-13 20:38:27 +0000 (Thu, 13 Jul 2006)

Implemented svn-status-diff-update

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-diff-update): New function that allows to update the content
    of a displayed *svn-diff* buffer. That function is bound to g in the 
    *svn-diff* buffer.

r860897 | xsteve | 2006-07-21 19:44:24 +0000 (Fri, 21 Jul 2006)

Various minor fixes suggested by different people

* trunk/contrib/client-side/psvn/psvn.el:
  Use some require statements to fix some byte compilation warnings
  (svn-status-diff-mode): Use svn-status-diff-update as revert-buffer-function
  (svn-status-diff-update): Added the parameters arg and noconfirm to
    allow revert-buffer to invoke it as revert-buffer-function
  (svn-status-run-mv-cp): Use the same names in the parameter list and
    in the function body.

r860898 | xsteve | 2006-07-21 20:00:32 +0000 (Fri, 21 Jul 2006)

Make the revert-buffer-function in svn-diff buffers buffer local

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-diff-mode): Make revert-buffer-function buffer local

r861339 | xsteve | 2006-08-25 20:17:28 +0000 (Fri, 25 Aug 2006)

Provide useful values for paragraph-start, paragraph-separate

Slightly edited patch from: Oscar Fuentes <>

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-log-edit-paragraph-start, svn-log-edit-paragraph-separate):
    New variables
  (svn-log-edit-use-log-edit-mode): Use svn-log-edit-paragraph-start
    as paragraph-start, use svn-log-edit-paragraph-separate as

r861347 | xsteve | 2006-08-26 18:48:54 +0000 (Sat, 26 Aug 2006)

Bugfix for the last commit to psvn.el (rev 21265)

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-log-edit-paragraph-start, svn-log-edit-paragraph-separate):
    Fix the regexp (double the backslashes)
  (svn-log-edit-common-setup): New function to use svn-log-edit-paragraph-start
    and svn-log-edit-paragraph-separate
  (svn-log-edit-mode): Call svn-log-edit-common-setup, when it is derived
    from log-edit-mode and when it is defined as independent function

r861385 | xsteve | 2006-08-29 20:34:16 +0000 (Tue, 29 Aug 2006)

Added a function to show the psvn.el/svn client version number

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-run): Added the hook svn-pre-run-hook
  (svn-status-version): New function to show the version number of the
    svn command line client and the version number for psvn.el

r861393 | xsteve | 2006-08-30 19:35:03 +0000 (Wed, 30 Aug 2006)

Improved the svn-process-mode

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-send-string-and-newline): New function to send
    a newline terminated string to the svn process
  (svn-process-filter): Use svn-process-send-string-and-newline
    instead of svn-process-send-string
  (svn-process-mode): Added the svn-process-mode-menu
    That menu holds entries to send strings to the svn process

r861451 | xsteve | 2006-09-07 19:21:07 +0000 (Thu, 07 Sep 2006)

Started a file specific submap for the svn-global-keymap

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-file-show-svn-diff): New function to show the diff for the current file
  svn-global-map f = now runs svn-file-show-svn-diff
  svn-global-map f b now runs svn-status-blame
  The f is a mnemonic for file (specific functions)

r861508 | xsteve | 2006-09-11 18:47:59 +0000 (Mon, 11 Sep 2006)

Added a show context function for *svn-info* buffers

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-info-show-context): New function to show context for the info
    that is displayed in a *svn-info* buffer. At the moment this
    functions parses the output from "svn update" and allows to jump
    to a file name in the *svn-status* buffer.

r861591 | xsteve | 2006-09-16 19:45:39 +0000 (Sat, 16 Sep 2006)

Auto revert buffers after a commit or an update

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-auto-revert-buffers): New option to enable the auto revert
  (svn-process-sentinel): Revert changed buffers on disk after a commit or
    an update
  (svn-revert-some-buffers): New function to revert buffers that have
    changed on disk
  (svn-status-base-dir): Fixed a rexexp match (use \\ instead of \)

r861604 | xsteve | 2006-09-18 19:33:45 +0000 (Mon, 18 Sep 2006)

Added svn-status-mark-by-file-ext

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-mark-by-file-ext): New function to allow marking by
    file extension. This function is bound to "* .".

r861631 | xsteve | 2006-09-19 19:32:34 +0000 (Tue, 19 Sep 2006)

Refactoring: introduced svn-process-buffer-name, disable undo in this buffer

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-buffer-name): New variable that is used instead of the string
    constant "*svn-process*" in all places
  (svn-run): Disable the undo functionality for *svn-process* the buffer

r861680 | xsteve | 2006-09-22 18:40:11 +0000 (Fri, 22 Sep 2006)

Minor improvement for reverting files + a little bugfix

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-revert-some-buffers): Keep the cursor position after reverting
    the buffer.
  (svn-status-bury-buffer): Bugfix: Use the value from
    svn-process-buffer-name instead of svn-process-buffer-name as symbol

r861707 | xsteve | 2006-09-25 18:57:00 +0000 (Mon, 25 Sep 2006)

Out of the box support for non english svn clients + a minor fix

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-svn-environment-var-list): Set it to LANG=C
    to make psvn.el work out of the box with non english svn clients
  (svn-log-revision-at-point): Bugfix to make it do the correct thing
    independent from the cursor position on the current line

r861858 | xsteve | 2006-10-05 19:09:01 +0000 (Thu, 05 Oct 2006)

Added support for user names that include blanks

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-user-names-including-blanks): New variable that holds all user names
    that include blanks
  (svn-pre-parse-status-hook): New hook to allow the modification of the
    svn status output before svn-parse-status-result parses the result for psvn
  (svn-status-parse-fixup-user-names-including-blanks): New function. It can be
    used in the svn-pre-parse-status-hook to convert user names with ' ' to
    user names with '-'. That allows user names that contain blanks.

r861963 | xsteve | 2006-10-11 19:04:43 +0000 (Wed, 11 Oct 2006)

Allow to start a commit from the *svn-diff* buffer via c

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-log-edit-buffer-name): New variable, use it for every occurance
    of "*svn-log-edit*"
  (svn-status-diff-pop-to-commit-buffer): New function to start a commit
    from a *svn-diff* buffer. This function is bound to ?c in the

r862054 | xsteve | 2006-10-16 19:17:07 +0000 (Mon, 16 Oct 2006)

Improved svn-status-version

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-version): Now show the revision number of psvn.el
    also, if the *svn-info* buffer is readonly. The function
    additionally returns the versions as string.

r862055 | xsteve | 2006-10-16 19:19:31 +0000 (Mon, 16 Oct 2006)

svn-info-show-context now works for svn 1.4 also

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-info-show-context): Improved the filename detection.

r862117 | xsteve | 2006-10-19 20:00:30 +0000 (Thu, 19 Oct 2006)

Introduced svn-status-pop-to-partner-buffer

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-pop-to-partner-buffer): New function bound to h
    It allows an easy switching between a status-buffer and a dedicated
    svn partner buffer. That concept is not often used at the moment
    Since svn-status-pop-to-partner-buffer is now bound to h,
    svn-status-use-history is moved to H

r862118 | xsteve | 2006-10-19 20:02:39 +0000 (Thu, 19 Oct 2006)

Honor svn-status-wash-control-M-in-process-buffers for every svn command

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-run): Honor svn-status-wash-control-M-in-process-buffers for synchron
     executed svn commands also

r862292 | xsteve | 2006-11-04 20:16:09 +0000 (Sat, 04 Nov 2006)

XEmacs compatibility fix for svn-status-dired-jump

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-dired-jump): XEmacs uses dired-jump-back instead of dired-jump

r862318 | xsteve | 2006-11-09 19:56:15 +0000 (Thu, 09 Nov 2006)

Remove the C-n and C-p bindings

* trunk/contrib/client-side/psvn/psvn.el:
  Since svn-status-next-line and svn-status-previous-line now
  skip lines that contain no file data, let C-n and C-p do the
  normal cursor movements

r862319 | xsteve | 2006-11-09 19:59:32 +0000 (Thu, 09 Nov 2006)

New function: svn-status-copy-current-line-info

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-copy-current-line-info): New function, bound to ?w
    This function either calls svn-status-copy-filename-as-kill
    or it extracts data that follows the ':'. It can be used
    to copy the repository URL.

r862320 | xsteve | 2006-11-09 20:02:05 +0000 (Thu, 09 Nov 2006)

When force deleting files, remove them from the *svn-status* buffer

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-rm): When files are deleted that are not tracked via svn,
     remove them from the *svn-status* buffer

r862352 | xsteve | 2006-11-11 21:14:27 +0000 (Sat, 11 Nov 2006)

An emacs 21 compatibility fix

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-sentinel): goto-line only accepts the line number
    in emacs21

r862353 | xsteve | 2006-11-11 21:34:59 +0000 (Sat, 11 Nov 2006)

Added a simple bookmark facility

Based on a patch by: Matthew Mawdsley <>

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-bookmark-list): New variable that holds the bookmark list
  (svn-status-via-bookmark): New function that allows the user to
    select a bookmark entry and run svn-status on the selected directory.
    svn-status-via-bookmark is on C-x v S b

r862367 | xsteve | 2006-11-13 20:23:03 +0000 (Mon, 13 Nov 2006)

Various minor fixes

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-bookmark-list): Fixed the wrong order of doc-string and initial value
  (svn-status-use-ido-completion): New variable to enable ido style completion
    for some svn functions (at the moment only svn-status-via-bookmark)
  (svn-line-number-at-pos): New compatibility function for emacsn that
    miss the line-number-at-pos function
  (svn-status-window-line-position): Simplified, thanks to 
  (svn-process-sentinel): Use svn-line-number-at-pos instead of 
  (svn-status-via-bookmark): Honor svn-status-use-ido-completion

r862523 | xsteve | 2006-11-27 19:51:23 +0000 (Mon, 27 Nov 2006)

A bugfix for the svn-status-custom-hide-function handling

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-custom-hide-function): Added a docstring for that variable
  (svn-status-get-file-name-buffer-position): Consider
    svn-status-line-info->hide-because-custom-hide-function also
  (svn-status-line-info->hide-because-custom-hide-function): New function.
    Detects, if svn-status-custom-hide-function would hide this line.
  Thanks to David Abrahams <> for his report.

r862656 | xsteve | 2006-12-05 20:48:01 +0000 (Tue, 05 Dec 2006)

Introduced svn-status-branch-list

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-branch-list): New variable. It will hold a list of branches
    for the current working copy.
  (svn-status-ls-tags): New function to show the tags for the current working 
  (svn-status-save-state): Save svn-status-branch-list also
  (svn-status-load-state): Load svn-status-branch-list also
  (svn-status-set-branch-list): New function (on O b): Edit 
  (svn-select-branch): New function to ask the user for one branch from
    the svn-status-branch-list

r862665 | xsteve | 2006-12-06 20:04:48 +0000 (Wed, 06 Dec 2006)

Added support to show a diff between two branches/tags

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-branch-list): Improved the documentation for this variable
  (svn-process-sentinel): Added support for asynchronous diff invocation
  (svn-status-ls): Allow to run this function synchronous and return a list
    of the listed paths in the synchronous case
  (svn-branch-select): Renamed from svn-branch-select. Implemented support
    for branch shortcuts starting with # or #1#
  (svn-branch-diff): New function to show a diff between two branches/tags
    This function is available on B d

r862761 | xsteve | 2006-12-13 20:13:59 +0000 (Wed, 13 Dec 2006)

Update the author field after a commit without running 'svn status'

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-last-commit-author): New variable.
  (svn-status-line-info->author): Added a doc-string
  (svn-status-line-info->set-author): New function to change the author field
     of a line-info
  (svn-status-annotate-status-buffer-entry): Update the author field if it
     is available
  (svn-status-parse-commit-output): Set svn-status-last-commit-author to the
     name of the last committer
  (svn-status-parse-info): Run svn and put the output in a buffer named
  (svn-status-parse-info-result): svn-status-base-info now holds also
     a field called last-changed-author
  (svn-status-info-for-path): New function to extract the name of the committer
     for a given file

r862821 | xsteve | 2006-12-18 20:02:28 +0000 (Mon, 18 Dec 2006)

Use ido completion for svn-status-use-history

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-completion-function): New function, either returns
     'ido-completing-read or 'completing-read
  (svn-status-use-history): Use ido completion. Additionally update the
     repository dir location in the *svn-status* buffer
  (svn-status-update-buffer): Run svn-status-parse-info,
     if svn-status-refresh-info is not nil
  (svn-status-via-bookmark, svn-status-property-set-mime-type,
     svn-branch-select): call svn-status-completion-function
  (svn-branch-select): Fixed a typo: svn-select-branch -> svn-branch-select

r863022 | xsteve | 2007-01-09 19:31:14 +0000 (Tue, 09 Jan 2007)

Started support to prepare the commit message using changelog style entries

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-log-edit-file-name): New function.
  (svn-status-pop-to-commit-buffer): Add docstring. Use the 
    svn-log-edit-file-name function instead of the svn-log-edit-file-name
  (svn-log-edit-save-message): Use the svn-log-edit-file-name function
  (svn-file-add-to-changelog): New function to prepare the commit message
    via a call to add-change-log-entry-other-window

r863039 | xsteve | 2007-01-10 21:03:19 +0000 (Wed, 10 Jan 2007)

Introduced svn-post-process-svn-output-hook

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-post-process-svn-output-hook): New hook, run svn-status-remove-control-M
    on windows platforms
  (svn-status-wash-control-M-in-process-buffers): Deleted variable.
    The svn-post-process-svn-output-hook is a more general solution
  (svn-run, svn-process-sentinel): Run svn-post-process-svn-output-hook after
    running a svn command

r863122 | xsteve | 2007-01-16 20:45:28 +0000 (Tue, 16 Jan 2007)

Allow to specify the changlog style used for svn-file-add-to-changelog

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-changelog-style): New variable, can either be 'changelog for
    standard emacs changelogs or svn-dev for changelogs that are used by
    the svn developers or the name of a function that enters the changelog
  (svn-file-add-to-changelog): Call the appropriate function, according to
  (svn-file-add-to-log-changelog-style): New function to insert a changelog
    style log message.
  (svn-dev-log-path-derive): New function, taken from svn-dev.el (was called
  (svn-file-add-to-log-svn-dev-style): New function, taken from svn-dev.el
    (was called svn-log-message). This function prepares a svn-dev style
    log entry
  (svn-status-save-state): Save the value of svn-status-changelog-style also
  (svn-status-load-state): Load the value of svn-status-changelog-style also
  (svn-status-set-changelog-style): Allow to interactively set the value
    of svn-status-changelog-style

r863153 | xsteve | 2007-01-17 21:05:42 +0000 (Wed, 17 Jan 2007)

Added svn-status-mode-hook

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-mode): Run the new defined hook svn-status-mode-hook

r863212 | xsteve | 2007-01-20 21:23:18 +0000 (Sat, 20 Jan 2007)

Running svn mv/cp renames open file buffers also

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-mv-cp): After running svn mv/cp rename the buffers for
     opened files.

r863405 | xsteve | 2007-02-03 20:16:53 +0000 (Sat, 03 Feb 2007)

Better support for giving an answer to the certificate validity question

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-filter): Find out, if the certificate validity question
     is asked. If yes, ask the user whether he wants to accept the certificate.

r863470 | xsteve | 2007-02-14 19:04:18 +0000 (Wed, 14 Feb 2007)

Show the committed revision number after a commit

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-sentinel): Display the committed revision number when
     the commit process has finished

r863475 | xsteve | 2007-02-15 20:04:22 +0000 (Thu, 15 Feb 2007)

Introduced svn-status-svn-file-coding-system

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-svn-file-coding-system): New variable to specify the
    coding system that is used for files that are used as input
    for the svn command line client
  (svn-prop-edit-do-it, svn-log-edit-done): Use 

r863494 | xsteve | 2007-02-16 19:57:38 +0000 (Fri, 16 Feb 2007)

Improved the trac interface

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-trac-browse-wiki): New function to browse the trac wiki
  (svn-trac-browse-roadmap): New function to browse the trac roadmap
  (svn-trac-browse-source): New function to open the trac source browser
  (svn-trac-browse-report): New function to open the trac report view
  The new functions are all available in the global svn trac keymap, the
  svn-status-mode trac keymap and in the svn trac menu

r863505 | xsteve | 2007-02-19 21:00:07 +0000 (Mon, 19 Feb 2007)

Added functionality to make bug reports easier

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-last-cmd-ring): New variable that holds the 30 recent executed svn 
  (svn-status-last-commands): New function to get the value from
    svn-last-cmd-ring formatted as string
  (svn-prepare-bug-report): New function to prepare a buffer that
    holds information of the output from the last svn command and
    some other important information to ease bug reports

r863512 | xsteve | 2007-02-20 20:10:54 +0000 (Tue, 20 Feb 2007)

Bugfix for svn-prepare-bug-report

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-run): Set svn-status-last-output-buffer-name also for synchronous
    calls to svn
  (svn-status-version): Calculate svn-status-cached-version-string, if it
    is not available yet
  (svn-prepare-bug-report): Handle svn-status-last-output-buffer-name==nil,
    improved the bug report message

r863515 | xsteve | 2007-02-20 20:14:02 +0000 (Tue, 20 Feb 2007)

Show the revision number after a svn update in the message line

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-sentinel): Show the revision after the svn update command
  (svn-status-parse-update-output): Save the revision after an update in

r863664 | xsteve | 2007-03-06 19:45:30 +0000 (Tue, 06 Mar 2007)

Allow to run svn log for a file via a svn-global-keymap binding

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-file-show-svn-log): New function to show the svn log for the
    actual file. It is bound to C-x v S f l

r863665 | xsteve | 2007-03-06 20:09:22 +0000 (Tue, 06 Mar 2007)

A minor XEmacs compatibility fix

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-copy-current-line-info): Replaced match-string-no-properties
    with svn-match-string-no-properties

r863850 | xsteve | 2007-03-11 19:53:54 +0000 (Sun, 11 Mar 2007)

New function: svn-file-show-svn-ediff

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-file-show-svn-ediff): New function that allows to run ediff against
    a repository version for the current file. This function is bound to
    C-x V s f e
  (svn-status-get-line-information): When not called from the *svn-status*
    buffer, consider the new variable svn-status-get-line-information-for-file
    if the current directory or the current file should be used.

r863895 | xsteve | 2007-03-14 19:25:43 +0000 (Wed, 14 Mar 2007)

Bugfix for svn-file-show-svn-ediff

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-file-show-svn-ediff): Make it work for all files in a working
     copy. Before it worked only for files in the root directory.

r863896 | xsteve | 2007-03-14 19:32:25 +0000 (Wed, 14 Mar 2007)

Improved svn-status-base-dir

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-status-repo-for-path): New function to retrieve the repository
    root url for a given path
  (svn-status-base-dir): Don't look only, if the directory below has a .svn
    subdirectory. The new algorithm looks repository url in the directory

r863924 | xsteve | 2007-03-15 19:40:08 +0000 (Thu, 15 Mar 2007)

Improved performance of svn-status-base-dir, svn-revert-some-buffers

* trunk/contrib/client-side/psvn/psvn.el:
  (svn-process-sentinel): After an update command revert buffers first, then
    call svn status. This is now necessary because svn-status-base-dir
    also calls svn-run. psvn.el allows only one svn process at a time.
  (svn-revert-some-buffers): Only revert the buffer, when the file has changed
    on disk
  (svn-status-base-dir): Cache the calculated base-dir values in 

r863960 | xsteve | 2007-03-17 12:06:39 +0000 (Sat, 17 Mar 2007)

Major speedup for "svn status"

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-process-sentinel): Don't call svn-status-apply-elide-list before 
    svn-parse-status-result. svn-status-apply-elide-list itself calls
    svn-status-update-buffer. In the previous version svn-status-update-buffer
    was called two times. Now it is called only once. So running svn-status
    should be faster now.
    Additionally this patch allows to apply a saved elide list, when running
    svn status.

r863978 | xsteve | 2007-03-19 22:34:15 +0000 (Mon, 19 Mar 2007)

Support for reloading psvn.el if an older version is already in use

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-prepare-for-reload): New function that resets some variables that
    are otherwise not touched when reloading psvn.el. This function is
    intended to be used, when an older version of psvn.el is already
    loaded by your emacs startup and you want to load a newer version.
    It alows to use the newer keybindings.

r864021 | xsteve | 2007-03-20 20:24:37 +0000 (Tue, 20 Mar 2007)

Improved the svn-status-toggle-elide function

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-get-child-directories): New function to get a list of 
    subdirectories for the given directory.
  (svn-status-toggle-elide): Added a different functionality when called
    with a prefix argument: Toggle the hiding of subdirectories for the
    current directory

r864102 | xsteve | 2007-03-22 21:14:07 +0000 (Thu, 22 Mar 2007)

Improved the support for working copies that use svn:externals

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-parse-status-result): Implemented an algorithm that should avoid
    the duplication of directories that use svn:externals

r864169 | xsteve | 2007-03-24 21:14:02 +0000 (Sat, 24 Mar 2007)

Add svn-status-use-history to the global keymap: C-x v S h

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-completion-function): Removed this function and replaced
     it by a variable with the same name.
  (svn-status-use-history): Handle the case correct, when not called from
     the *svn-status* buffer

r864273 | xsteve | 2007-03-27 19:46:10 +0000 (Tue, 27 Mar 2007)

(Re)added compatibility code for svn clients < 1.3

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-client-version): New variable that holds a list of revision numbers
    for the currently used svn client
  (svn-status-version): Added the calculation for svn-client-version
  (svn-status-base-dir): Call svn-status-base-dir-for-ancient-svn-client for
    older svn client
  (svn-status-base-dir-for-ancient-svn-client): New function that
    calculates the base dir for older svn clients

r864274 | xsteve | 2007-03-27 20:17:45 +0000 (Tue, 27 Mar 2007)

Extended the comment string for svn-status-svn-environment-var-list

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-svn-environment-var-list): Added a short note that LC_MESSAGES=C
    can also be used.

r864372 | xsteve | 2007-03-31 19:10:08 +0000 (Sat, 31 Mar 2007)

Added key bindings: P K i, P K d to set the Id or Date property

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-property-edit): Added a new parameter remove-values to
    allow the removal of a specified value
  (svn-status-property-set-keyword-id): Add/Remove Id from the svn:keywords
  (svn-status-property-set-keyword-date): Add/Remove Date from the svn:keywords

r864415 | xsteve | 2007-04-02 19:08:29 +0000 (Mon, 02 Apr 2007)

Bugfix for the svn external support

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-parse-status-result): Improved the merging of double entries that
     are shown when using svn externals. Now support the case when the line
     below "Performing status on external item at..." is not the external

r864417 | xsteve | 2007-04-02 19:45:17 +0000 (Mon, 02 Apr 2007)

Added support for utf-8 for commit messages and for setting properties

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-svn-file-coding-system): Mention that 'utf-8 can be used
  (svn-prop-edit-do-it): When svn-status-svn-file-coding-system is 'utf-8,
    use the --encoding command line switch for UTF-8
  (svn-log-edit-done): When svn-status-svn-file-coding-system is 'utf-8,
    use the --encoding command line switch for UTF-8

r864418 | xsteve | 2007-04-02 19:56:39 +0000 (Mon, 02 Apr 2007)

Don't display the svn-status-version output on startup

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-version): Display the version information buffer only
    when called interactively

r864504 | xsteve | 2007-04-04 20:05:30 +0000 (Wed, 04 Apr 2007)

Made the file popup menu customizable

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-file-popup-menu-list): New variable that holds the
     wanted menu entries. Added a bunch of useful additional
  (svn-status-popup-menu): Use svn-status-file-popup-menu-list

r864529 | xsteve | 2007-04-05 18:53:55 +0000 (Thu, 05 Apr 2007)

Implemented the svn blame minor mode

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-process-sentinel): Activate the svn-blame minor mode when the svn blame
    command finishes
  (svn-status-blame): Set the svn-status-blame-file-name before running 
    svn blame
  (svn-status-diff-show-changeset): New function to display a changeset
    (a changeset is the difference between two neighbouring revisions
  (svn-log-view-diff): Use svn-status-diff-show-changeset
  (svn-blame-mode): New minor mode that displays the file in the correct
    major mode and displays the changeset author and the revision name
    on the left part of each line. This mode allows to highlight lines
    by revision or by author

r864596 | xsteve | 2007-04-10 21:20:47 +0000 (Tue, 10 Apr 2007)

Some XEmacs fixes

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-blame-highlight-face): Add an XEmacs compatible definition
  (svn-status-activate-blame-mode): Use svn-line-number-at-pos instead
    of line-number-at-pos

r864607 | xsteve | 2007-04-11 18:56:04 +0000 (Wed, 11 Apr 2007)

Some XEmacs fixes

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-blame-rev-number-face): New face, used in svn blame mode
  Replaced all occurances of line-beginning-position with svn-point-at-bol

r864608 | xsteve | 2007-04-11 19:01:24 +0000 (Wed, 11 Apr 2007)

Bugfix for working copies that reside in a symlinked directory

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-repo-for-path): Run "svn info ." in the symlinked directory
    "svn info /path/to/symlinked-dir" does not work. I am not sure if
    this is a bug or a feature of the svn command line client...

r864634 | xsteve | 2007-04-12 18:37:01 +0000 (Thu, 12 Apr 2007)

Improved the svn-status-show-svn-log function

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-default-log-arguments): Changed to '("-v") from '()
  (svn-status-marked-files): Return a file information for the current
    file, when not called from a *svn-status* buffer
  (svn-status-show-svn-log): Changed the meaning of the prefix arguments:
    -1 shows almost no output (-q switch)
    0  shows medium output (no switch)
    any other arg shows much output (-v switch)
  (svn-file-show-svn-log): Deleted, because svn-status-show-svn-log
    can be used now, because of the improved svn-status-marked-files
  (svn-log-view-next, svn-log-view-prev): Improved the movement when
    Changed paths are shown (via the -v flag for svn log)

r864635 | xsteve | 2007-04-12 18:49:55 +0000 (Thu, 12 Apr 2007)

Allow to get older file revisions from the log buffer

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-get-specific-revision-internal): Improved the function:
    Reuse an already downloaded version instead of requesting it again
    via svn cat
  (svn-status-get-specific-revision-file-info): This variable is no
    longer needed
  (svn-log-get-specific-revision): New function bound to ~ in
    *svn-log* buffers

r864644 | xsteve | 2007-04-13 20:18:29 +0000 (Fri, 13 Apr 2007)

Support to run ediff from a *svn-log* buffer

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-log-find-file-at-point): New function bound to RET to open the
    file at point from within a *svn-log* buffer
  (svn-log-ediff-specific-revision): New function bound to E to
    view the changes for the file at point via ediff

r864762 | xsteve | 2007-04-20 20:29:34 +0000 (Fri, 20 Apr 2007)

Bugfix for svn-status-ediff-with-revision

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-ediff-with-revision): Make this function work again when
    called from subdirectory of a working copy

r864833 | xsteve | 2007-04-24 19:06:07 +0000 (Tue, 24 Apr 2007)

Fixed a bunch of marking problems

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-make-line-info): Added the extra field psvn-extra-info
  (svn-parse-status-result): Added the extra field psvn-extra-info to
    the line informations generated. This field is set to nil in this
  (svn-status-line-info->psvn-extra-info): New function to extract the
    psvn-extra-info from a line-info list
  (svn-status-line-info->is-visiblep): Added some more cases when the
    line should be visible: When an update is available or when
    psvn-extra-info is set for this line
  (svn-status-line-info->set-psvn-extra-info): New function to modify
    the psvn-extra-info for a given line-info list
  (svn-status-annotate-status-buffer-entry): Set the psvn-extra-info
    for each line that gets annotated
  (svn-status-redraw-status-buffer): New function that clears the
    psvn-extra-info entries for each line before calling
  (svn-status-select-line): Improved the debugging output a bit
  (svn-status-apply-usermark): Don't mark directories with a similar
    name when a file should be marked
  (svn-trac-browse-source): Corrected the url
  (svn-prepare-for-reload): New function that resets some variables that
    are otherwise not touched when reloading psvn.el. This function is
    intended to be used, when an older version of psvn.el is already
    loaded by your emacs startup and you want to load a newer version.
    It alows to use the newer keybindings.

r865162 | xsteve | 2007-05-21 19:43:48 +0000 (Mon, 21 May 2007)

Bugfix in svn-status-repo-for-path

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-save-some-buffers): Added some (inactive) debug print
  (svn-status-repo-for-path): Bugfix: set the default-directory in the
    *svn-process* buffer correct, otherwise this function returned
    wrong results if the *svn-process* used a different default-directory
  (svn-status-base-dir): Added some (inactive) debug print statements

r865200 | xsteve | 2007-05-23 18:08:32 +0000 (Wed, 23 May 2007)

Improved the support for svn-status-verbose == nil

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-parse-status-result): Handle the output from "svn status -u"
    call correct.
  (svn-status-toggle-svn-verbose-flag): New function, bound to O v

r865209 | xsteve | 2007-05-24 18:27:31 +0000 (Thu, 24 May 2007)

Added support for filenames that contain umlaut characters

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-svn-environment-var-list): Changed the default setting from
  (svn-status-coding-system): Removed this unneeded variable
  (svn-status-svn-process-coding-system): Allow to customize the coding
    system for the svn command line client. It is initialized from the value
    of locale-coding-system

r865226 | xsteve | 2007-05-25 18:15:02 +0000 (Fri, 25 May 2007)

Added support to delete temporary files after an ediff operation

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-ediff-delete-temporary-files): New variable that
    controls how temporary ediff files are treated. When it is nil,
    keep the files cached for the next ediff operation. When it is t,
    delete the files. When it has the value 'ask, ask to user if the
    files should be deleted.
  (svn-ediff-exit-hook): Honor the svn-status-ediff-delete-temporary-files

r865227 | xsteve | 2007-05-25 18:20:21 +0000 (Fri, 25 May 2007)

Fixed a status message in svn-status-mv-cp
Patch by Eric Hanchrow <>

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-mv-cp): Correct a status message to say either 'cp' or
    'mv' instead of always 'move'

r865242 | xsteve | 2007-05-26 18:44:41 +0000 (Sat, 26 May 2007)

Show a warning, when an old checkout without a Repository Root entry is used

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-repo-for-path): Show a warning message when the output
    of svn info doesn't show a "Repository Root" entry. This entry is
    not present, when the working copy was checked out with an svn 1.1

r865315 | xsteve | 2007-05-31 19:32:50 +0000 (Thu, 31 May 2007)

Allow to use psvn.el if LC_ALL is set in the default environment

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-svn-environment-var-list): The default setting is now:
    '("LC_MESSAGES=C" "LC_ALL="). This unsets the LC_ALL setting since
    this setting would overrule the LC_MESSAGES setting.
  (svn-prepare-bug-report): Add the locale specific environment variables
    to the diagnostic report

r865481 | xsteve | 2007-06-14 19:08:49 +0000 (Thu, 14 Jun 2007)

svn-status-ediff-delete-temporary-files now deletes files ending in ~BASE~ also

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-ediff-exit-hook): Tweak the regexp to delete ~BASE~ files also

r865517 | xsteve | 2007-06-18 18:19:57 +0000 (Mon, 18 Jun 2007)

Workaround for a bug when before existing directories disappear
Patch by Eric Hanchrow <>

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-run): Work around a strange bug: if the default-directory does
    no longer exit, cd to an existing directory

r865518 | xsteve | 2007-06-18 18:22:08 +0000 (Mon, 18 Jun 2007)

Bugfix for svn-ediff-exit-hook
Patch by "Juraj Mraz" <>

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-ediff-exit-hook): Calculate the file-name from the correct buffer

r865520 | xsteve | 2007-06-18 18:52:15 +0000 (Mon, 18 Jun 2007)

svn-status-bury-buffer buries the *svn-info* buffer also

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-bury-buffer): bury the *svn-info* buffer also

r865534 | xsteve | 2007-06-19 18:30:35 +0000 (Tue, 19 Jun 2007)

Allow to call ediff from logs displayed from partially checked out WCs

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-run): Spelling fix in a message
  (svn-status-update-buffer): Show the Repository Root and the
    Repository Url when available
  (svn-status-checkout-prefix-path): New function that returns the
    file path from the repository root to the root of this working copy
  (svn-status-show-process-output): Bugfix: Use the default-directory
    from the process-buffer in the new generated buffer
  (svn-log-file-name-at-point): New parameter: respect-checkout-prefix-path
  (svn-log-find-file-at-point): Make it work for partially checked out
    working copies
  (svn-log-get-specific-revision): Make it work for partially checked out
    working copies
  (svn-log-ediff-specific-revision): Make it work for partially checked out
    working copies

r865549 | xsteve | 2007-06-20 18:56:24 +0000 (Wed, 20 Jun 2007)

Allow to selectively update only selected files

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-update-cmd): When called with a negative prefix argument:
    Only update the currently marked files or the file at point.

r865611 | xsteve | 2007-06-25 19:07:00 +0000 (Mon, 25 Jun 2007)

Improved the support for svn-status-verbose == nil

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-make-dummy-dirs): Make sure that every directory level
    for long directory paths is considered.

r865622 | xsteve | 2007-06-26 19:19:35 +0000 (Tue, 26 Jun 2007)

First steps for a generic support of external links in *svn-log* buffers

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-log-link-keymap): New keymap that is active for the external links
  (svn-log-resolve-mouse-link): New function: follow the link at point
    via a mouse click
  (svn-log-resolve-link): Handle a displayed external link in a *svn-log*
  (svn-log-add-link-handler): Add a new link handler for *svn-log* output.
    This handler needs a regexp for the link format and a handler
    function that is called when the user clicks on that link
  Note: The API for that functions is not stable yet. It will be
    generalized in the future

r865630 | xsteve | 2007-06-27 19:58:52 +0000 (Wed, 27 Jun 2007)

Added support to follow trac ticket links in *svn-log* buffers

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-log-link-handlers): New variable that holds a list of link handlers
    for *svn-log* buffers
  (svn-log-view-font-lock-basic-keywords): Renamed from
    svn-log-view-font-lock-keywords. Now use
    svn-log-view-font-lock-keywords as local variable that considers
    svn-log-view-font-lock-basic-keywords and the link handlers
    specified in svn-log-link-handlers
  (svn-log-next-link): New function, bound to TAB in *svn-log* buffers
  (svn-log-prev-link): New function, bound to shift-TAB in *svn-log* buffers
  (svn-log-register-link-handler): New function to register a link handler
  (svn-log-resolve-trac-ticket-short): New function to browse a trac
    ticket link via svn-trac-browse-ticket

r865637 | xsteve | 2007-06-28 18:45:05 +0000 (Thu, 28 Jun 2007)

A small XEmacs fix, since locale-coding-system is not defined there

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-svn-process-coding-system): Only use locale-coding-system
    as default value when locale-coding-system exists

r865657 | xsteve | 2007-06-29 18:54:43 +0000 (Fri, 29 Jun 2007)

Run ediff against HEAD when a newer version of a file is in the repository

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-ediff-with-revision): When a newer version is available
    in the repository, run ediff against the HEAD version

r865711 | xsteve | 2007-07-03 19:16:58 +0000 (Tue, 03 Jul 2007)

Allow to display a log entry from a *svn-blame* buffer

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-svn-log-switches): New function.
  (svn-status-show-svn-log): Use svn-status-svn-log-switches
  (svn-blame-show-log): New function bound to l in *svn-blame*
    buffers: Display the log output for the revision at point.

r865895 | xsteve | 2007-07-23 20:06:03 +0000 (Mon, 23 Jul 2007)

Show a help text for the error message while commiting

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-process-sentinel): Call svn-process-handle-error to handle
    error messages
  (svn-process-handle-error): New function, run svn-process-help-with-error-msg
    via electric-helpify
  (svn-process-help-with-error-msg): New function to provide help for some
    common error messages. At the moment the following message is
    handled: "Cannot non-recursively commit a directory deletion"

r865905 | xsteve | 2007-07-24 19:40:25 +0000 (Tue, 24 Jul 2007)

Perform a recursive commit, when only directories are marked

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-only-dirs-or-nothing-marked-p): New function: Return t,
    when nothing is marked or when only directories are marked
  (svn-status-commit): Perform a recursive commit, when only
    directories are marked. As soon as some files are marked, do a non
    recursive commit

r866152 | xsteve | 2007-08-14 17:55:14 +0000 (Tue, 14 Aug 2007)

Ignore eol style changes for diff and blame

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-default-diff-arguments): Use a new default value:
    '("-x" "--ignore-eol-style") instead of '()
  (svn-status-default-blame-arguments): New variable, also set to:
    '("-x" "--ignore-eol-style") instead of '()
  (svn-status-blame): Use svn-status-default-blame-arguments

r866457 | xsteve | 2007-08-29 19:04:04 +0000 (Wed, 29 Aug 2007)

Use " *svn-process*" instead of "*svn-process*" as process buffer name
Patch by "Aaron Hawley" <>

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-process-buffer-name): Set a new default value. This way the
    *svn-process* buffer does not clutter the buffer list
  (svn-prepare-bug-report): Use svn-process-buffer-name

r866518 | xsteve | 2007-09-04 18:59:08 +0000 (Tue, 04 Sep 2007)

Bugfix svn-status-get-specific-revision

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-get-specific-revision-internal): Add the additional
    argument handle-relative-svn-status-dir. When this parameter is
    given, respect the path from svn-status-base-dir to the current
  (svn-status-ediff-with-revision, svn-log-get-specific-revision,
    svn-log-ediff-specific-revision): Supply the correct 
    handle-relative-svn-status-dir parameter when calling 

r866559 | xsteve | 2007-09-06 19:24:31 +0000 (Thu, 06 Sep 2007)

Fixed some byte compiler warnings

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-default-blame-arguments): Add to the psvn customize
  (svn-status-next-line): Use forward-line instead of next-line
  (svn-status-previous-line): Use forward-line with a negative
    argument instead of previous-line

r866575 | xsteve | 2007-09-09 18:19:02 +0000 (Sun, 09 Sep 2007)

svn-status-show-svn-diff: Added support to show non recursive diffs

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-show-svn-diff): Show a non recursive diff, when called with
    a negative prefix argument.

r867198 | xsteve | 2007-10-11 19:41:02 +0000 (Thu, 11 Oct 2007)

First steps to support the new functions process-file and start-file-process

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-call-process-function): Can be either process-file or call-process
  (svn-start-process-function): Can be either start-file-process or
  (svn-run): Use svn-call-process-function and svn-start-process-function

r867199 | xsteve | 2007-10-11 19:43:04 +0000 (Thu, 11 Oct 2007)

Allow to use svn-status-use-history without an open *svn-status* buffer

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-use-history): Handle the case when no *svn-status*
    buffer does exist

r867908 | xsteve | 2007-11-15 20:24:37 +0000 (Thu, 15 Nov 2007)

Some minor fixes, suggested by Aaron Hawley (<>)

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-process-sentinel): Commiting with no changes should say
    "No revision to commit", not "svn: Committed revision nil.".
  (svn-log-file-name-at-point): Avoid Lisp error when
    `svn-log-find-file-at-point' run with no file at point.

r868715 | xsteve | 2007-12-23 07:17:07 +0000 (Sun, 23 Dec 2007)

Bugfix for svn-log-get-specific-revision

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-log-file-name-at-point): Do the right thing when
    respect-checkout-prefix-path is nil
  (svn-log-get-specific-revision): Call svn-log-file-name-at-point
    with respect-checkout-prefix-path == t

r868716 | xsteve | 2007-12-23 07:20:45 +0000 (Sun, 23 Dec 2007)

Add svn-log-get-specific-revision to the svn-log-view-mode menu

* trunk/contrib/client-side/emacs/psvn.el:
  Add svn-log-get-specific-revision to the svn-log-view-mode menu

r869327 | xsteve | 2008-02-09 19:39:45 +0000 (Sat, 09 Feb 2008)

Make svn-status-dired-jump more robust

Patch by Michael Ernst <>

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-dired-jump): Check, if point points to a file location,
    if not use default-directory for dired-jump

r869679 | xsteve | 2008-02-26 20:46:35 +0000 (Tue, 26 Feb 2008)

Introduced svn-status-default-status-arguments
Patch by Doug Hellmann <>

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-default-status-arguments): New variable
  (svn-status-1): Use svn-status-default-status-arguments

r869690 | xsteve | 2008-02-28 19:33:34 +0000 (Thu, 28 Feb 2008)

Skip changelist output to support svn 1.5 with defined changelists

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-parse-status-result): skip lines starting with "--- Changelist"

r869810 | xsteve | 2008-03-05 20:35:28 +0000 (Wed, 05 Mar 2008)

Started a FAQ section

* trunk/contrib/client-side/emacs/psvn.el:
  Added a description how to support user names containing blanks

r869811 | xsteve | 2008-03-05 20:37:21 +0000 (Wed, 05 Mar 2008)

A small XEmacs fix

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-parse-status-result): Replaced a call to match-string-no-properties
    with svn-match-string-no-properties

r870018 | xsteve | 2008-03-18 20:31:52 +0000 (Tue, 18 Mar 2008)

Added some more FAQ entries
Contributed by Sarir Khamsi <>

* trunk/contrib/client-side/emacs/psvn.el:
  Added three new FAQ entries

r870184 | xsteve | 2008-03-28 21:55:04 +0000 (Fri, 28 Mar 2008)

Show the state of a file under svn control via a color dot in the mode line

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-fancy-file-state-in-modeline): New variable. When it is set
    to t, display a colored dot in the modeline for each file under
    svn control. When it is green, the file is up to date. When it is
    red, the file is edited
  (svn-status-state-mark-modeline-dot, svn-status-install-state-mark-modeline,
   svn-status-update-state-mark-tooltip, svn-status-update-state-mark,
   svn-status-update-modeline): New functions
   This functionality is inspired by emacs test-runner
    ( and git-emacs

r870265 | xsteve | 2008-04-02 20:11:26 +0000 (Wed, 02 Apr 2008)

Update the color dot in the modeline in svn-revert-some-buffers

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-revert-some-buffers): call svn-status-update-modeline when
    svn-status-fancy-file-state-in-modeline is enabled

r870266 | xsteve | 2008-04-02 20:20:09 +0000 (Wed, 02 Apr 2008)

Revert buffers after a call to "svn revert"

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-process-sentinel): Call svn-revert-some-buffers when
    a svn revert command has finished

r870298 | xsteve | 2008-04-03 17:43:15 +0000 (Thu, 03 Apr 2008)

Jumping to a file in the svn update output works on windows now

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-info-show-context): Fix to make it work on windows systems also

r871849 | xsteve | 2008-06-18 20:12:13 +0000 (Wed, 18 Jun 2008)

Small bugfix to svn-status-update-cmd
Patch by Wanrong Lin <>

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-update-cmd): Pass default-directory to ensure that the
    command is executed in the correct directory

r871939 | xsteve | 2008-06-24 16:48:40 +0000 (Tue, 24 Jun 2008)

Added compatibility function svn-substring-no-properties

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-substring-no-properties): New function, use
     substring-no-properties when available
  (svn-status-in-vc-mode?, svn-log-resolve-trac-ticket-short): Use

r871962 | xsteve | 2008-06-26 16:17:22 +0000 (Thu, 26 Jun 2008)

Don't show the file status indicator twice when using ediff

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-substring-no-properties): Handle the from and to parameters also
  (svn-modeline-ediff-fixup): Add a devadvice to ediff-refresh-mode-lines
    Remove the svn status file mode indicator before refreshing the ediff
    mode line and show the actual svn file status afterwards

r872064 | xsteve | 2008-07-03 16:55:39 +0000 (Thu, 03 Jul 2008)

Bugfix for svn-status-update-cmd

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-update-cmd): Perform user expansion when providing the
     default directory for svn, otherwise the svn client does not
     handle file names like ~/work as intended

r872066 | xsteve | 2008-07-03 18:56:28 +0000 (Thu, 03 Jul 2008)

Added a simple search interface

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-grep-files): New function: Run grep on the selected files, 
     bound to S g
  (svn-status-search-files): Search the selected files for a fixed string,
     bound to S s

r872106 | xsteve | 2008-07-08 17:21:58 +0000 (Tue, 08 Jul 2008)

Improved (un)marking of modified entries

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-mark-modified-properties): New function, bound to * P
     (Un)Mark all entries with a modified property
  (svn-status-mark-modified): Mark entries with a modified property also

r872150 | xsteve | 2008-07-11 20:32:33 +0000 (Fri, 11 Jul 2008)

Emacs 21 compatibility fixes

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-mode-search-map): New keymap, prefixed with S
     S g runs svn-status-grep-files, S s runs svn-status-search-files
  (svn-status-grep-files): Bugfix: Don't set the default-directory to
     (svn-status-base-dir), The value of default-directory is already o.k.

r872204 | xsteve | 2008-07-15 18:50:33 +0000 (Tue, 15 Jul 2008)

svn-status-property-set-executable takes the optional parameter unset.

* contrib/client-side/emacs/psvn.el:
  (svn-status-property-set-executable): The optional parameter unset
   (can be given by a prefix argument) allows to delete the svn:executable

r872205 | xsteve | 2008-07-15 19:33:20 +0000 (Tue, 15 Jul 2008)

Allow to show statistics for a blame buffer

* contrib/client-side/emacs/psvn.el:
  (svn-blame-show-statistics): New function to show which author did how
    many changes in the current blame buffer, bind it to s in *svn-blame*

r872220 | xsteve | 2008-07-16 19:44:06 +0000 (Wed, 16 Jul 2008)

svn-log-ediff-specific-revision allows to specify the revision now

* contrib/client-side/emacs/psvn.el:
  (svn-log-ediff-specific-revision): When called with a prefix argument:
    Allow the user to override the revision numbers for ediff

r872236 | xsteve | 2008-07-17 19:30:18 +0000 (Thu, 17 Jul 2008)

Allow to mark the "diff against" revision in *svn-log* buffers

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-log-partner-highlight-face): New face to show the marked revision
    for a diff operation
  (svn-status-diff-show-changeset): Added new optional parameter rev-against
  (svn-log-mark-partner-revision): New function: either mark or unmark
    the diff-against revision
  (svn-log-exchange-partner-mark-with-point): New function: exchange
    point with the diff-against revision
  (svn-log-revision-for-diff): New function: get the revision for the
    rev-against version when it does exist
  (svn-log-view-diff): Supply svn-log-revision-for-diff to 
  (svn-log-ediff-specific-revision): consider svn-log-revision-for-diff
    when necessary

r872351 | xsteve | 2008-07-23 20:37:21 +0000 (Wed, 23 Jul 2008)

Made svn-log-get-specific-revision more robust

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-log-get-specific-revision): Show an error message, when the cursor
     is not located on a filename instead of getting a wrong file.
     svn-log-get-specific-revision now is also available on f in a svn-log
     buffer (this is a compatibility binding for vc-svn)

r872353 | xsteve | 2008-07-23 20:48:55 +0000 (Wed, 23 Jul 2008)

New function svn-file-revert on C-x M-s f r

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-file-revert): New function to revert the current file,
     bound to C-x M-s f r

r872369 | xsteve | 2008-07-24 21:54:02 +0000 (Thu, 24 Jul 2008)

Allow to run blame for previous version from a *svn-blame* buffer

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-blame): Added the optional parameter file-name
  (svn-blame-blame-again): New function to display the svn blame
     output for the revision before the revision at point
     svn-blame-blame-again is bound to b in a *svn-blame* mode

r873315 | xsteve | 2008-09-22 19:58:52 +0000 (Mon, 22 Sep 2008)

Allow to store/restore the current user marks

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-store-usermarks): New function bound to * s:
    store the current set of user marks
  (svn-status-load-usermarks): New function bound to * l:
    load previously stored user marks

r873347 | xsteve | 2008-09-24 18:17:49 +0000 (Wed, 24 Sep 2008)

Bugfix in svn-status-load-usermarks

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-load-usermarks): Use svn-status-line-info->filename
    instead of svn-status-line-info->filename-nondirectory when
    restoring marks

r873631 | xsteve | 2008-10-08 20:01:12 +0000 (Wed, 08 Oct 2008)

Honor svn-status-default-diff-arguments in svn-status-diff-show-changeset

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-diff-show-changeset): Honor svn-status-default-diff-arguments
    Now every invoked diff operation from psvn uses

r874514 | xsteve | 2008-11-26 20:15:46 +0000 (Wed, 26 Nov 2008)

Fixed an emacs21.3 compatibility bug

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-substring-no-properties): Ensure that the from parameter
    is given when calling substring

r874677 | xsteve | 2008-12-07 19:52:24 +0000 (Sun, 07 Dec 2008)

Improved the shown error message when a call to the svn client fails

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-1): Fixed a problem in a let binding
  (svn-process-sentinel): Collect multi line error strings
  (svn-handle-error-function): New variable to allow to customize
    the error handling process
  (svn-process-handle-error): Call svn-handle-error-function when it
    is defined

r874735 | xsteve | 2008-12-10 19:42:22 +0000 (Wed, 10 Dec 2008)

Added a list of lines per revision for the svn blame statistics

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-blame-show-statistics): Show the lines per revision also

r875728 | xsteve | 2009-02-03 19:54:31 +0000 (Tue, 03 Feb 2009)

Mark entries with modified properties in svn-status-mark-changed

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-mark-changed): Call also svn-status-mark-modified-properties

r875894 | xsteve | 2009-02-11 21:35:14 +0000 (Wed, 11 Feb 2009)

Fixed a possible endless loop in svn-process-sentinel

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-process-sentinel): Fixed an endless loop when the *svn-process*
    buffer contains only lines starting with "svn: "

r877085 | xsteve | 2009-04-05 18:57:41 +0000 (Sun, 05 Apr 2009)

Allow to edit the svn:externals property
Patch by Andrey Paramonov <>

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-property-edit-svn-externals): New function, bound to P X e

r877218 | xsteve | 2009-04-09 19:50:34 +0000 (Thu, 09 Apr 2009)

Added example function svn-status-parse-fixup-tramp-exit

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-parse-fixup-tramp-exit): New function that shows how to
    cleanup the *svn-process* buffer before parsing the *svn-status*

r877522 | xsteve | 2009-04-23 20:07:12 +0000 (Thu, 23 Apr 2009)

Performance optimization for svn-status-apply-elide-list

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-apply-elide-list): Avoid iterating all files when
  svn-status-elided-list is nil

r878544 | xsteve | 2009-07-22 20:29:04 +0000 (Wed, 22 Jul 2009)

A minor fix.

Suggested by: Marcus Harnisch <>

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-in-vc-mode?): Ensure that vc-mode is bound

r878546 | xsteve | 2009-07-22 20:37:44 +0000 (Wed, 22 Jul 2009)

Removed an extra line

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-update-buffer): Remove an extra line introduced in
    the last commit...

r878854 | xsteve | 2009-08-17 17:24:30 +0000 (Mon, 17 Aug 2009)

Make svn-status-update-cmd compatible with svn client v1.6

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-update-cmd): Use the flags --accept postpone
     instead of --non-interactive for newer svn clients
     (starting with v1.5)

r879029 | xsteve | 2009-08-26 17:51:29 +0000 (Wed, 26 Aug 2009)

Some steps to allow running psvn via ssh+tramp

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-expand-filename-for-remote-access): New function to allow the
    access to remote files via emacs
  (svn-status-parse-fixup-tramp-exit): Handle the case when the buffer
    has a trailing newline
  (svn-status-create-arg-file): Handle remote files correctly
  (svn-prop-edit-do-it): Handle the invocation on remote filesystems

r879030 | xsteve | 2009-08-26 18:16:49 +0000 (Wed, 26 Aug 2009)

Allow to interrupt authentification prompts via C-g
Patch by Andreas Köhler <>

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-process-filter): Use with-local-quit to allow breaking with C-g
     at some points

r879032 | xsteve | 2009-08-26 18:23:52 +0000 (Wed, 26 Aug 2009)

Put svn-process-kill into the svn-global-keymap

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-global-keymap): Make svn-process-kill available on C-k

r879043 | xsteve | 2009-08-27 17:24:51 +0000 (Thu, 27 Aug 2009)

Implement svn update+commit via tramp+ssh

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-post-process-svn-output-hook): Add svn-fixup-tramp-output-maybe
  (svn-local-filename-for-remote-access): New function to convert a full
     qualified filename (including a host) to a local name
  (svn-fixup-tramp-output-maybe): New function to fixup a leftover exit
     text line at the end of the svn output
  (svn-status-update-cmd): Make work with tramp+ssh
  (svn-log-edit-done): Make work with tramp+ssh

r879619 | xsteve | 2009-09-23 18:36:47 +0000 (Wed, 23 Sep 2009)

Compatibility fix for emacs21.3
Patch by Kousik Nandy <>

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-expand-filename-for-remote-access): Handle the case when
    file-remote-p is not defined
  (svn-local-filename-for-remote-access): Handle the case when
    file-remote-p is not defined
  (svn-fixup-tramp-output-maybe): Handle the case when
    file-remote-p is not defined

r880371 | xsteve | 2009-10-29 19:12:12 +0000 (Thu, 29 Oct 2009)

Some minor improvements

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-log-edit-header): New customizable variable
  (svn-status-1): Call buffer-disable-undo
  (svn-log-edit-insert-files-to-commit): Use svn-log-edit-header

r880372 | xsteve | 2009-10-29 19:23:15 +0000 (Thu, 29 Oct 2009)

A XEmacs compatibility fix
Patch by Michael Sperber <>

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-in-vc-mode?): Use vc-backend when available

r880373 | xsteve | 2009-10-29 19:38:54 +0000 (Thu, 29 Oct 2009)

Allow to hide svn:external entries
Patch by Gregory Grubbs <>

* trunk/contrib/client-side/emacs/psvn.el:
  (svn-status-toggle-hide-externals): New function, bound to z