Drat, I need to figure out what to do with the svn-status-base-dir function in order to commit from a subdirectory of a full working copy. Right now I hacked it to just return the start-dir for 1.7+, but I need to play a bit more to see if that's really the right thing to do.
On Feb 22, 2013, at 3:24 PM, Joseph Schaefer <joe_schae...@yahoo.com> wrote: > Here's a better patch that doesn't break the docstring. > > Index: contrib/client-side/emacs/psvn.el > =================================================================== > --- contrib/client-side/emacs/psvn.el (revision 1449112) > +++ contrib/client-side/emacs/psvn.el (working copy) > @@ -1127,33 +1127,13 @@ > asks svn to connect to the repository and check to see if there are updates > there. > > -If there is no .svn directory, examine if there is CVS and run > -`cvs-examine'. Otherwise ask if to run `dired'." > + Note: psvn.el no longer supports dispatch to cvs nor dired." > + > (interactive (list (svn-read-directory-name "SVN status directory: " > nil default-directory nil) > current-prefix-arg)) > - (let ((svn-dir (format "%s%s" > - (file-name-as-directory dir) > - (svn-wc-adm-dir-name))) > - (cvs-dir (format "%sCVS" (file-name-as-directory dir)))) > - (cond > - ((file-directory-p svn-dir) > - (setq arg (svn-status-possibly-negate-meaning-of-arg arg 'svn-status)) > - (svn-status-1 dir arg)) > - ((and (file-directory-p cvs-dir) > - (fboundp 'cvs-examine)) > - (cvs-examine dir nil)) > - (t > - (when (y-or-n-p > - (format > - (concat > - "%s " > - "is not Subversion controlled (missing %s " > - "directory). " > - "Run dired instead? ") > - dir > - (svn-wc-adm-dir-name))) > - (dired dir)))))) > + (setq arg (svn-status-possibly-negate-meaning-of-arg arg 'svn-status)) > + (svn-status-1 dir arg)) > > (defvar svn-status-display-new-status-buffer nil) > (defun svn-status-1 (dir &optional arg) > > > > > > On Feb 22, 2013, at 12:15 PM, Joseph Schaefer <joe_schae...@yahoo.com> wrote: > >> Here's a fugly patch that I'd like to apply to trunk that lets >> psvn.el work properly with 1.7+ working copies that consolidate >> .svn dirs to the top-level of the working copy. For the most part >> psvn.el doesn't need to know where this directory lives, so just >> removing the check for it seems to work fine. >> >> Index: psvn.el >> =================================================================== >> --- psvn.el (revision 1449112) >> +++ psvn.el (working copy) >> @@ -1127,33 +1127,11 @@ >> asks svn to connect to the repository and check to see if there are updates >> there. >> >> -If there is no .svn directory, examine if there is CVS and run >> -`cvs-examine'. Otherwise ask if to run `dired'." >> (interactive (list (svn-read-directory-name "SVN status directory: " >> nil default-directory nil) >> current-prefix-arg)) >> - (let ((svn-dir (format "%s%s" >> - (file-name-as-directory dir) >> - (svn-wc-adm-dir-name))) >> - (cvs-dir (format "%sCVS" (file-name-as-directory dir)))) >> - (cond >> - ((file-directory-p svn-dir) >> - (setq arg (svn-status-possibly-negate-meaning-of-arg arg 'svn-status)) >> - (svn-status-1 dir arg)) >> - ((and (file-directory-p cvs-dir) >> - (fboundp 'cvs-examine)) >> - (cvs-examine dir nil)) >> - (t >> - (when (y-or-n-p >> - (format >> - (concat >> - "%s " >> - "is not Subversion controlled (missing %s " >> - "directory). " >> - "Run dired instead? ") >> - dir >> - (svn-wc-adm-dir-name))) >> - (dired dir)))))) >> + (setq arg (svn-status-possibly-negate-meaning-of-arg arg 'svn-status)) >> + (svn-status-1 dir arg)) >> >> (defvar svn-status-display-new-status-buffer nil) >> (defun svn-status-1 (dir &optional arg) >> >