changeset 96198:0c1619dd6a24

* vc-dav.el: Move here from url/vc-dav.el. * Makefile.in (ELCFILES): Update vc-dav.el location. * vc-dav.el: Move to the parent directory to be together with the rest of the VC backends.
author Dan Nicolaescu <dann@ics.uci.edu>
date Sun, 22 Jun 2008 14:57:42 +0000
parents 3c914bd3d4a1
children 8322a8f8ab08
files lisp/ChangeLog lisp/Makefile.in lisp/url/ChangeLog lisp/url/vc-dav.el lisp/vc-dav.el
diffstat 5 files changed, 194 insertions(+), 183 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sun Jun 22 14:02:07 2008 +0000
+++ b/lisp/ChangeLog	Sun Jun 22 14:57:42 2008 +0000
@@ -1,3 +1,9 @@
+2008-06-22  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* vc-dav.el: Move here from url/vc-dav.el.
+	
+	* Makefile.in (ELCFILES): Update vc-dav.el location.
+
 2008-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* Makefile.in (COMPILE_FIRST): Trim down and add autoload.el.
--- a/lisp/Makefile.in	Sun Jun 22 14:02:07 2008 +0000
+++ b/lisp/Makefile.in	Sun Jun 22 14:57:42 2008 +0000
@@ -1208,11 +1208,11 @@
 	$(lisp)/url/url-util.elc \
 	$(lisp)/url/url-vars.elc \
 	$(lisp)/url/url.elc \
-	$(lisp)/url/vc-dav.elc \
 	$(lisp)/userlock.elc \
 	$(lisp)/vc-arch.elc \
 	$(lisp)/vc-bzr.elc \
 	$(lisp)/vc-cvs.elc \
+	$(lisp)/vc-dav.elc \
 	$(lisp)/vc-dispatcher.elc \
 	$(lisp)/vc-git.elc \
 	$(lisp)/vc-hg.elc \
--- a/lisp/url/ChangeLog	Sun Jun 22 14:02:07 2008 +0000
+++ b/lisp/url/ChangeLog	Sun Jun 22 14:57:42 2008 +0000
@@ -1,3 +1,8 @@
+2008-06-22  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* vc-dav.el: Move to the parent directory to be together with the
+	rest of the VC backends.
+
 2008-06-07  Glenn Morris  <rgm@gnu.org>
 
 	* url-auth.el (auth-source-user-or-password): Remove unnecessary
