]> code.delx.au - gnu-emacs-elpa/blobdiff - admin/org-synch.el
Fix prefix of last merge and restore deleted files
[gnu-emacs-elpa] / admin / org-synch.el
diff --git a/admin/org-synch.el b/admin/org-synch.el
new file mode 100644 (file)
index 0000000..cc7e923
--- /dev/null
@@ -0,0 +1,22 @@
+(defun org-synch (package-file)
+  (let* ((archive-file "archive-contents")
+        (package-name 'org)
+         (date (substring package-file 4 12))
+         (date-int (string-to-number date))
+        contents entry)
+    (unless (and (integerp date-int)
+                 (> date-int 20100000)
+                 (< date-int 21000000))
+      (error "Package date is bad"))
+    (unless (file-exists-p package-file)
+      (error "No package file found"))
+    (when (file-exists-p archive-file)
+      (find-file archive-file)
+      (setq contents (read (current-buffer))
+           entry (assq package-name contents))
+      (unless entry
+       (error "No entry for %s in archive-contents" package-name))
+      (aset (cdr entry) 0 (version-to-list date))
+      (erase-buffer)
+      (insert (pp-to-string contents) "\n")
+      (save-buffer 0))))