1 After some months, I just updated my local ikiwiki sources, and rebuilt
2 the Hurd web pages, <http://git.savannah.gnu.org/cgit/hurd/web.git/>.
4 I was confused, having switched to the new automatic (thanks!) --gettime
5 mechanism, why on some pages the timestamps had changed compared to my
6 previous use of --getctime and setting files' mtimes (using a script)
7 according to the last Git commit. For example:
9 community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.html
13 Last edited <span class="date">2008-09-11 18:11:53 UTC</span>
14 <!-- Created <span class="date">2008-09-11 17:47:08 UTC</span> -->
18 Last edited <span class="date">2008-09-11 18:12:22 UTC</span>
19 <!-- Created <span class="date">2008-09-11 17:47:50 UTC</span> -->
22 I had a look at what git.pm is doing, and began to manually replay /
25 $ git log --pretty=fuller --name-only --relative -- community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.mdwn
26 commit 8f1b97bfe45b2f173e3a7d55dee226a9e289a695
27 Author: arnebab <arne_bab@web.de>
28 AuthorDate: Thu Sep 11 20:11:53 2008 +0200
29 Commit: arnebab <arne_bab@web.de>
30 CommitDate: Thu Sep 11 20:11:53 2008 +0200
32 Added a link to the X.org guide in this wiki.
34 community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.mdwn
36 commit 3ef8b7d80d80572c436c4c60c71879bc74409816
37 Author: arnebab <arne_bab@web.de>
38 AuthorDate: Thu Sep 11 19:47:08 2008 +0200
39 Commit: arnebab <arne_bab@web.de>
40 CommitDate: Thu Sep 11 19:47:08 2008 +0200
42 Minor update on the enty trying to get X working -> 'watch this place for updates'
44 community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.mdwn
46 OK, these are my old dates.
48 $ git log --pretty=format:%ci --name-only --relative -- community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.mdwn
49 2008-09-11 20:11:53 +0200
50 community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.mdwn
52 2008-09-11 19:47:08 +0200
53 community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.mdwn
55 $ git log --pretty=format:%ct --name-only --relative -- community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.mdwn
57 community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.mdwn
60 community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.mdwn
63 Thu Sep 11 18:11:53 UTC 2008
65 Thu Sep 11 17:47:08 UTC 2008
67 That's all consistent.
72 $ perl -le 'use Storable; my $index=Storable::retrieve("indexdb"); use Data::Dumper; print Dumper $index'
74 'community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.mdwn' => {
75 'ctime' => '1221155270',
77 'community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.html'
82 'mtime' => 1221156742,
87 'community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x/discussion',
94 Thu Sep 11 18:12:22 UTC 2008
96 Thu Sep 11 17:47:50 UTC 2008
98 That's different, and it matches what the new ikiwiki writes into the
102 Back to Git again, this time without specifying the file:
104 $ git log --pretty=format:%ct --name-only --relative
108 unsorted/PortingIssues.mdwn
110 1221156742 [Thu Sep 11 18:12:22 UTC 2008]
111 1221156713 [Thu Sep 11 18:11:53 UTC 2008]
112 community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.mdwn
126 1221155270 [Thu Sep 11 17:47:50 UTC 2008]
127 1221155228 [Thu Sep 11 17:47:08 UTC 2008]
128 community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.mdwn
132 community/gsoc/project_ideas.mdwn
140 ... and some more detail:
142 $ git log --pretty=fuller --name-only --relative
144 commit e4e89e1683012c879012522105a3471a00714613
145 Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
146 AuthorDate: Fri Sep 12 23:40:55 2008 +0200
147 Commit: Samuel Thibault <samuel.thibault@ens-lyon.org>
148 CommitDate: Fri Sep 12 23:40:55 2008 +0200
150 MSG_NOSIGNAL and IPV6_PKTINFO got fixed
152 unsorted/PortingIssues.mdwn
154 commit c389fae98dff86527be62f895ff7272e4ab1932c
155 Merge: 0339e3e 8f1b97b
156 Author: GNU Hurd wiki engine <web-hurd@gnu.org>
157 AuthorDate: Thu Sep 11 18:12:22 2008 +0000
158 Commit: GNU Hurd wiki engine <web-hurd@gnu.org>
159 CommitDate: Thu Sep 11 18:12:22 2008 +0000
161 Merge branch 'master' of wiki@192.168.10.50:wiki
163 commit 8f1b97bfe45b2f173e3a7d55dee226a9e289a695
164 Author: arnebab <arne_bab@web.de>
165 AuthorDate: Thu Sep 11 20:11:53 2008 +0200
166 Commit: arnebab <arne_bab@web.de>
167 CommitDate: Thu Sep 11 20:11:53 2008 +0200
169 Added a link to the X.org guide in this wiki.
171 community/weblogs/ArneBab/2008-08-02-gnu_hurd_and_x.mdwn
174 So, merges are involved there.
176 What (the new) ikiwiki code does, is use the timestamp when the merge was
177 done instead of the timestamp when the commit was done. Is this
178 intentional? Otherwise I could supply a patch.
182 > In order to be nice and fast, the git backend runs git log once
183 > and records data for all files. Rather than looking at the log for a
184 > given file. So amoung other things, it does not follow renames.
186 > AFAICS, git log only shows merges modifying files if it was a conflicted
187 > merge. As the file is then actually modified to resolve the merge
188 > I think it makes sense to count the merge as the last modification in
189 > that case. --[[Joey]]
191 >> That'd be reasonable, but `git log` will also show merges that are not
192 >> conflicting (as in my case).
194 >>> Actually when displaying a merge, `git log --stat` only lists files that
195 >>> were actually modified in a new way as part of the merge resolution.
196 >>> Ie, if the merge resolution only joins together some of the parent
197 >>> hunks, the file is not listed as having been modified.
199 >>> So, no, ikiwiki's use of git log will not show files modified in
200 >>> non-conflicting merges.
203 >> Yet, I'm not totally disagreeing with your choice. With this `git
204 >> log` invocation, you're not able to tell from its output whether a
205 >> conflict was resolved or not.
207 >> Also, it's a bit like the *should we use the **author timestamp** or
208 >> **commit timestamp*** discussion. Your code will always use the
211 >> I guess I'll get my head wrapped around that, and it's fine, so this is