(Arne Babenhauserheide)
2011-11-24: no longer write raw files (dumb webservers often don’t know what to no longer write raw files (dumb webservers often don’t know what to do with them).
diff --git a/.bugs/bugs b/.bugs/bugs
--- a/.bugs/bugs
+++ b/.bugs/bugs
@@ -16,7 +16,7 @@ Idea: hg clone/push ftp://host.tld/path/
add linenumbers to the src files. | owner:Arne Babenhauserheide <bab@draketo.de>, open:True, id:b7bab6f46da7d224f97d0dac55a617d3a464d301, time:1319147678.56
commits as commit/<rev>/ for long term viability. .html as suffix is not as long lived as a simple dirname. | owner:Arne Babenhauserheide <bab@draketo.de>, open:True, id:baaad4bdc13d7155048ce6a9dde92dc857b6a1ac, time:1319148414.16
clone/<pathname>/ → incoming log (commits) + possibly an associated issue in b. | owner:Arne Babenhauserheide <bab@draketo.de>, open:True, id:c58557260a47597ac5057703e26a94df190a2a5d, time:1319147661.8
-no longer create raw files, since they can’t be served by all webservers and waste bandwidth and space (they are no longer linked anyway). | owner:Arne Babenhauserheide <bab@draketo.de>, open:True, id:d1010e1933648f65af37d969bfb45f8d834fc8bb, time:1319148721.49
+no longer create raw files, since they can’t be served by all webservers and waste bandwidth and space (they are no longer linked anyway). | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:d1010e1933648f65af37d969bfb45f8d834fc8bb, time:1319148721.49
check the hgweb templating for parsing the site. | owner:Arne Babenhauserheide <bab@draketo.de>, open:True, id:ef17f01dbe8ee58536fa8b345eb18d1efc639f15, time:1319208643.38
maybe more advanced bookmarks pushing. | owner:Arne Babenhauserheide <bab@draketo.de>, open:True, id:ef8c12bfcc99686efc1f685a9be0be0c78922ca5, time:1322115049.48
Treat branch heads specially: link on the main page. | owner:Arne Babenhauserheide <bab@draketo.de>, open:True, id:f531c27b38f9ea1749ded312f4f468c9ac33b930, time:1319147696.96
diff --git a/site.py b/site.py
--- a/site.py
+++ b/site.py
@@ -230,7 +230,7 @@ def createindex(target, ctx):
index += "</ul>"
return index
-def writesourcetree(ui, repo, target, name, force):
+def writesourcetree(ui, repo, target, name, force, rawfiles=False):
"""Write manifests for all commits and websites for all files.
* For each file, write sites for all revisions where the file was changed: under src/<hex>/path as html site (with linenumbers and maybe colored source), under raw/<hex>/<path> as plain files. If there is an index.html file, write it as .index.html. If there also is .index.html, turn it to ..index.html, …
@@ -244,19 +244,22 @@ def writesourcetree(ui, repo, target, na
filectx = ctx.filectx(filename)
except LookupError, e:
ui.warn("File not found, likely moved ", e, "\n")
- # first write the raw data
- filepath = rawpath(target,ctx,filectx.path())
- # skip already existing files
- if not force and isfile(filepath):
- continue
- try:
- os.makedirs(dirname(filepath))
- except OSError: pass # exists
- with open(filepath, "w") as f:
- f.write(filectx.data())
+ if rawfiles:
+ # first write the raw data
+ filepath = rawpath(target,ctx,filectx.path())
+ # skip already existing files
+ if not force and isfile(filepath):
+ continue
+ try:
+ os.makedirs(dirname(filepath))
+ except OSError: pass # exists
+ with open(filepath, "w") as f:
+ f.write(filectx.data())
# then write it as html
_filenameescaped = escapename(filectx.path())
filepath = srcpath(target,ctx,_filenameescaped)
+ if not force and isfile(filepath):
+ continue
try:
os.makedirs(dirname(filepath))
except OSError: pass # exists