# # # add_dir "www/viewmtn" # # add_dir "www/viewmtn/MochiKit" # # add_dir "www/viewmtn/grapher" # # add_dir "www/viewmtn/mimetypes" # # add_dir "www/viewmtn/templates" # # add_dir "www/viewmtn/tests" # # add_file "www/viewmtn/.htaccess" # content [696ab9f90e6cae432c3f8628a91c765433f00756] # # add_file "www/viewmtn/AUTHORS" # content [efc3dd1070798deb1fc2a2312204cc2f9faf00d4] # # add_file "www/viewmtn/ChangeLog" # content [c16ac2013e466b7eafcdf54b808052056d2f3e89] # # add_file "www/viewmtn/LICENSE" # content [dfac199a7539a404407098a2541b9482279f690d] # # add_file "www/viewmtn/MochiKit/MochiKit.js" # content [db162319790852ff3e02f6e673b729a3c262f4ec] # # add_file "www/viewmtn/MochiKit/__package__.js" # content [6f05da1941ddb410b89f26ea4ea4e72c235ceaed] # # add_file "www/viewmtn/README" # content [46ffe1ce5080c9fd0081574ae8a8da30c3df65dc] # # add_file "www/viewmtn/TODO" # content [6372d06a8696794b11e1f5dece588de4d1057896] # # add_file "www/viewmtn/about.psp" # content [92120d31e268182f68917b20874c60f8f0ef70d2] # # add_file "www/viewmtn/authors.py" # content [0ed0661cf3ddf1b402a73dfc1ff0fccc64ad05f1] # # add_file "www/viewmtn/branch.psp" # content [08a0e167ebb6416ca636a59ae0bb4ac020b148af] # # add_file "www/viewmtn/builtpython.sh" # content [c1d18a362622ec209ea6818957a5778d5374de45] # # add_file "www/viewmtn/common.py" # content [19a25a6ea138661ce01454ec58c1ea20fcd884aa] # # add_file "www/viewmtn/config.py.example" # content [7627e154e30ee6e88e547312876aa5cca8bf7c7e] # # add_file "www/viewmtn/diff.psp" # content [4c495def64a5c64f8da213eaa870663f859b404e] # # add_file "www/viewmtn/enscriptlangs.py" # content [95c443cac402a883b7f523a46faba66d2c79caaf] # # add_file "www/viewmtn/error.psp" # content [312eeeb8ea00ab36b0b5d64eb8fa5b65e75cd418] # # add_file "www/viewmtn/file.psp" # content [f19f6fefe38a97ca636705f070f4535534947a48] # # add_file "www/viewmtn/fileinbranch.psp" # content [4f01b7f1260ca7a9c756047ea0dcfaa5fabc4b0c] # # add_file "www/viewmtn/grapher/grapher.py" # content [5d38fbee117ab4cf50f8d9fb90050a29d8fa3c4d] # # add_file "www/viewmtn/headofbranch.psp" # content [f2f0d9d64ffa71086b2451fa0eb994d40fe35db6] # # add_file "www/viewmtn/help.psp" # content [02a65e870a2cfc34680ba57740ea4fe9f82a48c7] # # add_file "www/viewmtn/html.py" # content [8344c7b901ccd05b338a1322b0c0b57998985fcc] # # add_file "www/viewmtn/index.psp" # content [0b257820d558b3a44081ccba10279e76d9e82555] # # add_file "www/viewmtn/json.py" # content [8011edc26270fc6ae7e34887279cb08479418368] # # add_file "www/viewmtn/manifest.psp" # content [722b15a5c3eeca08a8415264c691f2f1966b0cbc] # # add_file "www/viewmtn/mimetypes/gnome-fs-directory.png" # content [f79ed53a7400ffe50afbbbb085221efb4857caec] # # add_file "www/viewmtn/mimetypes/gnome-library.png" # content [ebd329284c6e1795dad94eb38a21e51f56935e59] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-magicpoint.png" # content [739d087d785e1e42d2322a029f64bbfc06f1f737] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-msword.png" # content [e1112f34189ff864d2b8edf22d44fcdec9a5fbf3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-ogg.png" # content [1693339c452cdf728566dfeb8b6d3ffca37f61f3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-par.png" # content [131842477237314ceacac51b8d16899a9a4bf69b] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-pdf.png" # content [4b6c29ff36f567c3fce222ef3332c9f7521fb2f1] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-pgp-encrypted.png" # content [0973c972918fc59fd6beb167401a3ee02dcc9c38] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-pgp-keys.png" # content [af8e3c600348a7d60b68f15da96986694ed48148] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-pgp.png" # content [4d0507cd5023c4d4c7344579fcdc9bc06e5f41e7] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-postscript.png" # content [38ed48c0066385e1952697e5d2780b0c4a594d22] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-qif.png" # content [28567d468893846922cdee08431623efef56d05e] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-rhythmbox-effect.png" # content [91e77f6b28f956b3fae1b303ce1c5d9e9012eb3b] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-rhythmbox-playlist.png" # content [437e838a2c0ec07c28fdff8333db59ccfc59ad40] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-rtf.png" # content [a286e242089888b1c185e73575850cb1b80e0de3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-smil.png" # content [02f0c0f4ce3fdb88a273c594fc446e111adf9160] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-vnd.lotus-1-2-3.png" # content [b5683645633e56bea766aa54fe3642c831eb18a5] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-vnd.ms-excel.png" # content [c1cf7fd30c5301e50f24a6683414ad9fc908a9f7] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-vnd.ms-powerpoint.png" # content [f790c027f1a99367ef8198f8bee39545034a36cd] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-vnd.ms-word.png" # content [e1112f34189ff864d2b8edf22d44fcdec9a5fbf3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-vnd.stardivision.calc.png" # content [8b880870364d822ccdd7f0a8ebb9947f7fcea941] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-vnd.stardivision.impress.png" # content [739d087d785e1e42d2322a029f64bbfc06f1f737] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-vnd.stardivision.writer.png" # content [8b880870364d822ccdd7f0a8ebb9947f7fcea941] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-vnd.sun.xml.calc.png" # content [8c242711a9550d15e763272b8d07fe9589e3954f] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-vnd.sun.xml.draw.png" # content [39f4a1531594cdb2b2adb28324d621c7e8a37870] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-vnd.sun.xml.impress.png" # content [739d087d785e1e42d2322a029f64bbfc06f1f737] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-vnd.sun.xml.writer.png" # content [a286e242089888b1c185e73575850cb1b80e0de3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-vnd.sun.xml.writer.template.png" # content [9810bc38085f24aa49208ca138dff5171bc1e105] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-wordperfect.png" # content [a286e242089888b1c185e73575850cb1b80e0de3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-abiword.png" # content [8b880870364d822ccdd7f0a8ebb9947f7fcea941] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-applix-spreadsheet.png" # content [b5683645633e56bea766aa54fe3642c831eb18a5] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-applix-word.png" # content [a286e242089888b1c185e73575850cb1b80e0de3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-archive.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-arj.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-bittorrent.png" # content [75eabe830158329f465cc1cd64fc69048b2e8780] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-bla.png" # content [42afef70502d28ac2cdff4638f168e195085eed5] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-blender.png" # content [43dc9850549ed898502ac12f9c38e749cd52529c] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-blf.png" # content [19242cf6b4d5531c96c2282859d403ce255892bf] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-blv.png" # content [19242cf6b4d5531c96c2282859d403ce255892bf] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-bzip-compressed-tar.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-bzip.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-cd-image.png" # content [8e5f068b2026b9da64555c47bb4bfac05e3f5a18] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-class-file.png" # content [c9ff30653096ffbcafb308446c2e6fafe9c272d9] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-compress.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-compressed-tar.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-core.png" # content [d5780e52bd7d33b580d149d4930e80320c694346] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-cpio-compressed.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-cpio.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-dc-rom.png" # content [7124ebd35822064f481bbd42a6e9b40c8ed70a98] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-deb.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-desktop.png" # content [456ed7f266c5de63d6128f441b32445f83785c8b] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-dia-diagram.png" # content [84514d7aae7eb6f94b787642985708f2fc29c72d] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-dv.png" # content [7a0ec215aa2b8469fbd9d414b439a8338f4c51fc] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-dvi.png" # content [7934576ac8828ad3e9fb2a781c6eb7ce4bf6dcea] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-e-theme.png" # content [c8a083a1554f6a0892bc0cfb9d19091347319da7] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-executable.png" # content [79c7b7baf3a7f1fd0b08f72ad823c497f40a5485] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-extension-nfo.png" # content [7934576ac8828ad3e9fb2a781c6eb7ce4bf6dcea] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-extension-par2.png" # content [131842477237314ceacac51b8d16899a9a4bf69b] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-font-afm.png" # content [ad93bc3d05f87a5a740ead51d6fd08549e8dc5d2] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-font-bdf.png" # content [ef29014d5b82cc5b9f032992a1801cab703fbaed] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-font-linux-psf.png" # content [ef29014d5b82cc5b9f032992a1801cab703fbaed] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-font-pcf.png" # content [ef29014d5b82cc5b9f032992a1801cab703fbaed] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-font-sunos-news.png" # content [ad93bc3d05f87a5a740ead51d6fd08549e8dc5d2] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-font-ttf.png" # content [f165b959b5b75ed8c345758e810018e06f307c0d] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-gameboy-rom.png" # content [ef11f15a3fc7a9b626348f7fc6da17c31cb5b883] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-genesis-rom.png" # content [7124ebd35822064f481bbd42a6e9b40c8ed70a98] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-glade.png" # content [f1c95cffc82943a2c1dda13d3dde427ce3e567e0] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-gnucash.png" # content [28567d468893846922cdee08431623efef56d05e] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-gnumeric.png" # content [a27c59f6252100d0ff754c233d625b419ea94b8a] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-gtktalog.png" # content [7cafdcfe9aebcdb39f41d2a008d27022f373bf38] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-gzip.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-ipod-firmware.png" # content [3af3bf3a96bf2f10056d7f02387518e730972322] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-jar.png" # content [6692e92dc5db912423752071dc28baa565dbd0dd] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-killustrator.png" # content [8ef47847c64047e2ca3617f004175bd3393d86cf] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-kpresenter.png" # content [9c967a00b93b709a78902a194fa9ace44564fdbd] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-kspread.png" # content [63ce8f4fab889bafc7df12c842c31d41e4ae7711] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-kword.png" # content [6676c3fe23bee4fc6d90f2db44c126315ad51583] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-lha.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-lhz.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-mrproject.png" # content [4ae99b14dd1d66176da71f49715ff1face60087e] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-msx-rom.png" # content [7124ebd35822064f481bbd42a6e9b40c8ed70a98] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-n64-rom.png" # content [7124ebd35822064f481bbd42a6e9b40c8ed70a98] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-nes-rom.png" # content [7124ebd35822064f481bbd42a6e9b40c8ed70a98] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-object.png" # content [ebd329284c6e1795dad94eb38a21e51f56935e59] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-perl.png" # content [8cf2de3f4126c9910e5e76956ece641b27cd3c2e] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-php.png" # content [9d8175b9b5561fd940bdbb176707846ab39f0212] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-python-bytecode.png" # content [e1ca7e759d348f3efb508fcf6bdb48ae707189d3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-python.png" # content [e1ca7e759d348f3efb508fcf6bdb48ae707189d3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-qw.png" # content [28567d468893846922cdee08431623efef56d05e] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-rar.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-reject.png" # content [4af5c0c2ab2a9db8c923144f3821a214fd49edab] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-rpm.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-ruby.png" # content [2ca2fd30c5f6069a82caed12233c4ef0d942cb84] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-sharedlib.png" # content [ebd329284c6e1795dad94eb38a21e51f56935e59] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-shellscript.png" # content [3681109a34a94241b36206c5b89907e9e3713f27] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-shockwave-flash.png" # content [1c3bf562aeb737e47bd8afee682c17242ec80d98] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-sms-rom.png" # content [7124ebd35822064f481bbd42a6e9b40c8ed70a98] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-sql.png" # content [d4311b0c14f8aea2a4355e06b62a73e545a1b230] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-stuffit.png" # content [5908130299934cfcc315b344fb9c5ff58db6b743] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-tar.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-tex.png" # content [7934576ac8828ad3e9fb2a781c6eb7ce4bf6dcea] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-trash.png" # content [31d6a4e66859ca048c936d42008828547dc924d2] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-x-x509-ca-cert.png" # content [1e9b7b2dc52bbf4a671db2f840472bc4a8aebdeb] # # add_file "www/viewmtn/mimetypes/gnome-mime-application-zip.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/gnome-mime-application.png" # content [720047d3ca1bc3732209ca22375224e84ced5ffc] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-ac3.png" # content [7a968533b90ee52d29f974a0b984008e11e3b197] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-basic.png" # content [f9a2fd7fd93a96a811de884c6d45329c9a832493] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-midi.png" # content [f9a2fd7fd93a96a811de884c6d45329c9a832493] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-x-aiff.png" # content [62b5e1a199a7cd6bcb4994b871b5f5eaa3773814] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-x-it.png" # content [8253bd3c980fd20458b228963dd3d1680ff5f90d] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-x-midi.png" # content [503ac481576798bf1c252379e8b5e3ccf9d076fe] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-x-mod.png" # content [87718ba80b769468fac73d151201bd93b988db33] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-x-mp3.png" # content [a1349a504ebc0a0430fed2ca06d2b9e16e2d1129] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-x-s3m.png" # content [e3ab485e60bec66b954f2de8057bc4c6a56bf107] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-x-stm.png" # content [1a9a9beb8154f8b28896b6bdd95f9bd6a1233afd] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-x-ulaw.png" # content [23a589c2adf360b4dee4892e7b2189f1ad414960] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-x-voc.png" # content [8d41654fac8a0661a7cc080970621ef21062193a] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-x-wav.png" # content [88a2b15d50b108d9b143ff2bbc961ff3cb260c55] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-x-xi.png" # content [d069dfa614727fcde17ba56c13215a666eb1d0c6] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio-x-xm.png" # content [5f2977093bb4c63a6e1662170ec3ecfb4ef5be89] # # add_file "www/viewmtn/mimetypes/gnome-mime-audio.png" # content [f9a2fd7fd93a96a811de884c6d45329c9a832493] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-bmp.png" # content [b242be3384e0d1d6bb187ac6eba78966f98dfea5] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-gif.png" # content [1ac422e10e6d1b87681a73fadcc7e06cee44f6ec] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-jpeg.png" # content [a91d9172010836be94c5da85a4e582c8b0e3086c] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-png.png" # content [d73ddf225c6195d32cb68abdd3d1d2b7c0eca0f0] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-svg+xml.png" # content [1a0212e4ff3a2b5d2e3c0b3665942b11712f24ca] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-svg.png" # content [f0972930316fc2dfac32bfc45040089f73bf4c01] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-tiff.png" # content [dc1514a3b2181662d10aae62404258702db2ed06] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-wmf.png" # content [3dd0e3e4b6051e17f10650e8b2487d72b3438230] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-x-3ds.png" # content [a80f834ce6f7da4fffc9863e33d5796d213bca3f] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-x-applix-graphic.png" # content [b5ef331f879718da43a5529ea3b83deaf3b905f3] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-x-cmu-raster.png" # content [b563e9550b55017c7b266d4de80c6b696642cdf9] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-x-lwo.png" # content [94287f107b6ed6ff32d3eec34e712029eef90eaa] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-x-lws.png" # content [d8f646deb6bd9a130aadad5732a2a2137149e4b4] # # add_file "www/viewmtn/mimetypes/gnome-mime-image-x-xcf.png" # content [b1ed95e9eb5579fe0c710b84d065b06e9d698113] # # add_file "www/viewmtn/mimetypes/gnome-mime-image.png" # content [8bacc8bae4d551bd9548981c35c01b7867ce87ac] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-css.png" # content [534aa3cfa7e87ba71b3f279369016dcc78591a5c] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-html.png" # content [534aa3cfa7e87ba71b3f279369016dcc78591a5c] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-authors.png" # content [944f28ee96f2d9a6ecc0dea253990fa25fe25807] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-c++src.png" # content [9d8175b9b5561fd940bdbb176707846ab39f0212] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-c-header.png" # content [c43823aef326aa88ec29c1661ad19c33be4d4b70] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-c.png" # content [9d8175b9b5561fd940bdbb176707846ab39f0212] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-chdr.png" # content [c43823aef326aa88ec29c1661ad19c33be4d4b70] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-copying.png" # content [1e9b7b2dc52bbf4a671db2f840472bc4a8aebdeb] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-credits.png" # content [944f28ee96f2d9a6ecc0dea253990fa25fe25807] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-csh.png" # content [79c7b7baf3a7f1fd0b08f72ad823c497f40a5485] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-csharp.png" # content [309944a912142103ef93853e2f7fe115fef3ee19] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-csrc.png" # content [9d8175b9b5561fd940bdbb176707846ab39f0212] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-haskell.png" # content [41e2702ff9aebff23bb3ab745d605d273caa9f2f] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-install.png" # content [458303f02450bff93bca68f1e3b5c2c6dc23b0a7] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-java.png" # content [a3b64323cf44fc00e659d3d926abe130789b2b54] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-literate-haskell.png" # content [41e2702ff9aebff23bb3ab745d605d273caa9f2f] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-lyx.png" # content [7125d2793f43014235d3a73fc4a8025c562395ec] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-makefile.png" # content [37ec02d20fe9be5ebce54bf732eb80789db54e18] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-objcsrc.png" # content [9d8175b9b5561fd940bdbb176707846ab39f0212] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-patch.png" # content [17f158169a515bbe08c4980b12a2404aa70c7db4] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-readme.png" # content [9ca1f04881a070880fdece18c748222e439d96f7] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-scheme.png" # content [72861f75f24eb30e25c0b455606c76816d697b3a] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-sql.png" # content [9fa1802efbdcbc8c28219db2ef999fb48e97a4c4] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-tex.png" # content [7934576ac8828ad3e9fb2a781c6eb7ce4bf6dcea] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-troff-man.png" # content [d49baf527b02e113d0bcf5fd91975690a6108b24] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-txt.png" # content [7934576ac8828ad3e9fb2a781c6eb7ce4bf6dcea] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-vcalendar.png" # content [3857f66f89d54022741c23b78bcbce0167fa9ecc] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-vcard.png" # content [7deb5dc19c36923a10a8b18b54c26885829ab0a4] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-x-zsh.png" # content [5905b531efd06bcac7fe88cddfcf89093fcde27e] # # add_file "www/viewmtn/mimetypes/gnome-mime-text-xml.png" # content [e3a454d829935a7f5bf466367a92b77a31c4acf0] # # add_file "www/viewmtn/mimetypes/gnome-mime-text.png" # content [cdb065454549392e47e63a1070b42feee806a1de] # # add_file "www/viewmtn/mimetypes/gnome-mime-video-mpeg.png" # content [09f6566f2c1a2d395af353dbd86a550cb6233abe] # # add_file "www/viewmtn/mimetypes/gnome-mime-video-quicktime.png" # content [09f6566f2c1a2d395af353dbd86a550cb6233abe] # # add_file "www/viewmtn/mimetypes/gnome-mime-video-x-ms-asf.png" # content [09f6566f2c1a2d395af353dbd86a550cb6233abe] # # add_file "www/viewmtn/mimetypes/gnome-mime-video-x-ms-wmv.png" # content [09f6566f2c1a2d395af353dbd86a550cb6233abe] # # add_file "www/viewmtn/mimetypes/gnome-mime-video-x-msvideo.png" # content [09f6566f2c1a2d395af353dbd86a550cb6233abe] # # add_file "www/viewmtn/mimetypes/gnome-mime-video.png" # content [09f6566f2c1a2d395af353dbd86a550cb6233abe] # # add_file "www/viewmtn/mimetypes/gnome-mime-x-directory-nfs-server.png" # content [c08ada537f4211734ec93ffe5b7e99db9c0e3a24] # # add_file "www/viewmtn/mimetypes/gnome-mime-x-directory-smb-server.png" # content [2e2122d5bb87c6589fd42c353a2d68a944c14123] # # add_file "www/viewmtn/mimetypes/gnome-mime-x-directory-smb-share.png" # content [d79a265bcf526b8dc6627433cc1d427521cf60b3] # # add_file "www/viewmtn/mimetypes/gnome-mime-x-directory-smb-workgroup.png" # content [67c53c04c13c3b5db93a07322d173ff34d0bae9f] # # add_file "www/viewmtn/mimetypes/gnome-mime-x-font-afm.png" # content [94eb3dabef44920053f00e6c5146fc9a9ece66d7] # # add_file "www/viewmtn/mimetypes/gnome-package.png" # content [84f46f2d1fe05ffa9cf3c2031351159ae82fb4e3] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-database.png" # content [75af2189c6086d38c16cf1da70ae820f61a91304] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-drawing-template.png" # content [4926861dd6bcc4837f5200793a26712e92479070] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-drawing.png" # content [46234e776bb71be41b2a2301c658d573692dac87] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-formula.png" # content [68974d489be536a81223d4d71436f7050b85feec] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-master-document.png" # content [31b5b33e1c2caf0f7fc314293ac2104ac2e82d93] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-oasis-database.png" # content [fb0e854ec6d6a983d53d2bd2ef5aff2c02960766] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-oasis-drawing-template.png" # content [67ff9b09a567ee9d04276bbe54cea47aa32593be] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-oasis-drawing.png" # content [c743b78d95bbcb82a7a0aab3287eec6ab8d83bf5] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-oasis-formula.png" # content [89b5b5b574966e84d34cc192829c51e81e724659] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-oasis-master-document.png" # content [bdb0a62d8efb12dbc34599481ef3e122f9cc4be2] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-oasis-presentation-template.png" # content [8de665dac190c60219d18c13ff1ff313f97960f5] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-oasis-presentation.png" # content [27dd1f4b90dece268b3d7589ff0125bfd0712cfb] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-oasis-spreadsheet-template.png" # content [d51e92c30ddc424ed2b13f3589de7c2e894431f6] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-oasis-spreadsheet.png" # content [24e9fa7049318165e13acac08452a55e08a8d7b0] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-oasis-text-template.png" # content [0752fa6fa92e01497298d0eaaba375e0b2a3404a] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-oasis-text.png" # content [ae00b6f2eaac52ab6188b27ddba261251a7dc470] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-oasis-web-template.png" # content [5df111ae4802669436855769381590fc64db4cba] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-presentation-template.png" # content [5d5ff5bc82de286dd7e8857ad92d6e832f1d90cb] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-presentation.png" # content [bf141c3cbc5ccc8f771d6f41e3f989b703539641] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-spreadsheet-template.png" # content [cefe2bbd334ab8eddedb2e92f7d49a4e7858fdb2] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-spreadsheet.png" # content [9bb1e9e5d3457a33b844c4acbc2336731a0a5325] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-text-template.png" # content [5296ce7641867a68669ee3d9bbedd14f30a0941d] # # add_file "www/viewmtn/mimetypes/openofficeorg-19-text.png" # content [5ee318f65c862137f6f52240daa3105f454935ea] # # add_file "www/viewmtn/monotone.py" # content [f8211dca24b2b5e48c89d5e88d95388a683282b7] # # add_file "www/viewmtn/mtn.py" # content [9aacc29cd3af6277ef411f7e582a450f58c727ee] # # add_file "www/viewmtn/revision.psp" # content [b5b23a31a00ed137eaa2d46681966ad758efc90b] # # add_file "www/viewmtn/rss_feed.gif" # content [027515fd4558abf317d54c437b83ec6bc76e3dd8] # # add_file "www/viewmtn/tags.psp" # content [7b81023a3fbf60ce0ed258d7c9b9086b233e4e8d] # # add_file "www/viewmtn/tarofbranch.psp" # content [08acdaaf0dbe9111f0053d02b91b4e814c62c798] # # add_file "www/viewmtn/templates/about.html" # content [6b1c55564ae50e2de59d5eda418bfad86f0b596d] # # add_file "www/viewmtn/templates/base.html" # content [828ac669dcf846b15ebedc558c7da907079dd685] # # add_file "www/viewmtn/templates/index.html" # content [08145fdb8457c0f05ead0cdec4717e0f7f0de864] # # add_file "www/viewmtn/tests/automate.py" # content [f04942987a6f0f4c71b14d9be69256d5dffa2bfa] # # add_file "www/viewmtn/utility.py" # content [78cd2c53af05e63bb76c097dc832b6f75394e40d] # # add_file "www/viewmtn/version.py" # content [a071b2192e2092ec222ab0d59ef95efd1c9c81e6] # # add_file "www/viewmtn/viewmtn.css" # content [6efcadac0d56fb3d77a22786f477ba621f4af33d] # # add_file "www/viewmtn/viewmtn.js" # content [b36f4e737e9b054f563c320becbc74d7a4c1df48] # # add_file "www/viewmtn/viewmtn.py" # content [574970773ca270f6282d13161905dae81274170b] # # add_file "www/viewmtn/web.py" # content [4c396c690078ecd159e98a016dd3c9de67d63f42] # # add_file "www/viewmtn/wrapper.py" # content [dbbc871353ddfec1b56bf57b743a6b5cd70688c2] # # set "www/viewmtn/builtpython.sh" # attr "mtn:execute" # value "true" # # set "www/viewmtn/grapher/grapher.py" # attr "mtn:execute" # value "true" # # set "www/viewmtn/mimetypes/gnome-fs-directory.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-library.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-magicpoint.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-msword.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-ogg.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-par.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-pdf.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-pgp-encrypted.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-pgp-keys.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-pgp.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-postscript.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-qif.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-rhythmbox-effect.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-rhythmbox-playlist.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-rtf.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-smil.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-vnd.lotus-1-2-3.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-vnd.ms-excel.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-vnd.ms-powerpoint.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-vnd.ms-word.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-vnd.stardivision.calc.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-vnd.stardivision.impress.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-vnd.stardivision.writer.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-vnd.sun.xml.calc.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-vnd.sun.xml.draw.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-vnd.sun.xml.impress.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-vnd.sun.xml.writer.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-vnd.sun.xml.writer.template.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-wordperfect.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-abiword.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-applix-spreadsheet.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-applix-word.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-archive.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-arj.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-bittorrent.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-bla.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-blender.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-blf.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-blv.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-bzip-compressed-tar.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-bzip.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-cd-image.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-class-file.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-compress.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-compressed-tar.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-core.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-cpio-compressed.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-cpio.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-dc-rom.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-deb.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-desktop.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-dia-diagram.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-dv.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-dvi.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-e-theme.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-executable.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-extension-nfo.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-extension-par2.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-font-afm.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-font-bdf.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-font-linux-psf.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-font-pcf.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-font-sunos-news.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-font-ttf.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-gameboy-rom.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-genesis-rom.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-glade.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-gnucash.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-gnumeric.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-gtktalog.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-gzip.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-ipod-firmware.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-jar.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-killustrator.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-kpresenter.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-kspread.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-kword.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-lha.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-lhz.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-mrproject.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-msx-rom.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-n64-rom.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-nes-rom.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-object.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-perl.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-php.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-python-bytecode.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-python.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-qw.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-rar.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-reject.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-rpm.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-ruby.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-sharedlib.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-shellscript.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-shockwave-flash.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-sms-rom.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-sql.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-stuffit.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-tar.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-tex.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-trash.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-x-x509-ca-cert.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application-zip.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-application.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-ac3.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-basic.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-midi.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-x-aiff.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-x-it.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-x-midi.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-x-mod.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-x-mp3.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-x-s3m.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-x-stm.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-x-ulaw.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-x-voc.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-x-wav.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-x-xi.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio-x-xm.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-audio.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-bmp.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-gif.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-jpeg.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-png.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-svg+xml.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-svg.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-tiff.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-wmf.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-x-3ds.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-x-applix-graphic.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-x-cmu-raster.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-x-lwo.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-x-lws.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image-x-xcf.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-image.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-css.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-html.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-authors.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-c++src.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-c-header.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-c.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-chdr.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-copying.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-credits.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-csh.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-csharp.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-csrc.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-haskell.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-install.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-java.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-literate-haskell.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-lyx.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-makefile.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-objcsrc.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-patch.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-readme.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-scheme.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-sql.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-tex.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-troff-man.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-txt.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-vcalendar.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-vcard.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-x-zsh.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text-xml.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-text.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-video-mpeg.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-video-quicktime.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-video-x-ms-asf.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-video-x-ms-wmv.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-video-x-msvideo.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-video.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-x-directory-nfs-server.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-x-directory-smb-server.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-x-directory-smb-share.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-x-directory-smb-workgroup.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-mime-x-font-afm.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/gnome-package.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-database.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-drawing-template.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-drawing.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-formula.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-master-document.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-oasis-database.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-oasis-drawing-template.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-oasis-drawing.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-oasis-formula.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-oasis-master-document.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-oasis-presentation-template.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-oasis-presentation.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-oasis-spreadsheet-template.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-oasis-spreadsheet.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-oasis-text-template.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-oasis-text.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-oasis-web-template.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-presentation-template.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-presentation.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-spreadsheet-template.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-spreadsheet.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-text-template.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/mimetypes/openofficeorg-19-text.png" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/rss_feed.gif" # attr "mtn:manual_merge" # value "true" # # set "www/viewmtn/tests/automate.py" # attr "mtn:execute" # value "true" # # set "www/viewmtn/viewmtn.py" # attr "mtn:execute" # value "true" # # set "www/viewmtn/web.py" # attr "mtn:execute" # value "true" # ============================================================ --- www/viewmtn/.htaccess 696ab9f90e6cae432c3f8628a91c765433f00756 +++ www/viewmtn/.htaccess 696ab9f90e6cae432c3f8628a91c765433f00756 @@ -0,0 +1,7 @@ +AddHandler mod_python .psp +Options FollowSymLinks +PythonHandler wrapper +PythonInterpreter viewmtn +AddHandler mod_python .py +DirectoryIndex index.psp +PythonAutoReload On ============================================================ --- www/viewmtn/AUTHORS efc3dd1070798deb1fc2a2312204cc2f9faf00d4 +++ www/viewmtn/AUTHORS efc3dd1070798deb1fc2a2312204cc2f9faf00d4 @@ -0,0 +1,10 @@ +Authors: +Grahame Bowland
+ +Contributors: +Matt Johnston +Nathaniel Smith +Bruce Stephens +Lapo Luchini +David Reiss + ============================================================ --- www/viewmtn/ChangeLog c16ac2013e466b7eafcdf54b808052056d2f3e89 +++ www/viewmtn/ChangeLog c16ac2013e466b7eafcdf54b808052056d2f3e89 @@ -0,0 +1,42 @@ +2005-11-21 Grahame Bowland + + * release 0.05 + * requires Monotone 0.23 or greater + * new file browser + * branch view showing recent changes, including RSS support + * source highlighting file view + * much heavier use of "monotone automate stdio"; significant + reduction in number of "monotone" processes created to service + requests. + * requires monotone 0.24; 0.23 will work, however you'll find + "monotone automate stdio" process tend to leak due to bugs in + monotone. + +2005-05-21 Grahame Bowland + + * release 0.03 + * fileinbranch.psp&branch=net.angrygoats.interapplet&path=ChangeLog + links to version of file in HEAD + * tarofbranch.psp&branch=net.angrygoats.interapplet + links to tar of HEAD manifest + * now works with monotone 0.19 + * branches and tags pages split + * user interface improved, help added + * ancestry graph direction fixed (thanks to Bruce Stephens) + * ancestry graph much improved (thanks to Emile Snyder) + * ancestry graph colours nodes using an algorithm nicked + from monotone-viz (with tweaks from Matt Johnston) + * abbreviate hashes, clean up linking code. + +2005-04-26 Grahame Bowland + + * release 0.02 + * fixed bug where monotone processes were left running as childs + of Apache. + * changed the ancestry to be a directed graph + * added blue highlight on target revision + +2005-04-25 Grahame Bowland + + * release 0.01 + ============================================================ --- www/viewmtn/LICENSE dfac199a7539a404407098a2541b9482279f690d +++ www/viewmtn/LICENSE dfac199a7539a404407098a2541b9482279f690d @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + ++<%= hq (authors.strip()) %> ++ +
+<% +req.write('''\ +Copyright (C) 2005 Grahame Bowland + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA''') +%> ++ +
+ViewMTN is written in Python and +runs under mod_python. +
+ ++Code highlighting via +GNU Enscript. +
+ ++Graphing via GraphViz. +
+ ++Graph colour generation algorithm from monotone-viz with modifications from Matt Johnston. +
+ ++AJAX funtionality uses the MochiKit Javascript library. +
+ +<% +req.write(template.footer(info)) +%> ============================================================ --- www/viewmtn/authors.py 0ed0661cf3ddf1b402a73dfc1ff0fccc64ad05f1 +++ www/viewmtn/authors.py 0ed0661cf3ddf1b402a73dfc1ff0fccc64ad05f1 @@ -0,0 +1,11 @@ +authors='''Authors: +Grahame Bowland + +Contributors: +Matt Johnston +Nathaniel Smith +Bruce Stephens +Lapo Luchini +David Reiss + +''' ============================================================ --- www/viewmtn/branch.psp 08a0e167ebb6416ca636a59ae0bb4ac020b148af +++ www/viewmtn/branch.psp 08a0e167ebb6416ca636a59ae0bb4ac020b148af @@ -0,0 +1,160 @@ +<% + +import datetime +import config +import urllib +import common +import time +from common import parse_timecert, ago_string + +# +# branch.psp +# display a log of changes on a given branch, with an +# optional offset +# + +psp.set_error_page("error.psp") + +def prettify(s): + return ' '.join(map(lambda x: hq(x[0].upper() + x[1:]), s.replace("_", " ").split(" "))) + +if not form.has_key('branch'): + raise Exception("No branch specified.") + +page = 1 +if form.has_key('page'): + try: page = int(form['page']) + except: pass + +if form.has_key('rss'): + output = 'rss' +else: + output = 'html' + +if page < 1: page = 1 + +display = 25 +offset = page * display + +branch = form['branch'] + +page_title = "Changes to branch %s" % (hq(branch)) +if output == 'html': + info = { + 'title' : page_title, + 'branch_rss' : [branch] + } + req.write(template.header(info)) +elif output == 'rss': + req.write('''\ ++This page lists changes %s through %s to %s. +It may also be useful to view the %s of this branch. +
''' % (-1*(stop or 0), (-1 * start), link('branch', branch), link('headofbranch', branch, 'current head revision'))) + req.write('%s: | %s |
---|---|
%s ago: %s %s | %s | %s |
' + ' | '.join(c) + '
') + +%> + +<% + +if output == 'html': + req.write(template.footer(info)) +elif output == 'rss': + req.write('''\ +'): + in_contents = True + start_code() + elif line.startswith(''): + in_contents = False + stop_code() + elif in_contents: + req.write(line + '\r\n') + if filter == "text": text() + else: enscript() + else: + req.write('''
This file seems to binary and not suitable for display in the browser. You must %s the file and use a suitable viewer.
''' % (link("download", [matching_file_id, path], "download"))) + req.write('''The unified diff %sbetween revisions %s and %s is displayed below.
' % (file_str, + link("revision", id1), + link("revision", id2))) + +if fname != None: + req.write('You might wish to view the %s between these revisions, without the restriction to this particular file.
' % link('diff', [id1, id2], 'diff')) + +req.write('You can also %s this diff verbatim.
' % link("download_diff", [id1, id2, fname], "download")) + +### FIXME FIXME +### this means having _the entire file_ in memory +### which is pointless and dumb. +contents = mt.diff(id1, id2, files) +colourise_code(req, hq, 'a.diff', contents, filter='diffu') + +req.write(template.footer(info)) + +%> ============================================================ --- www/viewmtn/enscriptlangs.py 95c443cac402a883b7f523a46faba66d2c79caaf +++ www/viewmtn/enscriptlangs.py 95c443cac402a883b7f523a46faba66d2c79caaf @@ -0,0 +1,1 @@ +enscript_langs = ['ada', 'asm', 'awk', 'bash', 'changelog', 'cpp', 'csh', 'c', 'delphi', 'diffs', 'diff', 'diffu', 'dylan', 'eiffel', 'elisp', 'erlang', 'forth', 'fortran_pp', 'fortran', 'haskell', 'html', 'icon', 'idl', 'inf', 'javascript', 'java', 'ksh', 'lua', 'm4', 'mail', 'makefile', 'matlab', 'nroff', 'oberon2', 'objc', 'outline', 'oz', 'pascal', 'perl', 'postscript', 'pyrex', 'python', 'rfc', 'scheme', 'sh', 'skill', 'Smalltalk', 'sml', 'sql', 'states', 'synopsys', 'tcl', 'tcsh', 'tex', 'vba', 'verilog', 'vhdl', 'vrml', 'wmlscript', 'zsh', ] ============================================================ --- www/viewmtn/error.psp 312eeeb8ea00ab36b0b5d64eb8fa5b65e75cd418 +++ www/viewmtn/error.psp 312eeeb8ea00ab36b0b5d64eb8fa5b65e75cd418 @@ -0,0 +1,51 @@ + + ++An error has occurred: +
+ ++<%= hq(str(e_value)) %> +
+ ++If necessary, please report this error to the system administrator. You may wish to return +to the index page. +
+ +<% +else: + # show the raw exception +%> ++<% + import traceback + mesg = traceback.format_exception(e_type, e_value, e_traceback) + mesg = map(hq, mesg) + req.write('
' + '') + +%> + + + + ============================================================ --- www/viewmtn/file.psp f19f6fefe38a97ca636705f070f4535534947a48 +++ www/viewmtn/file.psp f19f6fefe38a97ca636705f070f4535534947a48 @@ -0,0 +1,78 @@ +<% + +import mimetypes +import datetime +import monotone +import common +import config +import urllib +import pipes +import time +import os +from enscriptlangs import enscript_langs +from html import get_icon, TableWriter +from utility import run_command +from common import colourise_code, get_branch_links + +# file.psp ; provide information about a file +# if possible, display it (with syntax highlighting, etc.) +# provide a download link + +psp.set_error_page("error.psp") + +if not form.has_key('id'): + raise Exception("No revision ID specified.") + +id = form['id'] +if not monotone.is_valid_id(id): + raise Exception("Specified revision ID is not valid.") + +if not form.has_key('path'): + raise Exception("No path specified.") +path = form['path'] + +certs = mt.certs(id) +branches = common.extract_cert_from_certs(certs, "branch", as_list=True) + +manifest = [(t[3], t[1]) for t in mt.manifest_of(id)['file']] + +matching_file_id = None +for file_id, filename in manifest: + if filename == path: + matching_file_id = file_id + break +if matching_file_id == None: + raise Exception("File not found in this revision.") + +link_components = "" +components = [''] +components += path.split('/') +for idx, component in enumerate(components[:-1]): + link_components += link("manifest", [id, '/'.join(components[:idx+1])], component + '/') +link_components += components[-1] +branch_links = get_branch_links(mt, branches) + +info = { + 'title' : "File '%s' in revision %s of %s" % (link_components, + link("revision", id), + branch_links) + } +req.write(template.header(info)) + +req.write('
'.join(mesg) + '
For more information about the revision containing this file, see its %s page. For other files contained in this revision, see the %s.
' % \ + (link("revision", id, "revision"), + link("manifest", id, "manifest"))) + +req.write('You can also %s the file verbatim. In addition, this %s will always download the latest revision of the file.
' \ + % (link("download", [matching_file_id, path], "download"), + link("fileinbranch", [branches[0], path], "link"))) + +### FIXME FIXME +### this means having _the entire file_ in memory +### which is pointless and dumb. +contents = mt.file(matching_file_id) +colourise_code(req, hq, path, contents) + +req.write(template.footer(info)) + +%> ============================================================ --- www/viewmtn/fileinbranch.psp 4f01b7f1260ca7a9c756047ea0dcfaa5fabc4b0c +++ www/viewmtn/fileinbranch.psp 4f01b7f1260ca7a9c756047ea0dcfaa5fabc4b0c @@ -0,0 +1,69 @@ +<% + +import monotone +import urllib +import urlparse + +psp.set_error_page("error.psp") + +if not form.has_key('branch'): + raise Exception("No branch specified.") +if not form.has_key('path'): + raise Exception("No path specified.") +branch = form['branch'] +path = form['path'] + +# fileinbranch.psp +# +# determine the latest version of the file +# in a branch (and present a choice iff there +# are multiple heads and the files difer in them) + +heads = mt.heads(branch) +if len(heads) == 0: + raise Exception("No head ID can be determined for this branch.") + +# build a hash with a list of all files in each head which +# match PATH and their file ID. +file_version = {} +for id in heads: + file_revisions = filter(lambda x: x[1] == path, mt.manifest_of(id)['file']) + if len(file_revisions) > 1: + raise Exception("More than one file matches path?") + elif len(file_revisions) == 1: + file_version[id] = file_revisions[0][0] +if len(file_version.values()) == 0: + raise Exception("No file such file found in this branch.") + +unique = True +last = None +values = file_version.values() +for file_revision in values: + if last != None and file_revision != last: + unique = False + break + last = file_revision +if unique: + psp.redirect(urlparse.urljoin(req.uri, "getfile.py?id=%s&path=%s" % (urllib.quote(values[0]), urllib.quote(path)))) +else: + info = {'title' : "Latest version of %s in branch %s" % (hq(path), hq(branch))} + req.write(template.header(info)) +%> ++The branch you have selected has multiple head revisions, and the file you are attempting +to access differs between them. The head revisions are listed below, along with +links to download "<%=hq(path)%>" from that revision. +
+ +Head revision | View file |
---|---|
%s | %s |
+The following head IDs are available. Please select one to view. You might find the +<%= link("branch", branch, "recent changes") %> page for this branch helpful. +
+ +Head revision | Revision author |
---|---|
%s | %s |
+ViewMTN is a web interface to the Monotone revision control +system. These web pages provide various methods to access the data +controlled within a particular Monotone database. +
+ ++To make full use of this web interface, it is recommended that you read +the Monotone +manual.
+ ++Feature suggestions, bug reports and patches are welcome. Please go +to the ViewMTN +software page and follow the contact instructions there.
+ +<% +req.write(template.footer(info)) +%> ============================================================ --- www/viewmtn/html.py 8344c7b901ccd05b338a1322b0c0b57998985fcc +++ www/viewmtn/html.py 8344c7b901ccd05b338a1322b0c0b57998985fcc @@ -0,0 +1,99 @@ + +import mimetypes +import urllib +import common +import config +import time +import os +from version import release + +hq = common.html_escape() + +def get_icon(filename, mime_type=None, is_directory=False): + if config.gnome_mimetype_icon_path == None: + return None + if is_directory: + filename = 'gnome-fs-directory.png' + else: + if mime_type == None: + mime_type = mimetypes.guess_type(filename)[0] + if not mime_type: + mime_type = "text" + if mime_type.endswith('hdr'): + mime_type = mime_type[:-3] + 'src' + # some specific fixups + filename = 'gnome-mime-' + mime_type.replace('/', '-') + '.png' + if os.access(os.path.join(config.gnome_mimetype_icon_path, filename), os.R_OK): + return '/'.join([config.gnome_mimetype_uri, filename]) + else: + return None + +class TableWriter: + def __init__(self, req): + self.req = req + self.odd = False + def start(self): + self.req.write('+There are no branches in the provided monotone database. There is +therefore nothing for ViewMTN to display! +
+ +<% +else: + # okay, so display the branches +%> ++There are <%=len(branches)%> branches in this +Monotone database. Each branch +might represent an individual project. If you are new to Monotone, the +Monotone tutorial +may help you understand these pages better. +
+ ++Select a branch from the list below to view recent changes that have occured +within it. The list of tagged revisions could be +helpful if you are looking for a particular revision. +
+ +Branch |
---|
%s |
+This page shows files contained within a particular revision; for more information +about that revision see its page: <%= link("revision", id) %>. +
+ ++All <%=len(manifest)%> files in this manifest can be downloaded together in a <%=link("tar", id, "tar archive")%>. +
+ +<% + +# filter this list of files into two lists; +# subdirectories of 'path' +# files in 'path' +# each will contain entries relative to 'path' +# +# NB: the following code will break (perhaps) if monotone ever supports +# empty subdirectories. +subdirs, files, last_dir = [], [], None +# root dir is depth 0, subdir of that 1, .. +if path == '': + sp = [] +else: + sp = path.split('/') +depth = len(sp) + +for file_id, filename in manifest: + parts = filename.split('/') + + if len(parts) < depth or parts[:depth] != sp[:depth]: + continue + + if len(parts) > depth + 1 and parts[depth] != last_dir: + subdirs.append((parts[depth], '/'.join(parts[:depth+1]))) + last_dir = parts[depth] + elif len(parts) == depth + 1: + files.append((parts[-1], file_id, filename)) + +# hopefully this will eventually be less ugly +# +# we need to find out the revision in which each of the objects in +# 'files' was last touched. so iterate; get the certs for each ancestor +# of the current revision, until we have that information for every +# file in 'files' + +ancestors = mt.toposort(mt.ancestors([id])) +ancestors.append(id) +ancestors.reverse() # so we can iterate back through time.. +file_to_rev = {} + +for name, file_id, file in files: + file_to_rev[file] = None + +found = 0 +for ancestor in ancestors: + rev = mt.revision(ancestor) + if rev.has_key('old_revision') and len(rev['old_revision']) > 1: + # this is a merge, exclude from our search + continue + for type in rev.keys(): + for stanza in rev[type]: + affected = None + if type == "patch" or type == "add_file" or type == "delete_file" or type == "delete_dir": + affected = stanza[1] + elif type == "rename_file" or type == "rename_dir": affected = stanza[3] + if affected != None and file_to_rev.has_key(affected) and file_to_rev[affected] == None: + file_to_rev[affected] = ancestor + found += 1 + if found >= len(files): break + +revinfo = {} +now = datetime.datetime.utcnow() +for filename in file_to_rev.keys(): + rev = file_to_rev[filename] + + if rev == None: + certs = [] + else: + certs = mt.certs(rev) + + ago, author, certdate, quicklog = None, None, None, None + for cert in certs: + name, value = None, None + for k, v in cert: + if k == "name": name = v + elif k == "value": value = v + if name == None or value == None: continue + if name == "date": + certdate = apply(datetime.datetime, time.strptime(value, "%Y-%m-%dT%H:%M:%S")[:6]) + elif name == "changelog": + quicklog = value.strip().split('\n')[0] + if quicklog.startswith('*'): quicklog = quicklog[1:].strip() + elif name == "author": + author = value + if certdate: + ago = now - certdate + if ago.days > 0: + ago = "%d days" % (ago.days) + elif ago.seconds > 3600: + hours = ago.seconds / 3600 + minutes = (ago.seconds - (hours * 3600)) / 60 + ago = "%d hours" % (hours) + else: + minutes = ago.seconds / 60 + seconds = (ago.seconds - (minutes * 60)) + ago = "%d minutes" % (minutes) + revinfo[rev] = (ago, author, quicklog) + +if depth != 0: + subdirs = [('..', '/'.join(sp[:-1]))] + subdirs + +tr = TableWriter(req) +tr.start() +tr.write('Note: no manifest is associated with this revision and hence it contains no files.
+<% +else: + req.write('''You might wish to %s.
''' % (link("manifest", id, "browse this revision's contents"))) + +%> + +%s | %s |
---|
+There are no tags in the provided monotone database. +
+<% +else: + # okay, so display the tags +%> ++A tag marks a particular revision that is in some way significant. A +common use of tags is to mark public release of a piece of software. +To view a particular tag, select it from the list below. +
+ +Tag | Signed by | When |
---|---|---|
%s | %s | %s |
+The branch you have selected has multiple head revisions The head +revisions are listed below, along with links to download a tar file of +each revision. +
+ +Head revision | Tar file |
---|---|
%s | %s |
+Copyright (C) 2005 Grahame Bowland +
+ ++This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +
+ ++This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +
+ ++You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +
+ ++ViewMTN is written in Python and +runs under mod_python. +
+ ++Code highlighting via +GNU Enscript. +
+ ++Graphing via GraphViz. +
+ ++Graph colour generation algorithm from monotone-viz with modifications from Matt Johnston. +
+ ++AJAX funtionality uses the MochiKit Javascript library. +
+ + +#end def ============================================================ --- www/viewmtn/templates/base.html 828ac669dcf846b15ebedc558c7da907079dd685 +++ www/viewmtn/templates/base.html 828ac669dcf846b15ebedc558c7da907079dd685 @@ -0,0 +1,38 @@ + + + + +#block extraheaders +#end block + + + + + + +#block body +#end block + + + + + + +