;;; Copyright (C) 2006, 2008 Magnus Henoch ;;; ;;; This program 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 2 of the ;;; License, or (at your option) any later version. ;;; ;;; This program 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 this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA (in-package :darcs) (defun create-empty-pristine (repodir) "Make an empty pristine tree in REPODIR." (make-dir (upath-subdir repodir '("_darcs" "pristine")))) (defun create-pristine-from-tree (repodir) "Copy the checked-out tree at REPODIR to get a pristine tree." (let* ((darcs-dir (upath-subdir repodir '("_darcs"))) (pristine-dir (upath-subdir darcs-dir '("pristine")))) (make-dir pristine-dir) (copy-directory repodir pristine-dir :excluding (list darcs-dir)))) (defun apply-patch-to-pristine (patch repodir) "Apply PATCH to the pristine tree in REPODIR." (apply-patch patch (upath-subdir repodir '("_darcs" "pristine"))))