From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sebastian Rose Subject: Re: Re: [Patch] Bug: Inconsistency with org-publish-attachment Date: Sat, 18 Sep 2010 00:18:42 +0200 Message-ID: <87hbhoovy5.fsf@gmx.de> References: <20100915021535.GA19762@dimension8.tehua.net> <87tylrgfin.fsf@gmx.de> <87eicuhbq5.fsf@gmx.de> <20100916031504.GA5117@dimension8.tehua.net> <87d3sdswqe.fsf_-_@gmx.de> <878w31qpfn.fsf@gmx.de> <87zkvgpw5w.fsf@gmx.de> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from [140.186.70.92] (port=37943 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OwjGq-0007oM-W4 for emacs-orgmode@gnu.org; Fri, 17 Sep 2010 18:19:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OwjGd-0000qJ-RS for emacs-orgmode@gnu.org; Fri, 17 Sep 2010 18:19:03 -0400 Received: from mailout-de.gmx.net ([213.165.64.22]:48236 helo=mail.gmx.net) by eggs.gnu.org with smtp (Exim 4.69) (envelope-from ) id 1OwjGd-0000pk-D9 for emacs-orgmode@gnu.org; Fri, 17 Sep 2010 18:18:51 -0400 In-Reply-To: (Aidan Gauland's message of "Fri, 17 Sep 2010 20:21:42 +0000 (UTC)") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Aidan Gauland Cc: emacs-orgmode@gnu.org --=-=-= Content-Type: text/plain Aidan Gauland writes: > Sebastian Rose gmx.de> writes: >> did you revert the previous patch? The second patch was against master >> again. > > I ran git reset --hard then applied the second patch. > >> I changed to a subdirectory of my :base-directory (here $BASE): >> >> $ cd ${BASE}/subdirectory >> $ cp ~/images/first.jpg . # a simple image >> $ ln -s ~/images/second.jpg # a link to an image >> $ ln -s ~/images/screenshots/ # a link to a directory >> >> When exporting, I get this tree in :publishing-directory ($PUB): >> >> $PUB/ >> |-- subdirectory/ >> | |-- first.jpg >> | |-- second.jpg >> | `-- screenshots/ >> | |-- some.png >> | `-- other.png >> >> which is what you expected, is that right? > > Yes, that's what I expected. What I'm getting is a little different. > > $PUB/ > `-- subdirectory/ > |-- screenshots/ > | `-- subdirectory/ > | `-- screenshots/ > | |-- other.png > | `-- some.png > `-- subdirectory/ > |-- first.jpg > |-- second.jpg > > This is how the project is defined... > (setq > org-publish-project-alist > '(("static" > :base-directory "~/org-bug/" > :publishing-directory "~/org-bug-pub/" > :publishing-function org-publish-attachment > :recursive t > :base-extension "css\\|gz\\|bz\\|lzma\\|jpg\\|gif\\|png"))) > > And published with this sexp. > (org-publish "static") > > Perhaps the discrepancy between our setups is git commit (not sure if > I'm using the right terms there)? git log shows > 878d94b47225729bfffaca9c57a5bdeb344a8ffb at the top of its output. > > Thanks for your help! > --Aidan Ahrrgh :) I just pulled, because I couldn't find that commit. That commit already includes the (obviously wrong) first patch... Here's the patch that reverts the first attempt and applies the new one. Hope this works :) Sebastian --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=org-publish-correct-target-directory-3.patch diff --git a/lisp/org-publish.el b/lisp/org-publish.el index 7534524..90b0339 100644 --- a/lisp/org-publish.el +++ b/lisp/org-publish.el @@ -578,18 +578,13 @@ See `org-publish-org-to' to the list of arguments." "Publish a file with no transformation of any kind. See `org-publish-org-to' to the list of arguments." ;; make sure eshell/cp code is loaded - (let* ((rel-dir - (file-relative-name - (file-name-directory filename) - (plist-get plist :base-directory))) - (pub-dir - (expand-file-name - (concat (file-name-as-directory pub-dir) rel-dir)))) (unless (file-directory-p pub-dir) (make-directory pub-dir t)) (or (equal (expand-file-name (file-name-directory filename)) (file-name-as-directory (expand-file-name pub-dir))) - (copy-file filename pub-dir t)))) + (copy-file filename + (expand-file-name (file-name-nondirectory filename) pub-dir) + t))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Publishing files, sets of files, and indices @@ -606,13 +601,13 @@ See `org-publish-projects'." (error "File %s not part of any known project" (abbreviate-file-name filename))))) (project-plist (cdr project)) - (ftname (file-truename filename)) + (ftname (expand-file-name filename)) (publishing-function (or (plist-get project-plist :publishing-function) 'org-publish-org-to-html)) (base-dir (file-name-as-directory - (file-truename + (expand-file-name (or (plist-get project-plist :base-directory) (error "Project %s does not have :base-directory defined" (car project)))))) --=-=-= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode --=-=-=--