--- a/lisp/url/vc-dav.el	Sun Jun 22 14:02:07 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-;;; vc-dav.el --- vc.el support for WebDAV
-
-;; Copyright (C) 2001, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-
-;; Author: Bill Perry <wmperry@gnu.org>
-;; Maintainer: Bill Perry <wmperry@gnu.org>
-;; Keywords: url, vc
-
-;; GNU Emacs is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-
-
-;;; Commentary:
-
-;;; Code:
-
-(require 'url)
-(require 'url-dav)
-
-;;; Required functions for a vc backend
-(defun vc-dav-registered (url)
-  "Return t if URL is registered with a DAV aware server."
-  (url-dav-vc-registered url))
-
-(defun vc-dav-state (url)
-  "Return the current version control state of URL.
-For a list of possible values, see `vc-state'."
-  ;; Things we can support for WebDAV
-  ;;
-  ;; up-to-date - use lockdiscovery
-  ;; edited     - check for an active lock by us
-  ;; USER       - use lockdiscovery + owner
-  ;;
-  ;; These don't make sense for WebDAV
-  ;; needs-patch
-  ;; needs-merge
-  ;; unlocked-changes
-  (let ((locks (url-dav-active-locks url)))
-    (cond
-     ((null locks) 'up-to-date)
-     ((assoc url locks)
-      ;; SOMEBODY has a lock... let's find out who.
-      (setq locks (cdr (assoc url locks)))
-      (if (rassoc url-dav-lock-identifier locks)
-	  ;; _WE_ have a lock
-	  'edited
-	(cdr (car locks)))))))
-
-(defun vc-dav-checkout-model (url)
-  "Indicate whether URL needs to be \"checked out\" before it can be edited.
-See `vc-checkout-model' for a list of possible values."
-  ;; The only thing we can support with webdav is 'locking
-  'locking)
-
-;; This should figure out the version # of the file somehow.  What is
-;; the most appropriate property in WebDAV to look at for this?
-(defun vc-dav-workfile-version (url)
-  "Return the current workfile version of URL."
-  "Unknown")
-
-(defun vc-dav-register (url &optional rev comment)
-  "Register URL in the DAV backend."
-  ;; Do we need to do anything here?  FIXME?
-  )
-
-(defun vc-dav-checkin (url rev comment)
-  "Commit changes in URL to WebDAV.
-If REV is non-nil, that should become the new revision number.
-COMMENT is used as a check-in comment."
-  ;; This should PUT the resource and release any locks that we hold.
-  )
-
-(defun vc-dav-checkout (url &optional editable rev destfile)
-  "Check out revision REV of URL into the working area.
-
-If EDITABLE is non-nil URL should be writable by the user and if
-locking is used for URL, a lock should also be set.
-
-If REV is non-nil, that is the revision to check out.  If REV is the
-empty string, that means to check ou tht ehead of the trunk.
-
-If optional arg DESTFILE is given, it is an alternate filename to
-write the contents to.
-"
-  ;; This should LOCK the resource.
-  )
-
-(defun vc-dav-revert (url &optional contents-done)
-  "Revert URL back to the current workfile version.
-
-If optional arg CONTENTS-DONE is non-nil, then the contents of FILE
-have already been reverted from a version backup, and this function
-only needs to update the status of URL within the backend.
-"
-  ;; Should do a GET if !contents_done
-  ;; Should UNLOCK the file.
-  )
-
-(defun vc-dav-print-log (url)
-  "Insert the revision log of URL into the *vc* buffer."
-  )
-
-(defun vc-dav-diff (url &optional rev1 rev2)
-  "Insert the diff for URL into the *vc-diff* buffer.
-If REV1 and REV2 are non-nil report differences from REV1 to REV2.
-If REV1 is nil, use the current workfile version as the older version.
-If REV2 is nil, use the current workfile contents as the nwer version.
-
-It should return a status of either 0 (no differences found), or
-1 (either non-empty diff or the diff is run asynchronously).
-"
-  ;; We should do this asynchronously...
-  ;; How would we do it at all, that is the question!
-  )
-
-
-
-;;; Optional functions
-;; Should be faster than vc-dav-state - but how?
-(defun vc-dav-state-heuristic (url)
-  "Estimate the version control state of URL at visiting time."
-  (vc-dav-state url))
-
-;; This should use url-dav-get-properties with a depth of `1' to get
-;; all the properties.
-(defun vc-dav-dir-state (url)
-  "find the version control state of all files in DIR in a fast way."
-  )
-
-(defun vc-dav-workfile-unchanged-p (url)
-  "Return non-nil if URL is unchanged from its current workfile version."
-  ;; Probably impossible with webdav
-  )
-
-(defun vc-dav-responsible-p (url)
-  "Return non-nil if DAV considers itself `responsible' for URL."
-  ;; Check for DAV support on the web server.
-  t)
-
-(defun vc-dav-could-register (url)
-  "Return non-nil if URL could be registered under this backend."
-  ;; Check for DAV support on the web server.
-  t)
-
-;;; Unimplemented functions
-;;
-;; vc-dav-latest-on-branch-p(URL)
-;;    Return non-nil if the current workfile version of FILE is the
-;;    latest on its branch.  There are no branches in webdav yet.
-;;
-;; vc-dav-mode-line-string(url)
-;;    Return a dav-specific mode line string for URL. Are there any
-;;    specific states that we want exposed?
-;;
-;; vc-dav-dired-state-info(url)
-;;    Translate the `vc-state' property of URL into a string that can
-;;    be used in a vc-dired buffer.  Are there any extra states that
-;;    we want exposed?
-;;
-;; vc-dav-receive-file(url rev)
-;;    Let this backend `receive' a file that is already registered
-;;    under another backend.  The default just calls `register', which
-;;    should be sufficient for WebDAV.
-;;
-;; vc-dav-unregister(url)
-;;    Unregister URL.  Not possible with WebDAV, other than by
-;;    deleting the resource.
-
-(provide 'vc-dav)
-
-;; arch-tag: 0a0fb9fe-8190-4c0a-a179-5c291d3a467e
-;;; vc-dav.el ends here
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lisp/vc-dav.el	Sun Jun 22 14:57:42 2008 +0000
@@ -0,0 +1,182 @@
+;;; vc-dav.el --- vc.el support for WebDAV
+
+;; Copyright (C) 2001, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+;; Author: Bill Perry <wmperry@gnu.org>
+;; Maintainer: Bill Perry <wmperry@gnu.org>
+;; Keywords: url, vc
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'url)
+(require 'url-dav)
+
+;;; Required functions for a vc backend
+(defun vc-dav-registered (url)
+  "Return t if URL is registered with a DAV aware server."
+  (url-dav-vc-registered url))
+
+(defun vc-dav-state (url)
+  "Return the current version control state of URL.
+For a list of possible values, see `vc-state'."
+  ;; Things we can support for WebDAV
+  ;;
+  ;; up-to-date - use lockdiscovery
+  ;; edited     - check for an active lock by us
+  ;; USER       - use lockdiscovery + owner
+  ;;
+  ;; These don't make sense for WebDAV
+  ;; needs-patch
+  ;; needs-merge
+  ;; unlocked-changes
+  (let ((locks (url-dav-active-locks url)))
+    (cond
+     ((null locks) 'up-to-date)
+     ((assoc url locks)
+      ;; SOMEBODY has a lock... let's find out who.
+      (setq locks (cdr (assoc url locks)))
+      (if (rassoc url-dav-lock-identifier locks)
+	  ;; _WE_ have a lock
+	  'edited
+	(cdr (car locks)))))))
+
+(defun vc-dav-checkout-model (url)
+  "Indicate whether URL needs to be \"checked out\" before it can be edited.
+See `vc-checkout-model' for a list of possible values."
+  ;; The only thing we can support with webdav is 'locking
+  'locking)
+
+;; This should figure out the version # of the file somehow.  What is
+;; the most appropriate property in WebDAV to look at for this?
+(defun vc-dav-workfile-version (url)
+  "Return the current workfile version of URL."
+  "Unknown")
+
+(defun vc-dav-register (url &optional rev comment)
+  "Register URL in the DAV backend."
+  ;; Do we need to do anything here?  FIXME?
+  )
+
+(defun vc-dav-checkin (url rev comment)
+  "Commit changes in URL to WebDAV.
+If REV is non-nil, that should become the new revision number.
+COMMENT is used as a check-in comment."
+  ;; This should PUT the resource and release any locks that we hold.
+  )
+
+(defun vc-dav-checkout (url &optional editable rev destfile)
+  "Check out revision REV of URL into the working area.
+
+If EDITABLE is non-nil URL should be writable by the user and if
+locking is used for URL, a lock should also be set.
+
+If REV is non-nil, that is the revision to check out.  If REV is the
+empty string, that means to check ou tht ehead of the trunk.
+
+If optional arg DESTFILE is given, it is an alternate filename to
+write the contents to.
+"
+  ;; This should LOCK the resource.
+  )
+
+(defun vc-dav-revert (url &optional contents-done)
+  "Revert URL back to the current workfile version.
+
+If optional arg CONTENTS-DONE is non-nil, then the contents of FILE
+have already been reverted from a version backup, and this function
+only needs to update the status of URL within the backend.
+"
+  ;; Should do a GET if !contents_done
+  ;; Should UNLOCK the file.
+  )
+
+(defun vc-dav-print-log (url)
+  "Insert the revision log of URL into the *vc* buffer."
+  )
+
+(defun vc-dav-diff (url &optional rev1 rev2)
+  "Insert the diff for URL into the *vc-diff* buffer.
+If REV1 and REV2 are non-nil report differences from REV1 to REV2.
+If REV1 is nil, use the current workfile version as the older version.
+If REV2 is nil, use the current workfile contents as the nwer version.
+
+It should return a status of either 0 (no differences found), or
+1 (either non-empty diff or the diff is run asynchronously).
+"
+  ;; We should do this asynchronously...
+  ;; How would we do it at all, that is the question!
+  )
+
+
+
+;;; Optional functions
+;; Should be faster than vc-dav-state - but how?
+(defun vc-dav-state-heuristic (url)
+  "Estimate the version control state of URL at visiting time."
+  (vc-dav-state url))
+
+;; This should use url-dav-get-properties with a depth of `1' to get
+;; all the properties.
+(defun vc-dav-dir-state (url)
+  "find the version control state of all files in DIR in a fast way."
+  )
+
+(defun vc-dav-workfile-unchanged-p (url)
+  "Return non-nil if URL is unchanged from its current workfile version."
+  ;; Probably impossible with webdav
+  )
+
+(defun vc-dav-responsible-p (url)
+  "Return non-nil if DAV considers itself `responsible' for URL."
+  ;; Check for DAV support on the web server.
+  t)
+
+(defun vc-dav-could-register (url)
+  "Return non-nil if URL could be registered under this backend."
+  ;; Check for DAV support on the web server.
+  t)
+
+;;; Unimplemented functions
+;;
+;; vc-dav-latest-on-branch-p(URL)
+;;    Return non-nil if the current workfile version of FILE is the
+;;    latest on its branch.  There are no branches in webdav yet.
+;;
+;; vc-dav-mode-line-string(url)
+;;    Return a dav-specific mode line string for URL. Are there any
+;;    specific states that we want exposed?
+;;
+;; vc-dav-dired-state-info(url)
+;;    Translate the `vc-state' property of URL into a string that can
+;;    be used in a vc-dired buffer.  Are there any extra states that
+;;    we want exposed?
+;;
+;; vc-dav-receive-file(url rev)
+;;    Let this backend `receive' a file that is already registered
+;;    under another backend.  The default just calls `register', which
+;;    should be sufficient for WebDAV.
+;;
+;; vc-dav-unregister(url)
+;;    Unregister URL.  Not possible with WebDAV, other than by
+;;    deleting the resource.
+
+(provide 'vc-dav)
+
+;; arch-tag: 0a0fb9fe-8190-4c0a-a179-5c291d3a467e
+;;; vc-dav.el ends here