(Arne Babenhauserheide)
2011-11-24: only write commits[-x00]/index.html if it changed. only write commits[-x00]/index.html if it changed.
diff --git a/site.py b/site.py
--- a/site.py
+++ b/site.py
@@ -144,26 +144,28 @@ def writelog(ui, repo, target, name):
dd = d
di = str(ck)+"00"
d = commits+"-"+di
- logs[-1].write("<p><a href=\"../commits-"+di+"\">earlier</a></p>")
+ logs[-1][-1] += "<p><a href=\"../commits-"+di+"\">earlier</a></p>"
if ck>2:
# the older log gets a reference to the newer one
- logs[-1].write("<p><a href=\"../commits-"+str(ck-2)+"00"+"\">later</a></p>")
+ logs[-1][-1] += "<p><a href=\"../commits-"+str(ck-2)+"00"+"\">later</a></p>"
elif ck>1:
- logs[-1].write("<p><a href=\"../commits\">later</a></p>")
- logs.append(open(join(d, "index.html"), "w"))
+ logs[-1][-1] += "<p><a href=\"../commits\">later</a></p>"
+ logs.append([join(d, "index.html"), ""])
else:
d = commits
- logs.append(open(join(d, "index.html"), "w"))
+ logs.append([join(d, "index.html"), ""])
- logs[-1].write(templates["head"].replace("{reponame}", "<a href='../'>"+name+"</a>").replace("{title}", name))
+ logs[-1][-1] += templates["head"].replace("{reponame}", "<a href='../'>"+name+"</a>").replace("{title}", name)
for c in range(ck*100+1, min(len(repo.changelog)+1, (ck+1)*100)):
ctx = repo.changectx(str(-c))
t.show(ctx)
- logs[-1].write(ui.popbuffer())
+ logs[-1][-1] += ui.popbuffer()
- for l in logs:
- l.write(templates["foot"].replace("{reponame}", "<a href='../'>"+name+"</a>"))
- l.close()
+ for filepath,data in logs:
+ data += templates["foot"].replace("{reponame}", "<a href='../'>"+name+"</a>")
+ if not contentequals(filepath,data):
+ with open(filepath, "w") as f:
+ f.write(data)
def writecommits(ui, repo, target, name, force=False):