418 |
;; Rename file OLD to NEW, both in the working area and in the |
;; Rename file OLD to NEW, both in the working area and in the |
419 |
;; repository. If this function is not provided, the renaming |
;; repository. If this function is not provided, the renaming |
420 |
;; will be done by (vc-delete-file old) and (vc-register new). |
;; will be done by (vc-delete-file old) and (vc-register new). |
421 |
;; |
;; |
422 |
|
|
423 |
;;; Code: |
;;; Code: |
424 |
|
|
1747 |
The value can also be a regular expression or list of regular |
The value can also be a regular expression or list of regular |
1748 |
expressions to match against the host name of a repository; then VC |
expressions to match against the host name of a repository; then VC |
1749 |
only stays local for hosts that match it. Alternatively, the value |
only stays local for hosts that match it. Alternatively, the value |
1750 |
can be a list of regular expressions where the first element is the |
can be a list of regular expressions where the first element is the |
1751 |
symbol `except'; then VC always stays local except for hosts matched |
symbol `except'; then VC always stays local except for hosts matched |
1752 |
by these regular expressions." |
by these regular expressions." |
1753 |
:type '(choice (const :tag "Always stay local" t) |
:type '(choice (const :tag "Always stay local" t) |
1754 |
(const :tag "Don't stay local" nil) |
(const :tag "Don't stay local" nil) |
1755 |
(list :format "\nExamine hostname and %v" :tag "Examine hostname ..." |
(list :format "\nExamine hostname and %v" :tag "Examine hostname ..." |
1756 |
(set :format "%v" :inline t (const :format "%t" :tag "don't" except)) |
(set :format "%v" :inline t (const :format "%t" :tag "don't" except)) |
1757 |
(regexp :format " stay local,\n%t: %v" :tag "if it matches") |
(regexp :format " stay local,\n%t: %v" :tag "if it matches") |
1758 |
(repeat :format "%v%i\n" :inline t (regexp :tag "or")))) |
(repeat :format "%v%i\n" :inline t (regexp :tag "or")))) |
2671 |
(let ((buf (get-file-buffer file)) |
(let ((buf (get-file-buffer file)) |
2672 |
(backend (vc-backend file))) |
(backend (vc-backend file))) |
2673 |
(unless backend |
(unless backend |
2674 |
(error "File %s is not under version control" |
(error "File %s is not under version control" |
2675 |
(file-name-nondirectory file))) |
(file-name-nondirectory file))) |
2676 |
(unless (vc-find-backend-function backend 'delete-file) |
(unless (vc-find-backend-function backend 'delete-file) |
2677 |
(error "Deleting files under %s is not supported in VC" backend)) |
(error "Deleting files under %s is not supported in VC" backend)) |
2707 |
(error "Already editing new file name")) |
(error "Already editing new file name")) |
2708 |
(if (file-exists-p new) |
(if (file-exists-p new) |
2709 |
(error "New file already exists")) |
(error "New file already exists")) |
2710 |
(let ((state (vc-state file))) |
(let ((state (vc-state old))) |
2711 |
(unless (memq state '(up-to-date edited)) |
(unless (memq state '(up-to-date edited)) |
2712 |
(error "Please %s files before moving them" |
(error "Please %s files before moving them" |
2713 |
(if (stringp state) "check in" "update")))) |
(if (stringp state) "check in" "update")))) |