ikiwiki/doc/forum/recentchanges_dir_should_be...

106 lines
4.6 KiB
Markdown

Hello Joey,
I noticed that my Ikiwiki started to rebuild pages very slowly after my last changes
when I upgraded Ikiwiki to version 3.20100623. Now I have the latest release 3.20100704,
but it doesn't help me.
I started to debug the problem and I found that I can see a lot of messages
like below when I try to rebuild my wiki manually:
svn: '/path/to/ikiwiki/trunk/pages/ostatnie_zmiany' is not a working copy
svn: Can't open file '/path/to/ikiwiki/trunk/pages/ostatnie_zmiany/.svn/entries': No such file or directory
svn log exited 256
"ostatnie_zmiany" is a value of `recentchangespage` parameter in my
`ikiwiki.setup` file. It is not under control Subversion I use for Ikiwiki:
$ svn status pages/ostatnie_zmiany
? pages/ostatnie_zmiany
$ ls pages/ostatnie_zmiany/*._change |wc -l
100
`recentchangesnum` parameter has value 100 for me and I noticed that my Ikiwiki
takes a lot of time to parse all `._change` files. Finally it doesn't refresh
/ostatnie_zmiany.html page.
Do you think I should add `ostatnie_zmiany` directory under control of my
Subversion repo? If it's not necessary, could you please give me any hint
to find a reason of problem with my Ikiwiki?
My best regards,
Pawel
> No, the recentchanges pages are automatically generated and should not
> themselves be in revision control.
>
> Ikiwiki has recently started automatically enabing `--gettime`, but
> it should not do it every time, but only on the initial build
> of a wiki. It will print "querying svn for file creation and modification
> times.." when it does this. If it's doing it every time, something
> is wrong. (Specifically, `.ikiwiki/indexdb` must be missing somehow.)
>
> The support for svn with --gettime is rather poor. (While with git it is
> quite fast.) But as it's only supposed to happen on the first build,
> I haven't tried to speed it up. It would be hard to do it fast with svn.
> It would be possible to avoid the warning message above, or even skip
> processing files in directories not checked into svn -- but I'd much
> rather understand why you are seeing this happen on repeated builds.
> --[[Joey]]
>> Thanks a lot for your reply! I've just checked my `rebuild-pages.sh`
>> script and discovered that it contains
>> `/usr/bin/ikiwiki --setup ikiwiki.setup --gettime` command... :D
>> The warnings disappeared when I removed `--gettime` parameter.
>> Sorry for confusing! :)
>>
>> I have `.ikiwiki/indexdb` file here, but I noticed that it has been
>> modified about 1 minute **after** last Subversion commit:
>>
>> $ LANG=C svn up
>> At revision 5951.
>>
>> $ LANG=C svn log -r 5951
>> ------------------------------------------------------------------------
>> r5951 | svn | 2010-07-06 09:02:30 +0200 (Tue, 06 Jul 2010) | 1 line
>>
>> web commit by xahil
>> ------------------------------------------------------------------------
>>
>> $ LANG=C stat pages/.ikiwiki/indexdb
>> File: `pages/.ikiwiki/indexdb'
>> Size: 184520 Blocks: 368 IO Block: 131072 regular file
>> Device: 2bh/43d Inode: 1931145 Links: 1
>> Access: (0644/-rw-r--r--) Uid: ( 1005/ svn) Gid: ( 1005/ svn)
>> Access: 2010-07-06 12:06:24.000000000 +0200
>> Modify: 2010-07-06 09:03:38.000000000 +0200
>> Change: 2010-07-06 09:03:38.000000000 +0200
>>
>> I believe it's the time I have to wait to see that my wiki page has been rebuilt.
>> Do you have any idea how to find a reason of that delay? --[[Paweł|ptecza]]
>>> Well, I hope that your svn post-commit hook is not running your
>>> `rebuild-pages.sh`. That script rebuilds everything, rather than just
>>> refreshing what's been changed.
>>>
>>> Using subversion is not asking for speed. Especially if your svn
>>> repository is on a remote host. You might try disabling
>>> recentchanges and see if that speeds up the refreshes (it will avoid
>>> one `svn log`).
>>>
>>> Otherwise, take a look at [[tips/optimising_ikiwiki]]
>>> for some advice on things that can make ikiwiki run slowly. --[[Joey]]
>>>> Thanks for the hints! I don't understand it, but it seems that refreshing
>>>> all pages has resolved the problem and now my wiki works well again :)
>>>>
>>>> No, I use `rebuild-pages.sh` script only when I want to rebuild
>>>> my wiki manually, for example when you release new Ikiwiki version
>>>> then I need to update my templates. Some of them have been translated
>>>> to Polish by me.
>>>>
>>>> Fortunately my wiki and its Subversion repo are located on the same host.
>>>> We have a lot of Subversion repos for our projects and I don't want to
>>>> change only wiki repo for better performance. I'm rather satisfied with
>>>> its speed. --[[Paweł|ptecza]]