(setq cvs-allow-dir-commit t) (setq cvs-auto-remove-directories (quote all)) (setq cvs-auto-remove-handled t) ;;;### (autoloads (svn-status svn-checkout) "psvn" "../3rd-party-lib/psvn.el" ;;;;;; (18868 42571)) ;;; Generated autoloads from ../3rd-party-lib/psvn.el (autoload 'svn-checkout "psvn" "\ Run svn checkout REPOS-URL PATH. \(fn REPOS-URL PATH)" t nil) (defalias 'svn-examine 'svn-status) (autoload 'svn-status "psvn" "\ Examine the status of Subversion working copy in directory DIR. If ARG is -, allow editing of the parameters. One could add -N to run svn status non recursively to make it faster. For every other non nil ARG pass the -u argument to `svn status', which 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'. \(fn DIR &optional ARG)" t nil) ;;;*** (eval-after-load 'psvn '(progn (setq svn-status-hide-unknown t) (setq svn-status-hide-unmodified t) (add-hook 'svn-log-edit-done-hook (lambda () (kill-buffer svn-log-edit-buffer-name) (with-current-buffer svn-status-buffer-name (svn-status-update-cmd nil)))))) (add-to-list 'load-path "~/elisp/3rd-party-lib/magit/") ;;;### (autoloads (magit-status) "magit" "../../../../usr/share/emacs/site-lisp/magit.el" ;;;;;; (18883 12132)) ;;; Generated autoloads from ../../../../usr/share/emacs/site-lisp/magit.el (autoload 'magit-status "magit" "\ Not documented \(fn DIR)" t nil) ;;;*** ;;; My own bookmark for all kinds of repositories I use (defvar wl-vc-bookmark-list nil) (defvar wl-vc-status-completing-read-function 'wl-iswitchb-completing-read) (defun wl-vc-status-via-bookmark (bookmark) (interactive (list (let ((completion-ignore-case t)) (funcall wl-vc-status-completing-read-function "VC status bookmark: " wl-vc-bookmark-list)))) (unless bookmark (error "No bookmark specified")) (let ((directory (cdr (assoc bookmark wl-vc-bookmark-list)))) (if (file-directory-p directory) (cond ((file-exists-p (expand-file-name "CVS" directory)) (cvs-examine directory nil)) ((file-exists-p (expand-file-name ".svn" directory)) (svn-status directory)) ((file-exists-p (expand-file-name ".git" directory)) (magit-status directory)) (t (dired-x-find-file directory))) (error "%s is not a directory" directory)))) (define-key global-map (kbd "") 'wl-vc-status-via-bookmark) (defun wl-vc-add-to-bookmark-list (bookmark &rest repos) (dolist (repo repos) (let ((repo-dir (if (listp repo) (cadr repo) repo))) (when (and (file-exists-p repo-dir) (file-directory-p repo-dir)) (when (= 0 (length (file-name-nondirectory repo-dir))) ;; remove trailing slash to get the last directory name (setq repo-dir (substring repo-dir 0 -1))) (let ((repo-name (if (listp repo) (car repo) (file-name-nondirectory repo-dir)))) (if (assoc repo-name (symbol-value bookmark)) (setcdr (assoc repo-name (symbol-value bookmark)) (file-name-as-directory repo-dir)) (add-to-list bookmark (cons repo-name (file-name-as-directory repo-dir))))))))) (defun wl-vc-add-to-default-bookmark-list (dir) (interactive "DProject root directory: ") (wl-vc-add-to-bookmark-list 'wl-vc-bookmark-list dir)) (wl-vc-add-to-bookmark-list 'wl-vc-bookmark-list "~/project/emacsbook" "~/project/wanglianghome.org/svn/emacsbook" "~/cliconf" "~/project/wanglianghome.org/svn/cliconf" "~/elisp" "~/gtd" "~/emacs" "~/project/org" "~/project/wanglianghome.org/svn/org" "~/project/wanglianghome.org/svn/socket" "~/project/backup" "~/project/delicious" "~/project/fundcalc") (defun wl-remind-comitting-projects () "Remind me to check whether there are uncommitted projects." (y-or-n-p-with-timeout "projects uncommitted; exit anyway? " 5 t)) (provide 'wl-version-control)