--- /dev/null
+(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))))