Response; added shell code and html formating to reproduction steps

master
http://dtrt.org/ 2008-12-20 22:28:20 -05:00 committed by Joey Hess
parent c53a3a1d3e
commit fc077f6956
1 changed files with 201 additions and 0 deletions

View File

@ -99,3 +99,204 @@ first, explains everything you describe. If not, please send me a shell script
test case I can run, as instructions like "Create pages that sort different by
mtime and ctime" are not ones that I know how to follow (given that touch sets
*both*). --[[Joey]]
> Sorry. I conflated Unix ctime and ikiwiki's creation time because I
> didn't think the difference was important to this case. I'm a writer,
> and I should have known better -- I appologize. Revised steps to
> reproduce are below; feel free to delete this whole misunderstanding
> to make the bug report more concise.
>
> 1. Create pages in the srcdir that should sort in one order by
> last-modification time and in a diffent order by original creation
> time. For example:
>
> $ echo -e '\[[!meta date="2007-01-01"]]\nNew.' > test/new.mdwn
> $ echo -e '\[[!meta date="2006-01-01"]]\nOld.' > test/old.mdwn
>
> 2. Create a page that includes the files. For example:
>
>
> $ echo '\[[!inline pages="test/*"]]' > sort-test.mdwn
>
> 3. Run ikiwiki. For example `ikiwiki --setup setup_file`
>
> 4. Pages are output incorrectly in modification time order. For example,
> actual partial HTML of the sort-test/index.html from commands used
> above (whitespace-only lines removed; one whitespace-only line
> added):
>
> <div class="inlinepage">
> <span class="header">
> <a href="./../test/old/">old</a>
> </span>
> <p>Old.</p>
> <span class="pagedate">
> Posted Sun 01 Jan 2006 12:00:00 AM EST
> </span>
> </div>
>
> <div class="inlinepage">
> <span class="header">
> <a href="./../test/new/">new</a>
> </span>
> <p>New.</p>
> <span class="pagedate">
> Posted Mon 01 Jan 2007 12:00:00 AM EST
> </span>
> </div>
>
> 5. Run ikiwiki again with the same command line. For example: `ikiwiki --setup setup_file`
>
> 6. Pages are output correctly in creation time order. For example,
> actual partial HTML of the sort-test/index.html from commands used
> above (whitespace-only lines removed; one whitespace-only line
> added):
>
> <div class="inlinepage">
> <span class="header">
> <a href="./../test/new/">new</a>
> </span>
> <p>New.</p>
> <span class="pagedate">
> Posted Mon 01 Jan 2007 12:00:00 AM EST
> </span>
> </div>
>
> <div class="inlinepage">
> <span class="header">
> <a href="./../test/old/">old</a>
> </span>
> <p>Old.</p>
> <span class="pagedate">
> Posted Sun 01 Jan 2006 12:00:00 AM EST
> </span>
> </div>
>
> 7. Create a new page with the current Unix mtime and Unix ctime, but a
> !meta date before the most recent creation date of another page.
> For example:
>
> $ echo -e '\[[!meta date="2005-01-01"]]\nOlder.' > test/older.mdwn
>
> 8. Run ikiwiki again with the same command line. For example: `ikiwiki --setup setup_file`
>
> 9. All previously sorted pages output correctly in order of their
> creation time, but the new page is output incorrectly at the top as
> if its modification time was its creation time. For example,
> actual partial HTML of the sort-test/index.html from commands used
> above (whitespace-only lines removed; two whitespace-only
> lines added):
>
> <div class="inlinepage">
> <span class="header">
> <a href="./../test/older/">older</a>
> </span>
> <p>Older.</p>
> <span class="pagedate">
> Posted Sat 01 Jan 2005 12:00:00 AM EST
> </span>
> </div>
>
> <div class="inlinepage">
> <span class="header">
> <a href="./../test/new/">new</a>
> </span>
> <p>New.</p>
> <span class="pagedate">
> Posted Mon 01 Jan 2007 12:00:00 AM EST
> </span>
> </div>
>
> <div class="inlinepage">
> <span class="header">
> <a href="./../test/old/">old</a>
> </span>
> <p>Old.</p>
> <span class="pagedate">
> Posted Sun 01 Jan 2006 12:00:00 AM EST
> </span>
> </div>
>
> 10. Run ikiwiki again with the same command line. For example: `ikiwiki --setup setup_file`
>
> 11. All pages, including new page, are output correctly in creation time
> order. For example, actual partial HTML of the sort-test/index.html
> from commands used above (whitespace-only lines removed; two
> whitespace-only lines added):
>
> <div class="inlinepage">
> <span class="header">
> <a href="./../test/new/">new</a>
> </span>
> <p>New.</p>
> <span class="pagedate">
> Posted Mon 01 Jan 2007 12:00:00 AM EST
> </span>
> </div>
>
> <div class="inlinepage">
> <span class="header">
> <a href="./../test/old/">old</a>
> </span>
> <p>Old.</p>
> <span class="pagedate">
> Posted Sun 01 Jan 2006 12:00:00 AM EST
> </span>
> </div>
>
> <div class="inlinepage">
> <span class="header">
> <a href="./../test/older/">older</a>
> </span>
> <p>Older.</p>
> <span class="pagedate">
> Posted Sat 01 Jan 2005 12:00:00 AM EST
> </span>
> </div>
>
> File status after all the above actions:
>
> $ stat test/*
> File: `test/new.mdwn'
> Size: 33 Blocks: 8 IO Block: 4096 regular file
> Device: ca20h/51744d Inode: 684160 Links: 1
> Access: (0644/-rw-r--r--) Uid: ( 1000/ harding) Gid: ( 1000/ harding)
> Access: 2008-12-20 21:48:32.000000000 -0500
> Modify: 2008-12-20 21:27:03.000000000 -0500
> Change: 2008-12-20 21:27:03.000000000 -0500
> File: `test/older.mdwn'
> Size: 35 Blocks: 8 IO Block: 4096 regular file
> Device: ca20h/51744d Inode: 684407 Links: 1
> Access: (0644/-rw-r--r--) Uid: ( 1000/ harding) Gid: ( 1000/ harding)
> Access: 2008-12-20 21:48:32.000000000 -0500
> Modify: 2008-12-20 21:42:10.000000000 -0500
> Change: 2008-12-20 21:42:10.000000000 -0500
> File: `test/old.mdwn'
> Size: 33 Blocks: 8 IO Block: 4096 regular file
> Device: ca20h/51744d Inode: 684161 Links: 1
> Access: (0644/-rw-r--r--) Uid: ( 1000/ harding) Gid: ( 1000/ harding)
> Access: 2008-12-20 21:48:32.000000000 -0500
> Modify: 2008-12-20 21:27:09.000000000 -0500
> Change: 2008-12-20 21:27:09.000000000 -0500
>
> My ikiwiki configuration file (being used to port a blog from pyblosxom
> to ikiwiki):
>
> harding@mail:~$ sed 's/#.*//; /^[ ]*$/d' .ikiwiki/gnuisance.setup
> use IkiWiki::Setup::Standard {
> wikiname => "HardingBlog",
> adminemail => 'dave@dtrt.org',
> srcdir => "/srv/backup/git/gnuisance.net",
> destdir => "/srv/test.dtrt.org",
> url => "http://srv.dtrt.org",
> wrappers => [
> ],
> atom => 1,
> syslog => 0,
> prefix_directives => 1,
> add_plugins => [qw{goodstuff tag}],
> disable_plugins => [qw{passwordauth}],
> tagbase => "tag",
> }
>
> --[David A. Harding](http://dtrt.org/), 2008-12-20