mirror of
https://github.com/correl/melpa.git
synced 2024-11-22 19:18:39 +00:00
fixed #33 - added bazaar support
This commit is contained in:
parent
e2149ce3ba
commit
40f0e5eef3
1 changed files with 29 additions and 0 deletions
|
@ -231,6 +231,34 @@ seconds; the server cuts off after 10 requests in 20 seconds.")
|
|||
(let* ((url (format "git://github.com/%s.git" (plist-get config :repo))))
|
||||
(pb/checkout-git name (plist-put (copy-sequence config) :url url) dir)))
|
||||
|
||||
(defun pb/bzr-repo (dir)
|
||||
"Get the current bzr repo for DIR."
|
||||
(with-temp-buffer
|
||||
(pb/run-process dir "bzr" "info")
|
||||
(goto-char (point-min))
|
||||
(re-search-forward "parent branch: \\(.*\\)")
|
||||
(match-string-no-properties 1)))
|
||||
|
||||
(defun pb/checkout-bzr (name config dir)
|
||||
"Check package NAME with config CONFIG out of bzr into DIR."
|
||||
(let ((repo (plist-get config :url)))
|
||||
(with-current-buffer (get-buffer-create "*package-build-checkout*")
|
||||
(goto-char (point-max))
|
||||
(cond
|
||||
((and (file-exists-p (expand-file-name ".bzr" dir))
|
||||
(string-equal (pb/bzr-repo dir) repo))
|
||||
(print "checkout directory exists, updating...")
|
||||
(pb/run-process dir "bzr" "merge"))
|
||||
(t
|
||||
(when (file-exists-p dir)
|
||||
(delete-directory dir t nil))
|
||||
(print "cloning repository")
|
||||
(pb/run-process nil "bzr" "branch" repo dir)))
|
||||
(pb/run-process dir "bzr" "info" "-vv")
|
||||
(pb/find-parse-time
|
||||
"\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} [0-9]\\{2\\}:[0-9]\\{2\\}:[0-9]\\{2\\}\\)"))))
|
||||
|
||||
|
||||
(defun pb/dump (data file)
|
||||
"Write DATA to FILE as a pretty-printed Lisp sexp."
|
||||
(write-region (concat (pp-to-string data) "\n") nil file))
|
||||
|
@ -278,6 +306,7 @@ The file is written to `package-build-working-dir'."
|
|||
"--exclude=.svn"
|
||||
"--exclude=.git*"
|
||||
"--exclude=_darcs"
|
||||
"--exclude=.bzr"
|
||||
(or (mapcar (lambda (fn) (concat dir "/" fn)) files)
|
||||
(list dir)))))
|
||||
|
||||
|
|
Loading…
Reference in a new issue