emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Sebastian Rose <sebastian_rose@gmx.de>
To: Aidan Gauland <aidalgol@no8wireless.co.nz>
Cc: emacs-orgmode@gnu.org
Subject: Re: Re: [Patch] Bug: Inconsistency with org-publish-attachment
Date: Sat, 18 Sep 2010 00:18:42 +0200	[thread overview]
Message-ID: <87hbhoovy5.fsf@gmx.de> (raw)
In-Reply-To: <loom.20100917T220544-150@post.gmane.org> (Aidan Gauland's message of "Fri, 17 Sep 2010 20:21:42 +0000 (UTC)")

[-- Attachment #1: Type: text/plain, Size: 1960 bytes --]

Aidan Gauland <aidalgol@no8wireless.co.nz> writes:
> Sebastian Rose <sebastian_rose <at> 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



[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: org-publish-correct-target-directory-3.patch --]
[-- Type: text/x-diff, Size: 1632 bytes --]

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))))))

[-- Attachment #3: Type: text/plain, Size: 201 bytes --]

_______________________________________________
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

  reply	other threads:[~2010-09-17 22:19 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-15  2:15 Bug? Inconsistency with org-publish-attachment Aidan Gauland
2010-09-15 16:04 ` Sebastian Rose
2010-09-15 19:26   ` Emacs version Sébastien Vauban
2010-09-15 20:11     ` Henri-Paul Indiogine
2010-09-15 20:57       ` A. Ryan Reynolds
2010-09-16 19:27         ` Gregor Zattler
2010-09-15 22:31     ` Sebastian Rose
2010-09-16  3:16       ` suvayu ali
2010-09-16  8:11         ` Scot Becker
2010-09-15 20:23   ` Bug? Inconsistency with org-publish-attachment Aidan Gauland
2010-09-15 22:40     ` Sebastian Rose
2010-09-16  3:15       ` Aidan Gauland
2010-09-16 12:23         ` [Patch] " Sebastian Rose
2010-09-16 20:33           ` Aidan Gauland
2010-09-16 22:44             ` Sebastian Rose
2010-09-17  1:09               ` Aidan Gauland
2010-09-17  9:16                 ` Sebastian Rose
2010-09-17 20:21                   ` [Patch] Bug: " Aidan Gauland
2010-09-17 22:18                     ` Sebastian Rose [this message]
2010-09-17 23:12                       ` Aidan Gauland
2010-09-17 23:18                         ` Sebastian Rose
2010-09-16 22:45             ` Re: [Patch] Re: Bug? " Sebastian Rose

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87hbhoovy5.fsf@gmx.de \
    --to=sebastian_rose@gmx.de \
    --cc=aidalgol@no8wireless.co.nz \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).