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