From b03203c8cb991c16ac8a3d74c8c4078182d0bb48 Mon Sep 17 00:00:00 2001
From: Nishanth Amuluru
Date: Tue, 11 Jan 2011 22:41:51 +0530
Subject: removed all the buildout files
---
bin/buildout | 20 -
bin/django | 22 -
develop-eggs/Django.egg-link | 2 -
downloads/django-1.2.4.tar.gz | Bin 6357270 -> 0 bytes
eggs/MercurialRecipe-0.1.3-py2.6.egg | Bin 3880 -> 0 bytes
eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/PKG-INFO | 443 --
.../EGG-INFO/SOURCES.txt | 25 -
.../EGG-INFO/dependency_links.txt | 1 -
.../EGG-INFO/entry_points.txt | 5 -
.../EGG-INFO/not-zip-safe | 1 -
.../EGG-INFO/requires.txt | 2 -
.../EGG-INFO/top_level.txt | 1 -
.../djangorecipe/__init__.py | 0
.../djangorecipe/__init__.pyo | Bin 182 -> 0 bytes
.../djangorecipe/fcgi.py | 29 -
.../djangorecipe/fcgi.pyo | Bin 1125 -> 0 bytes
.../djangorecipe/manage.py | 16 -
.../djangorecipe/manage.pyo | Bin 842 -> 0 bytes
.../djangorecipe/recipe.py | 466 --
.../djangorecipe/recipe.pyo | Bin 14946 -> 0 bytes
.../djangorecipe/test.py | 16 -
.../djangorecipe/test.pyo | Bin 914 -> 0 bytes
.../djangorecipe/tests.py | 790 --
.../djangorecipe/tests.pyo | Bin 27378 -> 0 bytes
.../djangorecipe/wsgi.py | 45 -
.../djangorecipe/wsgi.pyo | Bin 2337 -> 0 bytes
.../EGG-INFO/PKG-INFO | 259 -
.../EGG-INFO/SOURCES.txt | 21 -
.../EGG-INFO/dependency_links.txt | 1 -
.../EGG-INFO/entry_points.txt | 6 -
.../EGG-INFO/namespace_packages.txt | 1 -
.../EGG-INFO/not-zip-safe | 1 -
.../EGG-INFO/requires.txt | 11 -
.../EGG-INFO/top_level.txt | 1 -
.../infrae/__init__.py | 4 -
.../infrae/__init__.pyo | Bin 269 -> 0 bytes
.../infrae/subversion/Common.py | 244 -
.../infrae/subversion/Common.pyo | Bin 10420 -> 0 bytes
.../infrae/subversion/Native.py | 140 -
.../infrae/subversion/Native.pyo | Bin 6354 -> 0 bytes
.../infrae/subversion/Py.py | 87 -
.../infrae/subversion/Py.pyo | Bin 3549 -> 0 bytes
.../infrae/subversion/__init__.py | 22 -
.../infrae/subversion/__init__.pyo | Bin 480 -> 0 bytes
.../infrae/subversion/tests/__init__.py | 0
.../infrae/subversion/tests/__init__.pyo | Bin 199 -> 0 bytes
.../infrae/subversion/tests/test_impl.py | 75 -
.../infrae/subversion/tests/test_impl.pyo | Bin 3349 -> 0 bytes
.../EGG-INFO/PKG-INFO | 10 -
.../EGG-INFO/SOURCES.txt | 146 -
.../EGG-INFO/dependency_links.txt | 1 -
.../EGG-INFO/native_libs.txt | 6 -
.../EGG-INFO/not-zip-safe | 1 -
.../EGG-INFO/scripts/hg | 38 -
.../EGG-INFO/top_level.txt | 2 -
.../hgext/__init__.py | 1 -
.../hgext/__init__.pyo | Bin 186 -> 0 bytes
.../hgext/acl.py | 250 -
.../hgext/acl.pyo | Bin 8875 -> 0 bytes
.../hgext/bookmarks.py | 579 --
.../hgext/bookmarks.pyo | Bin 21456 -> 0 bytes
.../hgext/bugzilla.py | 441 --
.../hgext/bugzilla.pyo | Bin 18525 -> 0 bytes
.../hgext/children.py | 45 -
.../hgext/children.pyo | Bin 1514 -> 0 bytes
.../hgext/churn.py | 198 -
.../hgext/churn.pyo | Bin 9040 -> 0 bytes
.../hgext/color.py | 319 -
.../hgext/color.pyo | Bin 11558 -> 0 bytes
.../hgext/convert/__init__.py | 321 -
.../hgext/convert/__init__.pyo | Bin 14008 -> 0 bytes
.../hgext/convert/bzr.py | 260 -
.../hgext/convert/bzr.pyo | Bin 9581 -> 0 bytes
.../hgext/convert/common.py | 389 -
.../hgext/convert/common.pyo | Bin 20100 -> 0 bytes
.../hgext/convert/convcmd.py | 434 --
.../hgext/convert/convcmd.pyo | Bin 16933 -> 0 bytes
.../hgext/convert/cvs.py | 271 -
.../hgext/convert/cvs.pyo | Bin 9466 -> 0 bytes
.../hgext/convert/cvsps.py | 847 --
.../hgext/convert/cvsps.pyo | Bin 21195 -> 0 bytes
.../hgext/convert/darcs.py | 200 -
.../hgext/convert/darcs.pyo | Bin 8694 -> 0 bytes
.../hgext/convert/filemap.py | 365 -
.../hgext/convert/filemap.pyo | Bin 11449 -> 0 bytes
.../hgext/convert/git.py | 170 -
.../hgext/convert/git.pyo | Bin 7015 -> 0 bytes
.../hgext/convert/gnuarch.py | 338 -
.../hgext/convert/gnuarch.pyo | Bin 12415 -> 0 bytes
.../hgext/convert/hg.py | 376 -
.../hgext/convert/hg.pyo | Bin 16042 -> 0 bytes
.../hgext/convert/monotone.py | 227 -
.../hgext/convert/monotone.pyo | Bin 7808 -> 0 bytes
.../hgext/convert/p4.py | 202 -
.../hgext/convert/p4.pyo | Bin 7333 -> 0 bytes
.../hgext/convert/subversion.py | 1168 ---
.../hgext/convert/subversion.pyo | Bin 39371 -> 0 bytes
.../hgext/convert/transport.py | 128 -
.../hgext/convert/transport.pyo | Bin 5744 -> 0 bytes
.../hgext/eol.py | 272 -
.../hgext/eol.pyo | Bin 10766 -> 0 bytes
.../hgext/extdiff.py | 325 -
.../hgext/extdiff.pyo | Bin 10985 -> 0 bytes
.../hgext/fetch.py | 152 -
.../hgext/fetch.pyo | Bin 5046 -> 0 bytes
.../hgext/gpg.py | 288 -
.../hgext/gpg.pyo | Bin 10444 -> 0 bytes
.../hgext/graphlog.py | 337 -
.../hgext/graphlog.pyo | Bin 12442 -> 0 bytes
.../hgext/hgcia.py | 251 -
.../hgext/hgcia.pyo | Bin 10391 -> 0 bytes
.../hgext/hgk.py | 348 -
.../hgext/hgk.pyo | Bin 11815 -> 0 bytes
.../hgext/highlight/__init__.py | 61 -
.../hgext/highlight/__init__.pyo | Bin 2545 -> 0 bytes
.../hgext/highlight/highlight.py | 61 -
.../hgext/highlight/highlight.pyo | Bin 2358 -> 0 bytes
.../hgext/interhg.py | 81 -
.../hgext/interhg.pyo | Bin 2746 -> 0 bytes
.../hgext/keyword.py | 649 --
.../hgext/keyword.pyo | Bin 29160 -> 0 bytes
.../hgext/mq.py | 3211 --------
.../hgext/mq.pyo | Bin 112419 -> 0 bytes
.../hgext/notify.py | 316 -
.../hgext/notify.pyo | Bin 11753 -> 0 bytes
.../hgext/pager.py | 113 -
.../hgext/pager.pyo | Bin 4114 -> 0 bytes
.../hgext/parentrevspec.py | 96 -
.../hgext/parentrevspec.pyo | Bin 2626 -> 0 bytes
.../hgext/patchbomb.py | 553 --
.../hgext/patchbomb.pyo | Bin 20701 -> 0 bytes
.../hgext/progress.py | 206 -
.../hgext/progress.pyo | Bin 8302 -> 0 bytes
.../hgext/purge.py | 111 -
.../hgext/purge.pyo | Bin 3694 -> 0 bytes
.../hgext/rebase.py | 577 --
.../hgext/rebase.pyo | Bin 20920 -> 0 bytes
.../hgext/record.py | 569 --
.../hgext/record.pyo | Bin 22073 -> 0 bytes
.../hgext/relink.py | 180 -
.../hgext/relink.pyo | Bin 6226 -> 0 bytes
.../hgext/schemes.py | 84 -
.../hgext/schemes.pyo | Bin 3984 -> 0 bytes
.../hgext/share.py | 38 -
.../hgext/share.pyo | Bin 1595 -> 0 bytes
.../hgext/transplant.py | 630 --
.../hgext/transplant.pyo | Bin 23926 -> 0 bytes
.../hgext/win32mbcs.py | 159 -
.../hgext/win32mbcs.pyo | Bin 5770 -> 0 bytes
.../hgext/win32text.py | 170 -
.../hgext/win32text.pyo | Bin 7010 -> 0 bytes
.../hgext/zeroconf/Zeroconf.py | 1582 ----
.../hgext/zeroconf/Zeroconf.pyo | Bin 66077 -> 0 bytes
.../hgext/zeroconf/__init__.py | 173 -
.../hgext/zeroconf/__init__.pyo | Bin 7506 -> 0 bytes
.../mercurial/__init__.py | 0
.../mercurial/__init__.pyo | Bin 190 -> 0 bytes
.../mercurial/__version__.py | 2 -
.../mercurial/__version__.pyo | Bin 221 -> 0 bytes
.../mercurial/ancestor.py | 88 -
.../mercurial/ancestor.pyo | Bin 2405 -> 0 bytes
.../mercurial/archival.py | 274 -
.../mercurial/archival.pyo | Bin 13614 -> 0 bytes
.../mercurial/base85.py | 7 -
.../mercurial/base85.pyo | Bin 650 -> 0 bytes
.../mercurial/base85.so | Bin 24487 -> 0 bytes
.../mercurial/bdiff.py | 7 -
.../mercurial/bdiff.pyo | Bin 647 -> 0 bytes
.../mercurial/bdiff.so | Bin 32073 -> 0 bytes
.../mercurial/bundlerepo.py | 324 -
.../mercurial/bundlerepo.pyo | Bin 13535 -> 0 bytes
.../mercurial/byterange.py | 466 --
.../mercurial/byterange.pyo | Bin 16669 -> 0 bytes
.../mercurial/changegroup.py | 204 -
.../mercurial/changegroup.pyo | Bin 10311 -> 0 bytes
.../mercurial/changelog.py | 233 -
.../mercurial/changelog.pyo | Bin 10631 -> 0 bytes
.../mercurial/cmdutil.py | 1374 ----
.../mercurial/cmdutil.pyo | Bin 52264 -> 0 bytes
.../mercurial/commands.py | 4530 -----------
.../mercurial/commands.pyo | Bin 163183 -> 0 bytes
.../mercurial/config.py | 142 -
.../mercurial/config.pyo | Bin 7763 -> 0 bytes
.../mercurial/context.py | 1098 ---
.../mercurial/context.pyo | Bin 60280 -> 0 bytes
.../mercurial/copies.py | 267 -
.../mercurial/copies.pyo | Bin 6643 -> 0 bytes
.../mercurial/dagparser.py | 474 --
.../mercurial/dagparser.pyo | Bin 13875 -> 0 bytes
.../mercurial/demandimport.py | 146 -
.../mercurial/demandimport.pyo | Bin 5581 -> 0 bytes
.../mercurial/diffhelpers.py | 7 -
.../mercurial/diffhelpers.pyo | Bin 665 -> 0 bytes
.../mercurial/diffhelpers.so | Bin 25257 -> 0 bytes
.../mercurial/dirstate.py | 681 --
.../mercurial/dirstate.pyo | Bin 25942 -> 0 bytes
.../mercurial/discovery.py | 308 -
.../mercurial/discovery.pyo | Bin 8887 -> 0 bytes
.../mercurial/dispatch.py | 641 --
.../mercurial/dispatch.pyo | Bin 23354 -> 0 bytes
.../mercurial/encoding.py | 103 -
.../mercurial/encoding.pyo | Bin 4721 -> 0 bytes
.../mercurial/error.py | 81 -
.../mercurial/error.pyo | Bin 6402 -> 0 bytes
.../mercurial/extensions.py | 302 -
.../mercurial/extensions.pyo | Bin 10788 -> 0 bytes
.../mercurial/fancyopts.py | 117 -
.../mercurial/fancyopts.pyo | Bin 2989 -> 0 bytes
.../mercurial/filelog.py | 79 -
.../mercurial/filelog.pyo | Bin 3401 -> 0 bytes
.../mercurial/filemerge.py | 267 -
.../mercurial/filemerge.pyo | Bin 10005 -> 0 bytes
.../mercurial/graphmod.py | 122 -
.../mercurial/graphmod.pyo | Bin 4291 -> 0 bytes
.../mercurial/hbisect.py | 155 -
.../mercurial/hbisect.pyo | Bin 4507 -> 0 bytes
.../mercurial/help.py | 117 -
.../mercurial/help.pyo | Bin 4447 -> 0 bytes
.../mercurial/help/config.txt | 51 -
.../mercurial/help/dates.txt | 36 -
.../mercurial/help/diffs.txt | 29 -
.../mercurial/help/environment.txt | 93 -
.../mercurial/help/extensions.txt | 33 -
.../mercurial/help/glossary.txt | 368 -
.../mercurial/help/hgweb.txt | 46 -
.../mercurial/help/merge-tools.txt | 110 -
.../mercurial/help/multirevs.txt | 13 -
.../mercurial/help/patterns.txt | 41 -
.../mercurial/help/revisions.txt | 29 -
.../mercurial/help/revsets.txt | 87 -
.../mercurial/help/subrepos.txt | 127 -
.../mercurial/help/templates.txt | 160 -
.../mercurial/help/urls.txt | 66 -
.../mercurial/hg.py | 556 --
.../mercurial/hg.pyo | Bin 20282 -> 0 bytes
.../mercurial/hgweb/__init__.py | 31 -
.../mercurial/hgweb/__init__.pyo | Bin 1270 -> 0 bytes
.../mercurial/hgweb/common.py | 161 -
.../mercurial/hgweb/common.pyo | Bin 6498 -> 0 bytes
.../mercurial/hgweb/hgweb_mod.py | 290 -
.../mercurial/hgweb/hgweb_mod.pyo | Bin 10447 -> 0 bytes
.../mercurial/hgweb/hgwebdir_mod.py | 359 -
.../mercurial/hgweb/hgwebdir_mod.pyo | Bin 14489 -> 0 bytes
.../mercurial/hgweb/protocol.py | 75 -
.../mercurial/hgweb/protocol.pyo | Bin 4062 -> 0 bytes
.../mercurial/hgweb/request.py | 147 -
.../mercurial/hgweb/request.pyo | Bin 7397 -> 0 bytes
.../mercurial/hgweb/server.py | 309 -
.../mercurial/hgweb/server.pyo | Bin 15769 -> 0 bytes
.../mercurial/hgweb/webcommands.py | 783 --
.../mercurial/hgweb/webcommands.pyo | Bin 30612 -> 0 bytes
.../mercurial/hgweb/webutil.py | 226 -
.../mercurial/hgweb/webutil.pyo | Bin 11377 -> 0 bytes
.../mercurial/hgweb/wsgicgi.py | 77 -
.../mercurial/hgweb/wsgicgi.pyo | Bin 2518 -> 0 bytes
.../mercurial/hook.py | 153 -
.../mercurial/hook.pyo | Bin 5290 -> 0 bytes
.../mercurial/httprepo.py | 203 -
.../mercurial/httprepo.pyo | Bin 8863 -> 0 bytes
.../mercurial/i18n.py | 58 -
.../mercurial/i18n.pyo | Bin 1715 -> 0 bytes
.../mercurial/ignore.py | 103 -
.../mercurial/ignore.pyo | Bin 3186 -> 0 bytes
.../mercurial/keepalive.py | 765 --
.../mercurial/keepalive.pyo | Bin 24739 -> 0 bytes
.../mercurial/localrepo.py | 1906 -----
.../mercurial/localrepo.pyo | Bin 66596 -> 0 bytes
.../mercurial/lock.py | 137 -
.../mercurial/lock.pyo | Bin 4721 -> 0 bytes
.../mercurial/lsprof.py | 111 -
.../mercurial/lsprof.pyo | Bin 5121 -> 0 bytes
.../mercurial/lsprofcalltree.py | 86 -
.../mercurial/lsprofcalltree.pyo | Bin 3459 -> 0 bytes
.../mercurial/mail.py | 226 -
.../mercurial/mail.pyo | Bin 10244 -> 0 bytes
.../mercurial/manifest.py | 196 -
.../mercurial/manifest.pyo | Bin 8415 -> 0 bytes
.../mercurial/match.py | 296 -
.../mercurial/match.pyo | Bin 13921 -> 0 bytes
.../mercurial/mdiff.py | 277 -
.../mercurial/mdiff.pyo | Bin 9774 -> 0 bytes
.../mercurial/merge.py | 544 --
.../mercurial/merge.pyo | Bin 19153 -> 0 bytes
.../mercurial/minirst.py | 450 --
.../mercurial/minirst.pyo | Bin 14228 -> 0 bytes
.../mercurial/mpatch.py | 7 -
.../mercurial/mpatch.pyo | Bin 650 -> 0 bytes
.../mercurial/mpatch.so | Bin 31349 -> 0 bytes
.../mercurial/node.py | 18 -
.../mercurial/node.pyo | Bin 577 -> 0 bytes
.../mercurial/osutil.py | 7 -
.../mercurial/osutil.pyo | Bin 650 -> 0 bytes
.../mercurial/osutil.so | Bin 29995 -> 0 bytes
.../mercurial/parser.py | 91 -
.../mercurial/parser.pyo | Bin 3726 -> 0 bytes
.../mercurial/parsers.py | 7 -
.../mercurial/parsers.pyo | Bin 653 -> 0 bytes
.../mercurial/parsers.so | Bin 37408 -> 0 bytes
.../mercurial/patch.py | 1630 ----
.../mercurial/patch.pyo | Bin 54653 -> 0 bytes
.../mercurial/posix.py | 297 -
.../mercurial/posix.pyo | Bin 13660 -> 0 bytes
.../mercurial/pushkey.py | 31 -
.../mercurial/pushkey.pyo | Bin 2141 -> 0 bytes
.../mercurial/py3kcompat.py | 72 -
.../mercurial/py3kcompat.pyo | Bin 2101 -> 0 bytes
.../mercurial/repair.py | 167 -
.../mercurial/repair.pyo | Bin 4821 -> 0 bytes
.../mercurial/repo.py | 37 -
.../mercurial/repo.pyo | Bin 1938 -> 0 bytes
.../mercurial/revlog.py | 1477 ----
.../mercurial/revlog.pyo | Bin 49776 -> 0 bytes
.../mercurial/revset.py | 797 --
.../mercurial/revset.pyo | Bin 32125 -> 0 bytes
.../mercurial/similar.py | 103 -
.../mercurial/similar.pyo | Bin 3753 -> 0 bytes
.../mercurial/simplemerge.py | 450 --
.../mercurial/simplemerge.pyo | Bin 12893 -> 0 bytes
.../mercurial/sshrepo.py | 197 -
.../mercurial/sshrepo.pyo | Bin 8489 -> 0 bytes
.../mercurial/sshserver.py | 144 -
.../mercurial/sshserver.pyo | Bin 6486 -> 0 bytes
.../mercurial/statichttprepo.py | 146 -
.../mercurial/statichttprepo.pyo | Bin 6760 -> 0 bytes
.../mercurial/store.py | 339 -
.../mercurial/store.pyo | Bin 17343 -> 0 bytes
.../mercurial/strutil.py | 34 -
.../mercurial/strutil.pyo | Bin 1143 -> 0 bytes
.../mercurial/subrepo.py | 610 --
.../mercurial/subrepo.pyo | Bin 27960 -> 0 bytes
.../mercurial/tags.py | 288 -
.../mercurial/tags.pyo | Bin 6923 -> 0 bytes
.../mercurial/templatefilters.py | 228 -
.../mercurial/templatefilters.pyo | Bin 13562 -> 0 bytes
.../mercurial/templatekw.py | 271 -
.../mercurial/templatekw.pyo | Bin 11894 -> 0 bytes
.../mercurial/templater.py | 289 -
.../mercurial/templater.pyo | Bin 10857 -> 0 bytes
.../mercurial/templates/atom/changelog.tmpl | 10 -
.../mercurial/templates/atom/changelogentry.tmpl | 16 -
.../mercurial/templates/atom/error.tmpl | 17 -
.../mercurial/templates/atom/filelog.tmpl | 8 -
.../mercurial/templates/atom/header.tmpl | 2 -
.../mercurial/templates/atom/map | 11 -
.../mercurial/templates/atom/tagentry.tmpl | 8 -
.../mercurial/templates/atom/tags.tmpl | 11 -
.../mercurial/templates/coal/header.tmpl | 6 -
.../mercurial/templates/coal/map | 201 -
.../mercurial/templates/gitweb/branches.tmpl | 31 -
.../mercurial/templates/gitweb/changelog.tmpl | 40 -
.../mercurial/templates/gitweb/changelogentry.tmpl | 14 -
.../mercurial/templates/gitweb/changeset.tmpl | 52 -
.../mercurial/templates/gitweb/error.tmpl | 25 -
.../mercurial/templates/gitweb/fileannotate.tmpl | 64 -
.../mercurial/templates/gitweb/filediff.tmpl | 49 -
.../mercurial/templates/gitweb/filelog.tmpl | 41 -
.../mercurial/templates/gitweb/filerevision.tmpl | 63 -
.../mercurial/templates/gitweb/footer.tmpl | 11 -
.../mercurial/templates/gitweb/graph.tmpl | 122 -
.../mercurial/templates/gitweb/header.tmpl | 8 -
.../mercurial/templates/gitweb/help.tmpl | 31 -
.../mercurial/templates/gitweb/helptopics.tmpl | 38 -
.../mercurial/templates/gitweb/index.tmpl | 26 -
.../mercurial/templates/gitweb/manifest.tmpl | 40 -
.../mercurial/templates/gitweb/map | 260 -
.../mercurial/templates/gitweb/notfound.tmpl | 18 -
.../mercurial/templates/gitweb/search.tmpl | 38 -
.../mercurial/templates/gitweb/shortlog.tmpl | 41 -
.../mercurial/templates/gitweb/summary.tmpl | 59 -
.../mercurial/templates/gitweb/tags.tmpl | 31 -
.../mercurial/templates/map-cmdline.changelog | 17 -
.../mercurial/templates/map-cmdline.compact | 9 -
.../mercurial/templates/map-cmdline.default | 24 -
.../mercurial/templates/map-cmdline.xml | 19 -
.../mercurial/templates/monoblue/branches.tmpl | 37 -
.../mercurial/templates/monoblue/changelog.tmpl | 41 -
.../templates/monoblue/changelogentry.tmpl | 6 -
.../mercurial/templates/monoblue/changeset.tmpl | 64 -
.../mercurial/templates/monoblue/error.tmpl | 35 -
.../mercurial/templates/monoblue/fileannotate.tmpl | 64 -
.../mercurial/templates/monoblue/filediff.tmpl | 55 -
.../mercurial/templates/monoblue/filelog.tmpl | 50 -
.../mercurial/templates/monoblue/filerevision.tmpl | 64 -
.../mercurial/templates/monoblue/footer.tmpl | 22 -
.../mercurial/templates/monoblue/graph.tmpl | 119 -
.../mercurial/templates/monoblue/header.tmpl | 6 -
.../mercurial/templates/monoblue/help.tmpl | 37 -
.../mercurial/templates/monoblue/helptopics.tmpl | 44 -
.../mercurial/templates/monoblue/index.tmpl | 39 -
.../mercurial/templates/monoblue/manifest.tmpl | 52 -
.../mercurial/templates/monoblue/map | 226 -
.../mercurial/templates/monoblue/notfound.tmpl | 36 -
.../mercurial/templates/monoblue/search.tmpl | 35 -
.../mercurial/templates/monoblue/shortlog.tmpl | 43 -
.../mercurial/templates/monoblue/summary.tmpl | 67 -
.../mercurial/templates/monoblue/tags.tmpl | 37 -
.../mercurial/templates/paper/branches.tmpl | 48 -
.../mercurial/templates/paper/changeset.tmpl | 74 -
.../mercurial/templates/paper/error.tmpl | 44 -
.../mercurial/templates/paper/fileannotate.tmpl | 81 -
.../mercurial/templates/paper/filediff.tmpl | 76 -
.../mercurial/templates/paper/filelog.tmpl | 72 -
.../mercurial/templates/paper/filelogentry.tmpl | 5 -
.../mercurial/templates/paper/filerevision.tmpl | 76 -
.../mercurial/templates/paper/footer.tmpl | 4 -
.../mercurial/templates/paper/graph.tmpl | 135 -
.../mercurial/templates/paper/header.tmpl | 6 -
.../mercurial/templates/paper/help.tmpl | 43 -
.../mercurial/templates/paper/helptopics.tmpl | 48 -
.../mercurial/templates/paper/index.tmpl | 26 -
.../mercurial/templates/paper/manifest.tmpl | 57 -
.../mercurial/templates/paper/map | 200 -
.../mercurial/templates/paper/notfound.tmpl | 12 -
.../mercurial/templates/paper/search.tmpl | 54 -
.../mercurial/templates/paper/shortlog.tmpl | 69 -
.../mercurial/templates/paper/shortlogentry.tmpl | 5 -
.../mercurial/templates/paper/tags.tmpl | 48 -
.../mercurial/templates/raw/changeset.tmpl | 9 -
.../mercurial/templates/raw/error.tmpl | 2 -
.../mercurial/templates/raw/fileannotate.tmpl | 5 -
.../mercurial/templates/raw/filediff.tmpl | 5 -
.../mercurial/templates/raw/index.tmpl | 2 -
.../mercurial/templates/raw/manifest.tmpl | 3 -
.../mercurial/templates/raw/map | 28 -
.../mercurial/templates/raw/notfound.tmpl | 2 -
.../mercurial/templates/rss/changelog.tmpl | 6 -
.../mercurial/templates/rss/changelogentry.tmpl | 7 -
.../mercurial/templates/rss/error.tmpl | 10 -
.../mercurial/templates/rss/filelog.tmpl | 6 -
.../mercurial/templates/rss/filelogentry.tmpl | 7 -
.../mercurial/templates/rss/header.tmpl | 5 -
.../mercurial/templates/rss/map | 10 -
.../mercurial/templates/rss/tagentry.tmpl | 6 -
.../mercurial/templates/rss/tags.tmpl | 6 -
.../mercurial/templates/spartan/branches.tmpl | 27 -
.../mercurial/templates/spartan/changelog.tmpl | 44 -
.../templates/spartan/changelogentry.tmpl | 25 -
.../mercurial/templates/spartan/changeset.tmpl | 52 -
.../mercurial/templates/spartan/error.tmpl | 15 -
.../mercurial/templates/spartan/fileannotate.tmpl | 49 -
.../mercurial/templates/spartan/filediff.tmpl | 37 -
.../mercurial/templates/spartan/filelog.tmpl | 29 -
.../mercurial/templates/spartan/filelogentry.tmpl | 25 -
.../mercurial/templates/spartan/filerevision.tmpl | 47 -
.../mercurial/templates/spartan/footer.tmpl | 8 -
.../mercurial/templates/spartan/graph.tmpl | 97 -
.../mercurial/templates/spartan/header.tmpl | 6 -
.../mercurial/templates/spartan/index.tmpl | 19 -
.../mercurial/templates/spartan/manifest.tmpl | 29 -
.../mercurial/templates/spartan/map | 183 -
.../mercurial/templates/spartan/notfound.tmpl | 12 -
.../mercurial/templates/spartan/search.tmpl | 37 -
.../mercurial/templates/spartan/shortlog.tmpl | 44 -
.../mercurial/templates/spartan/shortlogentry.tmpl | 7 -
.../mercurial/templates/spartan/tags.tmpl | 27 -
.../mercurial/templates/static/background.png | Bin 603 -> 0 bytes
.../mercurial/templates/static/coal-file.png | Bin 273 -> 0 bytes
.../mercurial/templates/static/coal-folder.png | Bin 284 -> 0 bytes
.../mercurial/templates/static/excanvas.js | 19 -
.../mercurial/templates/static/graph.js | 137 -
.../mercurial/templates/static/hgicon.png | Bin 792 -> 0 bytes
.../mercurial/templates/static/hglogo.png | Bin 4123 -> 0 bytes
.../mercurial/templates/static/style-coal.css | 265 -
.../mercurial/templates/static/style-gitweb.css | 124 -
.../mercurial/templates/static/style-monoblue.css | 475 --
.../mercurial/templates/static/style-paper.css | 254 -
.../mercurial/templates/static/style.css | 105 -
.../mercurial/templates/template-vars.txt | 41 -
.../mercurial/transaction.py | 176 -
.../mercurial/transaction.pyo | Bin 7272 -> 0 bytes
.../mercurial/ui.py | 626 --
.../mercurial/ui.pyo | Bin 25999 -> 0 bytes
.../mercurial/url.py | 701 --
.../mercurial/url.pyo | Bin 26899 -> 0 bytes
.../mercurial/util.py | 1538 ----
.../mercurial/util.pyo | Bin 59018 -> 0 bytes
.../mercurial/verify.py | 301 -
.../mercurial/verify.pyo | Bin 9810 -> 0 bytes
.../mercurial/win32.py | 180 -
.../mercurial/win32.pyo | Bin 8551 -> 0 bytes
.../mercurial/windows.py | 375 -
.../mercurial/windows.pyo | Bin 15878 -> 0 bytes
.../mercurial/wireproto.py | 338 -
.../mercurial/wireproto.pyo | Bin 16623 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/EGG-INFO/PKG-INFO | 45 -
eggs/py-1.4.0-py2.6.egg/EGG-INFO/SOURCES.txt | 116 -
.../EGG-INFO/dependency_links.txt | 1 -
eggs/py-1.4.0-py2.6.egg/EGG-INFO/not-zip-safe | 1 -
eggs/py-1.4.0-py2.6.egg/EGG-INFO/top_level.txt | 1 -
eggs/py-1.4.0-py2.6.egg/py/__init__.py | 143 -
eggs/py-1.4.0-py2.6.egg/py/__init__.pyo | Bin 4763 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/__metainfo.py | 2 -
eggs/py-1.4.0-py2.6.egg/py/__metainfo.pyo | Bin 272 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_apipkg.py | 161 -
eggs/py-1.4.0-py2.6.egg/py/_apipkg.pyo | Bin 6645 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_builtin.py | 234 -
eggs/py-1.4.0-py2.6.egg/py/_builtin.pyo | Bin 9688 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_code/__init__.py | 1 -
eggs/py-1.4.0-py2.6.egg/py/_code/__init__.pyo | Bin 231 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_code/_assertionnew.py | 345 -
eggs/py-1.4.0-py2.6.egg/py/_code/_assertionnew.pyo | Bin 14716 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_code/_assertionold.py | 555 --
eggs/py-1.4.0-py2.6.egg/py/_code/_assertionold.pyo | Bin 22340 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_code/assertion.py | 94 -
eggs/py-1.4.0-py2.6.egg/py/_code/assertion.pyo | Bin 3236 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_code/code.py | 722 --
eggs/py-1.4.0-py2.6.egg/py/_code/code.pyo | Bin 32358 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_code/source.py | 346 -
eggs/py-1.4.0-py2.6.egg/py/_code/source.pyo | Bin 12620 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_error.py | 83 -
eggs/py-1.4.0-py2.6.egg/py/_error.pyo | Bin 3324 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_iniconfig.py | 149 -
eggs/py-1.4.0-py2.6.egg/py/_iniconfig.pyo | Bin 6970 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_io/__init__.py | 1 -
eggs/py-1.4.0-py2.6.egg/py/_io/__init__.pyo | Bin 212 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_io/capture.py | 355 -
eggs/py-1.4.0-py2.6.egg/py/_io/capture.pyo | Bin 15430 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_io/saferepr.py | 54 -
eggs/py-1.4.0-py2.6.egg/py/_io/saferepr.pyo | Bin 2656 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_io/terminalwriter.py | 285 -
eggs/py-1.4.0-py2.6.egg/py/_io/terminalwriter.pyo | Bin 11264 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_log/__init__.py | 2 -
eggs/py-1.4.0-py2.6.egg/py/_log/__init__.pyo | Bin 257 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_log/log.py | 186 -
eggs/py-1.4.0-py2.6.egg/py/_log/log.pyo | Bin 10230 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_log/warning.py | 76 -
eggs/py-1.4.0-py2.6.egg/py/_log/warning.pyo | Bin 3103 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_path/__init__.py | 1 -
eggs/py-1.4.0-py2.6.egg/py/_path/__init__.pyo | Bin 217 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_path/cacheutil.py | 114 -
eggs/py-1.4.0-py2.6.egg/py/_path/cacheutil.pyo | Bin 6178 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_path/common.py | 373 -
eggs/py-1.4.0-py2.6.egg/py/_path/common.pyo | Bin 17110 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_path/local.py | 777 --
eggs/py-1.4.0-py2.6.egg/py/_path/local.pyo | Bin 31049 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_path/svnurl.py | 378 -
eggs/py-1.4.0-py2.6.egg/py/_path/svnurl.pyo | Bin 16946 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_path/svnwc.py | 1231 ---
eggs/py-1.4.0-py2.6.egg/py/_path/svnwc.pyo | Bin 47427 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_process/__init__.py | 1 -
eggs/py-1.4.0-py2.6.egg/py/_process/__init__.pyo | Bin 228 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_process/cmdexec.py | 53 -
eggs/py-1.4.0-py2.6.egg/py/_process/cmdexec.pyo | Bin 2480 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_process/forkedfunc.py | 108 -
eggs/py-1.4.0-py2.6.egg/py/_process/forkedfunc.pyo | Bin 4063 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_process/killproc.py | 23 -
eggs/py-1.4.0-py2.6.egg/py/_process/killproc.pyo | Bin 1496 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_std.py | 18 -
eggs/py-1.4.0-py2.6.egg/py/_std.pyo | Bin 1109 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/_xmlgen.py | 244 -
eggs/py-1.4.0-py2.6.egg/py/_xmlgen.pyo | Bin 12878 -> 0 bytes
eggs/py-1.4.0-py2.6.egg/py/test.py | 10 -
eggs/py-1.4.0-py2.6.egg/py/test.pyo | Bin 358 -> 0 bytes
eggs/setuptools-0.6c12dev_r85381-py2.6.egg | Bin 333775 -> 0 bytes
eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/PKG-INFO | 8235 --------------------
.../EGG-INFO/SOURCES.txt | 76 -
.../EGG-INFO/dependency_links.txt | 1 -
.../EGG-INFO/entry_points.txt | 7 -
.../EGG-INFO/namespace_packages.txt | 1 -
.../EGG-INFO/not-zip-safe | 1 -
.../EGG-INFO/requires.txt | 4 -
.../EGG-INFO/top_level.txt | 1 -
eggs/zc.buildout-1.5.2-py2.6.egg/README.txt | 202 -
eggs/zc.buildout-1.5.2-py2.6.egg/zc/__init__.py | 5 -
eggs/zc.buildout-1.5.2-py2.6.egg/zc/__init__.pyo | Bin 279 -> 0 bytes
.../zc/buildout/__init__.py | 24 -
.../zc/buildout/allowhosts.txt | 128 -
.../zc/buildout/bootstrap.txt | 360 -
.../zc/buildout/buildout.py | 1835 -----
.../zc/buildout/buildout.txt | 2831 -------
.../zc/buildout/debugging.txt | 97 -
.../zc/buildout/dependencylinks.txt | 199 -
.../zc/buildout/distribute.txt | 23 -
.../zc/buildout/download.py | 251 -
.../zc/buildout/download.txt | 550 --
.../zc/buildout/downloadcache.txt | 141 -
.../zc/buildout/easy_install.py | 1906 -----
.../zc/buildout/easy_install.txt | 1985 -----
.../zc/buildout/extends-cache.txt | 399 -
.../zc/buildout/repeatable.txt | 180 -
.../zc/buildout/rmtree.py | 66 -
.../zc/buildout/runsetup.txt | 42 -
.../zc/buildout/setup.txt | 51 -
.../zc/buildout/testing.py | 616 --
.../zc/buildout/testing.txt | 181 -
.../zc/buildout/testing_bugfix.txt | 39 -
.../zc/buildout/testrecipes.py | 16 -
.../zc/buildout/tests.py | 4190 ----------
.../zc/buildout/testselectingpython.py | 96 -
.../zc/buildout/unzip.txt | 54 -
.../zc/buildout/update.txt | 263 -
.../zc/buildout/upgrading_distribute.txt | 56 -
.../zc/buildout/virtualenv.txt | 257 -
.../zc/buildout/windows.txt | 66 -
.../EGG-INFO/PKG-INFO | 1708 ----
.../EGG-INFO/SOURCES.txt | 22 -
.../EGG-INFO/dependency_links.txt | 1 -
.../EGG-INFO/entry_points.txt | 8 -
.../EGG-INFO/namespace_packages.txt | 2 -
.../EGG-INFO/not-zip-safe | 1 -
.../EGG-INFO/requires.txt | 2 -
.../EGG-INFO/top_level.txt | 1 -
eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/__init__.py | 1 -
eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/__init__.pyo | Bin 261 -> 0 bytes
.../zc/recipe/__init__.py | 1 -
.../zc/recipe/__init__.pyo | Bin 268 -> 0 bytes
.../zc/recipe/egg/README.txt | 645 --
.../zc/recipe/egg/__init__.py | 2 -
.../zc/recipe/egg/__init__.pyo | Bin 376 -> 0 bytes
.../zc/recipe/egg/api.txt | 152 -
.../zc/recipe/egg/custom.py | 170 -
.../zc/recipe/egg/custom.pyo | Bin 5902 -> 0 bytes
.../zc/recipe/egg/custom.txt | 579 --
.../zc/recipe/egg/egg.py | 230 -
.../zc/recipe/egg/egg.pyo | Bin 7900 -> 0 bytes
.../zc/recipe/egg/selecting-python.txt | 140 -
.../zc/recipe/egg/tests.py | 169 -
.../zc/recipe/egg/tests.pyo | Bin 5797 -> 0 bytes
parts/buildout/site.py | 617 --
parts/buildout/site.pyo | Bin 21538 -> 0 bytes
parts/buildout/sitecustomize.py | 10 -
parts/buildout/sitecustomize.pyo | Bin 268 -> 0 bytes
parts/django/AUTHORS | 530 --
parts/django/Django.egg-info/PKG-INFO | 23 -
parts/django/Django.egg-info/SOURCES.txt | 2381 ------
parts/django/Django.egg-info/dependency_links.txt | 1 -
parts/django/Django.egg-info/top_level.txt | 1 -
parts/django/INSTALL | 16 -
parts/django/LICENSE | 27 -
parts/django/MANIFEST.in | 29 -
parts/django/PKG-INFO | 23 -
parts/django/README | 37 -
parts/django/django/__init__.py | 16 -
parts/django/django/bin/__init__.py | 0
parts/django/django/bin/compile-messages.py | 11 -
parts/django/django/bin/daily_cleanup.py | 13 -
parts/django/django/bin/django-admin.py | 5 -
parts/django/django/bin/make-messages.py | 11 -
parts/django/django/bin/profiling/__init__.py | 0
.../django/bin/profiling/gather_profile_stats.py | 36 -
parts/django/django/bin/unique-messages.py | 28 -
parts/django/django/conf/__init__.py | 136 -
parts/django/django/conf/app_template/__init__.py | 0
parts/django/django/conf/app_template/models.py | 3 -
parts/django/django/conf/app_template/tests.py | 23 -
parts/django/django/conf/app_template/views.py | 1 -
parts/django/django/conf/global_settings.py | 524 --
parts/django/django/conf/locale/__init__.py | 0
.../django/conf/locale/ar/LC_MESSAGES/django.mo | Bin 68894 -> 0 bytes
.../django/conf/locale/ar/LC_MESSAGES/django.po | 5159 ------------
.../django/conf/locale/ar/LC_MESSAGES/djangojs.mo | Bin 1859 -> 0 bytes
.../django/conf/locale/ar/LC_MESSAGES/djangojs.po | 118 -
parts/django/django/conf/locale/ar/__init__.py | 0
parts/django/django/conf/locale/ar/formats.py | 18 -
.../django/conf/locale/bg/LC_MESSAGES/django.mo | Bin 63935 -> 0 bytes
.../django/conf/locale/bg/LC_MESSAGES/django.po | 5326 -------------
.../django/conf/locale/bg/LC_MESSAGES/djangojs.mo | Bin 1725 -> 0 bytes
.../django/conf/locale/bg/LC_MESSAGES/djangojs.po | 106 -
parts/django/django/conf/locale/bg/__init__.py | 0
parts/django/django/conf/locale/bg/formats.py | 18 -
.../django/conf/locale/bn/LC_MESSAGES/django.mo | Bin 50191 -> 0 bytes
.../django/conf/locale/bn/LC_MESSAGES/django.po | 4041 ----------
.../django/conf/locale/bn/LC_MESSAGES/djangojs.mo | Bin 2230 -> 0 bytes
.../django/conf/locale/bn/LC_MESSAGES/djangojs.po | 114 -
parts/django/django/conf/locale/bn/__init__.py | 0
parts/django/django/conf/locale/bn/formats.py | 18 -
.../django/conf/locale/bs/LC_MESSAGES/django.mo | Bin 53222 -> 0 bytes
.../django/conf/locale/bs/LC_MESSAGES/django.po | 5183 ------------
parts/django/django/conf/locale/bs/__init__.py | 0
parts/django/django/conf/locale/bs/formats.py | 18 -
.../django/conf/locale/ca/LC_MESSAGES/django.mo | Bin 67366 -> 0 bytes
.../django/conf/locale/ca/LC_MESSAGES/django.po | 4490 -----------
.../django/conf/locale/ca/LC_MESSAGES/djangojs.mo | Bin 1684 -> 0 bytes
.../django/conf/locale/ca/LC_MESSAGES/djangojs.po | 115 -
parts/django/django/conf/locale/ca/__init__.py | 0
parts/django/django/conf/locale/ca/formats.py | 30 -
.../django/conf/locale/cs/LC_MESSAGES/django.mo | Bin 77011 -> 0 bytes
.../django/conf/locale/cs/LC_MESSAGES/django.po | 5153 ------------
.../django/conf/locale/cs/LC_MESSAGES/djangojs.mo | Bin 2695 -> 0 bytes
.../django/conf/locale/cs/LC_MESSAGES/djangojs.po | 159 -
parts/django/django/conf/locale/cs/__init__.py | 0
parts/django/django/conf/locale/cs/formats.py | 32 -
.../django/conf/locale/cy/LC_MESSAGES/django.mo | Bin 22756 -> 0 bytes
.../django/conf/locale/cy/LC_MESSAGES/django.po | 1990 -----
.../django/conf/locale/cy/LC_MESSAGES/djangojs.mo | Bin 1009 -> 0 bytes
.../django/conf/locale/cy/LC_MESSAGES/djangojs.po | 111 -
parts/django/django/conf/locale/cy/__init__.py | 0
parts/django/django/conf/locale/cy/formats.py | 18 -
.../django/conf/locale/da/LC_MESSAGES/django.mo | Bin 73112 -> 0 bytes
.../django/conf/locale/da/LC_MESSAGES/django.po | 5105 ------------
.../django/conf/locale/da/LC_MESSAGES/djangojs.mo | Bin 2587 -> 0 bytes
.../django/conf/locale/da/LC_MESSAGES/djangojs.po | 155 -
parts/django/django/conf/locale/da/__init__.py | 0
parts/django/django/conf/locale/da/formats.py | 26 -
.../django/conf/locale/de/LC_MESSAGES/django.mo | Bin 77651 -> 0 bytes
.../django/conf/locale/de/LC_MESSAGES/django.po | 5225 -------------
.../django/conf/locale/de/LC_MESSAGES/djangojs.mo | Bin 2723 -> 0 bytes
.../django/conf/locale/de/LC_MESSAGES/djangojs.po | 160 -
parts/django/django/conf/locale/de/__init__.py | 0
parts/django/django/conf/locale/de/formats.py | 32 -
.../django/conf/locale/el/LC_MESSAGES/django.mo | Bin 38998 -> 0 bytes
.../django/conf/locale/el/LC_MESSAGES/django.po | 2766 -------
.../django/conf/locale/el/LC_MESSAGES/djangojs.mo | Bin 1801 -> 0 bytes
.../django/conf/locale/el/LC_MESSAGES/djangojs.po | 108 -
parts/django/django/conf/locale/el/__init__.py | 0
parts/django/django/conf/locale/el/formats.py | 18 -
.../django/conf/locale/en/LC_MESSAGES/django.mo | Bin 572 -> 0 bytes
.../django/conf/locale/en/LC_MESSAGES/django.po | 5002 ------------
.../django/conf/locale/en/LC_MESSAGES/djangojs.mo | Bin 358 -> 0 bytes
.../django/conf/locale/en/LC_MESSAGES/djangojs.po | 145 -
parts/django/django/conf/locale/en/__init__.py | 0
parts/django/django/conf/locale/en/formats.py | 38 -
.../django/conf/locale/en_GB/LC_MESSAGES/django.mo | Bin 762 -> 0 bytes
.../django/conf/locale/en_GB/LC_MESSAGES/django.po | 4996 ------------
.../conf/locale/en_GB/LC_MESSAGES/djangojs.mo | Bin 344 -> 0 bytes
.../conf/locale/en_GB/LC_MESSAGES/djangojs.po | 114 -
parts/django/django/conf/locale/en_GB/__init__.py | 0
parts/django/django/conf/locale/en_GB/formats.py | 39 -
.../django/conf/locale/es/LC_MESSAGES/django.mo | Bin 71672 -> 0 bytes
.../django/conf/locale/es/LC_MESSAGES/django.po | 5574 -------------
.../django/conf/locale/es/LC_MESSAGES/djangojs.mo | Bin 1622 -> 0 bytes
.../django/conf/locale/es/LC_MESSAGES/djangojs.po | 117 -
parts/django/django/conf/locale/es/__init__.py | 0
parts/django/django/conf/locale/es/formats.py | 30 -
.../django/conf/locale/es_AR/LC_MESSAGES/django.mo | Bin 77720 -> 0 bytes
.../django/conf/locale/es_AR/LC_MESSAGES/django.po | 5186 ------------
.../conf/locale/es_AR/LC_MESSAGES/djangojs.mo | Bin 2512 -> 0 bytes
.../conf/locale/es_AR/LC_MESSAGES/djangojs.po | 132 -
parts/django/django/conf/locale/es_AR/__init__.py | 0
parts/django/django/conf/locale/es_AR/formats.py | 29 -
.../django/conf/locale/et/LC_MESSAGES/django.mo | Bin 64652 -> 0 bytes
.../django/conf/locale/et/LC_MESSAGES/django.po | 4414 -----------
.../django/conf/locale/et/LC_MESSAGES/djangojs.mo | Bin 1636 -> 0 bytes
.../django/conf/locale/et/LC_MESSAGES/djangojs.po | 117 -
parts/django/django/conf/locale/et/__init__.py | 0
parts/django/django/conf/locale/et/formats.py | 18 -
.../django/conf/locale/eu/LC_MESSAGES/django.mo | Bin 44912 -> 0 bytes
.../django/conf/locale/eu/LC_MESSAGES/django.po | 4248 ----------
.../django/conf/locale/eu/LC_MESSAGES/djangojs.mo | Bin 1560 -> 0 bytes
.../django/conf/locale/eu/LC_MESSAGES/djangojs.po | 117 -
parts/django/django/conf/locale/eu/__init__.py | 0
parts/django/django/conf/locale/eu/formats.py | 18 -
.../django/conf/locale/fa/LC_MESSAGES/django.mo | Bin 41548 -> 0 bytes
.../django/conf/locale/fa/LC_MESSAGES/django.po | 4006 ----------
.../django/conf/locale/fa/LC_MESSAGES/djangojs.mo | Bin 1889 -> 0 bytes
.../django/conf/locale/fa/LC_MESSAGES/djangojs.po | 118 -
parts/django/django/conf/locale/fa/__init__.py | 0
parts/django/django/conf/locale/fa/formats.py | 18 -
.../django/conf/locale/fi/LC_MESSAGES/django.mo | Bin 74561 -> 0 bytes
.../django/conf/locale/fi/LC_MESSAGES/django.po | 5558 -------------
.../django/conf/locale/fi/LC_MESSAGES/djangojs.mo | Bin 2703 -> 0 bytes
.../django/conf/locale/fi/LC_MESSAGES/djangojs.po | 157 -
parts/django/django/conf/locale/fi/__init__.py | 0
parts/django/django/conf/locale/fi/formats.py | 18 -
.../django/conf/locale/fr/LC_MESSAGES/django.mo | Bin 78477 -> 0 bytes
.../django/conf/locale/fr/LC_MESSAGES/django.po | 5198 ------------
.../django/conf/locale/fr/LC_MESSAGES/djangojs.mo | Bin 2726 -> 0 bytes
.../django/conf/locale/fr/LC_MESSAGES/djangojs.po | 162 -
parts/django/django/conf/locale/fr/__init__.py | 0
parts/django/django/conf/locale/fr/formats.py | 36 -
.../django/conf/locale/fy_NL/LC_MESSAGES/django.mo | Bin 4885 -> 0 bytes
.../django/conf/locale/fy_NL/LC_MESSAGES/django.po | 4997 ------------
.../conf/locale/fy_NL/LC_MESSAGES/djangojs.mo | Bin 367 -> 0 bytes
.../conf/locale/fy_NL/LC_MESSAGES/djangojs.po | 119 -
parts/django/django/conf/locale/fy_NL/__init__.py | 0
parts/django/django/conf/locale/fy_NL/formats.py | 18 -
.../django/conf/locale/ga/LC_MESSAGES/django.mo | Bin 78750 -> 0 bytes
.../django/conf/locale/ga/LC_MESSAGES/django.po | 5223 -------------
.../django/conf/locale/ga/LC_MESSAGES/djangojs.mo | Bin 2639 -> 0 bytes
.../django/conf/locale/ga/LC_MESSAGES/djangojs.po | 156 -
parts/django/django/conf/locale/ga/__init__.py | 0
parts/django/django/conf/locale/ga/formats.py | 18 -
.../django/conf/locale/gl/LC_MESSAGES/django.mo | Bin 49175 -> 0 bytes
.../django/conf/locale/gl/LC_MESSAGES/django.po | 3028 -------
.../django/conf/locale/gl/LC_MESSAGES/djangojs.mo | Bin 1519 -> 0 bytes
.../django/conf/locale/gl/LC_MESSAGES/djangojs.po | 109 -
parts/django/django/conf/locale/gl/__init__.py | 0
parts/django/django/conf/locale/gl/formats.py | 18 -
.../django/conf/locale/he/LC_MESSAGES/django.mo | Bin 83367 -> 0 bytes
.../django/conf/locale/he/LC_MESSAGES/django.po | 5064 ------------
.../django/conf/locale/he/LC_MESSAGES/djangojs.mo | Bin 2938 -> 0 bytes
.../django/conf/locale/he/LC_MESSAGES/djangojs.po | 159 -
parts/django/django/conf/locale/he/__init__.py | 0
parts/django/django/conf/locale/he/formats.py | 18 -
.../django/conf/locale/hi/LC_MESSAGES/django.mo | Bin 69628 -> 0 bytes
.../django/conf/locale/hi/LC_MESSAGES/django.po | 4121 ----------
.../django/conf/locale/hi/LC_MESSAGES/djangojs.mo | Bin 2094 -> 0 bytes
.../django/conf/locale/hi/LC_MESSAGES/djangojs.po | 116 -
parts/django/django/conf/locale/hi/__init__.py | 0
parts/django/django/conf/locale/hi/formats.py | 18 -
.../django/conf/locale/hr/LC_MESSAGES/django.mo | Bin 75854 -> 0 bytes
.../django/conf/locale/hr/LC_MESSAGES/django.po | 5199 ------------
.../django/conf/locale/hr/LC_MESSAGES/djangojs.mo | Bin 1740 -> 0 bytes
.../django/conf/locale/hr/LC_MESSAGES/djangojs.po | 119 -
parts/django/django/conf/locale/hr/__init__.py | 0
parts/django/django/conf/locale/hr/formats.py | 42 -
.../django/conf/locale/hu/LC_MESSAGES/django.mo | Bin 68796 -> 0 bytes
.../django/conf/locale/hu/LC_MESSAGES/django.po | 4423 -----------
.../django/conf/locale/hu/LC_MESSAGES/djangojs.mo | Bin 1638 -> 0 bytes
.../django/conf/locale/hu/LC_MESSAGES/djangojs.po | 111 -
parts/django/django/conf/locale/hu/__init__.py | 0
parts/django/django/conf/locale/hu/formats.py | 18 -
.../django/conf/locale/id/LC_MESSAGES/django.mo | Bin 74754 -> 0 bytes
.../django/conf/locale/id/LC_MESSAGES/django.po | 5127 ------------
.../django/conf/locale/id/LC_MESSAGES/djangojs.mo | Bin 2579 -> 0 bytes
.../django/conf/locale/id/LC_MESSAGES/djangojs.po | 157 -
parts/django/django/conf/locale/id/__init__.py | 0
parts/django/django/conf/locale/id/formats.py | 43 -
.../django/conf/locale/is/LC_MESSAGES/django.mo | Bin 36864 -> 0 bytes
.../django/conf/locale/is/LC_MESSAGES/django.po | 4285 ----------
.../django/conf/locale/is/LC_MESSAGES/djangojs.mo | Bin 1603 -> 0 bytes
.../django/conf/locale/is/LC_MESSAGES/djangojs.po | 109 -
parts/django/django/conf/locale/is/__init__.py | 0
parts/django/django/conf/locale/is/formats.py | 18 -
.../django/conf/locale/it/LC_MESSAGES/django.mo | Bin 75958 -> 0 bytes
.../django/conf/locale/it/LC_MESSAGES/django.po | 5124 ------------
.../django/conf/locale/it/LC_MESSAGES/djangojs.mo | Bin 1729 -> 0 bytes
.../django/conf/locale/it/LC_MESSAGES/djangojs.po | 124 -
parts/django/django/conf/locale/it/__init__.py | 0
parts/django/django/conf/locale/it/formats.py | 41 -
.../django/conf/locale/ja/LC_MESSAGES/django.mo | Bin 75882 -> 0 bytes
.../django/conf/locale/ja/LC_MESSAGES/django.po | 5116 ------------
.../django/conf/locale/ja/LC_MESSAGES/djangojs.mo | Bin 2696 -> 0 bytes
.../django/conf/locale/ja/LC_MESSAGES/djangojs.po | 144 -
parts/django/django/conf/locale/ja/__init__.py | 0
parts/django/django/conf/locale/ja/formats.py | 18 -
.../django/conf/locale/ka/LC_MESSAGES/django.mo | Bin 93456 -> 0 bytes
.../django/conf/locale/ka/LC_MESSAGES/django.po | 4176 ----------
.../django/conf/locale/ka/LC_MESSAGES/djangojs.mo | Bin 2217 -> 0 bytes
.../django/conf/locale/ka/LC_MESSAGES/djangojs.po | 117 -
parts/django/django/conf/locale/ka/__init__.py | 0
parts/django/django/conf/locale/ka/formats.py | 42 -
.../django/conf/locale/km/LC_MESSAGES/django.mo | Bin 68554 -> 0 bytes
.../django/conf/locale/km/LC_MESSAGES/django.po | 2508 ------
.../django/conf/locale/km/LC_MESSAGES/djangojs.mo | Bin 1938 -> 0 bytes
.../django/conf/locale/km/LC_MESSAGES/djangojs.po | 108 -
parts/django/django/conf/locale/km/__init__.py | 0
parts/django/django/conf/locale/km/formats.py | 18 -
.../django/conf/locale/kn/LC_MESSAGES/django.mo | Bin 56739 -> 0 bytes
.../django/conf/locale/kn/LC_MESSAGES/django.po | 2536 ------
.../django/conf/locale/kn/LC_MESSAGES/djangojs.mo | Bin 2198 -> 0 bytes
.../django/conf/locale/kn/LC_MESSAGES/djangojs.po | 116 -
parts/django/django/conf/locale/kn/__init__.py | 0
parts/django/django/conf/locale/kn/formats.py | 18 -
.../django/conf/locale/ko/LC_MESSAGES/django.mo | Bin 74546 -> 0 bytes
.../django/conf/locale/ko/LC_MESSAGES/django.po | 5124 ------------
.../django/conf/locale/ko/LC_MESSAGES/djangojs.mo | Bin 2485 -> 0 bytes
.../django/conf/locale/ko/LC_MESSAGES/djangojs.po | 154 -
parts/django/django/conf/locale/ko/__init__.py | 0
parts/django/django/conf/locale/ko/formats.py | 44 -
.../django/conf/locale/lt/LC_MESSAGES/django.mo | Bin 44186 -> 0 bytes
.../django/conf/locale/lt/LC_MESSAGES/django.po | 2868 -------
.../django/conf/locale/lt/LC_MESSAGES/djangojs.mo | Bin 1667 -> 0 bytes
.../django/conf/locale/lt/LC_MESSAGES/djangojs.po | 116 -
parts/django/django/conf/locale/lt/__init__.py | 0
parts/django/django/conf/locale/lt/formats.py | 18 -
.../django/conf/locale/lv/LC_MESSAGES/django.mo | Bin 58805 -> 0 bytes
.../django/conf/locale/lv/LC_MESSAGES/django.po | 5471 -------------
.../django/conf/locale/lv/LC_MESSAGES/djangojs.mo | Bin 2853 -> 0 bytes
.../django/conf/locale/lv/LC_MESSAGES/djangojs.po | 164 -
parts/django/django/conf/locale/lv/__init__.py | 0
parts/django/django/conf/locale/lv/formats.py | 36 -
.../django/conf/locale/mk/LC_MESSAGES/django.mo | Bin 93415 -> 0 bytes
.../django/conf/locale/mk/LC_MESSAGES/django.po | 5140 ------------
.../django/conf/locale/mk/LC_MESSAGES/djangojs.mo | Bin 1926 -> 0 bytes
.../django/conf/locale/mk/LC_MESSAGES/djangojs.po | 126 -
parts/django/django/conf/locale/mk/__init__.py | 0
parts/django/django/conf/locale/mk/formats.py | 18 -
.../django/conf/locale/ml/LC_MESSAGES/django.mo | Bin 64084 -> 0 bytes
.../django/conf/locale/ml/LC_MESSAGES/django.po | 5044 ------------
.../django/conf/locale/ml/LC_MESSAGES/djangojs.mo | Bin 4350 -> 0 bytes
.../django/conf/locale/ml/LC_MESSAGES/djangojs.po | 156 -
parts/django/django/conf/locale/ml/__init__.py | 0
parts/django/django/conf/locale/ml/formats.py | 38 -
.../django/conf/locale/mn/LC_MESSAGES/django.mo | Bin 69940 -> 0 bytes
.../django/conf/locale/mn/LC_MESSAGES/django.po | 5243 -------------
.../django/conf/locale/mn/LC_MESSAGES/djangojs.mo | Bin 367 -> 0 bytes
.../django/conf/locale/mn/LC_MESSAGES/djangojs.po | 149 -
parts/django/django/conf/locale/mn/__init__.py | 0
parts/django/django/conf/locale/mn/formats.py | 18 -
.../django/conf/locale/nb/LC_MESSAGES/django.mo | Bin 68407 -> 0 bytes
.../django/conf/locale/nb/LC_MESSAGES/django.po | 5132 ------------
.../django/conf/locale/nb/LC_MESSAGES/djangojs.mo | Bin 1539 -> 0 bytes
.../django/conf/locale/nb/LC_MESSAGES/djangojs.po | 119 -
parts/django/django/conf/locale/nb/__init__.py | 0
parts/django/django/conf/locale/nb/formats.py | 34 -
.../django/conf/locale/nl/LC_MESSAGES/django.mo | Bin 65480 -> 0 bytes
.../django/conf/locale/nl/LC_MESSAGES/django.po | 4443 -----------
.../django/conf/locale/nl/LC_MESSAGES/djangojs.mo | Bin 1609 -> 0 bytes
.../django/conf/locale/nl/LC_MESSAGES/djangojs.po | 118 -
parts/django/django/conf/locale/nl/__init__.py | 0
parts/django/django/conf/locale/nl/formats.py | 48 -
.../django/conf/locale/nn/LC_MESSAGES/django.mo | Bin 72359 -> 0 bytes
.../django/conf/locale/nn/LC_MESSAGES/django.po | 5150 ------------
.../django/conf/locale/nn/LC_MESSAGES/djangojs.mo | Bin 2506 -> 0 bytes
.../django/conf/locale/nn/LC_MESSAGES/djangojs.po | 155 -
parts/django/django/conf/locale/nn/__init__.py | 0
parts/django/django/conf/locale/nn/formats.py | 34 -
.../django/conf/locale/no/LC_MESSAGES/django.mo | Bin 68407 -> 0 bytes
.../django/conf/locale/no/LC_MESSAGES/django.po | 5133 ------------
.../django/conf/locale/no/LC_MESSAGES/djangojs.mo | Bin 1539 -> 0 bytes
.../django/conf/locale/no/LC_MESSAGES/djangojs.po | 120 -
parts/django/django/conf/locale/no/__init__.py | 0
parts/django/django/conf/locale/no/formats.py | 34 -
.../django/conf/locale/pl/LC_MESSAGES/django.mo | Bin 69963 -> 0 bytes
.../django/conf/locale/pl/LC_MESSAGES/django.po | 5172 ------------
.../django/conf/locale/pl/LC_MESSAGES/djangojs.mo | Bin 1733 -> 0 bytes
.../django/conf/locale/pl/LC_MESSAGES/djangojs.po | 120 -
parts/django/django/conf/locale/pl/__init__.py | 0
parts/django/django/conf/locale/pl/formats.py | 32 -
.../django/conf/locale/pt/LC_MESSAGES/django.mo | Bin 52977 -> 0 bytes
.../django/conf/locale/pt/LC_MESSAGES/django.po | 5149 ------------
.../django/conf/locale/pt/LC_MESSAGES/djangojs.mo | Bin 1596 -> 0 bytes
.../django/conf/locale/pt/LC_MESSAGES/djangojs.po | 125 -
parts/django/django/conf/locale/pt/__init__.py | 0
parts/django/django/conf/locale/pt/formats.py | 35 -
.../django/conf/locale/pt_BR/LC_MESSAGES/django.mo | Bin 75625 -> 0 bytes
.../django/conf/locale/pt_BR/LC_MESSAGES/django.po | 5119 ------------
.../conf/locale/pt_BR/LC_MESSAGES/djangojs.mo | Bin 1662 -> 0 bytes
.../conf/locale/pt_BR/LC_MESSAGES/djangojs.po | 113 -
parts/django/django/conf/locale/pt_BR/__init__.py | 0
parts/django/django/conf/locale/pt_BR/formats.py | 35 -
.../django/conf/locale/ro/LC_MESSAGES/django.mo | Bin 66590 -> 0 bytes
.../django/conf/locale/ro/LC_MESSAGES/django.po | 4268 ----------
.../django/conf/locale/ro/LC_MESSAGES/djangojs.mo | Bin 1476 -> 0 bytes
.../django/conf/locale/ro/LC_MESSAGES/djangojs.po | 116 -
parts/django/django/conf/locale/ro/__init__.py | 0
parts/django/django/conf/locale/ro/formats.py | 18 -
.../django/conf/locale/ru/LC_MESSAGES/django.mo | Bin 96144 -> 0 bytes
.../django/conf/locale/ru/LC_MESSAGES/django.po | 5069 ------------
.../django/conf/locale/ru/LC_MESSAGES/djangojs.mo | Bin 3735 -> 0 bytes
.../django/conf/locale/ru/LC_MESSAGES/djangojs.po | 144 -
parts/django/django/conf/locale/ru/__init__.py | 0
parts/django/django/conf/locale/ru/formats.py | 35 -
.../django/conf/locale/sk/LC_MESSAGES/django.mo | Bin 77069 -> 0 bytes
.../django/conf/locale/sk/LC_MESSAGES/django.po | 5183 ------------
.../django/conf/locale/sk/LC_MESSAGES/djangojs.mo | Bin 2659 -> 0 bytes
.../django/conf/locale/sk/LC_MESSAGES/djangojs.po | 156 -
parts/django/django/conf/locale/sk/__init__.py | 0
parts/django/django/conf/locale/sk/formats.py | 32 -
.../django/conf/locale/sl/LC_MESSAGES/django.mo | Bin 76473 -> 0 bytes
.../django/conf/locale/sl/LC_MESSAGES/django.po | 5182 ------------
.../django/conf/locale/sl/LC_MESSAGES/djangojs.mo | Bin 2794 -> 0 bytes
.../django/conf/locale/sl/LC_MESSAGES/djangojs.po | 165 -
parts/django/django/conf/locale/sl/__init__.py | 0
parts/django/django/conf/locale/sl/formats.py | 18 -
.../django/conf/locale/sq/LC_MESSAGES/django.mo | Bin 5125 -> 0 bytes
.../django/conf/locale/sq/LC_MESSAGES/django.po | 5011 ------------
.../django/conf/locale/sq/LC_MESSAGES/djangojs.mo | Bin 367 -> 0 bytes
.../django/conf/locale/sq/LC_MESSAGES/djangojs.po | 119 -
parts/django/django/conf/locale/sq/__init__.py | 0
parts/django/django/conf/locale/sq/formats.py | 18 -
.../django/conf/locale/sr/LC_MESSAGES/django.mo | Bin 57173 -> 0 bytes
.../django/conf/locale/sr/LC_MESSAGES/django.po | 5152 ------------
.../django/conf/locale/sr/LC_MESSAGES/djangojs.mo | Bin 2683 -> 0 bytes
.../django/conf/locale/sr/LC_MESSAGES/djangojs.po | 144 -
parts/django/django/conf/locale/sr/__init__.py | 0
parts/django/django/conf/locale/sr/formats.py | 44 -
.../conf/locale/sr_Latn/LC_MESSAGES/django.mo | Bin 45656 -> 0 bytes
.../conf/locale/sr_Latn/LC_MESSAGES/django.po | 5037 ------------
.../conf/locale/sr_Latn/LC_MESSAGES/djangojs.mo | Bin 2580 -> 0 bytes
.../conf/locale/sr_Latn/LC_MESSAGES/djangojs.po | 153 -
.../django/django/conf/locale/sr_Latn/__init__.py | 0
parts/django/django/conf/locale/sr_Latn/formats.py | 44 -
.../django/conf/locale/sv/LC_MESSAGES/django.mo | Bin 63220 -> 0 bytes
.../django/conf/locale/sv/LC_MESSAGES/django.po | 4804 ------------
.../django/conf/locale/sv/LC_MESSAGES/djangojs.mo | Bin 1688 -> 0 bytes
.../django/conf/locale/sv/LC_MESSAGES/djangojs.po | 121 -
parts/django/django/conf/locale/sv/__init__.py | 0
parts/django/django/conf/locale/sv/formats.py | 35 -
.../django/conf/locale/ta/LC_MESSAGES/django.mo | Bin 60018 -> 0 bytes
.../django/conf/locale/ta/LC_MESSAGES/django.po | 2136 -----
.../django/conf/locale/ta/LC_MESSAGES/djangojs.mo | Bin 2334 -> 0 bytes
.../django/conf/locale/ta/LC_MESSAGES/djangojs.po | 112 -
parts/django/django/conf/locale/ta/__init__.py | 0
parts/django/django/conf/locale/ta/formats.py | 18 -
.../django/conf/locale/te/LC_MESSAGES/django.mo | Bin 66372 -> 0 bytes
.../django/conf/locale/te/LC_MESSAGES/django.po | 4112 ----------
.../django/conf/locale/te/LC_MESSAGES/djangojs.mo | Bin 2330 -> 0 bytes
.../django/conf/locale/te/LC_MESSAGES/djangojs.po | 117 -
parts/django/django/conf/locale/te/__init__.py | 0
parts/django/django/conf/locale/te/formats.py | 18 -
.../django/conf/locale/th/LC_MESSAGES/django.mo | Bin 83394 -> 0 bytes
.../django/conf/locale/th/LC_MESSAGES/django.po | 3932 ----------
.../django/conf/locale/th/LC_MESSAGES/djangojs.mo | Bin 2322 -> 0 bytes
.../django/conf/locale/th/LC_MESSAGES/djangojs.po | 117 -
parts/django/django/conf/locale/th/__init__.py | 0
parts/django/django/conf/locale/th/formats.py | 18 -
.../django/conf/locale/tr/LC_MESSAGES/django.mo | Bin 75061 -> 0 bytes
.../django/conf/locale/tr/LC_MESSAGES/django.po | 5113 ------------
.../django/conf/locale/tr/LC_MESSAGES/djangojs.mo | Bin 1747 -> 0 bytes
.../django/conf/locale/tr/LC_MESSAGES/djangojs.po | 123 -
parts/django/django/conf/locale/tr/__init__.py | 0
parts/django/django/conf/locale/tr/formats.py | 32 -
.../django/conf/locale/uk/LC_MESSAGES/django.mo | Bin 87474 -> 0 bytes
.../django/conf/locale/uk/LC_MESSAGES/django.po | 4774 ------------
.../django/conf/locale/uk/LC_MESSAGES/djangojs.mo | Bin 1892 -> 0 bytes
.../django/conf/locale/uk/LC_MESSAGES/djangojs.po | 118 -
parts/django/django/conf/locale/uk/__init__.py | 0
parts/django/django/conf/locale/uk/formats.py | 18 -
.../django/conf/locale/vi/LC_MESSAGES/django.mo | Bin 33952 -> 0 bytes
.../django/conf/locale/vi/LC_MESSAGES/django.po | 5058 ------------
.../django/conf/locale/vi/LC_MESSAGES/djangojs.mo | Bin 1049 -> 0 bytes
.../django/conf/locale/vi/LC_MESSAGES/djangojs.po | 115 -
parts/django/django/conf/locale/vi/__init__.py | 0
parts/django/django/conf/locale/vi/formats.py | 18 -
.../django/conf/locale/zh_CN/LC_MESSAGES/django.mo | Bin 61710 -> 0 bytes
.../django/conf/locale/zh_CN/LC_MESSAGES/django.po | 4208 ----------
.../conf/locale/zh_CN/LC_MESSAGES/djangojs.mo | Bin 1517 -> 0 bytes
.../conf/locale/zh_CN/LC_MESSAGES/djangojs.po | 105 -
parts/django/django/conf/locale/zh_CN/__init__.py | 0
parts/django/django/conf/locale/zh_CN/formats.py | 18 -
.../django/conf/locale/zh_TW/LC_MESSAGES/django.mo | Bin 38115 -> 0 bytes
.../django/conf/locale/zh_TW/LC_MESSAGES/django.po | 4147 ----------
.../conf/locale/zh_TW/LC_MESSAGES/djangojs.mo | Bin 358 -> 0 bytes
.../conf/locale/zh_TW/LC_MESSAGES/djangojs.po | 118 -
parts/django/django/conf/locale/zh_TW/__init__.py | 0
parts/django/django/conf/locale/zh_TW/formats.py | 18 -
.../django/conf/project_template/__init__.py | 0
.../django/django/conf/project_template/manage.py | 11 -
.../django/conf/project_template/settings.py | 96 -
parts/django/django/conf/project_template/urls.py | 16 -
parts/django/django/conf/urls/__init__.py | 0
parts/django/django/conf/urls/defaults.py | 42 -
parts/django/django/conf/urls/i18n.py | 5 -
parts/django/django/conf/urls/shortcut.py | 5 -
parts/django/django/contrib/__init__.py | 0
parts/django/django/contrib/admin/__init__.py | 36 -
parts/django/django/contrib/admin/actions.py | 73 -
parts/django/django/contrib/admin/filterspecs.py | 179 -
parts/django/django/contrib/admin/helpers.py | 344 -
.../django/django/contrib/admin/media/css/base.css | 759 --
.../django/contrib/admin/media/css/changelists.css | 286 -
.../django/contrib/admin/media/css/dashboard.css | 24 -
.../django/contrib/admin/media/css/forms.css | 354 -
parts/django/django/contrib/admin/media/css/ie.css | 57 -
.../django/contrib/admin/media/css/login.css | 54 -
.../django/django/contrib/admin/media/css/rtl.css | 221 -
.../django/contrib/admin/media/css/widgets.css | 506 --
.../contrib/admin/media/img/admin/arrow-down.gif | Bin 80 -> 0 bytes
.../contrib/admin/media/img/admin/arrow-up.gif | Bin 838 -> 0 bytes
.../admin/media/img/admin/changelist-bg.gif | Bin 58 -> 0 bytes
.../admin/media/img/admin/changelist-bg_rtl.gif | Bin 75 -> 0 bytes
.../contrib/admin/media/img/admin/chooser-bg.gif | Bin 199 -> 0 bytes
.../admin/media/img/admin/chooser_stacked-bg.gif | Bin 212 -> 0 bytes
.../admin/media/img/admin/default-bg-reverse.gif | Bin 843 -> 0 bytes
.../contrib/admin/media/img/admin/default-bg.gif | Bin 844 -> 0 bytes
.../admin/media/img/admin/deleted-overlay.gif | Bin 45 -> 0 bytes
.../contrib/admin/media/img/admin/icon-no.gif | Bin 176 -> 0 bytes
.../contrib/admin/media/img/admin/icon-unknown.gif | Bin 130 -> 0 bytes
.../contrib/admin/media/img/admin/icon-yes.gif | Bin 299 -> 0 bytes
.../contrib/admin/media/img/admin/icon_addlink.gif | Bin 119 -> 0 bytes
.../contrib/admin/media/img/admin/icon_alert.gif | Bin 145 -> 0 bytes
.../admin/media/img/admin/icon_calendar.gif | Bin 192 -> 0 bytes
.../admin/media/img/admin/icon_changelink.gif | Bin 119 -> 0 bytes
.../contrib/admin/media/img/admin/icon_clock.gif | Bin 390 -> 0 bytes
.../admin/media/img/admin/icon_deletelink.gif | Bin 181 -> 0 bytes
.../contrib/admin/media/img/admin/icon_error.gif | Bin 319 -> 0 bytes
.../admin/media/img/admin/icon_searchbox.png | Bin 667 -> 0 bytes
.../contrib/admin/media/img/admin/icon_success.gif | Bin 341 -> 0 bytes
.../admin/media/img/admin/inline-delete-8bit.png | Bin 477 -> 0 bytes
.../admin/media/img/admin/inline-delete.png | Bin 781 -> 0 bytes
.../admin/media/img/admin/inline-restore-8bit.png | Bin 447 -> 0 bytes
.../admin/media/img/admin/inline-restore.png | Bin 623 -> 0 bytes
.../admin/media/img/admin/inline-splitter-bg.gif | Bin 102 -> 0 bytes
.../admin/media/img/admin/nav-bg-grabber.gif | Bin 116 -> 0 bytes
.../admin/media/img/admin/nav-bg-reverse.gif | Bin 186 -> 0 bytes
.../contrib/admin/media/img/admin/nav-bg.gif | Bin 273 -> 0 bytes
.../contrib/admin/media/img/admin/selector-add.gif | Bin 606 -> 0 bytes
.../admin/media/img/admin/selector-addall.gif | Bin 358 -> 0 bytes
.../admin/media/img/admin/selector-remove.gif | Bin 398 -> 0 bytes
.../admin/media/img/admin/selector-removeall.gif | Bin 355 -> 0 bytes
.../admin/media/img/admin/selector-search.gif | Bin 552 -> 0 bytes
.../admin/media/img/admin/selector_stacked-add.gif | Bin 612 -> 0 bytes
.../media/img/admin/selector_stacked-remove.gif | Bin 401 -> 0 bytes
.../contrib/admin/media/img/admin/tool-left.gif | Bin 197 -> 0 bytes
.../admin/media/img/admin/tool-left_over.gif | Bin 203 -> 0 bytes
.../contrib/admin/media/img/admin/tool-right.gif | Bin 198 -> 0 bytes
.../admin/media/img/admin/tool-right_over.gif | Bin 200 -> 0 bytes
.../contrib/admin/media/img/admin/tooltag-add.gif | Bin 932 -> 0 bytes
.../admin/media/img/admin/tooltag-add_over.gif | Bin 336 -> 0 bytes
.../admin/media/img/admin/tooltag-arrowright.gif | Bin 351 -> 0 bytes
.../media/img/admin/tooltag-arrowright_over.gif | Bin 354 -> 0 bytes
.../admin/media/img/gis/move_vertex_off.png | Bin 711 -> 0 bytes
.../contrib/admin/media/img/gis/move_vertex_on.png | Bin 506 -> 0 bytes
.../contrib/admin/media/js/LICENSE-JQUERY.txt | 20 -
.../django/contrib/admin/media/js/SelectBox.js | 111 -
.../django/contrib/admin/media/js/SelectFilter2.js | 117 -
.../django/contrib/admin/media/js/actions.js | 139 -
.../django/contrib/admin/media/js/actions.min.js | 7 -
.../admin/media/js/admin/DateTimeShortcuts.js | 274 -
.../admin/media/js/admin/RelatedObjectLookups.js | 96 -
.../contrib/admin/media/js/admin/ordering.js | 137 -
.../django/contrib/admin/media/js/calendar.js | 156 -
.../django/contrib/admin/media/js/collapse.js | 27 -
.../django/contrib/admin/media/js/collapse.min.js | 2 -
.../django/contrib/admin/media/js/compress.py | 47 -
parts/django/django/contrib/admin/media/js/core.js | 221 -
.../django/contrib/admin/media/js/dateparse.js | 233 -
.../admin/media/js/getElementsBySelector.js | 167 -
.../django/contrib/admin/media/js/inlines.js | 148 -
.../django/contrib/admin/media/js/inlines.min.js | 6 -
.../django/contrib/admin/media/js/jquery.init.js | 4 -
.../django/django/contrib/admin/media/js/jquery.js | 6240 ---------------
.../django/contrib/admin/media/js/jquery.min.js | 154 -
.../django/contrib/admin/media/js/prepopulate.js | 34 -
.../contrib/admin/media/js/prepopulate.min.js | 1 -
.../django/contrib/admin/media/js/timeparse.js | 94 -
.../django/django/contrib/admin/media/js/urlify.js | 140 -
parts/django/django/contrib/admin/models.py | 54 -
parts/django/django/contrib/admin/options.py | 1306 ----
parts/django/django/contrib/admin/sites.py | 534 --
.../django/contrib/admin/templates/admin/404.html | 12 -
.../django/contrib/admin/templates/admin/500.html | 12 -
.../contrib/admin/templates/admin/actions.html | 16 -
.../contrib/admin/templates/admin/app_index.html | 15 -
.../admin/templates/admin/auth/user/add_form.html | 14 -
.../templates/admin/auth/user/change_password.html | 54 -
.../django/contrib/admin/templates/admin/base.html | 82 -
.../contrib/admin/templates/admin/base_site.html | 10 -
.../contrib/admin/templates/admin/change_form.html | 67 -
.../contrib/admin/templates/admin/change_list.html | 102 -
.../admin/templates/admin/change_list_results.html | 22 -
.../admin/templates/admin/date_hierarchy.html | 10 -
.../admin/templates/admin/delete_confirmation.html | 32 -
.../admin/delete_selected_confirmation.html | 37 -
.../admin/templates/admin/edit_inline/stacked.html | 82 -
.../admin/templates/admin/edit_inline/tabular.html | 128 -
.../contrib/admin/templates/admin/filter.html | 8 -
.../admin/templates/admin/includes/fieldset.html | 29 -
.../contrib/admin/templates/admin/index.html | 80 -
.../admin/templates/admin/invalid_setup.html | 8 -
.../contrib/admin/templates/admin/login.html | 34 -
.../admin/templates/admin/object_history.html | 42 -
.../contrib/admin/templates/admin/pagination.html | 12 -
.../templates/admin/prepopulated_fields_js.html | 23 -
.../contrib/admin/templates/admin/search_form.html | 18 -
.../contrib/admin/templates/admin/submit_line.html | 8 -
.../admin/templates/registration/logged_out.html | 12 -
.../registration/password_change_done.html | 14 -
.../registration/password_change_form.html | 50 -
.../registration/password_reset_complete.html | 16 -
.../registration/password_reset_confirm.html | 32 -
.../registration/password_reset_done.html | 14 -
.../registration/password_reset_email.html | 15 -
.../registration/password_reset_form.html | 19 -
.../django/contrib/admin/templatetags/__init__.py | 0
.../contrib/admin/templatetags/admin_list.py | 304 -
.../contrib/admin/templatetags/admin_modify.py | 42 -
.../contrib/admin/templatetags/adminmedia.py | 15 -
.../django/contrib/admin/templatetags/log.py | 57 -
parts/django/django/contrib/admin/util.py | 340 -
parts/django/django/contrib/admin/validation.py | 379 -
.../django/django/contrib/admin/views/__init__.py | 0
.../django/contrib/admin/views/decorators.py | 73 -
parts/django/django/contrib/admin/views/main.py | 251 -
parts/django/django/contrib/admin/widgets.py | 293 -
parts/django/django/contrib/admindocs/__init__.py | 0
parts/django/django/contrib/admindocs/models.py | 1 -
.../templates/admin_doc/bookmarklets.html | 31 -
.../admindocs/templates/admin_doc/index.html | 28 -
.../templates/admin_doc/missing_docutils.html | 16 -
.../templates/admin_doc/model_detail.html | 46 -
.../admindocs/templates/admin_doc/model_index.html | 44 -
.../templates/admin_doc/template_detail.html | 21 -
.../templates/admin_doc/template_filter_index.html | 47 -
.../templates/admin_doc/template_tag_index.html | 47 -
.../admindocs/templates/admin_doc/view_detail.html | 25 -
.../admindocs/templates/admin_doc/view_index.html | 43 -
.../django/contrib/admindocs/tests/__init__.py | 30 -
.../django/contrib/admindocs/tests/fields.py | 7 -
parts/django/django/contrib/admindocs/urls.py | 41 -
parts/django/django/contrib/admindocs/utils.py | 105 -
parts/django/django/contrib/admindocs/views.py | 387 -
parts/django/django/contrib/auth/__init__.py | 105 -
parts/django/django/contrib/auth/admin.py | 153 -
parts/django/django/contrib/auth/backends.py | 121 -
.../django/contrib/auth/context_processors.py | 33 -
.../django/django/contrib/auth/create_superuser.py | 8 -
parts/django/django/contrib/auth/decorators.py | 52 -
.../django/contrib/auth/fixtures/authtestdata.json | 56 -
parts/django/django/contrib/auth/forms.py | 214 -
.../django/contrib/auth/handlers/__init__.py | 0
.../django/contrib/auth/handlers/modpython.py | 56 -
.../django/contrib/auth/management/__init__.py | 50 -
.../contrib/auth/management/commands/__init__.py | 0
.../auth/management/commands/changepassword.py | 48 -
.../auth/management/commands/createsuperuser.py | 136 -
parts/django/django/contrib/auth/middleware.py | 81 -
parts/django/django/contrib/auth/models.py | 474 --
parts/django/django/contrib/auth/tests/__init__.py | 12 -
.../django/contrib/auth/tests/auth_backends.py | 268 -
parts/django/django/contrib/auth/tests/basic.py | 92 -
.../django/django/contrib/auth/tests/decorators.py | 25 -
parts/django/django/contrib/auth/tests/forms.py | 252 -
parts/django/django/contrib/auth/tests/models.py | 35 -
.../django/contrib/auth/tests/remote_user.py | 170 -
.../tests/templates/registration/logged_out.html | 1 -
.../auth/tests/templates/registration/login.html | 1 -
.../registration/password_change_form.html | 1 -
.../registration/password_reset_complete.html | 1 -
.../registration/password_reset_confirm.html | 5 -
.../registration/password_reset_done.html | 1 -
.../registration/password_reset_email.html | 1 -
.../registration/password_reset_form.html | 1 -
parts/django/django/contrib/auth/tests/tokens.py | 63 -
parts/django/django/contrib/auth/tests/urls.py | 18 -
parts/django/django/contrib/auth/tests/views.py | 286 -
parts/django/django/contrib/auth/tokens.py | 66 -
parts/django/django/contrib/auth/urls.py | 17 -
parts/django/django/contrib/auth/views.py | 188 -
parts/django/django/contrib/comments/__init__.py | 91 -
parts/django/django/contrib/comments/admin.py | 73 -
parts/django/django/contrib/comments/feeds.py | 38 -
parts/django/django/contrib/comments/forms.py | 190 -
parts/django/django/contrib/comments/managers.py | 22 -
parts/django/django/contrib/comments/models.py | 191 -
parts/django/django/contrib/comments/moderation.py | 353 -
parts/django/django/contrib/comments/signals.py | 21 -
.../comments/templates/comments/400-debug.html | 53 -
.../comments/templates/comments/approve.html | 15 -
.../comments/templates/comments/approved.html | 8 -
.../contrib/comments/templates/comments/base.html | 10 -
.../comments/templates/comments/delete.html | 15 -
.../comments/templates/comments/deleted.html | 8 -
.../contrib/comments/templates/comments/flag.html | 15 -
.../comments/templates/comments/flagged.html | 8 -
.../contrib/comments/templates/comments/form.html | 20 -
.../contrib/comments/templates/comments/list.html | 10 -
.../comments/templates/comments/posted.html | 8 -
.../comments/templates/comments/preview.html | 36 -
.../contrib/comments/templatetags/__init__.py | 0
.../contrib/comments/templatetags/comments.py | 333 -
parts/django/django/contrib/comments/urls.py | 16 -
.../django/contrib/comments/views/__init__.py | 0
.../django/contrib/comments/views/comments.py | 136 -
.../django/contrib/comments/views/moderation.py | 159 -
.../django/django/contrib/comments/views/utils.py | 58 -
.../django/django/contrib/contenttypes/__init__.py | 0
.../django/django/contrib/contenttypes/generic.py | 409 -
.../django/contrib/contenttypes/management.py | 60 -
parts/django/django/contrib/contenttypes/models.py | 105 -
parts/django/django/contrib/contenttypes/tests.py | 69 -
parts/django/django/contrib/contenttypes/views.py | 71 -
parts/django/django/contrib/csrf/__init__.py | 0
parts/django/django/contrib/csrf/middleware.py | 7 -
parts/django/django/contrib/databrowse/__init__.py | 1 -
.../django/contrib/databrowse/datastructures.py | 215 -
.../django/contrib/databrowse/plugins/__init__.py | 0
.../django/contrib/databrowse/plugins/calendars.py | 86 -
.../contrib/databrowse/plugins/fieldchoices.py | 74 -
.../django/contrib/databrowse/plugins/objects.py | 14 -
parts/django/django/contrib/databrowse/sites.py | 149 -
.../databrowse/templates/databrowse/base.html | 61 -
.../databrowse/templates/databrowse/base_site.html | 1 -
.../templates/databrowse/calendar_day.html | 17 -
.../templates/databrowse/calendar_homepage.html | 17 -
.../templates/databrowse/calendar_main.html | 17 -
.../templates/databrowse/calendar_month.html | 17 -
.../templates/databrowse/calendar_year.html | 17 -
.../templates/databrowse/choice_detail.html | 17 -
.../templates/databrowse/choice_list.html | 17 -
.../templates/databrowse/fieldchoice_detail.html | 17 -
.../templates/databrowse/fieldchoice_homepage.html | 17 -
.../templates/databrowse/fieldchoice_list.html | 17 -
.../databrowse/templates/databrowse/homepage.html | 21 -
.../templates/databrowse/model_detail.html | 19 -
.../templates/databrowse/object_detail.html | 41 -
parts/django/django/contrib/databrowse/urls.py | 20 -
parts/django/django/contrib/databrowse/views.py | 19 -
parts/django/django/contrib/flatpages/__init__.py | 0
parts/django/django/contrib/flatpages/admin.py | 28 -
.../flatpages/fixtures/sample_flatpages.json | 32 -
.../django/django/contrib/flatpages/middleware.py | 18 -
parts/django/django/contrib/flatpages/models.py | 26 -
.../django/contrib/flatpages/tests/__init__.py | 3 -
.../django/django/contrib/flatpages/tests/csrf.py | 73 -
.../django/contrib/flatpages/tests/middleware.py | 59 -
.../contrib/flatpages/tests/templates/404.html | 1 -
.../tests/templates/flatpages/default.html | 2 -
.../tests/templates/registration/login.html | 0
.../django/django/contrib/flatpages/tests/urls.py | 8 -
.../django/django/contrib/flatpages/tests/views.py | 53 -
parts/django/django/contrib/flatpages/urls.py | 5 -
parts/django/django/contrib/flatpages/views.py | 64 -
parts/django/django/contrib/formtools/__init__.py | 0
parts/django/django/contrib/formtools/models.py | 1 -
parts/django/django/contrib/formtools/preview.py | 127 -
.../formtools/templates/formtools/form.html | 15 -
.../formtools/templates/formtools/preview.html | 36 -
parts/django/django/contrib/formtools/test_urls.py | 10 -
parts/django/django/contrib/formtools/tests.py | 216 -
parts/django/django/contrib/formtools/utils.py | 39 -
parts/django/django/contrib/formtools/wizard.py | 262 -
parts/django/django/contrib/gis/__init__.py | 0
parts/django/django/contrib/gis/admin/__init__.py | 12 -
parts/django/django/contrib/gis/admin/options.py | 124 -
parts/django/django/contrib/gis/admin/widgets.py | 107 -
parts/django/django/contrib/gis/db/__init__.py | 0
.../django/contrib/gis/db/backend/__init__.py | 11 -
.../django/contrib/gis/db/backends/__init__.py | 0
.../django/contrib/gis/db/backends/adapter.py | 17 -
.../django/django/contrib/gis/db/backends/base.py | 336 -
.../contrib/gis/db/backends/mysql/__init__.py | 0
.../django/contrib/gis/db/backends/mysql/base.py | 13 -
.../contrib/gis/db/backends/mysql/creation.py | 18 -
.../contrib/gis/db/backends/mysql/introspection.py | 32 -
.../contrib/gis/db/backends/mysql/operations.py | 65 -
.../contrib/gis/db/backends/oracle/__init__.py | 0
.../contrib/gis/db/backends/oracle/adapter.py | 5 -
.../django/contrib/gis/db/backends/oracle/base.py | 12 -
.../contrib/gis/db/backends/oracle/compiler.py | 44 -
.../contrib/gis/db/backends/oracle/creation.py | 42 -
.../gis/db/backends/oracle/introspection.py | 39 -
.../contrib/gis/db/backends/oracle/models.py | 65 -
.../contrib/gis/db/backends/oracle/operations.py | 293 -
.../contrib/gis/db/backends/postgis/__init__.py | 0
.../contrib/gis/db/backends/postgis/adapter.py | 35 -
.../django/contrib/gis/db/backends/postgis/base.py | 12 -
.../contrib/gis/db/backends/postgis/creation.py | 60 -
.../gis/db/backends/postgis/introspection.py | 95 -
.../contrib/gis/db/backends/postgis/models.py | 66 -
.../contrib/gis/db/backends/postgis/operations.py | 589 --
.../contrib/gis/db/backends/spatialite/__init__.py | 0
.../contrib/gis/db/backends/spatialite/adapter.py | 8 -
.../contrib/gis/db/backends/spatialite/base.py | 77 -
.../contrib/gis/db/backends/spatialite/client.py | 5 -
.../contrib/gis/db/backends/spatialite/creation.py | 96 -
.../gis/db/backends/spatialite/introspection.py | 51 -
.../contrib/gis/db/backends/spatialite/models.py | 60 -
.../gis/db/backends/spatialite/operations.py | 343 -
.../django/django/contrib/gis/db/backends/util.py | 56 -
.../django/contrib/gis/db/models/__init__.py | 14 -
.../django/contrib/gis/db/models/aggregates.py | 17 -
.../django/django/contrib/gis/db/models/fields.py | 294 -
.../django/django/contrib/gis/db/models/manager.py | 103 -
parts/django/django/contrib/gis/db/models/proxy.py | 64 -
parts/django/django/contrib/gis/db/models/query.py | 777 --
.../django/contrib/gis/db/models/sql/__init__.py | 3 -
.../django/contrib/gis/db/models/sql/aggregates.py | 61 -
.../django/contrib/gis/db/models/sql/compiler.py | 278 -
.../django/contrib/gis/db/models/sql/conversion.py | 27 -
.../django/contrib/gis/db/models/sql/query.py | 119 -
.../django/contrib/gis/db/models/sql/where.py | 89 -
parts/django/django/contrib/gis/feeds.py | 135 -
parts/django/django/contrib/gis/forms/__init__.py | 2 -
parts/django/django/contrib/gis/forms/fields.py | 67 -
parts/django/django/contrib/gis/gdal/LICENSE | 28 -
parts/django/django/contrib/gis/gdal/__init__.py | 54 -
parts/django/django/contrib/gis/gdal/base.py | 35 -
parts/django/django/contrib/gis/gdal/datasource.py | 128 -
parts/django/django/contrib/gis/gdal/driver.py | 65 -
parts/django/django/contrib/gis/gdal/envelope.py | 175 -
parts/django/django/contrib/gis/gdal/error.py | 42 -
parts/django/django/contrib/gis/gdal/feature.py | 110 -
parts/django/django/contrib/gis/gdal/field.py | 178 -
parts/django/django/contrib/gis/gdal/geometries.py | 737 --
parts/django/django/contrib/gis/gdal/geomtype.py | 85 -
parts/django/django/contrib/gis/gdal/layer.py | 212 -
parts/django/django/contrib/gis/gdal/libgdal.py | 104 -
.../django/contrib/gis/gdal/prototypes/__init__.py | 0
.../django/contrib/gis/gdal/prototypes/ds.py | 71 -
.../django/contrib/gis/gdal/prototypes/errcheck.py | 127 -
.../contrib/gis/gdal/prototypes/generation.py | 119 -
.../django/contrib/gis/gdal/prototypes/geom.py | 106 -
.../django/contrib/gis/gdal/prototypes/srs.py | 72 -
parts/django/django/contrib/gis/gdal/srs.py | 337 -
.../django/contrib/gis/gdal/tests/__init__.py | 25 -
.../django/contrib/gis/gdal/tests/test_driver.py | 40 -
.../django/contrib/gis/gdal/tests/test_ds.py | 226 -
.../django/contrib/gis/gdal/tests/test_envelope.py | 94 -
.../django/contrib/gis/gdal/tests/test_geom.py | 490 --
.../django/contrib/gis/gdal/tests/test_srs.py | 169 -
.../django/django/contrib/gis/geometry/__init__.py | 0
.../contrib/gis/geometry/backend/__init__.py | 21 -
.../django/contrib/gis/geometry/backend/geos.py | 3 -
parts/django/django/contrib/gis/geometry/regex.py | 12 -
.../django/contrib/gis/geometry/test_data.py | 105 -
parts/django/django/contrib/gis/geos/LICENSE | 27 -
parts/django/django/contrib/gis/geos/__init__.py | 14 -
parts/django/django/contrib/gis/geos/base.py | 52 -
.../django/django/contrib/gis/geos/collections.py | 123 -
parts/django/django/contrib/gis/geos/coordseq.py | 156 -
parts/django/django/contrib/gis/geos/error.py | 20 -
parts/django/django/contrib/gis/geos/factory.py | 23 -
parts/django/django/contrib/gis/geos/geometry.py | 661 --
parts/django/django/contrib/gis/geos/io.py | 20 -
parts/django/django/contrib/gis/geos/libgeos.py | 141 -
parts/django/django/contrib/gis/geos/linestring.py | 152 -
.../django/django/contrib/gis/geos/mutable_list.py | 309 -
parts/django/django/contrib/gis/geos/point.py | 135 -
parts/django/django/contrib/gis/geos/polygon.py | 166 -
parts/django/django/contrib/gis/geos/prepared.py | 30 -
.../django/contrib/gis/geos/prototypes/__init__.py | 30 -
.../django/contrib/gis/geos/prototypes/coordseq.py | 83 -
.../django/contrib/gis/geos/prototypes/errcheck.py | 95 -
.../django/contrib/gis/geos/prototypes/geom.py | 119 -
.../django/contrib/gis/geos/prototypes/io.py | 242 -
.../django/contrib/gis/geos/prototypes/misc.py | 28 -
.../contrib/gis/geos/prototypes/predicates.py | 44 -
.../django/contrib/gis/geos/prototypes/prepared.py | 25 -
.../contrib/gis/geos/prototypes/threadsafe.py | 90 -
.../django/contrib/gis/geos/prototypes/topology.py | 51 -
.../django/contrib/gis/geos/tests/__init__.py | 25 -
.../django/contrib/gis/geos/tests/test_geos.py | 926 ---
.../contrib/gis/geos/tests/test_geos_mutation.py | 137 -
.../django/contrib/gis/geos/tests/test_io.py | 112 -
.../contrib/gis/geos/tests/test_mutable_list.py | 398 -
.../django/contrib/gis/management/__init__.py | 0
parts/django/django/contrib/gis/management/base.py | 15 -
.../contrib/gis/management/commands/__init__.py | 0
.../contrib/gis/management/commands/inspectdb.py | 32 -
.../contrib/gis/management/commands/ogrinspect.py | 122 -
parts/django/django/contrib/gis/maps/__init__.py | 0
.../django/contrib/gis/maps/google/__init__.py | 61 -
.../django/django/contrib/gis/maps/google/gmap.py | 226 -
.../django/contrib/gis/maps/google/overlays.py | 301 -
.../django/django/contrib/gis/maps/google/zoom.py | 161 -
.../django/contrib/gis/maps/openlayers/__init__.py | 0
parts/django/django/contrib/gis/measure.py | 336 -
parts/django/django/contrib/gis/models.py | 9 -
parts/django/django/contrib/gis/shortcuts.py | 32 -
.../django/django/contrib/gis/sitemaps/__init__.py | 4 -
parts/django/django/contrib/gis/sitemaps/georss.py | 53 -
parts/django/django/contrib/gis/sitemaps/kml.py | 63 -
parts/django/django/contrib/gis/sitemaps/views.py | 111 -
.../gis/templates/gis/admin/openlayers.html | 37 -
.../contrib/gis/templates/gis/admin/openlayers.js | 167 -
.../contrib/gis/templates/gis/admin/osm.html | 2 -
.../django/contrib/gis/templates/gis/admin/osm.js | 2 -
.../gis/templates/gis/google/google-map.html | 12 -
.../contrib/gis/templates/gis/google/google-map.js | 35 -
.../gis/templates/gis/google/google-multi.js | 8 -
.../gis/templates/gis/google/google-single.js | 2 -
.../django/contrib/gis/templates/gis/kml/base.kml | 6 -
.../contrib/gis/templates/gis/kml/placemarks.kml | 8 -
.../gis/templates/gis/sitemaps/geo_sitemap.xml | 17 -
parts/django/django/contrib/gis/tests/__init__.py | 141 -
.../contrib/gis/tests/data/cities/cities.dbf | Bin 533 -> 0 bytes
.../contrib/gis/tests/data/cities/cities.prj | 1 -
.../contrib/gis/tests/data/cities/cities.shp | Bin 184 -> 0 bytes
.../contrib/gis/tests/data/cities/cities.shx | Bin 124 -> 0 bytes
.../contrib/gis/tests/data/counties/counties.dbf | Bin 3961 -> 0 bytes
.../contrib/gis/tests/data/counties/counties.shp | Bin 37364 -> 0 bytes
.../contrib/gis/tests/data/counties/counties.shx | Bin 292 -> 0 bytes
.../contrib/gis/tests/data/geometries.json.gz | Bin 9100 -> 0 bytes
.../gis/tests/data/interstates/interstates.dbf | Bin 412 -> 0 bytes
.../gis/tests/data/interstates/interstates.prj | 1 -
.../gis/tests/data/interstates/interstates.shp | Bin 892 -> 0 bytes
.../gis/tests/data/interstates/interstates.shx | Bin 124 -> 0 bytes
.../gis/tests/data/test_point/test_point.dbf | Bin 749 -> 0 bytes
.../gis/tests/data/test_point/test_point.prj | 1 -
.../gis/tests/data/test_point/test_point.shp | Bin 240 -> 0 bytes
.../gis/tests/data/test_point/test_point.shx | Bin 140 -> 0 bytes
.../contrib/gis/tests/data/test_poly/test_poly.dbf | Bin 501 -> 0 bytes
.../contrib/gis/tests/data/test_poly/test_poly.prj | 1 -
.../contrib/gis/tests/data/test_poly/test_poly.shp | Bin 620 -> 0 bytes
.../contrib/gis/tests/data/test_poly/test_poly.shx | Bin 124 -> 0 bytes
.../contrib/gis/tests/data/test_vrt/test_vrt.csv | 4 -
.../contrib/gis/tests/data/test_vrt/test_vrt.vrt | 7 -
.../django/contrib/gis/tests/distapp/__init__.py | 0
.../django/contrib/gis/tests/distapp/models.py | 50 -
.../django/contrib/gis/tests/distapp/tests.py | 358 -
.../django/contrib/gis/tests/geo3d/__init__.py | 0
.../django/contrib/gis/tests/geo3d/models.py | 69 -
.../django/django/contrib/gis/tests/geo3d/tests.py | 231 -
.../django/django/contrib/gis/tests/geo3d/views.py | 1 -
.../django/contrib/gis/tests/geoapp/__init__.py | 0
.../django/contrib/gis/tests/geoapp/feeds.py | 63 -
.../gis/tests/geoapp/fixtures/initial_data.json.gz | Bin 131252 -> 0 bytes
.../django/contrib/gis/tests/geoapp/models.py | 45 -
.../django/contrib/gis/tests/geoapp/sitemaps.py | 8 -
.../django/contrib/gis/tests/geoapp/test_feeds.py | 78 -
.../contrib/gis/tests/geoapp/test_regress.py | 37 -
.../contrib/gis/tests/geoapp/test_sitemaps.py | 86 -
.../django/contrib/gis/tests/geoapp/tests.py | 735 --
.../django/django/contrib/gis/tests/geoapp/urls.py | 14 -
.../django/contrib/gis/tests/geogapp/__init__.py | 0
.../gis/tests/geogapp/fixtures/initial_data.json | 98 -
.../django/contrib/gis/tests/geogapp/models.py | 20 -
.../django/contrib/gis/tests/geogapp/tests.py | 87 -
.../django/contrib/gis/tests/layermap/__init__.py | 0
.../django/contrib/gis/tests/layermap/models.py | 66 -
.../django/contrib/gis/tests/layermap/tests.py | 268 -
.../contrib/gis/tests/relatedapp/__init__.py | 0
.../django/contrib/gis/tests/relatedapp/models.py | 49 -
.../django/contrib/gis/tests/relatedapp/tests.py | 284 -
.../django/contrib/gis/tests/test_geoforms.py | 65 -
.../django/django/contrib/gis/tests/test_geoip.py | 103 -
.../django/contrib/gis/tests/test_measure.py | 336 -
.../django/contrib/gis/tests/test_spatialrefsys.py | 113 -
parts/django/django/contrib/gis/tests/utils.py | 26 -
parts/django/django/contrib/gis/utils/__init__.py | 25 -
parts/django/django/contrib/gis/utils/geoip.py | 361 -
.../django/contrib/gis/utils/layermapping.py | 602 --
parts/django/django/contrib/gis/utils/ogrinfo.py | 53 -
.../django/django/contrib/gis/utils/ogrinspect.py | 225 -
parts/django/django/contrib/gis/utils/srs.py | 77 -
parts/django/django/contrib/gis/utils/wkt.py | 55 -
parts/django/django/contrib/humanize/__init__.py | 0
.../contrib/humanize/templatetags/__init__.py | 0
.../contrib/humanize/templatetags/humanize.py | 102 -
.../django/django/contrib/localflavor/__init__.py | 0
.../django/contrib/localflavor/ar/__init__.py | 0
.../django/contrib/localflavor/ar/ar_provinces.py | 36 -
.../django/django/contrib/localflavor/ar/forms.py | 115 -
.../django/contrib/localflavor/at/__init__.py | 0
.../django/contrib/localflavor/at/at_states.py | 14 -
.../django/django/contrib/localflavor/at/forms.py | 69 -
.../django/contrib/localflavor/au/__init__.py | 0
.../django/contrib/localflavor/au/au_states.py | 17 -
.../django/django/contrib/localflavor/au/forms.py | 50 -
.../django/contrib/localflavor/br/__init__.py | 0
.../django/contrib/localflavor/br/br_states.py | 37 -
.../django/django/contrib/localflavor/br/forms.py | 163 -
.../django/contrib/localflavor/ca/__init__.py | 0
.../django/contrib/localflavor/ca/ca_provinces.py | 59 -
.../django/django/contrib/localflavor/ca/forms.py | 134 -
.../django/contrib/localflavor/ch/__init__.py | 0
.../django/contrib/localflavor/ch/ch_states.py | 31 -
.../django/django/contrib/localflavor/ch/forms.py | 119 -
.../django/contrib/localflavor/cl/__init__.py | 0
.../django/contrib/localflavor/cl/cl_regions.py | 25 -
.../django/django/contrib/localflavor/cl/forms.py | 95 -
.../django/contrib/localflavor/cz/__init__.py | 0
.../django/contrib/localflavor/cz/cz_regions.py | 22 -
.../django/django/contrib/localflavor/cz/forms.py | 141 -
.../django/contrib/localflavor/de/__init__.py | 0
.../django/contrib/localflavor/de/de_states.py | 21 -
.../django/django/contrib/localflavor/de/forms.py | 84 -
.../django/contrib/localflavor/es/__init__.py | 0
.../django/contrib/localflavor/es/es_provinces.py | 58 -
.../django/contrib/localflavor/es/es_regions.py | 23 -
.../django/django/contrib/localflavor/es/forms.py | 185 -
.../django/contrib/localflavor/fi/__init__.py | 0
.../contrib/localflavor/fi/fi_municipalities.py | 353 -
.../django/django/contrib/localflavor/fi/forms.py | 51 -
.../django/contrib/localflavor/fr/__init__.py | 0
.../django/django/contrib/localflavor/fr/forms.py | 51 -
.../django/contrib/localflavor/fr/fr_department.py | 110 -
.../django/contrib/localflavor/generic/__init__.py | 0
.../django/contrib/localflavor/generic/forms.py | 48 -
.../django/contrib/localflavor/id/__init__.py | 0
.../django/django/contrib/localflavor/id/forms.py | 211 -
.../django/contrib/localflavor/id/id_choices.py | 101 -
.../django/contrib/localflavor/ie/__init__.py | 0
.../django/django/contrib/localflavor/ie/forms.py | 13 -
.../django/contrib/localflavor/ie/ie_counties.py | 40 -
.../django/contrib/localflavor/in_/__init__.py | 0
.../django/django/contrib/localflavor/in_/forms.py | 56 -
.../django/contrib/localflavor/in_/in_states.py | 84 -
.../django/contrib/localflavor/is_/__init__.py | 0
.../django/django/contrib/localflavor/is_/forms.py | 83 -
.../contrib/localflavor/is_/is_postalcodes.py | 151 -
.../django/contrib/localflavor/it/__init__.py | 0
.../django/django/contrib/localflavor/it/forms.py | 84 -
.../django/contrib/localflavor/it/it_province.py | 114 -
.../django/contrib/localflavor/it/it_region.py | 24 -
parts/django/django/contrib/localflavor/it/util.py | 44 -
.../django/contrib/localflavor/jp/__init__.py | 0
.../django/django/contrib/localflavor/jp/forms.py | 37 -
.../contrib/localflavor/jp/jp_prefectures.py | 51 -
.../django/contrib/localflavor/kw/__init__.py | 0
.../django/django/contrib/localflavor/kw/forms.py | 63 -
.../django/contrib/localflavor/mx/__init__.py | 0
.../django/django/contrib/localflavor/mx/forms.py | 14 -
.../django/contrib/localflavor/mx/mx_states.py | 45 -
.../django/contrib/localflavor/nl/__init__.py | 0
.../django/django/contrib/localflavor/nl/forms.py | 101 -
.../django/contrib/localflavor/nl/nl_provinces.py | 16 -
.../django/contrib/localflavor/no/__init__.py | 0
.../django/django/contrib/localflavor/no/forms.py | 82 -
.../contrib/localflavor/no/no_municipalities.py | 32 -
.../django/contrib/localflavor/pe/__init__.py | 0
.../django/django/contrib/localflavor/pe/forms.py | 72 -
.../django/contrib/localflavor/pe/pe_region.py | 35 -
.../django/contrib/localflavor/pl/__init__.py | 0
.../django/django/contrib/localflavor/pl/forms.py | 160 -
.../localflavor/pl/pl_administrativeunits.py | 385 -
.../contrib/localflavor/pl/pl_voivodeships.py | 24 -
.../django/contrib/localflavor/pt/__init__.py | 0
.../django/django/contrib/localflavor/pt/forms.py | 48 -
.../django/contrib/localflavor/ro/__init__.py | 0
.../django/django/contrib/localflavor/ro/forms.py | 206 -
.../django/contrib/localflavor/ro/ro_counties.py | 52 -
.../django/contrib/localflavor/se/__init__.py | 0
.../django/django/contrib/localflavor/se/forms.py | 157 -
.../django/contrib/localflavor/se/se_counties.py | 36 -
.../django/django/contrib/localflavor/se/utils.py | 84 -
.../django/contrib/localflavor/sk/__init__.py | 0
.../django/django/contrib/localflavor/sk/forms.py | 43 -
.../django/contrib/localflavor/sk/sk_districts.py | 87 -
.../django/contrib/localflavor/sk/sk_regions.py | 16 -
.../django/contrib/localflavor/uk/__init__.py | 0
.../django/django/contrib/localflavor/uk/forms.py | 53 -
.../django/contrib/localflavor/uk/uk_regions.py | 97 -
.../django/contrib/localflavor/us/__init__.py | 0
.../django/django/contrib/localflavor/us/forms.py | 113 -
.../django/django/contrib/localflavor/us/models.py | 27 -
.../django/contrib/localflavor/us/us_states.py | 234 -
.../django/contrib/localflavor/uy/__init__.py | 0
.../django/django/contrib/localflavor/uy/forms.py | 60 -
parts/django/django/contrib/localflavor/uy/util.py | 12 -
.../contrib/localflavor/uy/uy_departaments.py | 24 -
.../django/contrib/localflavor/za/__init__.py | 0
.../django/django/contrib/localflavor/za/forms.py | 60 -
.../django/contrib/localflavor/za/za_provinces.py | 13 -
parts/django/django/contrib/markup/__init__.py | 0
parts/django/django/contrib/markup/models.py | 0
.../django/contrib/markup/templatetags/__init__.py | 0
.../django/contrib/markup/templatetags/markup.py | 91 -
parts/django/django/contrib/markup/tests.py | 78 -
parts/django/django/contrib/messages/__init__.py | 2 -
parts/django/django/contrib/messages/api.py | 114 -
parts/django/django/contrib/messages/constants.py | 13 -
.../django/contrib/messages/context_processors.py | 8 -
parts/django/django/contrib/messages/middleware.py | 26 -
parts/django/django/contrib/messages/models.py | 1 -
.../django/contrib/messages/storage/__init__.py | 31 -
.../django/django/contrib/messages/storage/base.py | 181 -
.../django/contrib/messages/storage/cookie.py | 152 -
.../django/contrib/messages/storage/fallback.py | 54 -
.../django/contrib/messages/storage/session.py | 33 -
.../contrib/messages/storage/user_messages.py | 64 -
.../django/contrib/messages/tests/__init__.py | 6 -
parts/django/django/contrib/messages/tests/base.py | 402 -
.../django/django/contrib/messages/tests/cookie.py | 106 -
.../django/contrib/messages/tests/fallback.py | 175 -
.../django/contrib/messages/tests/middleware.py | 18 -
.../django/contrib/messages/tests/session.py | 38 -
parts/django/django/contrib/messages/tests/urls.py | 39 -
.../django/contrib/messages/tests/user_messages.py | 65 -
parts/django/django/contrib/messages/utils.py | 11 -
parts/django/django/contrib/redirects/__init__.py | 0
parts/django/django/contrib/redirects/admin.py | 11 -
.../django/django/contrib/redirects/middleware.py | 27 -
parts/django/django/contrib/redirects/models.py | 20 -
parts/django/django/contrib/sessions/__init__.py | 0
.../django/contrib/sessions/backends/__init__.py | 0
.../django/contrib/sessions/backends/base.py | 287 -
.../django/contrib/sessions/backends/cache.py | 56 -
.../django/contrib/sessions/backends/cached_db.py | 42 -
.../django/django/contrib/sessions/backends/db.py | 78 -
.../django/contrib/sessions/backends/file.py | 147 -
parts/django/django/contrib/sessions/middleware.py | 42 -
parts/django/django/contrib/sessions/models.py | 67 -
parts/django/django/contrib/sessions/tests.py | 388 -
parts/django/django/contrib/sitemaps/__init__.py | 109 -
.../django/contrib/sitemaps/management/__init__.py | 0
.../sitemaps/management/commands/__init__.py | 0
.../sitemaps/management/commands/ping_google.py | 14 -
parts/django/django/contrib/sitemaps/models.py | 1 -
.../django/contrib/sitemaps/templates/sitemap.xml | 13 -
.../contrib/sitemaps/templates/sitemap_index.xml | 4 -
.../django/contrib/sitemaps/tests/__init__.py | 1 -
.../django/django/contrib/sitemaps/tests/basic.py | 126 -
parts/django/django/contrib/sitemaps/tests/urls.py | 33 -
parts/django/django/contrib/sitemaps/views.py | 47 -
parts/django/django/contrib/sites/__init__.py | 0
parts/django/django/contrib/sites/admin.py | 9 -
parts/django/django/contrib/sites/management.py | 17 -
parts/django/django/contrib/sites/managers.py | 41 -
parts/django/django/contrib/sites/models.py | 95 -
parts/django/django/contrib/sites/tests.py | 56 -
.../django/django/contrib/syndication/__init__.py | 0
parts/django/django/contrib/syndication/feeds.py | 38 -
parts/django/django/contrib/syndication/views.py | 217 -
parts/django/django/contrib/webdesign/__init__.py | 0
.../django/django/contrib/webdesign/lorem_ipsum.py | 101 -
parts/django/django/contrib/webdesign/models.py | 0
.../contrib/webdesign/templatetags/__init__.py | 0
.../contrib/webdesign/templatetags/webdesign.py | 67 -
parts/django/django/contrib/webdesign/tests.py | 21 -
parts/django/django/core/__init__.py | 0
parts/django/django/core/cache/__init__.py | 79 -
.../django/django/core/cache/backends/__init__.py | 0
parts/django/django/core/cache/backends/base.py | 144 -
parts/django/django/core/cache/backends/db.py | 145 -
parts/django/django/core/cache/backends/dummy.py | 37 -
.../django/django/core/cache/backends/filebased.py | 171 -
parts/django/django/core/cache/backends/locmem.py | 143 -
.../django/django/core/cache/backends/memcached.py | 104 -
parts/django/django/core/context_processors.py | 104 -
parts/django/django/core/exceptions.py | 87 -
parts/django/django/core/files/__init__.py | 1 -
parts/django/django/core/files/base.py | 134 -
parts/django/django/core/files/images.py | 62 -
parts/django/django/core/files/locks.py | 70 -
parts/django/django/core/files/move.py | 88 -
parts/django/django/core/files/storage.py | 244 -
parts/django/django/core/files/temp.py | 56 -
parts/django/django/core/files/uploadedfile.py | 128 -
parts/django/django/core/files/uploadhandler.py | 215 -
parts/django/django/core/files/utils.py | 29 -
parts/django/django/core/handlers/__init__.py | 0
parts/django/django/core/handlers/base.py | 220 -
parts/django/django/core/handlers/modpython.py | 228 -
.../django/core/handlers/profiler-hotshot.py | 22 -
parts/django/django/core/handlers/wsgi.py | 260 -
parts/django/django/core/mail/__init__.py | 111 -
parts/django/django/core/mail/backends/__init__.py | 1 -
parts/django/django/core/mail/backends/base.py | 39 -
parts/django/django/core/mail/backends/console.py | 37 -
parts/django/django/core/mail/backends/dummy.py | 9 -
.../django/django/core/mail/backends/filebased.py | 59 -
parts/django/django/core/mail/backends/locmem.py | 24 -
parts/django/django/core/mail/backends/smtp.py | 112 -
parts/django/django/core/mail/message.py | 289 -
parts/django/django/core/mail/utils.py | 19 -
parts/django/django/core/management/__init__.py | 438 --
parts/django/django/core/management/base.py | 431 -
parts/django/django/core/management/color.py | 50 -
.../django/core/management/commands/__init__.py | 0
.../django/core/management/commands/cleanup.py | 11 -
.../core/management/commands/compilemessages.py | 63 -
.../core/management/commands/createcachetable.py | 53 -
.../django/core/management/commands/dbshell.py | 28 -
.../core/management/commands/diffsettings.py | 32 -
.../django/core/management/commands/dumpdata.py | 167 -
.../django/core/management/commands/flush.py | 83 -
.../django/core/management/commands/inspectdb.py | 164 -
.../django/core/management/commands/loaddata.py | 243 -
.../core/management/commands/makemessages.py | 321 -
.../django/core/management/commands/reset.py | 57 -
.../django/core/management/commands/runfcgi.py | 20 -
.../django/core/management/commands/runserver.py | 84 -
.../django/core/management/commands/shell.py | 69 -
.../django/django/core/management/commands/sql.py | 19 -
.../django/core/management/commands/sqlall.py | 19 -
.../django/core/management/commands/sqlclear.py | 19 -
.../django/core/management/commands/sqlcustom.py | 19 -
.../django/core/management/commands/sqlflush.py | 19 -
.../django/core/management/commands/sqlindexes.py | 20 -
.../core/management/commands/sqlinitialdata.py | 7 -
.../django/core/management/commands/sqlreset.py | 20 -
.../core/management/commands/sqlsequencereset.py | 20 -
.../django/core/management/commands/startapp.py | 47 -
.../core/management/commands/startproject.py | 39 -
.../django/core/management/commands/syncdb.py | 152 -
.../django/django/core/management/commands/test.py | 40 -
.../django/core/management/commands/testserver.py | 33 -
.../django/core/management/commands/validate.py | 9 -
parts/django/django/core/management/sql.py | 182 -
parts/django/django/core/management/validation.py | 293 -
parts/django/django/core/paginator.py | 120 -
parts/django/django/core/serializers/__init__.py | 113 -
parts/django/django/core/serializers/base.py | 172 -
parts/django/django/core/serializers/json.py | 65 -
parts/django/django/core/serializers/python.py | 142 -
parts/django/django/core/serializers/pyyaml.py | 59 -
.../django/core/serializers/xml_serializer.py | 297 -
parts/django/django/core/servers/__init__.py | 0
parts/django/django/core/servers/basehttp.py | 721 --
parts/django/django/core/servers/fastcgi.py | 183 -
parts/django/django/core/signals.py | 5 -
parts/django/django/core/template_loader.py | 7 -
parts/django/django/core/urlresolvers.py | 396 -
parts/django/django/core/validators.py | 172 -
parts/django/django/core/xheaders.py | 24 -
parts/django/django/db/__init__.py | 103 -
parts/django/django/db/backends/__init__.py | 592 --
parts/django/django/db/backends/creation.py | 456 --
parts/django/django/db/backends/dummy/__init__.py | 0
parts/django/django/db/backends/dummy/base.py | 56 -
parts/django/django/db/backends/mysql/__init__.py | 0
parts/django/django/db/backends/mysql/base.py | 318 -
parts/django/django/db/backends/mysql/client.py | 40 -
parts/django/django/db/backends/mysql/compiler.py | 27 -
parts/django/django/db/backends/mysql/creation.py | 65 -
.../django/db/backends/mysql/introspection.py | 98 -
.../django/django/db/backends/mysql/validation.py | 26 -
parts/django/django/db/backends/oracle/__init__.py | 0
parts/django/django/db/backends/oracle/base.py | 711 --
parts/django/django/db/backends/oracle/client.py | 16 -
parts/django/django/db/backends/oracle/compiler.py | 66 -
parts/django/django/db/backends/oracle/creation.py | 257 -
.../django/db/backends/oracle/introspection.py | 121 -
.../django/db/backends/postgresql/__init__.py | 0
parts/django/django/db/backends/postgresql/base.py | 179 -
.../django/django/db/backends/postgresql/client.py | 23 -
.../django/db/backends/postgresql/creation.py | 75 -
.../django/db/backends/postgresql/introspection.py | 88 -
.../django/db/backends/postgresql/operations.py | 179 -
.../django/db/backends/postgresql/version.py | 31 -
.../db/backends/postgresql_psycopg2/__init__.py | 0
.../django/db/backends/postgresql_psycopg2/base.py | 198 -
.../backends/postgresql_psycopg2/introspection.py | 21 -
parts/django/django/db/backends/signals.py | 3 -
.../django/django/db/backends/sqlite3/__init__.py | 0
parts/django/django/db/backends/sqlite3/base.py | 247 -
parts/django/django/db/backends/sqlite3/client.py | 16 -
.../django/django/db/backends/sqlite3/creation.py | 70 -
.../django/db/backends/sqlite3/introspection.py | 141 -
parts/django/django/db/backends/util.py | 128 -
parts/django/django/db/models/__init__.py | 33 -
parts/django/django/db/models/aggregates.py | 67 -
parts/django/django/db/models/base.py | 998 ---
parts/django/django/db/models/expressions.py | 113 -
parts/django/django/db/models/fields/__init__.py | 1141 ---
parts/django/django/db/models/fields/files.py | 403 -
parts/django/django/db/models/fields/proxy.py | 17 -
parts/django/django/db/models/fields/related.py | 1165 ---
.../django/django/db/models/fields/subclassing.py | 117 -
parts/django/django/db/models/loading.py | 227 -
parts/django/django/db/models/manager.py | 216 -
parts/django/django/db/models/options.py | 485 --
parts/django/django/db/models/query.py | 1518 ----
parts/django/django/db/models/query_utils.py | 278 -
parts/django/django/db/models/related.py | 50 -
parts/django/django/db/models/signals.py | 16 -
parts/django/django/db/models/sql/__init__.py | 7 -
parts/django/django/db/models/sql/aggregates.py | 128 -
parts/django/django/db/models/sql/compiler.py | 979 ---
parts/django/django/db/models/sql/constants.py | 37 -
.../django/django/db/models/sql/datastructures.py | 46 -
parts/django/django/db/models/sql/expressions.py | 87 -
parts/django/django/db/models/sql/query.py | 1860 -----
parts/django/django/db/models/sql/subqueries.py | 212 -
parts/django/django/db/models/sql/where.py | 345 -
parts/django/django/db/transaction.py | 351 -
parts/django/django/db/utils.py | 170 -
parts/django/django/dispatch/__init__.py | 9 -
parts/django/django/dispatch/dispatcher.py | 256 -
parts/django/django/dispatch/license.txt | 36 -
parts/django/django/dispatch/saferef.py | 250 -
parts/django/django/forms/__init__.py | 17 -
parts/django/django/forms/extras/__init__.py | 1 -
parts/django/django/forms/extras/widgets.py | 121 -
parts/django/django/forms/fields.py | 898 ---
parts/django/django/forms/forms.py | 520 --
parts/django/django/forms/formsets.py | 346 -
parts/django/django/forms/models.py | 1046 ---
parts/django/django/forms/util.py | 54 -
parts/django/django/forms/widgets.py | 785 --
parts/django/django/http/__init__.py | 496 --
parts/django/django/http/multipartparser.py | 638 --
parts/django/django/http/utils.py | 84 -
parts/django/django/middleware/__init__.py | 0
parts/django/django/middleware/cache.py | 156 -
parts/django/django/middleware/common.py | 147 -
parts/django/django/middleware/csrf.py | 298 -
parts/django/django/middleware/doc.py | 19 -
parts/django/django/middleware/gzip.py | 38 -
parts/django/django/middleware/http.py | 51 -
parts/django/django/middleware/locale.py | 25 -
parts/django/django/middleware/transaction.py | 27 -
parts/django/django/shortcuts/__init__.py | 104 -
parts/django/django/template/__init__.py | 1052 ---
parts/django/django/template/context.py | 149 -
parts/django/django/template/debug.py | 101 -
parts/django/django/template/defaultfilters.py | 938 ---
parts/django/django/template/defaulttags.py | 1218 ---
parts/django/django/template/loader.py | 198 -
parts/django/django/template/loader_tags.py | 220 -
parts/django/django/template/loaders/__init__.py | 0
.../django/template/loaders/app_directories.py | 74 -
parts/django/django/template/loaders/cached.py | 59 -
parts/django/django/template/loaders/eggs.py | 39 -
parts/django/django/template/loaders/filesystem.py | 61 -
parts/django/django/template/smartif.py | 206 -
parts/django/django/templatetags/__init__.py | 0
parts/django/django/templatetags/cache.py | 63 -
parts/django/django/templatetags/i18n.py | 274 -
parts/django/django/test/__init__.py | 7 -
parts/django/django/test/_doctest.py | 2693 -------
parts/django/django/test/client.py | 499 --
parts/django/django/test/signals.py | 3 -
parts/django/django/test/simple.py | 410 -
parts/django/django/test/testcases.py | 546 --
parts/django/django/test/utils.py | 124 -
parts/django/django/utils/__init__.py | 0
parts/django/django/utils/_os.py | 46 -
parts/django/django/utils/_threading_local.py | 240 -
parts/django/django/utils/autoreload.py | 119 -
parts/django/django/utils/cache.py | 218 -
parts/django/django/utils/checksums.py | 22 -
parts/django/django/utils/copycompat.py | 14 -
parts/django/django/utils/daemonize.py | 58 -
parts/django/django/utils/datastructures.py | 473 --
parts/django/django/utils/dateformat.py | 286 -
parts/django/django/utils/dates.py | 33 -
parts/django/django/utils/datetime_safe.py | 89 -
parts/django/django/utils/decorators.py | 90 -
parts/django/django/utils/encoding.py | 162 -
parts/django/django/utils/feedgenerator.py | 373 -
parts/django/django/utils/formats.py | 147 -
parts/django/django/utils/functional.py | 367 -
parts/django/django/utils/hashcompat.py | 20 -
parts/django/django/utils/html.py | 167 -
parts/django/django/utils/http.py | 124 -
parts/django/django/utils/importlib.py | 36 -
parts/django/django/utils/itercompat.py | 45 -
parts/django/django/utils/module_loading.py | 60 -
parts/django/django/utils/numberformat.py | 48 -
parts/django/django/utils/regex_helper.py | 328 -
parts/django/django/utils/safestring.py | 119 -
parts/django/django/utils/simplejson/LICENSE.txt | 19 -
parts/django/django/utils/simplejson/__init__.py | 349 -
parts/django/django/utils/simplejson/decoder.py | 345 -
parts/django/django/utils/simplejson/encoder.py | 430 -
parts/django/django/utils/simplejson/scanner.py | 65 -
parts/django/django/utils/simplejson/tool.py | 35 -
parts/django/django/utils/stopwords.py | 42 -
parts/django/django/utils/synch.py | 87 -
parts/django/django/utils/termcolors.py | 198 -
parts/django/django/utils/text.py | 282 -
parts/django/django/utils/thread_support.py | 12 -
parts/django/django/utils/timesince.py | 69 -
parts/django/django/utils/translation/__init__.py | 104 -
.../django/django/utils/translation/trans_null.py | 72 -
.../django/django/utils/translation/trans_real.py | 550 --
parts/django/django/utils/tree.py | 153 -
parts/django/django/utils/tzinfo.py | 77 -
parts/django/django/utils/version.py | 42 -
parts/django/django/utils/xmlutils.py | 14 -
parts/django/django/views/__init__.py | 0
parts/django/django/views/csrf.py | 102 -
parts/django/django/views/debug.py | 857 --
parts/django/django/views/decorators/__init__.py | 0
parts/django/django/views/decorators/cache.py | 81 -
parts/django/django/views/decorators/csrf.py | 64 -
parts/django/django/views/decorators/gzip.py | 6 -
parts/django/django/views/decorators/http.py | 143 -
parts/django/django/views/decorators/vary.py | 41 -
parts/django/django/views/defaults.py | 43 -
parts/django/django/views/generic/__init__.py | 3 -
parts/django/django/views/generic/create_update.py | 215 -
parts/django/django/views/generic/date_based.py | 368 -
parts/django/django/views/generic/list_detail.py | 145 -
parts/django/django/views/generic/simple.py | 41 -
parts/django/django/views/i18n.py | 264 -
parts/django/django/views/static.py | 143 -
parts/django/docs/Makefile | 130 -
parts/django/docs/_ext/applyxrefs.py | 88 -
parts/django/docs/_ext/djangodocs.py | 265 -
parts/django/docs/_ext/literals_to_xrefs.py | 171 -
parts/django/docs/_theme/djangodocs/genindex.html | 4 -
parts/django/docs/_theme/djangodocs/layout.html | 124 -
parts/django/docs/_theme/djangodocs/modindex.html | 3 -
parts/django/docs/_theme/djangodocs/search.html | 3 -
.../docs/_theme/djangodocs/static/default.css | 3 -
.../docs/_theme/djangodocs/static/djangodocs.css | 135 -
.../djangodocs/static/docicons-behindscenes.png | Bin 2269 -> 0 bytes
.../_theme/djangodocs/static/docicons-note.png | Bin 1013 -> 0 bytes
.../djangodocs/static/docicons-philosophy.png | Bin 1523 -> 0 bytes
.../docs/_theme/djangodocs/static/homepage.css | 22 -
.../_theme/djangodocs/static/reset-fonts-grids.css | 8 -
parts/django/docs/_theme/djangodocs/theme.conf | 4 -
parts/django/docs/conf.py | 269 -
parts/django/docs/contents.txt | 41 -
parts/django/docs/faq/admin.txt | 96 -
parts/django/docs/faq/contributing.txt | 102 -
parts/django/docs/faq/general.txt | 192 -
parts/django/docs/faq/help.txt | 73 -
parts/django/docs/faq/index.txt | 14 -
parts/django/docs/faq/install.txt | 102 -
parts/django/docs/faq/models.txt | 105 -
parts/django/docs/faq/usage.txt | 77 -
parts/django/docs/glossary.txt | 81 -
parts/django/docs/howto/apache-auth.txt | 120 -
parts/django/docs/howto/auth-remote-user.txt | 100 -
parts/django/docs/howto/custom-file-storage.txt | 90 -
.../docs/howto/custom-management-commands.txt | 253 -
parts/django/docs/howto/custom-model-fields.txt | 745 --
parts/django/docs/howto/custom-template-tags.txt | 939 ---
parts/django/docs/howto/deployment/fastcgi.txt | 400 -
parts/django/docs/howto/deployment/index.txt | 25 -
parts/django/docs/howto/deployment/modpython.txt | 418 -
parts/django/docs/howto/deployment/modwsgi.txt | 118 -
parts/django/docs/howto/error-reporting.txt | 78 -
parts/django/docs/howto/i18n.txt | 103 -
parts/django/docs/howto/index.txt | 34 -
parts/django/docs/howto/initial-data.txt | 142 -
parts/django/docs/howto/jython.txt | 73 -
parts/django/docs/howto/legacy-databases.txt | 66 -
parts/django/docs/howto/outputting-csv.txt | 137 -
parts/django/docs/howto/outputting-pdf.txt | 160 -
parts/django/docs/howto/static-files.txt | 162 -
parts/django/docs/index.txt | 213 -
.../docs/internals/_images/djangotickets.png | Bin 52003 -> 0 bytes
parts/django/docs/internals/committers.txt | 344 -
parts/django/docs/internals/contributing.txt | 1294 ---
parts/django/docs/internals/deprecation.txt | 106 -
parts/django/docs/internals/documentation.txt | 221 -
parts/django/docs/internals/index.txt | 24 -
parts/django/docs/internals/release-process.txt | 205 -
parts/django/docs/internals/svn.txt | 254 -
parts/django/docs/intro/_images/admin01.png | Bin 18233 -> 0 bytes
parts/django/docs/intro/_images/admin02.png | Bin 64260 -> 0 bytes
parts/django/docs/intro/_images/admin02t.png | Bin 24726 -> 0 bytes
parts/django/docs/intro/_images/admin03.png | Bin 75434 -> 0 bytes
parts/django/docs/intro/_images/admin03t.png | Bin 28131 -> 0 bytes
parts/django/docs/intro/_images/admin04.png | Bin 57718 -> 0 bytes
parts/django/docs/intro/_images/admin04t.png | Bin 22806 -> 0 bytes
parts/django/docs/intro/_images/admin05.png | Bin 28875 -> 0 bytes
parts/django/docs/intro/_images/admin05t.png | Bin 22754 -> 0 bytes
parts/django/docs/intro/_images/admin06.png | Bin 22780 -> 0 bytes
parts/django/docs/intro/_images/admin06t.png | Bin 18156 -> 0 bytes
parts/django/docs/intro/_images/admin07.png | Bin 19804 -> 0 bytes
parts/django/docs/intro/_images/admin08.png | Bin 31552 -> 0 bytes
parts/django/docs/intro/_images/admin08t.png | Bin 23883 -> 0 bytes
parts/django/docs/intro/_images/admin09.png | Bin 16318 -> 0 bytes
parts/django/docs/intro/_images/admin10.png | Bin 10914 -> 0 bytes
parts/django/docs/intro/_images/admin11.png | Bin 33563 -> 0 bytes
parts/django/docs/intro/_images/admin11t.png | Bin 26365 -> 0 bytes
parts/django/docs/intro/_images/admin12.png | Bin 12682 -> 0 bytes
parts/django/docs/intro/_images/admin13.png | Bin 22062 -> 0 bytes
parts/django/docs/intro/_images/admin13t.png | Bin 18690 -> 0 bytes
parts/django/docs/intro/_images/admin14.png | Bin 28987 -> 0 bytes
parts/django/docs/intro/_images/admin14t.png | Bin 23460 -> 0 bytes
parts/django/docs/intro/index.txt | 36 -
parts/django/docs/intro/install.txt | 84 -
parts/django/docs/intro/overview.txt | 324 -
parts/django/docs/intro/tutorial01.txt | 690 --
parts/django/docs/intro/tutorial02.txt | 465 --
parts/django/docs/intro/tutorial03.txt | 546 --
parts/django/docs/intro/tutorial04.txt | 346 -
parts/django/docs/intro/whatsnext.txt | 231 -
parts/django/docs/man/daily_cleanup.1 | 34 -
parts/django/docs/man/django-admin.1 | 226 -
parts/django/docs/man/gather_profile_stats.1 | 26 -
parts/django/docs/misc/api-stability.txt | 152 -
parts/django/docs/misc/design-philosophies.txt | 314 -
parts/django/docs/misc/distributions.txt | 36 -
parts/django/docs/misc/index.txt | 12 -
parts/django/docs/obsolete/_images/formrow.png | Bin 16601 -> 0 bytes
parts/django/docs/obsolete/_images/module.png | Bin 10072 -> 0 bytes
.../docs/obsolete/_images/objecttools_01.png | Bin 1398 -> 0 bytes
.../docs/obsolete/_images/objecttools_02.png | Bin 2268 -> 0 bytes
parts/django/docs/obsolete/admin-css.txt | 186 -
parts/django/docs/obsolete/index.txt | 12 -
parts/django/docs/ref/authbackends.txt | 35 -
.../ref/contrib/admin/_images/article_actions.png | Bin 38545 -> 0 bytes
.../admin/_images/article_actions_message.png | Bin 22098 -> 0 bytes
.../ref/contrib/admin/_images/flatfiles_admin.png | Bin 42243 -> 0 bytes
.../ref/contrib/admin/_images/user_actions.png | Bin 27047 -> 0 bytes
.../ref/contrib/admin/_images/users_changelist.png | Bin 59355 -> 0 bytes
parts/django/docs/ref/contrib/admin/actions.txt | 351 -
parts/django/docs/ref/contrib/admin/admindocs.txt | 161 -
parts/django/docs/ref/contrib/admin/index.txt | 1613 ----
parts/django/docs/ref/contrib/auth.txt | 4 -
parts/django/docs/ref/contrib/comments/custom.txt | 202 -
parts/django/docs/ref/contrib/comments/example.txt | 208 -
parts/django/docs/ref/contrib/comments/forms.txt | 46 -
parts/django/docs/ref/contrib/comments/index.txt | 302 -
parts/django/docs/ref/contrib/comments/models.txt | 80 -
.../docs/ref/contrib/comments/moderation.txt | 230 -
.../django/docs/ref/contrib/comments/settings.txt | 33 -
parts/django/docs/ref/contrib/comments/signals.txt | 91 -
parts/django/docs/ref/contrib/comments/upgrade.txt | 78 -
parts/django/docs/ref/contrib/contenttypes.txt | 385 -
parts/django/docs/ref/contrib/csrf.txt | 433 -
parts/django/docs/ref/contrib/databrowse.txt | 90 -
parts/django/docs/ref/contrib/flatpages.txt | 167 -
.../docs/ref/contrib/formtools/form-preview.txt | 121 -
.../docs/ref/contrib/formtools/form-wizard.txt | 312 -
parts/django/docs/ref/contrib/formtools/index.txt | 10 -
parts/django/docs/ref/contrib/gis/admin.txt | 72 -
parts/django/docs/ref/contrib/gis/commands.txt | 83 -
.../ref/contrib/gis/create_template_postgis-1.3.sh | 9 -
.../ref/contrib/gis/create_template_postgis-1.4.sh | 9 -
.../ref/contrib/gis/create_template_postgis-1.5.sh | 10 -
.../contrib/gis/create_template_postgis-debian.sh | 9 -
parts/django/docs/ref/contrib/gis/db-api.txt | 349 -
parts/django/docs/ref/contrib/gis/deployment.txt | 99 -
parts/django/docs/ref/contrib/gis/feeds.txt | 95 -
parts/django/docs/ref/contrib/gis/gdal.txt | 1114 ---
parts/django/docs/ref/contrib/gis/geoip.txt | 223 -
parts/django/docs/ref/contrib/gis/geoquerysets.txt | 1256 ---
parts/django/docs/ref/contrib/gis/geos.txt | 911 ---
parts/django/docs/ref/contrib/gis/index.txt | 33 -
parts/django/docs/ref/contrib/gis/install.txt | 1190 ---
parts/django/docs/ref/contrib/gis/layermapping.txt | 220 -
parts/django/docs/ref/contrib/gis/measure.txt | 180 -
parts/django/docs/ref/contrib/gis/model-api.txt | 265 -
parts/django/docs/ref/contrib/gis/ogrinspect.txt | 21 -
parts/django/docs/ref/contrib/gis/sitemaps.txt | 27 -
parts/django/docs/ref/contrib/gis/testing.txt | 268 -
parts/django/docs/ref/contrib/gis/tutorial.txt | 758 --
parts/django/docs/ref/contrib/gis/utils.txt | 32 -
parts/django/docs/ref/contrib/humanize.txt | 100 -
parts/django/docs/ref/contrib/index.txt | 207 -
parts/django/docs/ref/contrib/localflavor.txt | 842 --
parts/django/docs/ref/contrib/markup.txt | 42 -
parts/django/docs/ref/contrib/messages.txt | 411 -
parts/django/docs/ref/contrib/redirects.txt | 70 -
parts/django/docs/ref/contrib/sitemaps.txt | 351 -
parts/django/docs/ref/contrib/sites.txt | 415 -
parts/django/docs/ref/contrib/syndication.txt | 949 ---
parts/django/docs/ref/contrib/webdesign.txt | 56 -
parts/django/docs/ref/databases.txt | 682 --
parts/django/docs/ref/django-admin.txt | 1293 ---
parts/django/docs/ref/exceptions.txt | 128 -
parts/django/docs/ref/files/file.txt | 152 -
parts/django/docs/ref/files/index.txt | 12 -
parts/django/docs/ref/files/storage.txt | 119 -
parts/django/docs/ref/forms/api.txt | 791 --
parts/django/docs/ref/forms/fields.txt | 939 ---
parts/django/docs/ref/forms/index.txt | 13 -
parts/django/docs/ref/forms/validation.txt | 366 -
parts/django/docs/ref/forms/widgets.txt | 247 -
parts/django/docs/ref/generic-views.txt | 1095 ---
parts/django/docs/ref/index.txt | 24 -
parts/django/docs/ref/middleware.txt | 212 -
parts/django/docs/ref/models/fields.txt | 1063 ---
parts/django/docs/ref/models/index.txt | 14 -
parts/django/docs/ref/models/instances.txt | 570 --
parts/django/docs/ref/models/options.txt | 269 -
parts/django/docs/ref/models/querysets.txt | 1888 -----
parts/django/docs/ref/models/relations.txt | 105 -
parts/django/docs/ref/request-response.txt | 646 --
parts/django/docs/ref/settings.txt | 1836 -----
parts/django/docs/ref/signals.txt | 475 --
parts/django/docs/ref/templates/api.txt | 815 --
parts/django/docs/ref/templates/builtins.txt | 2107 -----
parts/django/docs/ref/templates/index.txt | 19 -
parts/django/docs/ref/unicode.txt | 362 -
parts/django/docs/ref/utils.txt | 504 --
parts/django/docs/ref/validators.txt | 158 -
parts/django/docs/releases/0.95.txt | 124 -
parts/django/docs/releases/0.96.txt | 264 -
parts/django/docs/releases/1.0-alpha-1.txt | 161 -
parts/django/docs/releases/1.0-alpha-2.txt | 136 -
parts/django/docs/releases/1.0-beta-2.txt | 119 -
parts/django/docs/releases/1.0-beta.txt | 153 -
parts/django/docs/releases/1.0-porting-guide.txt | 772 --
parts/django/docs/releases/1.0.1.txt | 65 -
parts/django/docs/releases/1.0.2.txt | 51 -
parts/django/docs/releases/1.0.txt | 246 -
parts/django/docs/releases/1.1-alpha-1.txt | 163 -
parts/django/docs/releases/1.1-beta-1.txt | 208 -
parts/django/docs/releases/1.1-rc-1.txt | 109 -
parts/django/docs/releases/1.1.2.txt | 56 -
parts/django/docs/releases/1.1.txt | 463 --
parts/django/docs/releases/1.2-alpha-1.txt | 578 --
parts/django/docs/releases/1.2-beta-1.txt | 173 -
parts/django/docs/releases/1.2-rc-1.txt | 101 -
parts/django/docs/releases/1.2.2.txt | 29 -
parts/django/docs/releases/1.2.4.txt | 52 -
parts/django/docs/releases/1.2.txt | 1139 ---
parts/django/docs/releases/index.txt | 70 -
parts/django/docs/topics/auth.txt | 1612 ----
parts/django/docs/topics/cache.txt | 917 ---
.../docs/topics/conditional-view-processing.txt | 199 -
parts/django/docs/topics/db/aggregation.txt | 378 -
parts/django/docs/topics/db/index.txt | 18 -
parts/django/docs/topics/db/managers.txt | 376 -
parts/django/docs/topics/db/models.txt | 1234 ---
parts/django/docs/topics/db/multi-db.txt | 574 --
parts/django/docs/topics/db/optimization.txt | 260 -
parts/django/docs/topics/db/queries.txt | 1110 ---
parts/django/docs/topics/db/sql.txt | 279 -
parts/django/docs/topics/db/transactions.txt | 328 -
parts/django/docs/topics/email.txt | 618 --
parts/django/docs/topics/files.txt | 147 -
parts/django/docs/topics/forms/formsets.txt | 440 --
parts/django/docs/topics/forms/index.txt | 402 -
parts/django/docs/topics/forms/media.txt | 309 -
parts/django/docs/topics/forms/modelforms.txt | 885 ---
parts/django/docs/topics/generic-views.txt | 501 --
.../django/docs/topics/http/_images/middleware.png | Bin 56301 -> 0 bytes
parts/django/docs/topics/http/file-uploads.txt | 394 -
parts/django/docs/topics/http/generic-views.txt | 5 -
parts/django/docs/topics/http/index.txt | 15 -
parts/django/docs/topics/http/middleware.txt | 179 -
parts/django/docs/topics/http/sessions.txt | 529 --
parts/django/docs/topics/http/shortcuts.txt | 229 -
parts/django/docs/topics/http/urls.txt | 890 ---
parts/django/docs/topics/http/views.txt | 202 -
parts/django/docs/topics/i18n/deployment.txt | 191 -
parts/django/docs/topics/i18n/index.txt | 113 -
.../docs/topics/i18n/internationalization.txt | 624 --
parts/django/docs/topics/i18n/localization.txt | 317 -
parts/django/docs/topics/index.txt | 27 -
parts/django/docs/topics/install.txt | 298 -
parts/django/docs/topics/pagination.txt | 281 -
parts/django/docs/topics/serialization.txt | 402 -
parts/django/docs/topics/settings.txt | 255 -
parts/django/docs/topics/signals.txt | 255 -
parts/django/docs/topics/templates.txt | 617 --
parts/django/docs/topics/testing.txt | 1613 ----
parts/django/extras/README.TXT | 1 -
parts/django/extras/csrf_migration_helper.py | 357 -
parts/django/extras/django_bash_completion | 72 -
parts/django/scripts/rpm-install.sh | 28 -
parts/django/setup.cfg | 4 -
parts/django/setup.py | 98 -
parts/django/tests/modeltests/__init__.py | 0
.../tests/modeltests/aggregation/__init__.py | 0
.../aggregation/fixtures/initial_data.json | 243 -
.../django/tests/modeltests/aggregation/models.py | 42 -
parts/django/tests/modeltests/aggregation/tests.py | 565 --
parts/django/tests/modeltests/basic/__init__.py | 0
parts/django/tests/modeltests/basic/models.py | 17 -
parts/django/tests/modeltests/basic/tests.py | 562 --
parts/django/tests/modeltests/choices/__init__.py | 0
parts/django/tests/modeltests/choices/models.py | 24 -
parts/django/tests/modeltests/choices/tests.py | 23 -
.../tests/modeltests/custom_columns/__init__.py | 0
.../tests/modeltests/custom_columns/models.py | 40 -
.../tests/modeltests/custom_columns/tests.py | 71 -
.../tests/modeltests/custom_managers/__init__.py | 0
.../tests/modeltests/custom_managers/models.py | 59 -
.../tests/modeltests/custom_managers/tests.py | 71 -
.../tests/modeltests/custom_methods/__init__.py | 0
.../tests/modeltests/custom_methods/models.py | 36 -
.../tests/modeltests/custom_methods/tests.py | 42 -
.../django/tests/modeltests/custom_pk/__init__.py | 0
parts/django/tests/modeltests/custom_pk/fields.py | 55 -
parts/django/tests/modeltests/custom_pk/models.py | 42 -
parts/django/tests/modeltests/custom_pk/tests.py | 183 -
parts/django/tests/modeltests/defer/__init__.py | 0
parts/django/tests/modeltests/defer/models.py | 24 -
parts/django/tests/modeltests/defer/tests.py | 137 -
parts/django/tests/modeltests/delete/__init__.py | 1 -
parts/django/tests/modeltests/delete/models.py | 42 -
parts/django/tests/modeltests/delete/tests.py | 135 -
parts/django/tests/modeltests/empty/__init__.py | 0
parts/django/tests/modeltests/empty/models.py | 12 -
parts/django/tests/modeltests/empty/tests.py | 15 -
.../tests/modeltests/expressions/__init__.py | 0
.../django/tests/modeltests/expressions/models.py | 27 -
parts/django/tests/modeltests/expressions/tests.py | 218 -
.../tests/modeltests/field_defaults/__init__.py | 0
.../tests/modeltests/field_defaults/models.py | 21 -
.../tests/modeltests/field_defaults/tests.py | 16 -
.../tests/modeltests/field_subclassing/__init__.py | 0
.../tests/modeltests/field_subclassing/fields.py | 74 -
.../tests/modeltests/field_subclassing/models.py | 22 -
.../tests/modeltests/field_subclassing/tests.py | 81 -
parts/django/tests/modeltests/files/__init__.py | 1 -
parts/django/tests/modeltests/files/models.py | 34 -
parts/django/tests/modeltests/files/tests.py | 100 -
parts/django/tests/modeltests/fixtures/__init__.py | 2 -
.../fixtures/fixtures/db_fixture_1.default.json | 10 -
.../fixtures/fixtures/db_fixture_2.default.json.gz | Bin 175 -> 0 bytes
.../fixtures/fixtures/db_fixture_3.nosuchdb.json | 10 -
.../modeltests/fixtures/fixtures/fixture1.json | 34 -
.../modeltests/fixtures/fixtures/fixture2.json | 18 -
.../modeltests/fixtures/fixtures/fixture2.xml | 11 -
.../modeltests/fixtures/fixtures/fixture3.xml | 11 -
.../modeltests/fixtures/fixtures/fixture4.json.zip | Bin 282 -> 0 bytes
.../modeltests/fixtures/fixtures/fixture5.json.gz | Bin 169 -> 0 bytes
.../modeltests/fixtures/fixtures/fixture5.json.zip | Bin 295 -> 0 bytes
.../modeltests/fixtures/fixtures/fixture6.json | 41 -
.../modeltests/fixtures/fixtures/fixture7.xml | 27 -
.../modeltests/fixtures/fixtures/fixture8.json | 32 -
.../modeltests/fixtures/fixtures/fixture9.xml | 48 -
.../modeltests/fixtures/fixtures/initial_data.json | 10 -
parts/django/tests/modeltests/fixtures/models.py | 92 -
parts/django/tests/modeltests/fixtures/tests.py | 277 -
.../modeltests/fixtures_model_package/__init__.py | 2 -
.../fixtures_model_package/fixtures/fixture1.json | 18 -
.../fixtures_model_package/fixtures/fixture2.json | 18 -
.../fixtures_model_package/fixtures/fixture2.xml | 11 -
.../fixtures/initial_data.json | 10 -
.../fixtures_model_package/models/__init__.py | 14 -
.../modeltests/fixtures_model_package/tests.py | 71 -
.../modeltests/force_insert_update/__init__.py | 0
.../tests/modeltests/force_insert_update/models.py | 13 -
.../tests/modeltests/force_insert_update/tests.py | 38 -
.../tests/modeltests/generic_relations/__init__.py | 0
.../tests/modeltests/generic_relations/models.py | 80 -
.../tests/modeltests/generic_relations/tests.py | 223 -
.../django/tests/modeltests/get_latest/__init__.py | 0
parts/django/tests/modeltests/get_latest/models.py | 30 -
parts/django/tests/modeltests/get_latest/tests.py | 53 -
.../tests/modeltests/get_object_or_404/__init__.py | 0
.../tests/modeltests/get_object_or_404/models.py | 34 -
.../tests/modeltests/get_object_or_404/tests.py | 80 -
.../tests/modeltests/get_or_create/__init__.py | 0
.../tests/modeltests/get_or_create/models.py | 21 -
.../django/tests/modeltests/get_or_create/tests.py | 52 -
.../tests/modeltests/invalid_models/__init__.py | 1 -
.../tests/modeltests/invalid_models/models.py | 335 -
parts/django/tests/modeltests/lookup/__init__.py | 0
parts/django/tests/modeltests/lookup/models.py | 16 -
parts/django/tests/modeltests/lookup/tests.py | 547 --
.../tests/modeltests/m2m_and_m2o/__init__.py | 0
.../django/tests/modeltests/m2m_and_m2o/models.py | 21 -
parts/django/tests/modeltests/m2m_and_m2o/tests.py | 75 -
.../tests/modeltests/m2m_intermediary/__init__.py | 0
.../tests/modeltests/m2m_intermediary/models.py | 36 -
.../tests/modeltests/m2m_intermediary/tests.py | 38 -
.../tests/modeltests/m2m_multiple/__init__.py | 0
.../django/tests/modeltests/m2m_multiple/models.py | 30 -
.../django/tests/modeltests/m2m_multiple/tests.py | 84 -
.../tests/modeltests/m2m_recursive/__init__.py | 0
.../tests/modeltests/m2m_recursive/models.py | 28 -
.../django/tests/modeltests/m2m_recursive/tests.py | 253 -
.../tests/modeltests/m2m_signals/__init__.py | 1 -
.../django/tests/modeltests/m2m_signals/models.py | 36 -
parts/django/tests/modeltests/m2m_signals/tests.py | 427 -
.../tests/modeltests/m2m_through/__init__.py | 2 -
.../django/tests/modeltests/m2m_through/models.py | 65 -
parts/django/tests/modeltests/m2m_through/tests.py | 343 -
.../tests/modeltests/m2o_recursive/__init__.py | 0
.../tests/modeltests/m2o_recursive/models.py | 28 -
.../django/tests/modeltests/m2o_recursive/tests.py | 38 -
.../tests/modeltests/many_to_many/__init__.py | 0
.../django/tests/modeltests/many_to_many/models.py | 29 -
.../django/tests/modeltests/many_to_many/tests.py | 384 -
.../tests/modeltests/many_to_one/__init__.py | 0
.../django/tests/modeltests/many_to_one/models.py | 26 -
parts/django/tests/modeltests/many_to_one/tests.py | 371 -
.../tests/modeltests/many_to_one_null/__init__.py | 0
.../tests/modeltests/many_to_one_null/models.py | 24 -
.../tests/modeltests/many_to_one_null/tests.py | 84 -
.../tests/modeltests/model_forms/__init__.py | 0
.../django/tests/modeltests/model_forms/mforms.py | 39 -
.../django/tests/modeltests/model_forms/models.py | 1575 ----
parts/django/tests/modeltests/model_forms/test.png | Bin 482 -> 0 bytes
.../django/tests/modeltests/model_forms/test2.png | Bin 2072 -> 0 bytes
parts/django/tests/modeltests/model_forms/tests.py | 185 -
.../tests/modeltests/model_formsets/__init__.py | 0
.../tests/modeltests/model_formsets/models.py | 193 -
.../tests/modeltests/model_formsets/tests.py | 1159 ---
.../tests/modeltests/model_inheritance/__init__.py | 0
.../tests/modeltests/model_inheritance/models.py | 145 -
.../tests/modeltests/model_inheritance/tests.py | 281 -
.../model_inheritance_same_model_name/__init__.py | 0
.../model_inheritance_same_model_name/models.py | 19 -
.../model_inheritance_same_model_name/tests.py | 32 -
.../tests/modeltests/model_package/__init__.py | 1 -
.../modeltests/model_package/models/__init__.py | 3 -
.../modeltests/model_package/models/article.py | 10 -
.../modeltests/model_package/models/publication.py | 7 -
.../django/tests/modeltests/model_package/tests.py | 72 -
.../modeltests/mutually_referential/__init__.py | 0
.../modeltests/mutually_referential/models.py | 19 -
.../tests/modeltests/mutually_referential/tests.py | 20 -
.../django/tests/modeltests/one_to_one/__init__.py | 0
parts/django/tests/modeltests/one_to_one/models.py | 47 -
parts/django/tests/modeltests/one_to_one/tests.py | 119 -
.../django/tests/modeltests/or_lookups/__init__.py | 0
parts/django/tests/modeltests/or_lookups/models.py | 22 -
parts/django/tests/modeltests/or_lookups/tests.py | 232 -
.../modeltests/order_with_respect_to/__init__.py | 0
.../modeltests/order_with_respect_to/models.py | 29 -
.../modeltests/order_with_respect_to/tests.py | 71 -
parts/django/tests/modeltests/ordering/__init__.py | 0
parts/django/tests/modeltests/ordering/models.py | 26 -
parts/django/tests/modeltests/ordering/tests.py | 137 -
.../django/tests/modeltests/pagination/__init__.py | 0
parts/django/tests/modeltests/pagination/models.py | 17 -
parts/django/tests/modeltests/pagination/tests.py | 132 -
.../django/tests/modeltests/properties/__init__.py | 0
parts/django/tests/modeltests/properties/models.py | 21 -
parts/django/tests/modeltests/properties/tests.py | 20 -
.../modeltests/proxy_model_inheritance/__init__.py | 0
.../proxy_model_inheritance/app1/__init__.py | 0
.../proxy_model_inheritance/app1/models.py | 5 -
.../proxy_model_inheritance/app2/__init__.py | 0
.../proxy_model_inheritance/app2/models.py | 4 -
.../modeltests/proxy_model_inheritance/models.py | 0
.../modeltests/proxy_model_inheritance/tests.py | 36 -
.../tests/modeltests/proxy_models/__init__.py | 0
.../modeltests/proxy_models/fixtures/mypeople.json | 9 -
.../django/tests/modeltests/proxy_models/models.py | 164 -
.../django/tests/modeltests/proxy_models/tests.py | 314 -
.../django/tests/modeltests/raw_query/__init__.py | 0
.../raw_query/fixtures/raw_query_books.json | 110 -
parts/django/tests/modeltests/raw_query/models.py | 30 -
parts/django/tests/modeltests/raw_query/tests.py | 236 -
.../tests/modeltests/reserved_names/__init__.py | 0
.../tests/modeltests/reserved_names/models.py | 25 -
.../tests/modeltests/reserved_names/tests.py | 48 -
.../tests/modeltests/reverse_lookup/__init__.py | 0
.../tests/modeltests/reverse_lookup/models.py | 28 -
.../tests/modeltests/reverse_lookup/tests.py | 49 -
.../tests/modeltests/save_delete_hooks/__init__.py | 0
.../tests/modeltests/save_delete_hooks/models.py | 32 -
.../tests/modeltests/save_delete_hooks/tests.py | 30 -
.../tests/modeltests/select_related/__init__.py | 0
.../tests/modeltests/select_related/models.py | 59 -
.../tests/modeltests/select_related/tests.py | 166 -
.../tests/modeltests/serializers/__init__.py | 0
.../django/tests/modeltests/serializers/models.py | 117 -
parts/django/tests/modeltests/serializers/tests.py | 417 -
parts/django/tests/modeltests/signals/__init__.py | 0
parts/django/tests/modeltests/signals/models.py | 13 -
parts/django/tests/modeltests/signals/tests.py | 148 -
parts/django/tests/modeltests/str/__init__.py | 0
parts/django/tests/modeltests/str/models.py | 33 -
parts/django/tests/modeltests/str/tests.py | 23 -
.../tests/modeltests/test_client/__init__.py | 0
.../modeltests/test_client/fixtures/testdata.json | 56 -
.../django/tests/modeltests/test_client/models.py | 459 --
parts/django/tests/modeltests/test_client/tests.py | 20 -
parts/django/tests/modeltests/test_client/urls.py | 29 -
parts/django/tests/modeltests/test_client/views.py | 214 -
.../tests/modeltests/transactions/__init__.py | 0
.../django/tests/modeltests/transactions/models.py | 21 -
.../django/tests/modeltests/transactions/tests.py | 155 -
.../tests/modeltests/unmanaged_models/__init__.py | 2 -
.../tests/modeltests/unmanaged_models/models.py | 125 -
.../tests/modeltests/unmanaged_models/tests.py | 58 -
parts/django/tests/modeltests/update/__init__.py | 0
parts/django/tests/modeltests/update/models.py | 35 -
parts/django/tests/modeltests/update/tests.py | 116 -
.../tests/modeltests/user_commands/__init__.py | 0
.../user_commands/management/__init__.py | 0
.../user_commands/management/commands/__init__.py | 0
.../user_commands/management/commands/dance.py | 14 -
.../tests/modeltests/user_commands/models.py | 14 -
.../django/tests/modeltests/user_commands/tests.py | 21 -
.../django/tests/modeltests/validation/__init__.py | 21 -
parts/django/tests/modeltests/validation/models.py | 65 -
.../modeltests/validation/test_custom_messages.py | 13 -
.../tests/modeltests/validation/test_unique.py | 85 -
parts/django/tests/modeltests/validation/tests.py | 114 -
.../tests/modeltests/validation/validators.py | 18 -
.../django/tests/modeltests/validators/__init__.py | 0
parts/django/tests/modeltests/validators/models.py | 0
parts/django/tests/modeltests/validators/tests.py | 159 -
parts/django/tests/regressiontests/__init__.py | 0
.../regressiontests/admin_changelist/__init__.py | 0
.../regressiontests/admin_changelist/models.py | 9 -
.../regressiontests/admin_changelist/tests.py | 103 -
.../regressiontests/admin_inlines/__init__.py | 0
.../admin_inlines/fixtures/admin-views-users.xml | 17 -
.../tests/regressiontests/admin_inlines/models.py | 125 -
.../tests/regressiontests/admin_inlines/tests.py | 121 -
.../regressiontests/admin_ordering/__init__.py | 0
.../tests/regressiontests/admin_ordering/models.py | 10 -
.../tests/regressiontests/admin_ordering/tests.py | 39 -
.../regressiontests/admin_registration/__init__.py | 0
.../regressiontests/admin_registration/models.py | 11 -
.../regressiontests/admin_registration/tests.py | 54 -
.../regressiontests/admin_scripts/__init__.py | 0
.../admin_scripts/app_with_import/__init__.py | 0
.../admin_scripts/app_with_import/models.py | 7 -
.../admin_scripts/broken_app/__init__.py | 0
.../admin_scripts/broken_app/models.py | 1 -
.../admin_scripts/complex_app/__init__.py | 0
.../admin_scripts/complex_app/admin/__init__.py | 0
.../admin_scripts/complex_app/admin/foo.py | 3 -
.../admin_scripts/complex_app/models/__init__.py | 4 -
.../admin_scripts/complex_app/models/bar.py | 7 -
.../admin_scripts/complex_app/models/foo.py | 6 -
.../admin_scripts/management/__init__.py | 0
.../admin_scripts/management/commands/__init__.py | 0
.../management/commands/app_command.py | 10 -
.../management/commands/base_command.py | 15 -
.../management/commands/label_command.py | 9 -
.../management/commands/noargs_command.py | 9 -
.../tests/regressiontests/admin_scripts/models.py | 12 -
.../admin_scripts/simple_app/__init__.py | 0
.../admin_scripts/simple_app/models.py | 1 -
.../tests/regressiontests/admin_scripts/tests.py | 1199 ---
.../tests/regressiontests/admin_util/__init__.py | 0
.../tests/regressiontests/admin_util/models.py | 33 -
.../tests/regressiontests/admin_util/tests.py | 239 -
.../regressiontests/admin_validation/__init__.py | 0
.../regressiontests/admin_validation/models.py | 47 -
.../regressiontests/admin_validation/tests.py | 247 -
.../tests/regressiontests/admin_views/__init__.py | 0
.../regressiontests/admin_views/customadmin.py | 34 -
.../admin_views/fixtures/admin-views-actions.xml | 15 -
.../admin_views/fixtures/admin-views-colors.xml | 19 -
.../admin_views/fixtures/admin-views-fabrics.xml | 12 -
.../admin_views/fixtures/admin-views-person.xml | 18 -
.../admin_views/fixtures/admin-views-unicode.xml | 63 -
.../admin_views/fixtures/admin-views-users.xml | 93 -
.../admin_views/fixtures/deleted-objects.xml | 53 -
.../fixtures/multiple-child-classes.json | 107 -
.../admin_views/fixtures/string-primary-key.xml | 6 -
.../tests/regressiontests/admin_views/models.py | 636 --
.../tests/regressiontests/admin_views/tests.py | 2287 ------
.../tests/regressiontests/admin_views/urls.py | 11 -
.../tests/regressiontests/admin_views/views.py | 6 -
.../regressiontests/admin_widgets/__init__.py | 0
.../admin_widgets/fixtures/admin-widgets-users.xml | 43 -
.../tests/regressiontests/admin_widgets/models.py | 68 -
.../tests/regressiontests/admin_widgets/tests.py | 316 -
.../tests/regressiontests/admin_widgets/urls.py | 7 -
.../regressiontests/admin_widgets/widgetadmin.py | 30 -
.../aggregation_regress/__init__.py | 0
.../aggregation_regress/fixtures/initial_data.json | 257 -
.../regressiontests/aggregation_regress/models.py | 65 -
.../regressiontests/aggregation_regress/tests.py | 757 --
.../tests/regressiontests/app_loading/__init__.py | 0
.../regressiontests/app_loading/eggs/brokenapp.egg | Bin 1605 -> 0 bytes
.../regressiontests/app_loading/eggs/modelapp.egg | Bin 3347 -> 0 bytes
.../app_loading/eggs/nomodelapp.egg | Bin 1211 -> 0 bytes
.../regressiontests/app_loading/eggs/omelet.egg | Bin 9020 -> 0 bytes
.../tests/regressiontests/app_loading/models.py | 0
.../regressiontests/app_loading/parent/__init__.py | 0
.../app_loading/parent/app/__init__.py | 0
.../app_loading/parent/app1/__init__.py | 0
.../app_loading/parent/app_2/__init__.py | 0
.../regressiontests/app_loading/test_settings.py | 3 -
.../tests/regressiontests/app_loading/tests.py | 83 -
.../tests/regressiontests/backends/__init__.py | 0
.../tests/regressiontests/backends/models.py | 37 -
.../django/tests/regressiontests/backends/tests.py | 208 -
.../regressiontests/bash_completion/__init__.py | 1 -
.../bash_completion/management/__init__.py | 1 -
.../management/commands/__init__.py | 1 -
.../management/commands/test_command.py | 14 -
.../regressiontests/bash_completion/models.py | 1 -
.../tests/regressiontests/bash_completion/tests.py | 87 -
.../tests/regressiontests/bug639/__init__.py | 0
.../django/tests/regressiontests/bug639/models.py | 26 -
parts/django/tests/regressiontests/bug639/test.jpg | Bin 1780 -> 0 bytes
parts/django/tests/regressiontests/bug639/tests.py | 41 -
.../tests/regressiontests/bug8245/__init__.py | 0
.../django/tests/regressiontests/bug8245/admin.py | 7 -
.../django/tests/regressiontests/bug8245/models.py | 4 -
.../django/tests/regressiontests/bug8245/tests.py | 29 -
.../regressiontests/builtin_server/__init__.py | 0
.../tests/regressiontests/builtin_server/models.py | 0
.../tests/regressiontests/builtin_server/tests.py | 51 -
.../django/tests/regressiontests/cache/__init__.py | 0
.../tests/regressiontests/cache/liberal_backend.py | 9 -
parts/django/tests/regressiontests/cache/models.py | 11 -
parts/django/tests/regressiontests/cache/tests.py | 652 --
.../regressiontests/comment_tests/__init__.py | 0
.../comment_tests/custom_comments/__init__.py | 32 -
.../comment_tests/custom_comments/forms.py | 4 -
.../comment_tests/custom_comments/models.py | 4 -
.../comment_tests/custom_comments/views.py | 13 -
.../comment_tests/fixtures/comment_tests.json | 53 -
.../comment_tests/fixtures/comment_utils.xml | 15 -
.../tests/regressiontests/comment_tests/models.py | 34 -
.../comment_tests/tests/__init__.py | 89 -
.../comment_tests/tests/app_api_tests.py | 71 -
.../comment_tests/tests/comment_form_tests.py | 84 -
.../tests/comment_utils_moderators_tests.py | 75 -
.../comment_tests/tests/comment_view_tests.py | 258 -
.../comment_tests/tests/model_tests.py | 49 -
.../comment_tests/tests/moderation_view_tests.py | 203 -
.../comment_tests/tests/templatetag_tests.py | 97 -
.../tests/regressiontests/comment_tests/urls.py | 9 -
.../regressiontests/comment_tests/urls_admin.py | 19 -
.../conditional_processing/__init__.py | 1 -
.../conditional_processing/models.py | 128 -
.../regressiontests/conditional_processing/urls.py | 10 -
.../conditional_processing/views.py | 26 -
.../regressiontests/context_processors/__init__.py | 0
.../fixtures/context-processors-users.xml | 17 -
.../regressiontests/context_processors/models.py | 1 -
.../context_processors/auth_attrs_access.html | 1 -
.../context_processors/auth_attrs_messages.html | 1 -
.../context_processors/auth_attrs_no_access.html | 1 -
.../context_processors/auth_attrs_perms.html | 1 -
.../context_processors/auth_attrs_test_access.html | 1 -
.../context_processors/auth_attrs_user.html | 4 -
.../context_processors/request_attrs.html | 13 -
.../regressiontests/context_processors/tests.py | 112 -
.../regressiontests/context_processors/urls.py | 14 -
.../regressiontests/context_processors/views.py | 37 -
.../tests/regressiontests/csrf_tests/__init__.py | 0
.../tests/regressiontests/csrf_tests/models.py | 1 -
.../tests/regressiontests/csrf_tests/tests.py | 375 -
.../custom_columns_regress/__init__.py | 0
.../custom_columns_regress/models.py | 36 -
.../custom_columns_regress/tests.py | 84 -
.../custom_managers_regress/__init__.py | 0
.../custom_managers_regress/models.py | 40 -
.../custom_managers_regress/tests.py | 47 -
.../tests/regressiontests/datatypes/__init__.py | 0
.../tests/regressiontests/datatypes/models.py | 25 -
.../tests/regressiontests/datatypes/tests.py | 93 -
.../tests/regressiontests/db_typecasts/__init__.py | 0
.../tests/regressiontests/db_typecasts/models.py | 0
.../tests/regressiontests/db_typecasts/tests.py | 62 -
.../tests/regressiontests/decorators/__init__.py | 0
.../tests/regressiontests/decorators/models.py | 2 -
.../tests/regressiontests/decorators/tests.py | 141 -
.../regressiontests/defaultfilters/__init__.py | 0
.../tests/regressiontests/defaultfilters/models.py | 0
.../tests/regressiontests/defaultfilters/tests.py | 485 --
.../regressiontests/defer_regress/__init__.py | 0
.../tests/regressiontests/defer_regress/models.py | 36 -
.../tests/regressiontests/defer_regress/tests.py | 163 -
.../regressiontests/delete_regress/__init__.py | 1 -
.../tests/regressiontests/delete_regress/models.py | 37 -
.../tests/regressiontests/delete_regress/tests.py | 116 -
.../tests/regressiontests/dispatch/__init__.py | 2 -
.../tests/regressiontests/dispatch/models.py | 0
.../regressiontests/dispatch/tests/__init__.py | 6 -
.../dispatch/tests/test_dispatcher.py | 123 -
.../regressiontests/dispatch/tests/test_saferef.py | 79 -
.../expressions_regress/__init__.py | 0
.../regressiontests/expressions_regress/models.py | 12 -
.../regressiontests/expressions_regress/tests.py | 195 -
.../regressiontests/extra_regress/__init__.py | 0
.../tests/regressiontests/extra_regress/models.py | 40 -
.../tests/regressiontests/extra_regress/tests.py | 314 -
.../tests/regressiontests/file_storage/__init__.py | 1 -
.../tests/regressiontests/file_storage/models.py | 0
.../tests/regressiontests/file_storage/test.png | Bin 482 -> 0 bytes
.../tests/regressiontests/file_storage/test1.png | Bin 480 -> 0 bytes
.../tests/regressiontests/file_storage/tests.py | 382 -
.../tests/regressiontests/file_uploads/__init__.py | 0
.../tests/regressiontests/file_uploads/models.py | 10 -
.../tests/regressiontests/file_uploads/tests.py | 305 -
.../regressiontests/file_uploads/uploadhandler.py | 34 -
.../tests/regressiontests/file_uploads/urls.py | 13 -
.../tests/regressiontests/file_uploads/views.py | 114 -
.../regressiontests/fixtures_regress/__init__.py | 0
.../fixtures_regress/fixtures/absolute.json | 9 -
.../fixtures_regress/fixtures/animal.xml | 9 -
.../fixtures_regress/fixtures/bad_fixture1.unkn | 1 -
.../fixtures_regress/fixtures/bad_fixture2.xml | 7 -
.../fixtures_regress/fixtures/big-fixture.json | 83 -
.../fixtures_regress/fixtures/empty.json | 1 -
.../fixtures/forward_ref_lookup.json | 32 -
.../fixtures/model-inheritance.json | 4 -
.../fixtures_regress/fixtures/nk-inheritance.json | 18 -
.../fixtures_regress/fixtures/nk-inheritance2.xml | 23 -
.../fixtures_regress/fixtures/non_natural_1.json | 25 -
.../fixtures_regress/fixtures/non_natural_2.xml | 16 -
.../fixtures_regress/fixtures/pretty.xml | 11 -
.../fixtures_regress/fixtures/sequence.json | 12 -
.../fixtures_regress/fixtures/thingy.json | 9 -
.../regressiontests/fixtures_regress/models.py | 225 -
.../regressiontests/fixtures_regress/tests.py | 611 --
.../django/tests/regressiontests/forms/__init__.py | 0
.../regressiontests/forms/localflavor/__init__.py | 0
.../tests/regressiontests/forms/localflavor/ar.py | 99 -
.../tests/regressiontests/forms/localflavor/at.py | 45 -
.../tests/regressiontests/forms/localflavor/au.py | 50 -
.../tests/regressiontests/forms/localflavor/br.py | 144 -
.../tests/regressiontests/forms/localflavor/ca.py | 95 -
.../tests/regressiontests/forms/localflavor/ch.py | 75 -
.../tests/regressiontests/forms/localflavor/cl.py | 56 -
.../tests/regressiontests/forms/localflavor/cz.py | 126 -
.../tests/regressiontests/forms/localflavor/de.py | 49 -
.../tests/regressiontests/forms/localflavor/es.py | 172 -
.../tests/regressiontests/forms/localflavor/fi.py | 382 -
.../tests/regressiontests/forms/localflavor/fr.py | 145 -
.../regressiontests/forms/localflavor/generic.py | 88 -
.../tests/regressiontests/forms/localflavor/id.py | 181 -
.../tests/regressiontests/forms/localflavor/ie.py | 43 -
.../tests/regressiontests/forms/localflavor/is_.py | 199 -
.../tests/regressiontests/forms/localflavor/it.py | 70 -
.../tests/regressiontests/forms/localflavor/jp.py | 73 -
.../tests/regressiontests/forms/localflavor/kw.py | 16 -
.../tests/regressiontests/forms/localflavor/nl.py | 62 -
.../tests/regressiontests/forms/localflavor/pl.py | 462 --
.../tests/regressiontests/forms/localflavor/pt.py | 32 -
.../tests/regressiontests/forms/localflavor/ro.py | 142 -
.../tests/regressiontests/forms/localflavor/se.py | 331 -
.../tests/regressiontests/forms/localflavor/sk.py | 116 -
.../tests/regressiontests/forms/localflavor/uk.py | 30 -
.../tests/regressiontests/forms/localflavor/us.py | 126 -
.../regressiontests/forms/localflavor/utils.py | 51 -
.../tests/regressiontests/forms/localflavor/uy.py | 52 -
.../tests/regressiontests/forms/localflavor/za.py | 29 -
.../regressiontests/forms/localflavortests.py | 37 -
parts/django/tests/regressiontests/forms/models.py | 74 -
.../tests/regressiontests/forms/tests/__init__.py | 43 -
.../regressiontests/forms/tests/error_messages.py | 253 -
.../tests/regressiontests/forms/tests/extra.py | 610 --
.../tests/regressiontests/forms/tests/fields.py | 862 --
.../tests/regressiontests/forms/tests/forms.py | 1700 ----
.../tests/regressiontests/forms/tests/formsets.py | 763 --
.../regressiontests/forms/tests/input_formats.py | 894 ---
.../tests/regressiontests/forms/tests/media.py | 460 --
.../tests/regressiontests/forms/tests/models.py | 169 -
.../regressiontests/forms/tests/regressions.py | 145 -
.../tests/regressiontests/forms/tests/util.py | 57 -
.../regressiontests/forms/tests/validators.py | 17 -
.../tests/regressiontests/forms/tests/widgets.py | 1070 ---
.../tests/regressiontests/formwizard/__init__.py | 0
.../tests/regressiontests/formwizard/forms.py | 18 -
.../tests/regressiontests/formwizard/models.py | 0
.../formwizard/templates/forms/wizard.html | 13 -
.../tests/regressiontests/formwizard/tests.py | 59 -
.../tests/regressiontests/formwizard/urls.py | 6 -
.../generic_inline_admin/__init__.py | 0
.../generic_inline_admin/fixtures/users.xml | 17 -
.../regressiontests/generic_inline_admin/models.py | 108 -
.../regressiontests/generic_inline_admin/tests.py | 214 -
.../regressiontests/generic_inline_admin/urls.py | 6 -
.../generic_relations_regress/__init__.py | 0
.../generic_relations_regress/models.py | 79 -
.../generic_relations_regress/tests.py | 74 -
.../get_or_create_regress/__init__.py | 0
.../get_or_create_regress/models.py | 13 -
.../regressiontests/get_or_create_regress/tests.py | 53 -
.../tests/regressiontests/httpwrappers/__init__.py | 0
.../tests/regressiontests/httpwrappers/models.py | 0
.../tests/regressiontests/httpwrappers/tests.py | 266 -
.../tests/regressiontests/humanize/__init__.py | 0
.../tests/regressiontests/humanize/models.py | 0
.../django/tests/regressiontests/humanize/tests.py | 76 -
.../django/tests/regressiontests/i18n/__init__.py | 0
parts/django/tests/regressiontests/i18n/forms.py | 22 -
parts/django/tests/regressiontests/i18n/models.py | 12 -
.../tests/regressiontests/i18n/other/__init__.py | 0
.../regressiontests/i18n/other/locale/__init__.py | 0
.../i18n/other/locale/de/LC_MESSAGES/django.mo | Bin 469 -> 0 bytes
.../i18n/other/locale/de/LC_MESSAGES/django.po | 22 -
.../i18n/other/locale/de/__init__.py | 0
.../i18n/other/locale/de/formats.py | 0
.../regressiontests/i18n/resolution/__init__.py | 0
.../resolution/locale/de/LC_MESSAGES/django.mo | Bin 460 -> 0 bytes
.../resolution/locale/de/LC_MESSAGES/django.po | 22 -
.../regressiontests/i18n/resolution/models.py | 1 -
parts/django/tests/regressiontests/i18n/tests.py | 667 --
.../initial_sql_regress/__init__.py | 0
.../regressiontests/initial_sql_regress/models.py | 11 -
.../initial_sql_regress/sql/simple.sql | 8 -
.../regressiontests/initial_sql_regress/tests.py | 8 -
.../regressiontests/inline_formsets/__init__.py | 0
.../regressiontests/inline_formsets/models.py | 28 -
.../tests/regressiontests/inline_formsets/tests.py | 163 -
.../regressiontests/introspection/__init__.py | 0
.../tests/regressiontests/introspection/models.py | 21 -
.../tests/regressiontests/introspection/tests.py | 111 -
.../locale/de/LC_MESSAGES/django.mo | Bin 464 -> 0 bytes
.../locale/de/LC_MESSAGES/django.po | 22 -
.../tests/regressiontests/localflavor/__init__.py | 0
.../tests/regressiontests/localflavor/models.py | 0
.../tests/regressiontests/localflavor/tests.py | 5 -
.../regressiontests/localflavor/us/__init__.py | 0
.../tests/regressiontests/localflavor/us/forms.py | 7 -
.../tests/regressiontests/localflavor/us/models.py | 13 -
.../tests/regressiontests/localflavor/us/tests.py | 82 -
.../tests/regressiontests/m2m_regress/__init__.py | 0
.../tests/regressiontests/m2m_regress/models.py | 58 -
.../tests/regressiontests/m2m_regress/tests.py | 82 -
.../m2m_through_regress/__init__.py | 2 -
.../m2m_through_regress/fixtures/m2m_through.json | 34 -
.../regressiontests/m2m_through_regress/models.py | 55 -
.../regressiontests/m2m_through_regress/tests.py | 128 -
.../django/tests/regressiontests/mail/__init__.py | 2 -
.../tests/regressiontests/mail/custombackend.py | 15 -
parts/django/tests/regressiontests/mail/models.py | 1 -
parts/django/tests/regressiontests/mail/tests.py | 375 -
.../tests/regressiontests/makemessages/__init__.py | 0
.../regressiontests/makemessages/extraction.py | 109 -
.../makemessages/ignore_dir/ignored.html | 2 -
.../regressiontests/makemessages/javascript.js | 4 -
.../regressiontests/makemessages/locale/dummy | 0
.../tests/regressiontests/makemessages/models.py | 0
.../makemessages/templates/test.html | 4 -
.../tests/regressiontests/makemessages/tests.py | 40 -
.../regressiontests/managers_regress/__init__.py | 0
.../regressiontests/managers_regress/models.py | 100 -
.../regressiontests/managers_regress/tests.py | 54 -
.../many_to_one_regress/__init__.py | 0
.../regressiontests/many_to_one_regress/models.py | 46 -
.../regressiontests/many_to_one_regress/tests.py | 105 -
.../tests/regressiontests/max_lengths/__init__.py | 1 -
.../tests/regressiontests/max_lengths/models.py | 13 -
.../tests/regressiontests/max_lengths/tests.py | 36 -
.../tests/regressiontests/middleware/__init__.py | 0
.../tests/regressiontests/middleware/extra_urls.py | 7 -
.../tests/regressiontests/middleware/models.py | 1 -
.../tests/regressiontests/middleware/tests.py | 249 -
.../tests/regressiontests/middleware/urls.py | 7 -
.../middleware_exceptions/__init__.py | 0
.../middleware_exceptions/models.py | 1 -
.../regressiontests/middleware_exceptions/tests.py | 40 -
.../regressiontests/middleware_exceptions/urls.py | 8 -
.../regressiontests/middleware_exceptions/views.py | 4 -
.../tests/regressiontests/model_fields/4x8.png | Bin 87 -> 0 bytes
.../tests/regressiontests/model_fields/8x4.png | Bin 87 -> 0 bytes
.../tests/regressiontests/model_fields/__init__.py | 0
.../regressiontests/model_fields/imagefield.py | 420 -
.../tests/regressiontests/model_fields/models.py | 154 -
.../tests/regressiontests/model_fields/tests.py | 313 -
.../model_forms_regress/__init__.py | 0
.../regressiontests/model_forms_regress/models.py | 59 -
.../regressiontests/model_forms_regress/tests.py | 311 -
.../model_formsets_regress/__init__.py | 0
.../model_formsets_regress/models.py | 19 -
.../model_formsets_regress/tests.py | 218 -
.../model_inheritance_regress/__init__.py | 0
.../model_inheritance_regress/models.py | 148 -
.../model_inheritance_regress/tests.py | 388 -
.../model_inheritance_select_related/__init__.py | 0
.../model_inheritance_select_related/models.py | 29 -
.../model_inheritance_select_related/tests.py | 29 -
.../regressiontests/model_regress/__init__.py | 0
.../tests/regressiontests/model_regress/models.py | 59 -
.../tests/regressiontests/model_regress/tests.py | 175 -
.../tests/regressiontests/modeladmin/__init__.py | 0
.../tests/regressiontests/modeladmin/models.py | 36 -
.../tests/regressiontests/modeladmin/tests.py | 1226 ---
.../regressiontests/multiple_database/__init__.py | 0
.../multiple_database/fixtures/multidb-common.json | 10 -
.../fixtures/multidb.default.json | 26 -
.../multiple_database/fixtures/multidb.other.json | 26 -
.../multiple_database/fixtures/pets.json | 18 -
.../regressiontests/multiple_database/models.py | 76 -
.../regressiontests/multiple_database/tests.py | 1681 ----
.../tests/regressiontests/null_fk/__init__.py | 0
.../django/tests/regressiontests/null_fk/models.py | 33 -
.../django/tests/regressiontests/null_fk/tests.py | 42 -
.../regressiontests/null_fk_ordering/__init__.py | 0
.../regressiontests/null_fk_ordering/models.py | 49 -
.../regressiontests/null_fk_ordering/tests.py | 39 -
.../tests/regressiontests/null_queries/__init__.py | 0
.../tests/regressiontests/null_queries/models.py | 25 -
.../tests/regressiontests/null_queries/tests.py | 69 -
.../regressiontests/one_to_one_regress/__init__.py | 0
.../regressiontests/one_to_one_regress/models.py | 43 -
.../regressiontests/one_to_one_regress/tests.py | 130 -
.../regressiontests/pagination_regress/__init__.py | 0
.../regressiontests/pagination_regress/models.py | 1 -
.../regressiontests/pagination_regress/tests.py | 157 -
.../tests/regressiontests/queries/__init__.py | 0
.../django/tests/regressiontests/queries/models.py | 276 -
.../django/tests/regressiontests/queries/tests.py | 1586 ----
.../regressiontests/queryset_pickle/__init__.py | 0
.../regressiontests/queryset_pickle/models.py | 34 -
.../tests/regressiontests/queryset_pickle/tests.py | 36 -
.../tests/regressiontests/requests/__init__.py | 3 -
.../tests/regressiontests/requests/models.py | 1 -
.../django/tests/regressiontests/requests/tests.py | 59 -
.../reverse_single_related/__init__.py | 0
.../reverse_single_related/models.py | 12 -
.../reverse_single_related/tests.py | 36 -
.../select_related_onetoone/__init__.py | 0
.../select_related_onetoone/models.py | 54 -
.../select_related_onetoone/tests.py | 94 -
.../select_related_regress/__init__.py | 0
.../select_related_regress/models.py | 86 -
.../select_related_regress/tests.py | 134 -
.../serializers_regress/__init__.py | 0
.../regressiontests/serializers_regress/models.py | 266 -
.../regressiontests/serializers_regress/tests.py | 421 -
.../tests/regressiontests/servers/__init__.py | 0
.../django/tests/regressiontests/servers/models.py | 0
.../django/tests/regressiontests/servers/tests.py | 68 -
.../regressiontests/settings_tests/__init__.py | 0
.../tests/regressiontests/settings_tests/models.py | 0
.../tests/regressiontests/settings_tests/tests.py | 17 -
.../regressiontests/signals_regress/__init__.py | 0
.../regressiontests/signals_regress/models.py | 14 -
.../tests/regressiontests/signals_regress/tests.py | 96 -
.../regressiontests/sites_framework/__init__.py | 0
.../regressiontests/sites_framework/models.py | 36 -
.../tests/regressiontests/sites_framework/tests.py | 34 -
.../regressiontests/special_headers/__init__.py | 0
.../special_headers/fixtures/data.xml | 20 -
.../regressiontests/special_headers/models.py | 4 -
.../templates/special_headers/article_detail.html | 1 -
.../tests/regressiontests/special_headers/tests.py | 40 -
.../tests/regressiontests/special_headers/urls.py | 10 -
.../tests/regressiontests/special_headers/views.py | 10 -
.../regressiontests/string_lookup/__init__.py | 0
.../tests/regressiontests/string_lookup/models.py | 45 -
.../tests/regressiontests/string_lookup/tests.py | 78 -
.../tests/regressiontests/syndication/__init__.py | 0
.../tests/regressiontests/syndication/feeds.py | 142 -
.../syndication/fixtures/feeddata.json | 42 -
.../tests/regressiontests/syndication/models.py | 23 -
.../templates/syndication/description.html | 1 -
.../syndication/templates/syndication/title.html | 1 -
.../tests/regressiontests/syndication/tests.py | 356 -
.../tests/regressiontests/syndication/urls.py | 24 -
.../tests/regressiontests/templates/__init__.py | 0
.../tests/regressiontests/templates/context.py | 17 -
.../tests/regressiontests/templates/custom.py | 12 -
.../regressiontests/templates/eggs/tagsegg.egg | Bin 2581 -> 0 bytes
.../tests/regressiontests/templates/filters.py | 350 -
.../tests/regressiontests/templates/loaders.py | 150 -
.../tests/regressiontests/templates/models.py | 0
.../tests/regressiontests/templates/nodelist.py | 30 -
.../tests/regressiontests/templates/parser.py | 84 -
.../tests/regressiontests/templates/smartif.py | 53 -
.../templates/templates/broken_base.html | 1 -
.../templates/templates/first/test.html | 1 -
.../templates/templates/second/test.html | 1 -
.../templates/templates/test_extends_error.html | 1 -
.../templates/templatetags/__init__.py | 0
.../templates/templatetags/broken_tag.py | 1 -
.../templates/templatetags/custom.py | 11 -
.../tests/regressiontests/templates/tests.py | 1389 ----
.../tests/regressiontests/templates/unicode.py | 30 -
.../django/tests/regressiontests/templates/urls.py | 17 -
.../tests/regressiontests/templates/views.py | 13 -
.../test_client_regress/__init__.py | 0
.../test_client_regress/bad_templates/404.html | 3 -
.../test_client_regress/fixtures/testdata.json | 56 -
.../regressiontests/test_client_regress/models.py | 864 --
.../regressiontests/test_client_regress/session.py | 30 -
.../test_client_regress/templates/unicode.html | 5 -
.../regressiontests/test_client_regress/urls.py | 29 -
.../regressiontests/test_client_regress/views.py | 93 -
.../tests/regressiontests/test_runner/__init__.py | 0
.../tests/regressiontests/test_runner/models.py | 0
.../tests/regressiontests/test_runner/tests.py | 120 -
.../tests/regressiontests/test_utils/__init__.py | 0
.../tests/regressiontests/test_utils/models.py | 0
.../tests/regressiontests/test_utils/tests.py | 72 -
.../django/tests/regressiontests/text/__init__.py | 0
parts/django/tests/regressiontests/text/models.py | 0
parts/django/tests/regressiontests/text/tests.py | 81 -
.../urlpatterns_reverse/__init__.py | 0
.../urlpatterns_reverse/extra_urls.py | 13 -
.../urlpatterns_reverse/included_namespace_urls.py | 13 -
.../urlpatterns_reverse/included_urls.py | 8 -
.../urlpatterns_reverse/included_urls2.py | 14 -
.../urlpatterns_reverse/middleware.py | 11 -
.../regressiontests/urlpatterns_reverse/models.py | 0
.../urlpatterns_reverse/namespace_urls.py | 38 -
.../regressiontests/urlpatterns_reverse/no_urls.py | 2 -
.../regressiontests/urlpatterns_reverse/tests.py | 330 -
.../urlpatterns_reverse/urlconf_inner.py | 12 -
.../urlpatterns_reverse/urlconf_outer.py | 9 -
.../regressiontests/urlpatterns_reverse/urls.py | 63 -
.../urlpatterns_reverse/urls_error_handlers.py | 8 -
.../urls_error_handlers_callables.py | 9 -
.../regressiontests/urlpatterns_reverse/views.py | 8 -
.../django/tests/regressiontests/utils/__init__.py | 0
.../tests/regressiontests/utils/checksums.py | 29 -
.../tests/regressiontests/utils/datastructures.py | 256 -
.../tests/regressiontests/utils/dateformat.py | 129 -
.../tests/regressiontests/utils/datetime_safe.py | 42 -
.../tests/regressiontests/utils/decorators.py | 19 -
.../tests/regressiontests/utils/eggs/test_egg.egg | Bin 4844 -> 0 bytes
.../tests/regressiontests/utils/feedgenerator.py | 63 -
.../tests/regressiontests/utils/functional.py | 10 -
parts/django/tests/regressiontests/utils/html.py | 111 -
parts/django/tests/regressiontests/utils/models.py | 1 -
.../tests/regressiontests/utils/module_loading.py | 114 -
.../regressiontests/utils/simplelazyobject.py | 77 -
.../tests/regressiontests/utils/termcolors.py | 149 -
.../regressiontests/utils/test_module/__init__.py | 0
.../utils/test_module/bad_module.py | 3 -
.../utils/test_module/good_module.py | 1 -
parts/django/tests/regressiontests/utils/tests.py | 18 -
parts/django/tests/regressiontests/utils/text.py | 20 -
.../tests/regressiontests/utils/timesince.py | 107 -
parts/django/tests/regressiontests/utils/tzinfo.py | 18 -
parts/django/tests/regressiontests/utils/urls.py | 8 -
parts/django/tests/regressiontests/utils/views.py | 17 -
.../django/tests/regressiontests/views/__init__.py | 10 -
.../tests/regressiontests/views/app0/__init__.py | 1 -
.../views/app0/locale/en/LC_MESSAGES/djangojs.mo | Bin 482 -> 0 bytes
.../views/app0/locale/en/LC_MESSAGES/djangojs.po | 20 -
.../tests/regressiontests/views/app1/__init__.py | 1 -
.../views/app1/locale/fr/LC_MESSAGES/djangojs.mo | Bin 482 -> 0 bytes
.../views/app1/locale/fr/LC_MESSAGES/djangojs.po | 20 -
.../tests/regressiontests/views/app2/__init__.py | 1 -
.../views/app2/locale/fr/LC_MESSAGES/djangojs.mo | Bin 482 -> 0 bytes
.../views/app2/locale/fr/LC_MESSAGES/djangojs.po | 20 -
.../tests/regressiontests/views/app3/__init__.py | 1 -
.../app3/locale/es_AR/LC_MESSAGES/djangojs.mo | Bin 483 -> 0 bytes
.../app3/locale/es_AR/LC_MESSAGES/djangojs.po | 20 -
.../tests/regressiontests/views/app4/__init__.py | 1 -
.../app4/locale/es_AR/LC_MESSAGES/djangojs.mo | Bin 483 -> 0 bytes
.../app4/locale/es_AR/LC_MESSAGES/djangojs.po | 20 -
.../regressiontests/views/fixtures/testdata.json | 75 -
.../views/locale/es/LC_MESSAGES/djangojs.mo | Bin 490 -> 0 bytes
.../views/locale/es/LC_MESSAGES/djangojs.po | 25 -
.../views/locale/fr/LC_MESSAGES/djangojs.mo | Bin 484 -> 0 bytes
.../views/locale/fr/LC_MESSAGES/djangojs.po | 24 -
.../views/locale/ru/LC_MESSAGES/djangojs.mo | Bin 489 -> 0 bytes
.../views/locale/ru/LC_MESSAGES/djangojs.po | 24 -
.../tests/regressiontests/views/media/file.txt | 1 -
.../tests/regressiontests/views/media/file.txt.gz | Bin 51 -> 0 bytes
.../tests/regressiontests/views/media/file.unknown | 1 -
parts/django/tests/regressiontests/views/models.py | 49 -
.../views/templates/debug/template_exception.html | 2 -
.../regressiontests/views/templatetags/__init__.py | 0
.../views/templatetags/debugtags.py | 10 -
.../tests/regressiontests/views/tests/__init__.py | 7 -
.../tests/regressiontests/views/tests/debug.py | 50 -
.../tests/regressiontests/views/tests/defaults.py | 85 -
.../views/tests/generic/__init__.py | 0
.../views/tests/generic/create_update.py | 211 -
.../views/tests/generic/date_based.py | 140 -
.../tests/regressiontests/views/tests/i18n.py | 149 -
.../tests/regressiontests/views/tests/specials.py | 35 -
.../tests/regressiontests/views/tests/static.py | 77 -
parts/django/tests/regressiontests/views/urls.py | 131 -
parts/django/tests/regressiontests/views/views.py | 59 -
parts/django/tests/runtests.py | 336 -
parts/django/tests/templates/404.html | 1 -
parts/django/tests/templates/500.html | 1 -
parts/django/tests/templates/base.html | 8 -
.../comments/comment_notification_email.txt | 3 -
.../tests/templates/custom_admin/add_form.html | 1 -
.../tests/templates/custom_admin/change_form.html | 1 -
.../tests/templates/custom_admin/change_list.html | 7 -
.../custom_admin/delete_confirmation.html | 1 -
.../custom_admin/delete_selected_confirmation.html | 1 -
.../django/tests/templates/custom_admin/index.html | 6 -
.../django/tests/templates/custom_admin/login.html | 6 -
.../tests/templates/custom_admin/logout.html | 6 -
.../templates/custom_admin/object_history.html | 1 -
.../custom_admin/password_change_done.html | 6 -
.../custom_admin/password_change_form.html | 6 -
parts/django/tests/templates/extended.html | 5 -
parts/django/tests/templates/form_view.html | 15 -
parts/django/tests/templates/login.html | 17 -
.../tests/templates/views/article_archive_day.html | 1 -
.../templates/views/article_archive_month.html | 1 -
.../templates/views/article_confirm_delete.html | 1 -
.../tests/templates/views/article_detail.html | 1 -
.../django/tests/templates/views/article_form.html | 3 -
.../templates/views/datearticle_archive_month.html | 1 -
.../tests/templates/views/urlarticle_detail.html | 1 -
.../tests/templates/views/urlarticle_form.html | 3 -
parts/django/tests/test_sqlite.py | 22 -
parts/django/tests/urls.py | 44 -
parts/tagging/.svn/all-wcprops | 41 -
parts/tagging/.svn/dir-prop-base | 6 -
parts/tagging/.svn/entries | 238 -
.../tagging/.svn/prop-base/CHANGELOG.txt.svn-base | 5 -
parts/tagging/.svn/prop-base/INSTALL.txt.svn-base | 5 -
parts/tagging/.svn/prop-base/LICENSE.txt.svn-base | 5 -
parts/tagging/.svn/prop-base/MANIFEST.in.svn-base | 5 -
parts/tagging/.svn/prop-base/README.txt.svn-base | 5 -
parts/tagging/.svn/prop-base/setup.py.svn-base | 5 -
.../tagging/.svn/text-base/CHANGELOG.txt.svn-base | 112 -
parts/tagging/.svn/text-base/INSTALL.txt.svn-base | 14 -
parts/tagging/.svn/text-base/LICENSE.txt.svn-base | 55 -
parts/tagging/.svn/text-base/MANIFEST.in.svn-base | 7 -
parts/tagging/.svn/text-base/README.txt.svn-base | 10 -
parts/tagging/.svn/text-base/setup.py.svn-base | 70 -
parts/tagging/CHANGELOG.txt | 112 -
parts/tagging/INSTALL.txt | 14 -
parts/tagging/LICENSE.txt | 55 -
parts/tagging/MANIFEST.in | 7 -
parts/tagging/README.txt | 10 -
parts/tagging/docs/.svn/all-wcprops | 11 -
parts/tagging/docs/.svn/entries | 62 -
.../docs/.svn/prop-base/overview.txt.svn-base | 5 -
.../docs/.svn/text-base/overview.txt.svn-base | 904 ---
parts/tagging/docs/overview.txt | 904 ---
parts/tagging/setup.py | 70 -
parts/tagging/tagging/.svn/all-wcprops | 65 -
parts/tagging/tagging/.svn/dir-prop-base | 6 -
parts/tagging/tagging/.svn/entries | 374 -
.../tagging/.svn/prop-base/__init__.py.svn-base | 5 -
.../tagging/.svn/prop-base/admin.py.svn-base | 5 -
.../tagging/.svn/prop-base/fields.py.svn-base | 5 -
.../tagging/.svn/prop-base/forms.py.svn-base | 5 -
.../tagging/.svn/prop-base/generic.py.svn-base | 5 -
.../tagging/.svn/prop-base/managers.py.svn-base | 5 -
.../tagging/.svn/prop-base/models.py.svn-base | 5 -
.../tagging/.svn/prop-base/settings.py.svn-base | 5 -
.../tagging/.svn/prop-base/utils.py.svn-base | 5 -
.../tagging/.svn/prop-base/views.py.svn-base | 5 -
.../tagging/.svn/text-base/__init__.py.svn-base | 62 -
.../tagging/.svn/text-base/admin.py.svn-base | 13 -
.../tagging/.svn/text-base/fields.py.svn-base | 119 -
.../tagging/.svn/text-base/forms.py.svn-base | 40 -
.../tagging/.svn/text-base/generic.py.svn-base | 40 -
.../tagging/.svn/text-base/managers.py.svn-base | 68 -
.../tagging/.svn/text-base/models.py.svn-base | 490 --
.../tagging/.svn/text-base/settings.py.svn-base | 13 -
.../tagging/.svn/text-base/utils.py.svn-base | 263 -
.../tagging/.svn/text-base/views.py.svn-base | 52 -
parts/tagging/tagging/__init__.py | 62 -
parts/tagging/tagging/admin.py | 13 -
parts/tagging/tagging/fields.py | 119 -
parts/tagging/tagging/forms.py | 40 -
parts/tagging/tagging/generic.py | 40 -
parts/tagging/tagging/managers.py | 68 -
parts/tagging/tagging/models.py | 490 --
parts/tagging/tagging/settings.py | 13 -
.../tagging/tagging/templatetags/.svn/all-wcprops | 17 -
.../tagging/templatetags/.svn/dir-prop-base | 6 -
parts/tagging/tagging/templatetags/.svn/entries | 96 -
.../.svn/prop-base/__init__.py.svn-base | 5 -
.../.svn/prop-base/tagging_tags.py.svn-base | 5 -
.../.svn/text-base/__init__.py.svn-base | 0
.../.svn/text-base/tagging_tags.py.svn-base | 231 -
parts/tagging/tagging/templatetags/__init__.py | 0
parts/tagging/tagging/templatetags/tagging_tags.py | 231 -
parts/tagging/tagging/tests/.svn/all-wcprops | 35 -
parts/tagging/tagging/tests/.svn/dir-prop-base | 6 -
parts/tagging/tagging/tests/.svn/entries | 198 -
.../tests/.svn/prop-base/__init__.py.svn-base | 5 -
.../tests/.svn/prop-base/models.py.svn-base | 5 -
.../tests/.svn/prop-base/settings.py.svn-base | 5 -
.../tagging/tests/.svn/prop-base/tags.txt.svn-base | 5 -
.../tagging/tests/.svn/prop-base/tests.py.svn-base | 5 -
.../tests/.svn/text-base/__init__.py.svn-base | 0
.../tests/.svn/text-base/models.py.svn-base | 42 -
.../tests/.svn/text-base/settings.py.svn-base | 27 -
.../tagging/tests/.svn/text-base/tags.txt.svn-base | 122 -
.../tagging/tests/.svn/text-base/tests.py.svn-base | 920 ---
parts/tagging/tagging/tests/__init__.py | 0
parts/tagging/tagging/tests/models.py | 42 -
parts/tagging/tagging/tests/settings.py | 27 -
parts/tagging/tagging/tests/tags.txt | 122 -
parts/tagging/tagging/tests/tests.py | 920 ---
parts/tagging/tagging/utils.py | 263 -
parts/tagging/tagging/views.py | 52 -
3090 files changed, 643922 deletions(-)
delete mode 100755 bin/buildout
delete mode 100755 bin/django
delete mode 100644 develop-eggs/Django.egg-link
delete mode 100644 downloads/django-1.2.4.tar.gz
delete mode 100644 eggs/MercurialRecipe-0.1.3-py2.6.egg
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/PKG-INFO
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/SOURCES.txt
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/dependency_links.txt
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/entry_points.txt
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/not-zip-safe
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/requires.txt
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/top_level.txt
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/__init__.py
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/__init__.pyo
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.py
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.pyo
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/manage.py
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/manage.pyo
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/recipe.py
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/recipe.pyo
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/test.py
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/test.pyo
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/tests.py
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/tests.pyo
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/wsgi.py
delete mode 100644 eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/wsgi.pyo
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/PKG-INFO
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/SOURCES.txt
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/dependency_links.txt
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/entry_points.txt
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/namespace_packages.txt
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/not-zip-safe
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/requires.txt
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/top_level.txt
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/__init__.py
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/__init__.pyo
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Common.py
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Common.pyo
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Native.py
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Native.pyo
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Py.py
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Py.pyo
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/__init__.py
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/__init__.pyo
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/__init__.py
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/__init__.pyo
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/test_impl.py
delete mode 100644 eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/test_impl.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/PKG-INFO
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/SOURCES.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/dependency_links.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/native_libs.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/not-zip-safe
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/scripts/hg
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/top_level.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/__init__.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/__init__.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/acl.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/acl.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bookmarks.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bookmarks.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bugzilla.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bugzilla.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/children.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/children.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/churn.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/churn.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/color.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/color.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/__init__.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/__init__.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/bzr.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/bzr.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/common.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/common.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/convcmd.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/convcmd.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvs.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvs.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvsps.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvsps.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/darcs.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/darcs.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/filemap.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/filemap.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/git.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/git.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/gnuarch.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/gnuarch.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/hg.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/hg.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/monotone.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/monotone.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/p4.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/p4.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/subversion.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/subversion.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/transport.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/transport.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/eol.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/eol.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/extdiff.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/extdiff.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/fetch.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/fetch.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/gpg.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/gpg.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/graphlog.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/graphlog.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgcia.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgcia.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgk.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgk.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/highlight/__init__.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/highlight/__init__.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/highlight/highlight.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/highlight/highlight.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/interhg.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/interhg.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/keyword.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/keyword.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/mq.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/mq.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/notify.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/notify.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/pager.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/pager.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/parentrevspec.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/parentrevspec.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/patchbomb.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/patchbomb.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/progress.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/progress.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/purge.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/purge.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/rebase.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/rebase.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/record.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/record.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/relink.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/relink.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/schemes.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/schemes.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/share.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/share.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/transplant.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/transplant.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/win32mbcs.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/win32mbcs.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/win32text.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/win32text.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/zeroconf/Zeroconf.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/zeroconf/Zeroconf.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/zeroconf/__init__.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/zeroconf/__init__.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/__init__.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/__init__.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/__version__.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/__version__.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/ancestor.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/ancestor.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/archival.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/archival.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/base85.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/base85.pyo
delete mode 100755 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/base85.so
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/bdiff.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/bdiff.pyo
delete mode 100755 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/bdiff.so
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/bundlerepo.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/bundlerepo.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/byterange.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/byterange.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/changegroup.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/changegroup.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/changelog.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/changelog.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/cmdutil.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/cmdutil.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/commands.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/commands.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/config.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/config.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/context.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/context.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/copies.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/copies.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/dagparser.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/dagparser.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/demandimport.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/demandimport.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/diffhelpers.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/diffhelpers.pyo
delete mode 100755 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/diffhelpers.so
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/dirstate.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/dirstate.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/discovery.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/discovery.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/dispatch.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/dispatch.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/encoding.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/encoding.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/error.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/error.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/extensions.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/extensions.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/fancyopts.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/fancyopts.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/filelog.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/filelog.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/filemerge.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/filemerge.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/graphmod.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/graphmod.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hbisect.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hbisect.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/config.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/dates.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/diffs.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/environment.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/extensions.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/glossary.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/hgweb.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/merge-tools.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/multirevs.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/patterns.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/revisions.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/revsets.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/subrepos.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/templates.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/help/urls.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hg.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hg.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/__init__.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/__init__.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/common.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/common.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/hgweb_mod.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/hgweb_mod.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/hgwebdir_mod.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/hgwebdir_mod.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/protocol.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/protocol.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/request.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/request.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/server.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/server.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/webcommands.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/webcommands.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/webutil.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/webutil.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/wsgicgi.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hgweb/wsgicgi.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hook.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/hook.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/httprepo.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/httprepo.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/i18n.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/i18n.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/ignore.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/ignore.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/keepalive.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/keepalive.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/localrepo.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/localrepo.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/lock.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/lock.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/lsprof.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/lsprof.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/lsprofcalltree.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/lsprofcalltree.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/mail.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/mail.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/manifest.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/manifest.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/match.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/match.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/mdiff.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/mdiff.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/merge.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/merge.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/minirst.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/minirst.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/mpatch.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/mpatch.pyo
delete mode 100755 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/mpatch.so
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/node.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/node.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/osutil.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/osutil.pyo
delete mode 100755 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/osutil.so
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/parser.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/parser.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/parsers.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/parsers.pyo
delete mode 100755 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/parsers.so
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/patch.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/patch.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/posix.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/posix.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/pushkey.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/pushkey.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/py3kcompat.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/py3kcompat.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/repair.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/repair.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/repo.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/repo.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/revlog.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/revlog.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/revset.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/revset.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/similar.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/similar.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/simplemerge.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/simplemerge.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/sshrepo.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/sshrepo.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/sshserver.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/sshserver.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/statichttprepo.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/statichttprepo.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/store.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/store.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/strutil.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/strutil.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/subrepo.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/subrepo.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/tags.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/tags.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templatefilters.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templatefilters.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templatekw.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templatekw.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templater.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templater.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/atom/changelog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/atom/changelogentry.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/atom/error.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/atom/filelog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/atom/header.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/atom/map
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/atom/tagentry.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/atom/tags.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/coal/header.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/coal/map
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/branches.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/changelog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/changelogentry.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/changeset.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/error.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/fileannotate.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/filediff.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/filelog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/filerevision.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/footer.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/graph.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/header.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/help.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/helptopics.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/index.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/manifest.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/map
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/notfound.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/search.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/shortlog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/summary.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/gitweb/tags.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/map-cmdline.changelog
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/map-cmdline.compact
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/map-cmdline.default
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/map-cmdline.xml
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/branches.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/changelog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/changelogentry.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/changeset.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/error.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/fileannotate.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/filediff.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/filelog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/filerevision.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/footer.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/graph.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/header.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/help.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/helptopics.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/index.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/manifest.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/map
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/notfound.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/search.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/shortlog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/summary.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/monoblue/tags.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/branches.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/changeset.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/error.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/fileannotate.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/filediff.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/filelog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/filelogentry.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/filerevision.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/footer.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/graph.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/header.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/help.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/helptopics.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/index.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/manifest.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/map
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/notfound.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/search.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/shortlog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/shortlogentry.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/paper/tags.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/raw/changeset.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/raw/error.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/raw/fileannotate.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/raw/filediff.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/raw/index.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/raw/manifest.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/raw/map
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/raw/notfound.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/rss/changelog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/rss/changelogentry.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/rss/error.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/rss/filelog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/rss/filelogentry.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/rss/header.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/rss/map
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/rss/tagentry.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/rss/tags.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/branches.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/changelog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/changelogentry.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/changeset.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/error.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/fileannotate.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/filediff.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/filelog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/filelogentry.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/filerevision.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/footer.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/graph.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/header.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/index.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/manifest.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/map
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/notfound.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/search.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/shortlog.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/shortlogentry.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/spartan/tags.tmpl
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/static/background.png
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/static/coal-file.png
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/static/coal-folder.png
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/static/excanvas.js
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/static/graph.js
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/static/hgicon.png
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/static/hglogo.png
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/static/style-coal.css
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/static/style-gitweb.css
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/static/style-monoblue.css
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/static/style-paper.css
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/static/style.css
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/templates/template-vars.txt
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/transaction.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/transaction.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/ui.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/ui.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/url.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/url.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/util.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/util.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/verify.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/verify.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/win32.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/win32.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/windows.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/windows.pyo
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/wireproto.py
delete mode 100644 eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/wireproto.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/EGG-INFO/PKG-INFO
delete mode 100644 eggs/py-1.4.0-py2.6.egg/EGG-INFO/SOURCES.txt
delete mode 100644 eggs/py-1.4.0-py2.6.egg/EGG-INFO/dependency_links.txt
delete mode 100644 eggs/py-1.4.0-py2.6.egg/EGG-INFO/not-zip-safe
delete mode 100644 eggs/py-1.4.0-py2.6.egg/EGG-INFO/top_level.txt
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/__init__.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/__init__.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/__metainfo.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/__metainfo.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_apipkg.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_apipkg.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_builtin.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_builtin.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_code/__init__.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_code/__init__.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_code/_assertionnew.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_code/_assertionnew.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_code/_assertionold.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_code/_assertionold.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_code/assertion.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_code/assertion.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_code/code.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_code/code.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_code/source.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_code/source.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_error.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_error.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_iniconfig.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_iniconfig.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_io/__init__.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_io/__init__.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_io/capture.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_io/capture.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_io/saferepr.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_io/saferepr.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_io/terminalwriter.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_io/terminalwriter.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_log/__init__.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_log/__init__.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_log/log.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_log/log.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_log/warning.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_log/warning.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_path/__init__.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_path/__init__.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_path/cacheutil.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_path/cacheutil.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_path/common.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_path/common.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_path/local.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_path/local.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_path/svnurl.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_path/svnurl.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_path/svnwc.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_path/svnwc.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_process/__init__.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_process/__init__.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_process/cmdexec.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_process/cmdexec.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_process/forkedfunc.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_process/forkedfunc.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_process/killproc.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_process/killproc.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_std.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_std.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_xmlgen.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/_xmlgen.pyo
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/test.py
delete mode 100644 eggs/py-1.4.0-py2.6.egg/py/test.pyo
delete mode 100644 eggs/setuptools-0.6c12dev_r85381-py2.6.egg
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/PKG-INFO
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/SOURCES.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/dependency_links.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/entry_points.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/namespace_packages.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/not-zip-safe
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/requires.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/top_level.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/README.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/__init__.py
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/__init__.pyo
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/__init__.py
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/allowhosts.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/bootstrap.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/buildout.py
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/buildout.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/debugging.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/dependencylinks.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/distribute.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/download.py
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/download.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/downloadcache.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/easy_install.py
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/easy_install.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/extends-cache.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/repeatable.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/rmtree.py
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/runsetup.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/setup.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/testing.py
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/testing.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/testing_bugfix.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/testrecipes.py
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/tests.py
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/testselectingpython.py
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/unzip.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/update.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/upgrading_distribute.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/virtualenv.txt
delete mode 100644 eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/windows.txt
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/PKG-INFO
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/SOURCES.txt
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/dependency_links.txt
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/entry_points.txt
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/namespace_packages.txt
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/not-zip-safe
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/requires.txt
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/top_level.txt
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/__init__.py
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/__init__.pyo
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/__init__.py
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/__init__.pyo
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/README.txt
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/__init__.py
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/__init__.pyo
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/api.txt
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/custom.py
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/custom.pyo
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/custom.txt
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/egg.py
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/egg.pyo
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/selecting-python.txt
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/tests.py
delete mode 100644 eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/tests.pyo
delete mode 100644 parts/buildout/site.py
delete mode 100644 parts/buildout/site.pyo
delete mode 100644 parts/buildout/sitecustomize.py
delete mode 100644 parts/buildout/sitecustomize.pyo
delete mode 100644 parts/django/AUTHORS
delete mode 100644 parts/django/Django.egg-info/PKG-INFO
delete mode 100644 parts/django/Django.egg-info/SOURCES.txt
delete mode 100644 parts/django/Django.egg-info/dependency_links.txt
delete mode 100644 parts/django/Django.egg-info/top_level.txt
delete mode 100644 parts/django/INSTALL
delete mode 100644 parts/django/LICENSE
delete mode 100644 parts/django/MANIFEST.in
delete mode 100644 parts/django/PKG-INFO
delete mode 100644 parts/django/README
delete mode 100644 parts/django/django/__init__.py
delete mode 100644 parts/django/django/bin/__init__.py
delete mode 100755 parts/django/django/bin/compile-messages.py
delete mode 100755 parts/django/django/bin/daily_cleanup.py
delete mode 100755 parts/django/django/bin/django-admin.py
delete mode 100755 parts/django/django/bin/make-messages.py
delete mode 100644 parts/django/django/bin/profiling/__init__.py
delete mode 100644 parts/django/django/bin/profiling/gather_profile_stats.py
delete mode 100755 parts/django/django/bin/unique-messages.py
delete mode 100644 parts/django/django/conf/__init__.py
delete mode 100644 parts/django/django/conf/app_template/__init__.py
delete mode 100644 parts/django/django/conf/app_template/models.py
delete mode 100644 parts/django/django/conf/app_template/tests.py
delete mode 100644 parts/django/django/conf/app_template/views.py
delete mode 100644 parts/django/django/conf/global_settings.py
delete mode 100644 parts/django/django/conf/locale/__init__.py
delete mode 100644 parts/django/django/conf/locale/ar/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/ar/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/ar/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/ar/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/ar/__init__.py
delete mode 100644 parts/django/django/conf/locale/ar/formats.py
delete mode 100644 parts/django/django/conf/locale/bg/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/bg/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/bg/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/bg/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/bg/__init__.py
delete mode 100644 parts/django/django/conf/locale/bg/formats.py
delete mode 100644 parts/django/django/conf/locale/bn/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/bn/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/bn/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/bn/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/bn/__init__.py
delete mode 100644 parts/django/django/conf/locale/bn/formats.py
delete mode 100644 parts/django/django/conf/locale/bs/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/bs/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/bs/__init__.py
delete mode 100644 parts/django/django/conf/locale/bs/formats.py
delete mode 100644 parts/django/django/conf/locale/ca/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/ca/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/ca/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/ca/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/ca/__init__.py
delete mode 100644 parts/django/django/conf/locale/ca/formats.py
delete mode 100644 parts/django/django/conf/locale/cs/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/cs/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/cs/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/cs/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/cs/__init__.py
delete mode 100644 parts/django/django/conf/locale/cs/formats.py
delete mode 100644 parts/django/django/conf/locale/cy/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/cy/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/cy/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/cy/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/cy/__init__.py
delete mode 100644 parts/django/django/conf/locale/cy/formats.py
delete mode 100644 parts/django/django/conf/locale/da/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/da/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/da/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/da/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/da/__init__.py
delete mode 100644 parts/django/django/conf/locale/da/formats.py
delete mode 100644 parts/django/django/conf/locale/de/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/de/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/de/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/de/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/de/__init__.py
delete mode 100644 parts/django/django/conf/locale/de/formats.py
delete mode 100644 parts/django/django/conf/locale/el/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/el/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/el/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/el/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/el/__init__.py
delete mode 100644 parts/django/django/conf/locale/el/formats.py
delete mode 100644 parts/django/django/conf/locale/en/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/en/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/en/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/en/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/en/__init__.py
delete mode 100644 parts/django/django/conf/locale/en/formats.py
delete mode 100644 parts/django/django/conf/locale/en_GB/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/en_GB/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/en_GB/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/en_GB/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/en_GB/__init__.py
delete mode 100644 parts/django/django/conf/locale/en_GB/formats.py
delete mode 100644 parts/django/django/conf/locale/es/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/es/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/es/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/es/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/es/__init__.py
delete mode 100644 parts/django/django/conf/locale/es/formats.py
delete mode 100644 parts/django/django/conf/locale/es_AR/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/es_AR/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/es_AR/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/es_AR/__init__.py
delete mode 100644 parts/django/django/conf/locale/es_AR/formats.py
delete mode 100644 parts/django/django/conf/locale/et/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/et/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/et/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/et/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/et/__init__.py
delete mode 100644 parts/django/django/conf/locale/et/formats.py
delete mode 100644 parts/django/django/conf/locale/eu/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/eu/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/eu/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/eu/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/eu/__init__.py
delete mode 100644 parts/django/django/conf/locale/eu/formats.py
delete mode 100644 parts/django/django/conf/locale/fa/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/fa/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/fa/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/fa/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/fa/__init__.py
delete mode 100644 parts/django/django/conf/locale/fa/formats.py
delete mode 100644 parts/django/django/conf/locale/fi/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/fi/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/fi/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/fi/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/fi/__init__.py
delete mode 100644 parts/django/django/conf/locale/fi/formats.py
delete mode 100644 parts/django/django/conf/locale/fr/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/fr/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/fr/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/fr/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/fr/__init__.py
delete mode 100644 parts/django/django/conf/locale/fr/formats.py
delete mode 100644 parts/django/django/conf/locale/fy_NL/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/fy_NL/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/fy_NL/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/fy_NL/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/fy_NL/__init__.py
delete mode 100644 parts/django/django/conf/locale/fy_NL/formats.py
delete mode 100644 parts/django/django/conf/locale/ga/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/ga/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/ga/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/ga/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/ga/__init__.py
delete mode 100644 parts/django/django/conf/locale/ga/formats.py
delete mode 100644 parts/django/django/conf/locale/gl/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/gl/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/gl/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/gl/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/gl/__init__.py
delete mode 100644 parts/django/django/conf/locale/gl/formats.py
delete mode 100644 parts/django/django/conf/locale/he/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/he/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/he/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/he/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/he/__init__.py
delete mode 100644 parts/django/django/conf/locale/he/formats.py
delete mode 100644 parts/django/django/conf/locale/hi/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/hi/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/hi/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/hi/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/hi/__init__.py
delete mode 100644 parts/django/django/conf/locale/hi/formats.py
delete mode 100644 parts/django/django/conf/locale/hr/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/hr/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/hr/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/hr/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/hr/__init__.py
delete mode 100644 parts/django/django/conf/locale/hr/formats.py
delete mode 100644 parts/django/django/conf/locale/hu/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/hu/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/hu/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/hu/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/hu/__init__.py
delete mode 100644 parts/django/django/conf/locale/hu/formats.py
delete mode 100644 parts/django/django/conf/locale/id/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/id/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/id/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/id/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/id/__init__.py
delete mode 100644 parts/django/django/conf/locale/id/formats.py
delete mode 100644 parts/django/django/conf/locale/is/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/is/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/is/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/is/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/is/__init__.py
delete mode 100644 parts/django/django/conf/locale/is/formats.py
delete mode 100644 parts/django/django/conf/locale/it/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/it/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/it/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/it/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/it/__init__.py
delete mode 100644 parts/django/django/conf/locale/it/formats.py
delete mode 100644 parts/django/django/conf/locale/ja/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/ja/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/ja/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/ja/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/ja/__init__.py
delete mode 100644 parts/django/django/conf/locale/ja/formats.py
delete mode 100644 parts/django/django/conf/locale/ka/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/ka/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/ka/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/ka/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/ka/__init__.py
delete mode 100644 parts/django/django/conf/locale/ka/formats.py
delete mode 100644 parts/django/django/conf/locale/km/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/km/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/km/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/km/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/km/__init__.py
delete mode 100644 parts/django/django/conf/locale/km/formats.py
delete mode 100644 parts/django/django/conf/locale/kn/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/kn/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/kn/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/kn/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/kn/__init__.py
delete mode 100644 parts/django/django/conf/locale/kn/formats.py
delete mode 100644 parts/django/django/conf/locale/ko/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/ko/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/ko/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/ko/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/ko/__init__.py
delete mode 100644 parts/django/django/conf/locale/ko/formats.py
delete mode 100644 parts/django/django/conf/locale/lt/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/lt/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/lt/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/lt/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/lt/__init__.py
delete mode 100644 parts/django/django/conf/locale/lt/formats.py
delete mode 100644 parts/django/django/conf/locale/lv/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/lv/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/lv/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/lv/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/lv/__init__.py
delete mode 100644 parts/django/django/conf/locale/lv/formats.py
delete mode 100644 parts/django/django/conf/locale/mk/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/mk/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/mk/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/mk/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/mk/__init__.py
delete mode 100644 parts/django/django/conf/locale/mk/formats.py
delete mode 100644 parts/django/django/conf/locale/ml/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/ml/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/ml/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/ml/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/ml/__init__.py
delete mode 100644 parts/django/django/conf/locale/ml/formats.py
delete mode 100644 parts/django/django/conf/locale/mn/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/mn/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/mn/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/mn/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/mn/__init__.py
delete mode 100644 parts/django/django/conf/locale/mn/formats.py
delete mode 100644 parts/django/django/conf/locale/nb/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/nb/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/nb/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/nb/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/nb/__init__.py
delete mode 100644 parts/django/django/conf/locale/nb/formats.py
delete mode 100644 parts/django/django/conf/locale/nl/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/nl/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/nl/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/nl/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/nl/__init__.py
delete mode 100644 parts/django/django/conf/locale/nl/formats.py
delete mode 100644 parts/django/django/conf/locale/nn/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/nn/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/nn/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/nn/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/nn/__init__.py
delete mode 100644 parts/django/django/conf/locale/nn/formats.py
delete mode 100644 parts/django/django/conf/locale/no/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/no/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/no/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/no/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/no/__init__.py
delete mode 100644 parts/django/django/conf/locale/no/formats.py
delete mode 100644 parts/django/django/conf/locale/pl/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/pl/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/pl/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/pl/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/pl/__init__.py
delete mode 100644 parts/django/django/conf/locale/pl/formats.py
delete mode 100644 parts/django/django/conf/locale/pt/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/pt/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/pt/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/pt/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/pt/__init__.py
delete mode 100644 parts/django/django/conf/locale/pt/formats.py
delete mode 100644 parts/django/django/conf/locale/pt_BR/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/pt_BR/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/pt_BR/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/pt_BR/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/pt_BR/__init__.py
delete mode 100644 parts/django/django/conf/locale/pt_BR/formats.py
delete mode 100644 parts/django/django/conf/locale/ro/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/ro/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/ro/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/ro/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/ro/__init__.py
delete mode 100644 parts/django/django/conf/locale/ro/formats.py
delete mode 100644 parts/django/django/conf/locale/ru/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/ru/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/ru/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/ru/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/ru/__init__.py
delete mode 100644 parts/django/django/conf/locale/ru/formats.py
delete mode 100644 parts/django/django/conf/locale/sk/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/sk/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/sk/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/sk/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/sk/__init__.py
delete mode 100644 parts/django/django/conf/locale/sk/formats.py
delete mode 100644 parts/django/django/conf/locale/sl/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/sl/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/sl/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/sl/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/sl/__init__.py
delete mode 100644 parts/django/django/conf/locale/sl/formats.py
delete mode 100644 parts/django/django/conf/locale/sq/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/sq/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/sq/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/sq/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/sq/__init__.py
delete mode 100644 parts/django/django/conf/locale/sq/formats.py
delete mode 100644 parts/django/django/conf/locale/sr/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/sr/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/sr/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/sr/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/sr/__init__.py
delete mode 100644 parts/django/django/conf/locale/sr/formats.py
delete mode 100644 parts/django/django/conf/locale/sr_Latn/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/sr_Latn/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/sr_Latn/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/sr_Latn/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/sr_Latn/__init__.py
delete mode 100644 parts/django/django/conf/locale/sr_Latn/formats.py
delete mode 100644 parts/django/django/conf/locale/sv/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/sv/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/sv/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/sv/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/sv/__init__.py
delete mode 100644 parts/django/django/conf/locale/sv/formats.py
delete mode 100644 parts/django/django/conf/locale/ta/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/ta/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/ta/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/ta/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/ta/__init__.py
delete mode 100644 parts/django/django/conf/locale/ta/formats.py
delete mode 100644 parts/django/django/conf/locale/te/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/te/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/te/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/te/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/te/__init__.py
delete mode 100644 parts/django/django/conf/locale/te/formats.py
delete mode 100644 parts/django/django/conf/locale/th/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/th/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/th/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/th/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/th/__init__.py
delete mode 100644 parts/django/django/conf/locale/th/formats.py
delete mode 100644 parts/django/django/conf/locale/tr/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/tr/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/tr/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/tr/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/tr/__init__.py
delete mode 100644 parts/django/django/conf/locale/tr/formats.py
delete mode 100644 parts/django/django/conf/locale/uk/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/uk/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/uk/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/uk/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/uk/__init__.py
delete mode 100644 parts/django/django/conf/locale/uk/formats.py
delete mode 100644 parts/django/django/conf/locale/vi/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/vi/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/vi/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/vi/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/vi/__init__.py
delete mode 100644 parts/django/django/conf/locale/vi/formats.py
delete mode 100644 parts/django/django/conf/locale/zh_CN/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/zh_CN/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/zh_CN/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/zh_CN/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/zh_CN/__init__.py
delete mode 100644 parts/django/django/conf/locale/zh_CN/formats.py
delete mode 100644 parts/django/django/conf/locale/zh_TW/LC_MESSAGES/django.mo
delete mode 100644 parts/django/django/conf/locale/zh_TW/LC_MESSAGES/django.po
delete mode 100644 parts/django/django/conf/locale/zh_TW/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/django/conf/locale/zh_TW/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/django/conf/locale/zh_TW/__init__.py
delete mode 100644 parts/django/django/conf/locale/zh_TW/formats.py
delete mode 100644 parts/django/django/conf/project_template/__init__.py
delete mode 100755 parts/django/django/conf/project_template/manage.py
delete mode 100644 parts/django/django/conf/project_template/settings.py
delete mode 100644 parts/django/django/conf/project_template/urls.py
delete mode 100644 parts/django/django/conf/urls/__init__.py
delete mode 100644 parts/django/django/conf/urls/defaults.py
delete mode 100644 parts/django/django/conf/urls/i18n.py
delete mode 100644 parts/django/django/conf/urls/shortcut.py
delete mode 100644 parts/django/django/contrib/__init__.py
delete mode 100644 parts/django/django/contrib/admin/__init__.py
delete mode 100644 parts/django/django/contrib/admin/actions.py
delete mode 100644 parts/django/django/contrib/admin/filterspecs.py
delete mode 100644 parts/django/django/contrib/admin/helpers.py
delete mode 100644 parts/django/django/contrib/admin/media/css/base.css
delete mode 100644 parts/django/django/contrib/admin/media/css/changelists.css
delete mode 100644 parts/django/django/contrib/admin/media/css/dashboard.css
delete mode 100644 parts/django/django/contrib/admin/media/css/forms.css
delete mode 100644 parts/django/django/contrib/admin/media/css/ie.css
delete mode 100644 parts/django/django/contrib/admin/media/css/login.css
delete mode 100644 parts/django/django/contrib/admin/media/css/rtl.css
delete mode 100644 parts/django/django/contrib/admin/media/css/widgets.css
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/arrow-down.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/arrow-up.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/changelist-bg.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/changelist-bg_rtl.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/chooser-bg.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/chooser_stacked-bg.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/default-bg-reverse.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/default-bg.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/deleted-overlay.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/icon-no.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/icon-unknown.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/icon-yes.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/icon_addlink.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/icon_alert.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/icon_calendar.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/icon_changelink.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/icon_clock.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/icon_deletelink.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/icon_error.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/icon_searchbox.png
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/icon_success.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/inline-delete-8bit.png
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/inline-delete.png
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/inline-restore-8bit.png
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/inline-restore.png
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/inline-splitter-bg.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/nav-bg-grabber.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/nav-bg-reverse.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/nav-bg.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/selector-add.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/selector-addall.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/selector-remove.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/selector-removeall.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/selector-search.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/selector_stacked-add.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/selector_stacked-remove.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/tool-left.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/tool-left_over.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/tool-right.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/tool-right_over.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/tooltag-add.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/tooltag-add_over.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/tooltag-arrowright.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/admin/tooltag-arrowright_over.gif
delete mode 100644 parts/django/django/contrib/admin/media/img/gis/move_vertex_off.png
delete mode 100644 parts/django/django/contrib/admin/media/img/gis/move_vertex_on.png
delete mode 100644 parts/django/django/contrib/admin/media/js/LICENSE-JQUERY.txt
delete mode 100644 parts/django/django/contrib/admin/media/js/SelectBox.js
delete mode 100644 parts/django/django/contrib/admin/media/js/SelectFilter2.js
delete mode 100644 parts/django/django/contrib/admin/media/js/actions.js
delete mode 100644 parts/django/django/contrib/admin/media/js/actions.min.js
delete mode 100644 parts/django/django/contrib/admin/media/js/admin/DateTimeShortcuts.js
delete mode 100644 parts/django/django/contrib/admin/media/js/admin/RelatedObjectLookups.js
delete mode 100644 parts/django/django/contrib/admin/media/js/admin/ordering.js
delete mode 100644 parts/django/django/contrib/admin/media/js/calendar.js
delete mode 100644 parts/django/django/contrib/admin/media/js/collapse.js
delete mode 100644 parts/django/django/contrib/admin/media/js/collapse.min.js
delete mode 100644 parts/django/django/contrib/admin/media/js/compress.py
delete mode 100644 parts/django/django/contrib/admin/media/js/core.js
delete mode 100644 parts/django/django/contrib/admin/media/js/dateparse.js
delete mode 100644 parts/django/django/contrib/admin/media/js/getElementsBySelector.js
delete mode 100644 parts/django/django/contrib/admin/media/js/inlines.js
delete mode 100644 parts/django/django/contrib/admin/media/js/inlines.min.js
delete mode 100644 parts/django/django/contrib/admin/media/js/jquery.init.js
delete mode 100644 parts/django/django/contrib/admin/media/js/jquery.js
delete mode 100644 parts/django/django/contrib/admin/media/js/jquery.min.js
delete mode 100644 parts/django/django/contrib/admin/media/js/prepopulate.js
delete mode 100644 parts/django/django/contrib/admin/media/js/prepopulate.min.js
delete mode 100644 parts/django/django/contrib/admin/media/js/timeparse.js
delete mode 100644 parts/django/django/contrib/admin/media/js/urlify.js
delete mode 100644 parts/django/django/contrib/admin/models.py
delete mode 100644 parts/django/django/contrib/admin/options.py
delete mode 100644 parts/django/django/contrib/admin/sites.py
delete mode 100644 parts/django/django/contrib/admin/templates/admin/404.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/500.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/actions.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/app_index.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/auth/user/add_form.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/auth/user/change_password.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/base.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/base_site.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/change_form.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/change_list.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/change_list_results.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/date_hierarchy.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/delete_confirmation.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/delete_selected_confirmation.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/edit_inline/stacked.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/edit_inline/tabular.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/filter.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/includes/fieldset.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/index.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/invalid_setup.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/login.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/object_history.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/pagination.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/prepopulated_fields_js.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/search_form.html
delete mode 100644 parts/django/django/contrib/admin/templates/admin/submit_line.html
delete mode 100644 parts/django/django/contrib/admin/templates/registration/logged_out.html
delete mode 100644 parts/django/django/contrib/admin/templates/registration/password_change_done.html
delete mode 100644 parts/django/django/contrib/admin/templates/registration/password_change_form.html
delete mode 100644 parts/django/django/contrib/admin/templates/registration/password_reset_complete.html
delete mode 100644 parts/django/django/contrib/admin/templates/registration/password_reset_confirm.html
delete mode 100644 parts/django/django/contrib/admin/templates/registration/password_reset_done.html
delete mode 100644 parts/django/django/contrib/admin/templates/registration/password_reset_email.html
delete mode 100644 parts/django/django/contrib/admin/templates/registration/password_reset_form.html
delete mode 100644 parts/django/django/contrib/admin/templatetags/__init__.py
delete mode 100644 parts/django/django/contrib/admin/templatetags/admin_list.py
delete mode 100644 parts/django/django/contrib/admin/templatetags/admin_modify.py
delete mode 100644 parts/django/django/contrib/admin/templatetags/adminmedia.py
delete mode 100644 parts/django/django/contrib/admin/templatetags/log.py
delete mode 100644 parts/django/django/contrib/admin/util.py
delete mode 100644 parts/django/django/contrib/admin/validation.py
delete mode 100644 parts/django/django/contrib/admin/views/__init__.py
delete mode 100644 parts/django/django/contrib/admin/views/decorators.py
delete mode 100644 parts/django/django/contrib/admin/views/main.py
delete mode 100644 parts/django/django/contrib/admin/widgets.py
delete mode 100644 parts/django/django/contrib/admindocs/__init__.py
delete mode 100644 parts/django/django/contrib/admindocs/models.py
delete mode 100644 parts/django/django/contrib/admindocs/templates/admin_doc/bookmarklets.html
delete mode 100644 parts/django/django/contrib/admindocs/templates/admin_doc/index.html
delete mode 100644 parts/django/django/contrib/admindocs/templates/admin_doc/missing_docutils.html
delete mode 100644 parts/django/django/contrib/admindocs/templates/admin_doc/model_detail.html
delete mode 100644 parts/django/django/contrib/admindocs/templates/admin_doc/model_index.html
delete mode 100644 parts/django/django/contrib/admindocs/templates/admin_doc/template_detail.html
delete mode 100644 parts/django/django/contrib/admindocs/templates/admin_doc/template_filter_index.html
delete mode 100644 parts/django/django/contrib/admindocs/templates/admin_doc/template_tag_index.html
delete mode 100644 parts/django/django/contrib/admindocs/templates/admin_doc/view_detail.html
delete mode 100644 parts/django/django/contrib/admindocs/templates/admin_doc/view_index.html
delete mode 100644 parts/django/django/contrib/admindocs/tests/__init__.py
delete mode 100644 parts/django/django/contrib/admindocs/tests/fields.py
delete mode 100644 parts/django/django/contrib/admindocs/urls.py
delete mode 100644 parts/django/django/contrib/admindocs/utils.py
delete mode 100644 parts/django/django/contrib/admindocs/views.py
delete mode 100644 parts/django/django/contrib/auth/__init__.py
delete mode 100644 parts/django/django/contrib/auth/admin.py
delete mode 100644 parts/django/django/contrib/auth/backends.py
delete mode 100644 parts/django/django/contrib/auth/context_processors.py
delete mode 100644 parts/django/django/contrib/auth/create_superuser.py
delete mode 100644 parts/django/django/contrib/auth/decorators.py
delete mode 100644 parts/django/django/contrib/auth/fixtures/authtestdata.json
delete mode 100644 parts/django/django/contrib/auth/forms.py
delete mode 100644 parts/django/django/contrib/auth/handlers/__init__.py
delete mode 100644 parts/django/django/contrib/auth/handlers/modpython.py
delete mode 100644 parts/django/django/contrib/auth/management/__init__.py
delete mode 100644 parts/django/django/contrib/auth/management/commands/__init__.py
delete mode 100644 parts/django/django/contrib/auth/management/commands/changepassword.py
delete mode 100644 parts/django/django/contrib/auth/management/commands/createsuperuser.py
delete mode 100644 parts/django/django/contrib/auth/middleware.py
delete mode 100644 parts/django/django/contrib/auth/models.py
delete mode 100644 parts/django/django/contrib/auth/tests/__init__.py
delete mode 100644 parts/django/django/contrib/auth/tests/auth_backends.py
delete mode 100644 parts/django/django/contrib/auth/tests/basic.py
delete mode 100644 parts/django/django/contrib/auth/tests/decorators.py
delete mode 100644 parts/django/django/contrib/auth/tests/forms.py
delete mode 100644 parts/django/django/contrib/auth/tests/models.py
delete mode 100644 parts/django/django/contrib/auth/tests/remote_user.py
delete mode 100644 parts/django/django/contrib/auth/tests/templates/registration/logged_out.html
delete mode 100644 parts/django/django/contrib/auth/tests/templates/registration/login.html
delete mode 100644 parts/django/django/contrib/auth/tests/templates/registration/password_change_form.html
delete mode 100644 parts/django/django/contrib/auth/tests/templates/registration/password_reset_complete.html
delete mode 100644 parts/django/django/contrib/auth/tests/templates/registration/password_reset_confirm.html
delete mode 100644 parts/django/django/contrib/auth/tests/templates/registration/password_reset_done.html
delete mode 100644 parts/django/django/contrib/auth/tests/templates/registration/password_reset_email.html
delete mode 100644 parts/django/django/contrib/auth/tests/templates/registration/password_reset_form.html
delete mode 100644 parts/django/django/contrib/auth/tests/tokens.py
delete mode 100644 parts/django/django/contrib/auth/tests/urls.py
delete mode 100644 parts/django/django/contrib/auth/tests/views.py
delete mode 100644 parts/django/django/contrib/auth/tokens.py
delete mode 100644 parts/django/django/contrib/auth/urls.py
delete mode 100644 parts/django/django/contrib/auth/views.py
delete mode 100644 parts/django/django/contrib/comments/__init__.py
delete mode 100644 parts/django/django/contrib/comments/admin.py
delete mode 100644 parts/django/django/contrib/comments/feeds.py
delete mode 100644 parts/django/django/contrib/comments/forms.py
delete mode 100644 parts/django/django/contrib/comments/managers.py
delete mode 100644 parts/django/django/contrib/comments/models.py
delete mode 100644 parts/django/django/contrib/comments/moderation.py
delete mode 100644 parts/django/django/contrib/comments/signals.py
delete mode 100644 parts/django/django/contrib/comments/templates/comments/400-debug.html
delete mode 100644 parts/django/django/contrib/comments/templates/comments/approve.html
delete mode 100644 parts/django/django/contrib/comments/templates/comments/approved.html
delete mode 100644 parts/django/django/contrib/comments/templates/comments/base.html
delete mode 100644 parts/django/django/contrib/comments/templates/comments/delete.html
delete mode 100644 parts/django/django/contrib/comments/templates/comments/deleted.html
delete mode 100644 parts/django/django/contrib/comments/templates/comments/flag.html
delete mode 100644 parts/django/django/contrib/comments/templates/comments/flagged.html
delete mode 100644 parts/django/django/contrib/comments/templates/comments/form.html
delete mode 100644 parts/django/django/contrib/comments/templates/comments/list.html
delete mode 100644 parts/django/django/contrib/comments/templates/comments/posted.html
delete mode 100644 parts/django/django/contrib/comments/templates/comments/preview.html
delete mode 100644 parts/django/django/contrib/comments/templatetags/__init__.py
delete mode 100644 parts/django/django/contrib/comments/templatetags/comments.py
delete mode 100644 parts/django/django/contrib/comments/urls.py
delete mode 100644 parts/django/django/contrib/comments/views/__init__.py
delete mode 100644 parts/django/django/contrib/comments/views/comments.py
delete mode 100644 parts/django/django/contrib/comments/views/moderation.py
delete mode 100644 parts/django/django/contrib/comments/views/utils.py
delete mode 100644 parts/django/django/contrib/contenttypes/__init__.py
delete mode 100644 parts/django/django/contrib/contenttypes/generic.py
delete mode 100644 parts/django/django/contrib/contenttypes/management.py
delete mode 100644 parts/django/django/contrib/contenttypes/models.py
delete mode 100644 parts/django/django/contrib/contenttypes/tests.py
delete mode 100644 parts/django/django/contrib/contenttypes/views.py
delete mode 100644 parts/django/django/contrib/csrf/__init__.py
delete mode 100644 parts/django/django/contrib/csrf/middleware.py
delete mode 100644 parts/django/django/contrib/databrowse/__init__.py
delete mode 100644 parts/django/django/contrib/databrowse/datastructures.py
delete mode 100644 parts/django/django/contrib/databrowse/plugins/__init__.py
delete mode 100644 parts/django/django/contrib/databrowse/plugins/calendars.py
delete mode 100644 parts/django/django/contrib/databrowse/plugins/fieldchoices.py
delete mode 100644 parts/django/django/contrib/databrowse/plugins/objects.py
delete mode 100644 parts/django/django/contrib/databrowse/sites.py
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/base.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/base_site.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/calendar_day.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/calendar_homepage.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/calendar_main.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/calendar_month.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/calendar_year.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/choice_detail.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/choice_list.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/fieldchoice_detail.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/fieldchoice_homepage.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/fieldchoice_list.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/homepage.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/model_detail.html
delete mode 100644 parts/django/django/contrib/databrowse/templates/databrowse/object_detail.html
delete mode 100644 parts/django/django/contrib/databrowse/urls.py
delete mode 100644 parts/django/django/contrib/databrowse/views.py
delete mode 100644 parts/django/django/contrib/flatpages/__init__.py
delete mode 100644 parts/django/django/contrib/flatpages/admin.py
delete mode 100644 parts/django/django/contrib/flatpages/fixtures/sample_flatpages.json
delete mode 100644 parts/django/django/contrib/flatpages/middleware.py
delete mode 100644 parts/django/django/contrib/flatpages/models.py
delete mode 100644 parts/django/django/contrib/flatpages/tests/__init__.py
delete mode 100644 parts/django/django/contrib/flatpages/tests/csrf.py
delete mode 100644 parts/django/django/contrib/flatpages/tests/middleware.py
delete mode 100644 parts/django/django/contrib/flatpages/tests/templates/404.html
delete mode 100644 parts/django/django/contrib/flatpages/tests/templates/flatpages/default.html
delete mode 100644 parts/django/django/contrib/flatpages/tests/templates/registration/login.html
delete mode 100644 parts/django/django/contrib/flatpages/tests/urls.py
delete mode 100644 parts/django/django/contrib/flatpages/tests/views.py
delete mode 100644 parts/django/django/contrib/flatpages/urls.py
delete mode 100644 parts/django/django/contrib/flatpages/views.py
delete mode 100644 parts/django/django/contrib/formtools/__init__.py
delete mode 100644 parts/django/django/contrib/formtools/models.py
delete mode 100644 parts/django/django/contrib/formtools/preview.py
delete mode 100644 parts/django/django/contrib/formtools/templates/formtools/form.html
delete mode 100644 parts/django/django/contrib/formtools/templates/formtools/preview.html
delete mode 100644 parts/django/django/contrib/formtools/test_urls.py
delete mode 100644 parts/django/django/contrib/formtools/tests.py
delete mode 100644 parts/django/django/contrib/formtools/utils.py
delete mode 100644 parts/django/django/contrib/formtools/wizard.py
delete mode 100644 parts/django/django/contrib/gis/__init__.py
delete mode 100644 parts/django/django/contrib/gis/admin/__init__.py
delete mode 100644 parts/django/django/contrib/gis/admin/options.py
delete mode 100644 parts/django/django/contrib/gis/admin/widgets.py
delete mode 100644 parts/django/django/contrib/gis/db/__init__.py
delete mode 100644 parts/django/django/contrib/gis/db/backend/__init__.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/__init__.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/adapter.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/base.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/mysql/__init__.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/mysql/base.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/mysql/creation.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/mysql/introspection.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/mysql/operations.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/oracle/__init__.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/oracle/adapter.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/oracle/base.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/oracle/compiler.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/oracle/creation.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/oracle/introspection.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/oracle/models.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/oracle/operations.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/postgis/__init__.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/postgis/adapter.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/postgis/base.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/postgis/creation.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/postgis/introspection.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/postgis/models.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/postgis/operations.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/spatialite/__init__.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/spatialite/adapter.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/spatialite/base.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/spatialite/client.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/spatialite/creation.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/spatialite/introspection.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/spatialite/models.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/spatialite/operations.py
delete mode 100644 parts/django/django/contrib/gis/db/backends/util.py
delete mode 100644 parts/django/django/contrib/gis/db/models/__init__.py
delete mode 100644 parts/django/django/contrib/gis/db/models/aggregates.py
delete mode 100644 parts/django/django/contrib/gis/db/models/fields.py
delete mode 100644 parts/django/django/contrib/gis/db/models/manager.py
delete mode 100644 parts/django/django/contrib/gis/db/models/proxy.py
delete mode 100644 parts/django/django/contrib/gis/db/models/query.py
delete mode 100644 parts/django/django/contrib/gis/db/models/sql/__init__.py
delete mode 100644 parts/django/django/contrib/gis/db/models/sql/aggregates.py
delete mode 100644 parts/django/django/contrib/gis/db/models/sql/compiler.py
delete mode 100644 parts/django/django/contrib/gis/db/models/sql/conversion.py
delete mode 100644 parts/django/django/contrib/gis/db/models/sql/query.py
delete mode 100644 parts/django/django/contrib/gis/db/models/sql/where.py
delete mode 100644 parts/django/django/contrib/gis/feeds.py
delete mode 100644 parts/django/django/contrib/gis/forms/__init__.py
delete mode 100644 parts/django/django/contrib/gis/forms/fields.py
delete mode 100644 parts/django/django/contrib/gis/gdal/LICENSE
delete mode 100644 parts/django/django/contrib/gis/gdal/__init__.py
delete mode 100644 parts/django/django/contrib/gis/gdal/base.py
delete mode 100644 parts/django/django/contrib/gis/gdal/datasource.py
delete mode 100644 parts/django/django/contrib/gis/gdal/driver.py
delete mode 100644 parts/django/django/contrib/gis/gdal/envelope.py
delete mode 100644 parts/django/django/contrib/gis/gdal/error.py
delete mode 100644 parts/django/django/contrib/gis/gdal/feature.py
delete mode 100644 parts/django/django/contrib/gis/gdal/field.py
delete mode 100644 parts/django/django/contrib/gis/gdal/geometries.py
delete mode 100644 parts/django/django/contrib/gis/gdal/geomtype.py
delete mode 100644 parts/django/django/contrib/gis/gdal/layer.py
delete mode 100644 parts/django/django/contrib/gis/gdal/libgdal.py
delete mode 100644 parts/django/django/contrib/gis/gdal/prototypes/__init__.py
delete mode 100644 parts/django/django/contrib/gis/gdal/prototypes/ds.py
delete mode 100644 parts/django/django/contrib/gis/gdal/prototypes/errcheck.py
delete mode 100644 parts/django/django/contrib/gis/gdal/prototypes/generation.py
delete mode 100644 parts/django/django/contrib/gis/gdal/prototypes/geom.py
delete mode 100644 parts/django/django/contrib/gis/gdal/prototypes/srs.py
delete mode 100644 parts/django/django/contrib/gis/gdal/srs.py
delete mode 100644 parts/django/django/contrib/gis/gdal/tests/__init__.py
delete mode 100644 parts/django/django/contrib/gis/gdal/tests/test_driver.py
delete mode 100644 parts/django/django/contrib/gis/gdal/tests/test_ds.py
delete mode 100644 parts/django/django/contrib/gis/gdal/tests/test_envelope.py
delete mode 100644 parts/django/django/contrib/gis/gdal/tests/test_geom.py
delete mode 100644 parts/django/django/contrib/gis/gdal/tests/test_srs.py
delete mode 100644 parts/django/django/contrib/gis/geometry/__init__.py
delete mode 100644 parts/django/django/contrib/gis/geometry/backend/__init__.py
delete mode 100644 parts/django/django/contrib/gis/geometry/backend/geos.py
delete mode 100644 parts/django/django/contrib/gis/geometry/regex.py
delete mode 100644 parts/django/django/contrib/gis/geometry/test_data.py
delete mode 100644 parts/django/django/contrib/gis/geos/LICENSE
delete mode 100644 parts/django/django/contrib/gis/geos/__init__.py
delete mode 100644 parts/django/django/contrib/gis/geos/base.py
delete mode 100644 parts/django/django/contrib/gis/geos/collections.py
delete mode 100644 parts/django/django/contrib/gis/geos/coordseq.py
delete mode 100644 parts/django/django/contrib/gis/geos/error.py
delete mode 100644 parts/django/django/contrib/gis/geos/factory.py
delete mode 100644 parts/django/django/contrib/gis/geos/geometry.py
delete mode 100644 parts/django/django/contrib/gis/geos/io.py
delete mode 100644 parts/django/django/contrib/gis/geos/libgeos.py
delete mode 100644 parts/django/django/contrib/gis/geos/linestring.py
delete mode 100644 parts/django/django/contrib/gis/geos/mutable_list.py
delete mode 100644 parts/django/django/contrib/gis/geos/point.py
delete mode 100644 parts/django/django/contrib/gis/geos/polygon.py
delete mode 100644 parts/django/django/contrib/gis/geos/prepared.py
delete mode 100644 parts/django/django/contrib/gis/geos/prototypes/__init__.py
delete mode 100644 parts/django/django/contrib/gis/geos/prototypes/coordseq.py
delete mode 100644 parts/django/django/contrib/gis/geos/prototypes/errcheck.py
delete mode 100644 parts/django/django/contrib/gis/geos/prototypes/geom.py
delete mode 100644 parts/django/django/contrib/gis/geos/prototypes/io.py
delete mode 100644 parts/django/django/contrib/gis/geos/prototypes/misc.py
delete mode 100644 parts/django/django/contrib/gis/geos/prototypes/predicates.py
delete mode 100644 parts/django/django/contrib/gis/geos/prototypes/prepared.py
delete mode 100644 parts/django/django/contrib/gis/geos/prototypes/threadsafe.py
delete mode 100644 parts/django/django/contrib/gis/geos/prototypes/topology.py
delete mode 100644 parts/django/django/contrib/gis/geos/tests/__init__.py
delete mode 100644 parts/django/django/contrib/gis/geos/tests/test_geos.py
delete mode 100644 parts/django/django/contrib/gis/geos/tests/test_geos_mutation.py
delete mode 100644 parts/django/django/contrib/gis/geos/tests/test_io.py
delete mode 100644 parts/django/django/contrib/gis/geos/tests/test_mutable_list.py
delete mode 100644 parts/django/django/contrib/gis/management/__init__.py
delete mode 100644 parts/django/django/contrib/gis/management/base.py
delete mode 100644 parts/django/django/contrib/gis/management/commands/__init__.py
delete mode 100644 parts/django/django/contrib/gis/management/commands/inspectdb.py
delete mode 100644 parts/django/django/contrib/gis/management/commands/ogrinspect.py
delete mode 100644 parts/django/django/contrib/gis/maps/__init__.py
delete mode 100644 parts/django/django/contrib/gis/maps/google/__init__.py
delete mode 100644 parts/django/django/contrib/gis/maps/google/gmap.py
delete mode 100644 parts/django/django/contrib/gis/maps/google/overlays.py
delete mode 100644 parts/django/django/contrib/gis/maps/google/zoom.py
delete mode 100644 parts/django/django/contrib/gis/maps/openlayers/__init__.py
delete mode 100644 parts/django/django/contrib/gis/measure.py
delete mode 100644 parts/django/django/contrib/gis/models.py
delete mode 100644 parts/django/django/contrib/gis/shortcuts.py
delete mode 100644 parts/django/django/contrib/gis/sitemaps/__init__.py
delete mode 100644 parts/django/django/contrib/gis/sitemaps/georss.py
delete mode 100644 parts/django/django/contrib/gis/sitemaps/kml.py
delete mode 100644 parts/django/django/contrib/gis/sitemaps/views.py
delete mode 100644 parts/django/django/contrib/gis/templates/gis/admin/openlayers.html
delete mode 100644 parts/django/django/contrib/gis/templates/gis/admin/openlayers.js
delete mode 100644 parts/django/django/contrib/gis/templates/gis/admin/osm.html
delete mode 100644 parts/django/django/contrib/gis/templates/gis/admin/osm.js
delete mode 100644 parts/django/django/contrib/gis/templates/gis/google/google-map.html
delete mode 100644 parts/django/django/contrib/gis/templates/gis/google/google-map.js
delete mode 100644 parts/django/django/contrib/gis/templates/gis/google/google-multi.js
delete mode 100644 parts/django/django/contrib/gis/templates/gis/google/google-single.js
delete mode 100644 parts/django/django/contrib/gis/templates/gis/kml/base.kml
delete mode 100644 parts/django/django/contrib/gis/templates/gis/kml/placemarks.kml
delete mode 100644 parts/django/django/contrib/gis/templates/gis/sitemaps/geo_sitemap.xml
delete mode 100644 parts/django/django/contrib/gis/tests/__init__.py
delete mode 100644 parts/django/django/contrib/gis/tests/data/cities/cities.dbf
delete mode 100644 parts/django/django/contrib/gis/tests/data/cities/cities.prj
delete mode 100644 parts/django/django/contrib/gis/tests/data/cities/cities.shp
delete mode 100644 parts/django/django/contrib/gis/tests/data/cities/cities.shx
delete mode 100644 parts/django/django/contrib/gis/tests/data/counties/counties.dbf
delete mode 100644 parts/django/django/contrib/gis/tests/data/counties/counties.shp
delete mode 100644 parts/django/django/contrib/gis/tests/data/counties/counties.shx
delete mode 100644 parts/django/django/contrib/gis/tests/data/geometries.json.gz
delete mode 100644 parts/django/django/contrib/gis/tests/data/interstates/interstates.dbf
delete mode 100644 parts/django/django/contrib/gis/tests/data/interstates/interstates.prj
delete mode 100644 parts/django/django/contrib/gis/tests/data/interstates/interstates.shp
delete mode 100644 parts/django/django/contrib/gis/tests/data/interstates/interstates.shx
delete mode 100644 parts/django/django/contrib/gis/tests/data/test_point/test_point.dbf
delete mode 100644 parts/django/django/contrib/gis/tests/data/test_point/test_point.prj
delete mode 100644 parts/django/django/contrib/gis/tests/data/test_point/test_point.shp
delete mode 100644 parts/django/django/contrib/gis/tests/data/test_point/test_point.shx
delete mode 100644 parts/django/django/contrib/gis/tests/data/test_poly/test_poly.dbf
delete mode 100644 parts/django/django/contrib/gis/tests/data/test_poly/test_poly.prj
delete mode 100644 parts/django/django/contrib/gis/tests/data/test_poly/test_poly.shp
delete mode 100644 parts/django/django/contrib/gis/tests/data/test_poly/test_poly.shx
delete mode 100644 parts/django/django/contrib/gis/tests/data/test_vrt/test_vrt.csv
delete mode 100644 parts/django/django/contrib/gis/tests/data/test_vrt/test_vrt.vrt
delete mode 100644 parts/django/django/contrib/gis/tests/distapp/__init__.py
delete mode 100644 parts/django/django/contrib/gis/tests/distapp/models.py
delete mode 100644 parts/django/django/contrib/gis/tests/distapp/tests.py
delete mode 100644 parts/django/django/contrib/gis/tests/geo3d/__init__.py
delete mode 100644 parts/django/django/contrib/gis/tests/geo3d/models.py
delete mode 100644 parts/django/django/contrib/gis/tests/geo3d/tests.py
delete mode 100644 parts/django/django/contrib/gis/tests/geo3d/views.py
delete mode 100644 parts/django/django/contrib/gis/tests/geoapp/__init__.py
delete mode 100644 parts/django/django/contrib/gis/tests/geoapp/feeds.py
delete mode 100644 parts/django/django/contrib/gis/tests/geoapp/fixtures/initial_data.json.gz
delete mode 100644 parts/django/django/contrib/gis/tests/geoapp/models.py
delete mode 100644 parts/django/django/contrib/gis/tests/geoapp/sitemaps.py
delete mode 100644 parts/django/django/contrib/gis/tests/geoapp/test_feeds.py
delete mode 100644 parts/django/django/contrib/gis/tests/geoapp/test_regress.py
delete mode 100644 parts/django/django/contrib/gis/tests/geoapp/test_sitemaps.py
delete mode 100644 parts/django/django/contrib/gis/tests/geoapp/tests.py
delete mode 100644 parts/django/django/contrib/gis/tests/geoapp/urls.py
delete mode 100644 parts/django/django/contrib/gis/tests/geogapp/__init__.py
delete mode 100644 parts/django/django/contrib/gis/tests/geogapp/fixtures/initial_data.json
delete mode 100644 parts/django/django/contrib/gis/tests/geogapp/models.py
delete mode 100644 parts/django/django/contrib/gis/tests/geogapp/tests.py
delete mode 100644 parts/django/django/contrib/gis/tests/layermap/__init__.py
delete mode 100644 parts/django/django/contrib/gis/tests/layermap/models.py
delete mode 100644 parts/django/django/contrib/gis/tests/layermap/tests.py
delete mode 100644 parts/django/django/contrib/gis/tests/relatedapp/__init__.py
delete mode 100644 parts/django/django/contrib/gis/tests/relatedapp/models.py
delete mode 100644 parts/django/django/contrib/gis/tests/relatedapp/tests.py
delete mode 100644 parts/django/django/contrib/gis/tests/test_geoforms.py
delete mode 100644 parts/django/django/contrib/gis/tests/test_geoip.py
delete mode 100644 parts/django/django/contrib/gis/tests/test_measure.py
delete mode 100644 parts/django/django/contrib/gis/tests/test_spatialrefsys.py
delete mode 100644 parts/django/django/contrib/gis/tests/utils.py
delete mode 100644 parts/django/django/contrib/gis/utils/__init__.py
delete mode 100644 parts/django/django/contrib/gis/utils/geoip.py
delete mode 100644 parts/django/django/contrib/gis/utils/layermapping.py
delete mode 100644 parts/django/django/contrib/gis/utils/ogrinfo.py
delete mode 100644 parts/django/django/contrib/gis/utils/ogrinspect.py
delete mode 100644 parts/django/django/contrib/gis/utils/srs.py
delete mode 100644 parts/django/django/contrib/gis/utils/wkt.py
delete mode 100644 parts/django/django/contrib/humanize/__init__.py
delete mode 100644 parts/django/django/contrib/humanize/templatetags/__init__.py
delete mode 100644 parts/django/django/contrib/humanize/templatetags/humanize.py
delete mode 100644 parts/django/django/contrib/localflavor/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/ar/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/ar/ar_provinces.py
delete mode 100644 parts/django/django/contrib/localflavor/ar/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/at/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/at/at_states.py
delete mode 100644 parts/django/django/contrib/localflavor/at/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/au/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/au/au_states.py
delete mode 100644 parts/django/django/contrib/localflavor/au/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/br/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/br/br_states.py
delete mode 100644 parts/django/django/contrib/localflavor/br/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/ca/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/ca/ca_provinces.py
delete mode 100644 parts/django/django/contrib/localflavor/ca/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/ch/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/ch/ch_states.py
delete mode 100644 parts/django/django/contrib/localflavor/ch/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/cl/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/cl/cl_regions.py
delete mode 100644 parts/django/django/contrib/localflavor/cl/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/cz/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/cz/cz_regions.py
delete mode 100644 parts/django/django/contrib/localflavor/cz/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/de/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/de/de_states.py
delete mode 100644 parts/django/django/contrib/localflavor/de/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/es/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/es/es_provinces.py
delete mode 100644 parts/django/django/contrib/localflavor/es/es_regions.py
delete mode 100644 parts/django/django/contrib/localflavor/es/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/fi/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/fi/fi_municipalities.py
delete mode 100644 parts/django/django/contrib/localflavor/fi/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/fr/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/fr/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/fr/fr_department.py
delete mode 100644 parts/django/django/contrib/localflavor/generic/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/generic/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/id/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/id/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/id/id_choices.py
delete mode 100644 parts/django/django/contrib/localflavor/ie/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/ie/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/ie/ie_counties.py
delete mode 100644 parts/django/django/contrib/localflavor/in_/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/in_/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/in_/in_states.py
delete mode 100644 parts/django/django/contrib/localflavor/is_/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/is_/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/is_/is_postalcodes.py
delete mode 100644 parts/django/django/contrib/localflavor/it/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/it/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/it/it_province.py
delete mode 100644 parts/django/django/contrib/localflavor/it/it_region.py
delete mode 100644 parts/django/django/contrib/localflavor/it/util.py
delete mode 100644 parts/django/django/contrib/localflavor/jp/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/jp/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/jp/jp_prefectures.py
delete mode 100644 parts/django/django/contrib/localflavor/kw/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/kw/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/mx/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/mx/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/mx/mx_states.py
delete mode 100644 parts/django/django/contrib/localflavor/nl/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/nl/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/nl/nl_provinces.py
delete mode 100644 parts/django/django/contrib/localflavor/no/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/no/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/no/no_municipalities.py
delete mode 100644 parts/django/django/contrib/localflavor/pe/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/pe/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/pe/pe_region.py
delete mode 100644 parts/django/django/contrib/localflavor/pl/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/pl/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/pl/pl_administrativeunits.py
delete mode 100644 parts/django/django/contrib/localflavor/pl/pl_voivodeships.py
delete mode 100644 parts/django/django/contrib/localflavor/pt/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/pt/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/ro/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/ro/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/ro/ro_counties.py
delete mode 100644 parts/django/django/contrib/localflavor/se/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/se/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/se/se_counties.py
delete mode 100644 parts/django/django/contrib/localflavor/se/utils.py
delete mode 100644 parts/django/django/contrib/localflavor/sk/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/sk/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/sk/sk_districts.py
delete mode 100644 parts/django/django/contrib/localflavor/sk/sk_regions.py
delete mode 100644 parts/django/django/contrib/localflavor/uk/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/uk/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/uk/uk_regions.py
delete mode 100644 parts/django/django/contrib/localflavor/us/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/us/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/us/models.py
delete mode 100644 parts/django/django/contrib/localflavor/us/us_states.py
delete mode 100644 parts/django/django/contrib/localflavor/uy/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/uy/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/uy/util.py
delete mode 100644 parts/django/django/contrib/localflavor/uy/uy_departaments.py
delete mode 100644 parts/django/django/contrib/localflavor/za/__init__.py
delete mode 100644 parts/django/django/contrib/localflavor/za/forms.py
delete mode 100644 parts/django/django/contrib/localflavor/za/za_provinces.py
delete mode 100644 parts/django/django/contrib/markup/__init__.py
delete mode 100644 parts/django/django/contrib/markup/models.py
delete mode 100644 parts/django/django/contrib/markup/templatetags/__init__.py
delete mode 100644 parts/django/django/contrib/markup/templatetags/markup.py
delete mode 100644 parts/django/django/contrib/markup/tests.py
delete mode 100644 parts/django/django/contrib/messages/__init__.py
delete mode 100644 parts/django/django/contrib/messages/api.py
delete mode 100644 parts/django/django/contrib/messages/constants.py
delete mode 100644 parts/django/django/contrib/messages/context_processors.py
delete mode 100644 parts/django/django/contrib/messages/middleware.py
delete mode 100644 parts/django/django/contrib/messages/models.py
delete mode 100644 parts/django/django/contrib/messages/storage/__init__.py
delete mode 100644 parts/django/django/contrib/messages/storage/base.py
delete mode 100644 parts/django/django/contrib/messages/storage/cookie.py
delete mode 100644 parts/django/django/contrib/messages/storage/fallback.py
delete mode 100644 parts/django/django/contrib/messages/storage/session.py
delete mode 100644 parts/django/django/contrib/messages/storage/user_messages.py
delete mode 100644 parts/django/django/contrib/messages/tests/__init__.py
delete mode 100644 parts/django/django/contrib/messages/tests/base.py
delete mode 100644 parts/django/django/contrib/messages/tests/cookie.py
delete mode 100644 parts/django/django/contrib/messages/tests/fallback.py
delete mode 100644 parts/django/django/contrib/messages/tests/middleware.py
delete mode 100644 parts/django/django/contrib/messages/tests/session.py
delete mode 100644 parts/django/django/contrib/messages/tests/urls.py
delete mode 100644 parts/django/django/contrib/messages/tests/user_messages.py
delete mode 100644 parts/django/django/contrib/messages/utils.py
delete mode 100644 parts/django/django/contrib/redirects/__init__.py
delete mode 100644 parts/django/django/contrib/redirects/admin.py
delete mode 100644 parts/django/django/contrib/redirects/middleware.py
delete mode 100644 parts/django/django/contrib/redirects/models.py
delete mode 100644 parts/django/django/contrib/sessions/__init__.py
delete mode 100644 parts/django/django/contrib/sessions/backends/__init__.py
delete mode 100644 parts/django/django/contrib/sessions/backends/base.py
delete mode 100644 parts/django/django/contrib/sessions/backends/cache.py
delete mode 100644 parts/django/django/contrib/sessions/backends/cached_db.py
delete mode 100644 parts/django/django/contrib/sessions/backends/db.py
delete mode 100644 parts/django/django/contrib/sessions/backends/file.py
delete mode 100644 parts/django/django/contrib/sessions/middleware.py
delete mode 100644 parts/django/django/contrib/sessions/models.py
delete mode 100644 parts/django/django/contrib/sessions/tests.py
delete mode 100644 parts/django/django/contrib/sitemaps/__init__.py
delete mode 100644 parts/django/django/contrib/sitemaps/management/__init__.py
delete mode 100644 parts/django/django/contrib/sitemaps/management/commands/__init__.py
delete mode 100644 parts/django/django/contrib/sitemaps/management/commands/ping_google.py
delete mode 100644 parts/django/django/contrib/sitemaps/models.py
delete mode 100644 parts/django/django/contrib/sitemaps/templates/sitemap.xml
delete mode 100644 parts/django/django/contrib/sitemaps/templates/sitemap_index.xml
delete mode 100644 parts/django/django/contrib/sitemaps/tests/__init__.py
delete mode 100644 parts/django/django/contrib/sitemaps/tests/basic.py
delete mode 100644 parts/django/django/contrib/sitemaps/tests/urls.py
delete mode 100644 parts/django/django/contrib/sitemaps/views.py
delete mode 100644 parts/django/django/contrib/sites/__init__.py
delete mode 100644 parts/django/django/contrib/sites/admin.py
delete mode 100644 parts/django/django/contrib/sites/management.py
delete mode 100644 parts/django/django/contrib/sites/managers.py
delete mode 100644 parts/django/django/contrib/sites/models.py
delete mode 100644 parts/django/django/contrib/sites/tests.py
delete mode 100644 parts/django/django/contrib/syndication/__init__.py
delete mode 100644 parts/django/django/contrib/syndication/feeds.py
delete mode 100644 parts/django/django/contrib/syndication/views.py
delete mode 100644 parts/django/django/contrib/webdesign/__init__.py
delete mode 100644 parts/django/django/contrib/webdesign/lorem_ipsum.py
delete mode 100644 parts/django/django/contrib/webdesign/models.py
delete mode 100644 parts/django/django/contrib/webdesign/templatetags/__init__.py
delete mode 100644 parts/django/django/contrib/webdesign/templatetags/webdesign.py
delete mode 100644 parts/django/django/contrib/webdesign/tests.py
delete mode 100644 parts/django/django/core/__init__.py
delete mode 100644 parts/django/django/core/cache/__init__.py
delete mode 100644 parts/django/django/core/cache/backends/__init__.py
delete mode 100644 parts/django/django/core/cache/backends/base.py
delete mode 100644 parts/django/django/core/cache/backends/db.py
delete mode 100644 parts/django/django/core/cache/backends/dummy.py
delete mode 100644 parts/django/django/core/cache/backends/filebased.py
delete mode 100644 parts/django/django/core/cache/backends/locmem.py
delete mode 100644 parts/django/django/core/cache/backends/memcached.py
delete mode 100644 parts/django/django/core/context_processors.py
delete mode 100644 parts/django/django/core/exceptions.py
delete mode 100644 parts/django/django/core/files/__init__.py
delete mode 100644 parts/django/django/core/files/base.py
delete mode 100644 parts/django/django/core/files/images.py
delete mode 100644 parts/django/django/core/files/locks.py
delete mode 100644 parts/django/django/core/files/move.py
delete mode 100644 parts/django/django/core/files/storage.py
delete mode 100644 parts/django/django/core/files/temp.py
delete mode 100644 parts/django/django/core/files/uploadedfile.py
delete mode 100644 parts/django/django/core/files/uploadhandler.py
delete mode 100644 parts/django/django/core/files/utils.py
delete mode 100644 parts/django/django/core/handlers/__init__.py
delete mode 100644 parts/django/django/core/handlers/base.py
delete mode 100644 parts/django/django/core/handlers/modpython.py
delete mode 100644 parts/django/django/core/handlers/profiler-hotshot.py
delete mode 100644 parts/django/django/core/handlers/wsgi.py
delete mode 100644 parts/django/django/core/mail/__init__.py
delete mode 100644 parts/django/django/core/mail/backends/__init__.py
delete mode 100644 parts/django/django/core/mail/backends/base.py
delete mode 100644 parts/django/django/core/mail/backends/console.py
delete mode 100644 parts/django/django/core/mail/backends/dummy.py
delete mode 100644 parts/django/django/core/mail/backends/filebased.py
delete mode 100644 parts/django/django/core/mail/backends/locmem.py
delete mode 100644 parts/django/django/core/mail/backends/smtp.py
delete mode 100644 parts/django/django/core/mail/message.py
delete mode 100644 parts/django/django/core/mail/utils.py
delete mode 100644 parts/django/django/core/management/__init__.py
delete mode 100644 parts/django/django/core/management/base.py
delete mode 100644 parts/django/django/core/management/color.py
delete mode 100644 parts/django/django/core/management/commands/__init__.py
delete mode 100644 parts/django/django/core/management/commands/cleanup.py
delete mode 100644 parts/django/django/core/management/commands/compilemessages.py
delete mode 100644 parts/django/django/core/management/commands/createcachetable.py
delete mode 100644 parts/django/django/core/management/commands/dbshell.py
delete mode 100644 parts/django/django/core/management/commands/diffsettings.py
delete mode 100644 parts/django/django/core/management/commands/dumpdata.py
delete mode 100644 parts/django/django/core/management/commands/flush.py
delete mode 100644 parts/django/django/core/management/commands/inspectdb.py
delete mode 100644 parts/django/django/core/management/commands/loaddata.py
delete mode 100644 parts/django/django/core/management/commands/makemessages.py
delete mode 100644 parts/django/django/core/management/commands/reset.py
delete mode 100644 parts/django/django/core/management/commands/runfcgi.py
delete mode 100644 parts/django/django/core/management/commands/runserver.py
delete mode 100644 parts/django/django/core/management/commands/shell.py
delete mode 100644 parts/django/django/core/management/commands/sql.py
delete mode 100644 parts/django/django/core/management/commands/sqlall.py
delete mode 100644 parts/django/django/core/management/commands/sqlclear.py
delete mode 100644 parts/django/django/core/management/commands/sqlcustom.py
delete mode 100644 parts/django/django/core/management/commands/sqlflush.py
delete mode 100644 parts/django/django/core/management/commands/sqlindexes.py
delete mode 100644 parts/django/django/core/management/commands/sqlinitialdata.py
delete mode 100644 parts/django/django/core/management/commands/sqlreset.py
delete mode 100644 parts/django/django/core/management/commands/sqlsequencereset.py
delete mode 100644 parts/django/django/core/management/commands/startapp.py
delete mode 100644 parts/django/django/core/management/commands/startproject.py
delete mode 100644 parts/django/django/core/management/commands/syncdb.py
delete mode 100644 parts/django/django/core/management/commands/test.py
delete mode 100644 parts/django/django/core/management/commands/testserver.py
delete mode 100644 parts/django/django/core/management/commands/validate.py
delete mode 100644 parts/django/django/core/management/sql.py
delete mode 100644 parts/django/django/core/management/validation.py
delete mode 100644 parts/django/django/core/paginator.py
delete mode 100644 parts/django/django/core/serializers/__init__.py
delete mode 100644 parts/django/django/core/serializers/base.py
delete mode 100644 parts/django/django/core/serializers/json.py
delete mode 100644 parts/django/django/core/serializers/python.py
delete mode 100644 parts/django/django/core/serializers/pyyaml.py
delete mode 100644 parts/django/django/core/serializers/xml_serializer.py
delete mode 100644 parts/django/django/core/servers/__init__.py
delete mode 100644 parts/django/django/core/servers/basehttp.py
delete mode 100644 parts/django/django/core/servers/fastcgi.py
delete mode 100644 parts/django/django/core/signals.py
delete mode 100644 parts/django/django/core/template_loader.py
delete mode 100644 parts/django/django/core/urlresolvers.py
delete mode 100644 parts/django/django/core/validators.py
delete mode 100644 parts/django/django/core/xheaders.py
delete mode 100644 parts/django/django/db/__init__.py
delete mode 100644 parts/django/django/db/backends/__init__.py
delete mode 100644 parts/django/django/db/backends/creation.py
delete mode 100644 parts/django/django/db/backends/dummy/__init__.py
delete mode 100644 parts/django/django/db/backends/dummy/base.py
delete mode 100644 parts/django/django/db/backends/mysql/__init__.py
delete mode 100644 parts/django/django/db/backends/mysql/base.py
delete mode 100644 parts/django/django/db/backends/mysql/client.py
delete mode 100644 parts/django/django/db/backends/mysql/compiler.py
delete mode 100644 parts/django/django/db/backends/mysql/creation.py
delete mode 100644 parts/django/django/db/backends/mysql/introspection.py
delete mode 100644 parts/django/django/db/backends/mysql/validation.py
delete mode 100644 parts/django/django/db/backends/oracle/__init__.py
delete mode 100644 parts/django/django/db/backends/oracle/base.py
delete mode 100644 parts/django/django/db/backends/oracle/client.py
delete mode 100644 parts/django/django/db/backends/oracle/compiler.py
delete mode 100644 parts/django/django/db/backends/oracle/creation.py
delete mode 100644 parts/django/django/db/backends/oracle/introspection.py
delete mode 100644 parts/django/django/db/backends/postgresql/__init__.py
delete mode 100644 parts/django/django/db/backends/postgresql/base.py
delete mode 100644 parts/django/django/db/backends/postgresql/client.py
delete mode 100644 parts/django/django/db/backends/postgresql/creation.py
delete mode 100644 parts/django/django/db/backends/postgresql/introspection.py
delete mode 100644 parts/django/django/db/backends/postgresql/operations.py
delete mode 100644 parts/django/django/db/backends/postgresql/version.py
delete mode 100644 parts/django/django/db/backends/postgresql_psycopg2/__init__.py
delete mode 100644 parts/django/django/db/backends/postgresql_psycopg2/base.py
delete mode 100644 parts/django/django/db/backends/postgresql_psycopg2/introspection.py
delete mode 100644 parts/django/django/db/backends/signals.py
delete mode 100644 parts/django/django/db/backends/sqlite3/__init__.py
delete mode 100644 parts/django/django/db/backends/sqlite3/base.py
delete mode 100644 parts/django/django/db/backends/sqlite3/client.py
delete mode 100644 parts/django/django/db/backends/sqlite3/creation.py
delete mode 100644 parts/django/django/db/backends/sqlite3/introspection.py
delete mode 100644 parts/django/django/db/backends/util.py
delete mode 100644 parts/django/django/db/models/__init__.py
delete mode 100644 parts/django/django/db/models/aggregates.py
delete mode 100644 parts/django/django/db/models/base.py
delete mode 100644 parts/django/django/db/models/expressions.py
delete mode 100644 parts/django/django/db/models/fields/__init__.py
delete mode 100644 parts/django/django/db/models/fields/files.py
delete mode 100644 parts/django/django/db/models/fields/proxy.py
delete mode 100644 parts/django/django/db/models/fields/related.py
delete mode 100644 parts/django/django/db/models/fields/subclassing.py
delete mode 100644 parts/django/django/db/models/loading.py
delete mode 100644 parts/django/django/db/models/manager.py
delete mode 100644 parts/django/django/db/models/options.py
delete mode 100644 parts/django/django/db/models/query.py
delete mode 100644 parts/django/django/db/models/query_utils.py
delete mode 100644 parts/django/django/db/models/related.py
delete mode 100644 parts/django/django/db/models/signals.py
delete mode 100644 parts/django/django/db/models/sql/__init__.py
delete mode 100644 parts/django/django/db/models/sql/aggregates.py
delete mode 100644 parts/django/django/db/models/sql/compiler.py
delete mode 100644 parts/django/django/db/models/sql/constants.py
delete mode 100644 parts/django/django/db/models/sql/datastructures.py
delete mode 100644 parts/django/django/db/models/sql/expressions.py
delete mode 100644 parts/django/django/db/models/sql/query.py
delete mode 100644 parts/django/django/db/models/sql/subqueries.py
delete mode 100644 parts/django/django/db/models/sql/where.py
delete mode 100644 parts/django/django/db/transaction.py
delete mode 100644 parts/django/django/db/utils.py
delete mode 100644 parts/django/django/dispatch/__init__.py
delete mode 100644 parts/django/django/dispatch/dispatcher.py
delete mode 100644 parts/django/django/dispatch/license.txt
delete mode 100644 parts/django/django/dispatch/saferef.py
delete mode 100644 parts/django/django/forms/__init__.py
delete mode 100644 parts/django/django/forms/extras/__init__.py
delete mode 100644 parts/django/django/forms/extras/widgets.py
delete mode 100644 parts/django/django/forms/fields.py
delete mode 100644 parts/django/django/forms/forms.py
delete mode 100644 parts/django/django/forms/formsets.py
delete mode 100644 parts/django/django/forms/models.py
delete mode 100644 parts/django/django/forms/util.py
delete mode 100644 parts/django/django/forms/widgets.py
delete mode 100644 parts/django/django/http/__init__.py
delete mode 100644 parts/django/django/http/multipartparser.py
delete mode 100644 parts/django/django/http/utils.py
delete mode 100644 parts/django/django/middleware/__init__.py
delete mode 100644 parts/django/django/middleware/cache.py
delete mode 100644 parts/django/django/middleware/common.py
delete mode 100644 parts/django/django/middleware/csrf.py
delete mode 100644 parts/django/django/middleware/doc.py
delete mode 100644 parts/django/django/middleware/gzip.py
delete mode 100644 parts/django/django/middleware/http.py
delete mode 100644 parts/django/django/middleware/locale.py
delete mode 100644 parts/django/django/middleware/transaction.py
delete mode 100644 parts/django/django/shortcuts/__init__.py
delete mode 100644 parts/django/django/template/__init__.py
delete mode 100644 parts/django/django/template/context.py
delete mode 100644 parts/django/django/template/debug.py
delete mode 100644 parts/django/django/template/defaultfilters.py
delete mode 100644 parts/django/django/template/defaulttags.py
delete mode 100644 parts/django/django/template/loader.py
delete mode 100644 parts/django/django/template/loader_tags.py
delete mode 100644 parts/django/django/template/loaders/__init__.py
delete mode 100644 parts/django/django/template/loaders/app_directories.py
delete mode 100644 parts/django/django/template/loaders/cached.py
delete mode 100644 parts/django/django/template/loaders/eggs.py
delete mode 100644 parts/django/django/template/loaders/filesystem.py
delete mode 100644 parts/django/django/template/smartif.py
delete mode 100644 parts/django/django/templatetags/__init__.py
delete mode 100644 parts/django/django/templatetags/cache.py
delete mode 100644 parts/django/django/templatetags/i18n.py
delete mode 100644 parts/django/django/test/__init__.py
delete mode 100644 parts/django/django/test/_doctest.py
delete mode 100644 parts/django/django/test/client.py
delete mode 100644 parts/django/django/test/signals.py
delete mode 100644 parts/django/django/test/simple.py
delete mode 100644 parts/django/django/test/testcases.py
delete mode 100644 parts/django/django/test/utils.py
delete mode 100644 parts/django/django/utils/__init__.py
delete mode 100644 parts/django/django/utils/_os.py
delete mode 100644 parts/django/django/utils/_threading_local.py
delete mode 100644 parts/django/django/utils/autoreload.py
delete mode 100644 parts/django/django/utils/cache.py
delete mode 100644 parts/django/django/utils/checksums.py
delete mode 100644 parts/django/django/utils/copycompat.py
delete mode 100644 parts/django/django/utils/daemonize.py
delete mode 100644 parts/django/django/utils/datastructures.py
delete mode 100644 parts/django/django/utils/dateformat.py
delete mode 100644 parts/django/django/utils/dates.py
delete mode 100644 parts/django/django/utils/datetime_safe.py
delete mode 100644 parts/django/django/utils/decorators.py
delete mode 100644 parts/django/django/utils/encoding.py
delete mode 100644 parts/django/django/utils/feedgenerator.py
delete mode 100644 parts/django/django/utils/formats.py
delete mode 100644 parts/django/django/utils/functional.py
delete mode 100644 parts/django/django/utils/hashcompat.py
delete mode 100644 parts/django/django/utils/html.py
delete mode 100644 parts/django/django/utils/http.py
delete mode 100644 parts/django/django/utils/importlib.py
delete mode 100644 parts/django/django/utils/itercompat.py
delete mode 100644 parts/django/django/utils/module_loading.py
delete mode 100644 parts/django/django/utils/numberformat.py
delete mode 100644 parts/django/django/utils/regex_helper.py
delete mode 100644 parts/django/django/utils/safestring.py
delete mode 100644 parts/django/django/utils/simplejson/LICENSE.txt
delete mode 100644 parts/django/django/utils/simplejson/__init__.py
delete mode 100644 parts/django/django/utils/simplejson/decoder.py
delete mode 100644 parts/django/django/utils/simplejson/encoder.py
delete mode 100644 parts/django/django/utils/simplejson/scanner.py
delete mode 100644 parts/django/django/utils/simplejson/tool.py
delete mode 100644 parts/django/django/utils/stopwords.py
delete mode 100644 parts/django/django/utils/synch.py
delete mode 100644 parts/django/django/utils/termcolors.py
delete mode 100644 parts/django/django/utils/text.py
delete mode 100644 parts/django/django/utils/thread_support.py
delete mode 100644 parts/django/django/utils/timesince.py
delete mode 100644 parts/django/django/utils/translation/__init__.py
delete mode 100644 parts/django/django/utils/translation/trans_null.py
delete mode 100644 parts/django/django/utils/translation/trans_real.py
delete mode 100644 parts/django/django/utils/tree.py
delete mode 100644 parts/django/django/utils/tzinfo.py
delete mode 100644 parts/django/django/utils/version.py
delete mode 100644 parts/django/django/utils/xmlutils.py
delete mode 100644 parts/django/django/views/__init__.py
delete mode 100644 parts/django/django/views/csrf.py
delete mode 100644 parts/django/django/views/debug.py
delete mode 100644 parts/django/django/views/decorators/__init__.py
delete mode 100644 parts/django/django/views/decorators/cache.py
delete mode 100644 parts/django/django/views/decorators/csrf.py
delete mode 100644 parts/django/django/views/decorators/gzip.py
delete mode 100644 parts/django/django/views/decorators/http.py
delete mode 100644 parts/django/django/views/decorators/vary.py
delete mode 100644 parts/django/django/views/defaults.py
delete mode 100644 parts/django/django/views/generic/__init__.py
delete mode 100644 parts/django/django/views/generic/create_update.py
delete mode 100644 parts/django/django/views/generic/date_based.py
delete mode 100644 parts/django/django/views/generic/list_detail.py
delete mode 100644 parts/django/django/views/generic/simple.py
delete mode 100644 parts/django/django/views/i18n.py
delete mode 100644 parts/django/django/views/static.py
delete mode 100644 parts/django/docs/Makefile
delete mode 100644 parts/django/docs/_ext/applyxrefs.py
delete mode 100644 parts/django/docs/_ext/djangodocs.py
delete mode 100644 parts/django/docs/_ext/literals_to_xrefs.py
delete mode 100644 parts/django/docs/_theme/djangodocs/genindex.html
delete mode 100644 parts/django/docs/_theme/djangodocs/layout.html
delete mode 100644 parts/django/docs/_theme/djangodocs/modindex.html
delete mode 100644 parts/django/docs/_theme/djangodocs/search.html
delete mode 100644 parts/django/docs/_theme/djangodocs/static/default.css
delete mode 100644 parts/django/docs/_theme/djangodocs/static/djangodocs.css
delete mode 100644 parts/django/docs/_theme/djangodocs/static/docicons-behindscenes.png
delete mode 100644 parts/django/docs/_theme/djangodocs/static/docicons-note.png
delete mode 100644 parts/django/docs/_theme/djangodocs/static/docicons-philosophy.png
delete mode 100644 parts/django/docs/_theme/djangodocs/static/homepage.css
delete mode 100644 parts/django/docs/_theme/djangodocs/static/reset-fonts-grids.css
delete mode 100644 parts/django/docs/_theme/djangodocs/theme.conf
delete mode 100644 parts/django/docs/conf.py
delete mode 100644 parts/django/docs/contents.txt
delete mode 100644 parts/django/docs/faq/admin.txt
delete mode 100644 parts/django/docs/faq/contributing.txt
delete mode 100644 parts/django/docs/faq/general.txt
delete mode 100644 parts/django/docs/faq/help.txt
delete mode 100644 parts/django/docs/faq/index.txt
delete mode 100644 parts/django/docs/faq/install.txt
delete mode 100644 parts/django/docs/faq/models.txt
delete mode 100644 parts/django/docs/faq/usage.txt
delete mode 100644 parts/django/docs/glossary.txt
delete mode 100644 parts/django/docs/howto/apache-auth.txt
delete mode 100644 parts/django/docs/howto/auth-remote-user.txt
delete mode 100644 parts/django/docs/howto/custom-file-storage.txt
delete mode 100644 parts/django/docs/howto/custom-management-commands.txt
delete mode 100644 parts/django/docs/howto/custom-model-fields.txt
delete mode 100644 parts/django/docs/howto/custom-template-tags.txt
delete mode 100644 parts/django/docs/howto/deployment/fastcgi.txt
delete mode 100644 parts/django/docs/howto/deployment/index.txt
delete mode 100644 parts/django/docs/howto/deployment/modpython.txt
delete mode 100644 parts/django/docs/howto/deployment/modwsgi.txt
delete mode 100644 parts/django/docs/howto/error-reporting.txt
delete mode 100644 parts/django/docs/howto/i18n.txt
delete mode 100644 parts/django/docs/howto/index.txt
delete mode 100644 parts/django/docs/howto/initial-data.txt
delete mode 100644 parts/django/docs/howto/jython.txt
delete mode 100644 parts/django/docs/howto/legacy-databases.txt
delete mode 100644 parts/django/docs/howto/outputting-csv.txt
delete mode 100644 parts/django/docs/howto/outputting-pdf.txt
delete mode 100644 parts/django/docs/howto/static-files.txt
delete mode 100644 parts/django/docs/index.txt
delete mode 100644 parts/django/docs/internals/_images/djangotickets.png
delete mode 100644 parts/django/docs/internals/committers.txt
delete mode 100644 parts/django/docs/internals/contributing.txt
delete mode 100644 parts/django/docs/internals/deprecation.txt
delete mode 100644 parts/django/docs/internals/documentation.txt
delete mode 100644 parts/django/docs/internals/index.txt
delete mode 100644 parts/django/docs/internals/release-process.txt
delete mode 100644 parts/django/docs/internals/svn.txt
delete mode 100644 parts/django/docs/intro/_images/admin01.png
delete mode 100644 parts/django/docs/intro/_images/admin02.png
delete mode 100644 parts/django/docs/intro/_images/admin02t.png
delete mode 100644 parts/django/docs/intro/_images/admin03.png
delete mode 100644 parts/django/docs/intro/_images/admin03t.png
delete mode 100644 parts/django/docs/intro/_images/admin04.png
delete mode 100644 parts/django/docs/intro/_images/admin04t.png
delete mode 100644 parts/django/docs/intro/_images/admin05.png
delete mode 100644 parts/django/docs/intro/_images/admin05t.png
delete mode 100644 parts/django/docs/intro/_images/admin06.png
delete mode 100644 parts/django/docs/intro/_images/admin06t.png
delete mode 100644 parts/django/docs/intro/_images/admin07.png
delete mode 100644 parts/django/docs/intro/_images/admin08.png
delete mode 100644 parts/django/docs/intro/_images/admin08t.png
delete mode 100644 parts/django/docs/intro/_images/admin09.png
delete mode 100644 parts/django/docs/intro/_images/admin10.png
delete mode 100644 parts/django/docs/intro/_images/admin11.png
delete mode 100644 parts/django/docs/intro/_images/admin11t.png
delete mode 100644 parts/django/docs/intro/_images/admin12.png
delete mode 100644 parts/django/docs/intro/_images/admin13.png
delete mode 100644 parts/django/docs/intro/_images/admin13t.png
delete mode 100644 parts/django/docs/intro/_images/admin14.png
delete mode 100644 parts/django/docs/intro/_images/admin14t.png
delete mode 100644 parts/django/docs/intro/index.txt
delete mode 100644 parts/django/docs/intro/install.txt
delete mode 100644 parts/django/docs/intro/overview.txt
delete mode 100644 parts/django/docs/intro/tutorial01.txt
delete mode 100644 parts/django/docs/intro/tutorial02.txt
delete mode 100644 parts/django/docs/intro/tutorial03.txt
delete mode 100644 parts/django/docs/intro/tutorial04.txt
delete mode 100644 parts/django/docs/intro/whatsnext.txt
delete mode 100644 parts/django/docs/man/daily_cleanup.1
delete mode 100644 parts/django/docs/man/django-admin.1
delete mode 100644 parts/django/docs/man/gather_profile_stats.1
delete mode 100644 parts/django/docs/misc/api-stability.txt
delete mode 100644 parts/django/docs/misc/design-philosophies.txt
delete mode 100644 parts/django/docs/misc/distributions.txt
delete mode 100644 parts/django/docs/misc/index.txt
delete mode 100644 parts/django/docs/obsolete/_images/formrow.png
delete mode 100644 parts/django/docs/obsolete/_images/module.png
delete mode 100644 parts/django/docs/obsolete/_images/objecttools_01.png
delete mode 100644 parts/django/docs/obsolete/_images/objecttools_02.png
delete mode 100644 parts/django/docs/obsolete/admin-css.txt
delete mode 100644 parts/django/docs/obsolete/index.txt
delete mode 100644 parts/django/docs/ref/authbackends.txt
delete mode 100644 parts/django/docs/ref/contrib/admin/_images/article_actions.png
delete mode 100644 parts/django/docs/ref/contrib/admin/_images/article_actions_message.png
delete mode 100644 parts/django/docs/ref/contrib/admin/_images/flatfiles_admin.png
delete mode 100644 parts/django/docs/ref/contrib/admin/_images/user_actions.png
delete mode 100644 parts/django/docs/ref/contrib/admin/_images/users_changelist.png
delete mode 100644 parts/django/docs/ref/contrib/admin/actions.txt
delete mode 100644 parts/django/docs/ref/contrib/admin/admindocs.txt
delete mode 100644 parts/django/docs/ref/contrib/admin/index.txt
delete mode 100644 parts/django/docs/ref/contrib/auth.txt
delete mode 100644 parts/django/docs/ref/contrib/comments/custom.txt
delete mode 100644 parts/django/docs/ref/contrib/comments/example.txt
delete mode 100644 parts/django/docs/ref/contrib/comments/forms.txt
delete mode 100644 parts/django/docs/ref/contrib/comments/index.txt
delete mode 100644 parts/django/docs/ref/contrib/comments/models.txt
delete mode 100644 parts/django/docs/ref/contrib/comments/moderation.txt
delete mode 100644 parts/django/docs/ref/contrib/comments/settings.txt
delete mode 100644 parts/django/docs/ref/contrib/comments/signals.txt
delete mode 100644 parts/django/docs/ref/contrib/comments/upgrade.txt
delete mode 100644 parts/django/docs/ref/contrib/contenttypes.txt
delete mode 100644 parts/django/docs/ref/contrib/csrf.txt
delete mode 100644 parts/django/docs/ref/contrib/databrowse.txt
delete mode 100644 parts/django/docs/ref/contrib/flatpages.txt
delete mode 100644 parts/django/docs/ref/contrib/formtools/form-preview.txt
delete mode 100644 parts/django/docs/ref/contrib/formtools/form-wizard.txt
delete mode 100644 parts/django/docs/ref/contrib/formtools/index.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/admin.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/commands.txt
delete mode 100755 parts/django/docs/ref/contrib/gis/create_template_postgis-1.3.sh
delete mode 100755 parts/django/docs/ref/contrib/gis/create_template_postgis-1.4.sh
delete mode 100755 parts/django/docs/ref/contrib/gis/create_template_postgis-1.5.sh
delete mode 100755 parts/django/docs/ref/contrib/gis/create_template_postgis-debian.sh
delete mode 100644 parts/django/docs/ref/contrib/gis/db-api.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/deployment.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/feeds.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/gdal.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/geoip.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/geoquerysets.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/geos.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/index.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/install.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/layermapping.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/measure.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/model-api.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/ogrinspect.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/sitemaps.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/testing.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/tutorial.txt
delete mode 100644 parts/django/docs/ref/contrib/gis/utils.txt
delete mode 100644 parts/django/docs/ref/contrib/humanize.txt
delete mode 100644 parts/django/docs/ref/contrib/index.txt
delete mode 100644 parts/django/docs/ref/contrib/localflavor.txt
delete mode 100644 parts/django/docs/ref/contrib/markup.txt
delete mode 100644 parts/django/docs/ref/contrib/messages.txt
delete mode 100644 parts/django/docs/ref/contrib/redirects.txt
delete mode 100644 parts/django/docs/ref/contrib/sitemaps.txt
delete mode 100644 parts/django/docs/ref/contrib/sites.txt
delete mode 100644 parts/django/docs/ref/contrib/syndication.txt
delete mode 100644 parts/django/docs/ref/contrib/webdesign.txt
delete mode 100644 parts/django/docs/ref/databases.txt
delete mode 100644 parts/django/docs/ref/django-admin.txt
delete mode 100644 parts/django/docs/ref/exceptions.txt
delete mode 100644 parts/django/docs/ref/files/file.txt
delete mode 100644 parts/django/docs/ref/files/index.txt
delete mode 100644 parts/django/docs/ref/files/storage.txt
delete mode 100644 parts/django/docs/ref/forms/api.txt
delete mode 100644 parts/django/docs/ref/forms/fields.txt
delete mode 100644 parts/django/docs/ref/forms/index.txt
delete mode 100644 parts/django/docs/ref/forms/validation.txt
delete mode 100644 parts/django/docs/ref/forms/widgets.txt
delete mode 100644 parts/django/docs/ref/generic-views.txt
delete mode 100644 parts/django/docs/ref/index.txt
delete mode 100644 parts/django/docs/ref/middleware.txt
delete mode 100644 parts/django/docs/ref/models/fields.txt
delete mode 100644 parts/django/docs/ref/models/index.txt
delete mode 100644 parts/django/docs/ref/models/instances.txt
delete mode 100644 parts/django/docs/ref/models/options.txt
delete mode 100644 parts/django/docs/ref/models/querysets.txt
delete mode 100644 parts/django/docs/ref/models/relations.txt
delete mode 100644 parts/django/docs/ref/request-response.txt
delete mode 100644 parts/django/docs/ref/settings.txt
delete mode 100644 parts/django/docs/ref/signals.txt
delete mode 100644 parts/django/docs/ref/templates/api.txt
delete mode 100644 parts/django/docs/ref/templates/builtins.txt
delete mode 100644 parts/django/docs/ref/templates/index.txt
delete mode 100644 parts/django/docs/ref/unicode.txt
delete mode 100644 parts/django/docs/ref/utils.txt
delete mode 100644 parts/django/docs/ref/validators.txt
delete mode 100644 parts/django/docs/releases/0.95.txt
delete mode 100644 parts/django/docs/releases/0.96.txt
delete mode 100644 parts/django/docs/releases/1.0-alpha-1.txt
delete mode 100644 parts/django/docs/releases/1.0-alpha-2.txt
delete mode 100644 parts/django/docs/releases/1.0-beta-2.txt
delete mode 100644 parts/django/docs/releases/1.0-beta.txt
delete mode 100644 parts/django/docs/releases/1.0-porting-guide.txt
delete mode 100644 parts/django/docs/releases/1.0.1.txt
delete mode 100644 parts/django/docs/releases/1.0.2.txt
delete mode 100644 parts/django/docs/releases/1.0.txt
delete mode 100644 parts/django/docs/releases/1.1-alpha-1.txt
delete mode 100644 parts/django/docs/releases/1.1-beta-1.txt
delete mode 100644 parts/django/docs/releases/1.1-rc-1.txt
delete mode 100644 parts/django/docs/releases/1.1.2.txt
delete mode 100644 parts/django/docs/releases/1.1.txt
delete mode 100644 parts/django/docs/releases/1.2-alpha-1.txt
delete mode 100644 parts/django/docs/releases/1.2-beta-1.txt
delete mode 100644 parts/django/docs/releases/1.2-rc-1.txt
delete mode 100644 parts/django/docs/releases/1.2.2.txt
delete mode 100644 parts/django/docs/releases/1.2.4.txt
delete mode 100644 parts/django/docs/releases/1.2.txt
delete mode 100644 parts/django/docs/releases/index.txt
delete mode 100644 parts/django/docs/topics/auth.txt
delete mode 100644 parts/django/docs/topics/cache.txt
delete mode 100644 parts/django/docs/topics/conditional-view-processing.txt
delete mode 100644 parts/django/docs/topics/db/aggregation.txt
delete mode 100644 parts/django/docs/topics/db/index.txt
delete mode 100644 parts/django/docs/topics/db/managers.txt
delete mode 100644 parts/django/docs/topics/db/models.txt
delete mode 100644 parts/django/docs/topics/db/multi-db.txt
delete mode 100644 parts/django/docs/topics/db/optimization.txt
delete mode 100644 parts/django/docs/topics/db/queries.txt
delete mode 100644 parts/django/docs/topics/db/sql.txt
delete mode 100644 parts/django/docs/topics/db/transactions.txt
delete mode 100644 parts/django/docs/topics/email.txt
delete mode 100644 parts/django/docs/topics/files.txt
delete mode 100644 parts/django/docs/topics/forms/formsets.txt
delete mode 100644 parts/django/docs/topics/forms/index.txt
delete mode 100644 parts/django/docs/topics/forms/media.txt
delete mode 100644 parts/django/docs/topics/forms/modelforms.txt
delete mode 100644 parts/django/docs/topics/generic-views.txt
delete mode 100644 parts/django/docs/topics/http/_images/middleware.png
delete mode 100644 parts/django/docs/topics/http/file-uploads.txt
delete mode 100644 parts/django/docs/topics/http/generic-views.txt
delete mode 100644 parts/django/docs/topics/http/index.txt
delete mode 100644 parts/django/docs/topics/http/middleware.txt
delete mode 100644 parts/django/docs/topics/http/sessions.txt
delete mode 100644 parts/django/docs/topics/http/shortcuts.txt
delete mode 100644 parts/django/docs/topics/http/urls.txt
delete mode 100644 parts/django/docs/topics/http/views.txt
delete mode 100644 parts/django/docs/topics/i18n/deployment.txt
delete mode 100644 parts/django/docs/topics/i18n/index.txt
delete mode 100644 parts/django/docs/topics/i18n/internationalization.txt
delete mode 100644 parts/django/docs/topics/i18n/localization.txt
delete mode 100644 parts/django/docs/topics/index.txt
delete mode 100644 parts/django/docs/topics/install.txt
delete mode 100644 parts/django/docs/topics/pagination.txt
delete mode 100644 parts/django/docs/topics/serialization.txt
delete mode 100644 parts/django/docs/topics/settings.txt
delete mode 100644 parts/django/docs/topics/signals.txt
delete mode 100644 parts/django/docs/topics/templates.txt
delete mode 100644 parts/django/docs/topics/testing.txt
delete mode 100644 parts/django/extras/README.TXT
delete mode 100644 parts/django/extras/csrf_migration_helper.py
delete mode 100755 parts/django/extras/django_bash_completion
delete mode 100644 parts/django/scripts/rpm-install.sh
delete mode 100644 parts/django/setup.cfg
delete mode 100644 parts/django/setup.py
delete mode 100644 parts/django/tests/modeltests/__init__.py
delete mode 100644 parts/django/tests/modeltests/aggregation/__init__.py
delete mode 100644 parts/django/tests/modeltests/aggregation/fixtures/initial_data.json
delete mode 100644 parts/django/tests/modeltests/aggregation/models.py
delete mode 100644 parts/django/tests/modeltests/aggregation/tests.py
delete mode 100644 parts/django/tests/modeltests/basic/__init__.py
delete mode 100644 parts/django/tests/modeltests/basic/models.py
delete mode 100644 parts/django/tests/modeltests/basic/tests.py
delete mode 100644 parts/django/tests/modeltests/choices/__init__.py
delete mode 100644 parts/django/tests/modeltests/choices/models.py
delete mode 100644 parts/django/tests/modeltests/choices/tests.py
delete mode 100644 parts/django/tests/modeltests/custom_columns/__init__.py
delete mode 100644 parts/django/tests/modeltests/custom_columns/models.py
delete mode 100644 parts/django/tests/modeltests/custom_columns/tests.py
delete mode 100644 parts/django/tests/modeltests/custom_managers/__init__.py
delete mode 100644 parts/django/tests/modeltests/custom_managers/models.py
delete mode 100644 parts/django/tests/modeltests/custom_managers/tests.py
delete mode 100644 parts/django/tests/modeltests/custom_methods/__init__.py
delete mode 100644 parts/django/tests/modeltests/custom_methods/models.py
delete mode 100644 parts/django/tests/modeltests/custom_methods/tests.py
delete mode 100644 parts/django/tests/modeltests/custom_pk/__init__.py
delete mode 100644 parts/django/tests/modeltests/custom_pk/fields.py
delete mode 100644 parts/django/tests/modeltests/custom_pk/models.py
delete mode 100644 parts/django/tests/modeltests/custom_pk/tests.py
delete mode 100644 parts/django/tests/modeltests/defer/__init__.py
delete mode 100644 parts/django/tests/modeltests/defer/models.py
delete mode 100644 parts/django/tests/modeltests/defer/tests.py
delete mode 100644 parts/django/tests/modeltests/delete/__init__.py
delete mode 100644 parts/django/tests/modeltests/delete/models.py
delete mode 100644 parts/django/tests/modeltests/delete/tests.py
delete mode 100644 parts/django/tests/modeltests/empty/__init__.py
delete mode 100644 parts/django/tests/modeltests/empty/models.py
delete mode 100644 parts/django/tests/modeltests/empty/tests.py
delete mode 100644 parts/django/tests/modeltests/expressions/__init__.py
delete mode 100644 parts/django/tests/modeltests/expressions/models.py
delete mode 100644 parts/django/tests/modeltests/expressions/tests.py
delete mode 100644 parts/django/tests/modeltests/field_defaults/__init__.py
delete mode 100644 parts/django/tests/modeltests/field_defaults/models.py
delete mode 100644 parts/django/tests/modeltests/field_defaults/tests.py
delete mode 100644 parts/django/tests/modeltests/field_subclassing/__init__.py
delete mode 100644 parts/django/tests/modeltests/field_subclassing/fields.py
delete mode 100644 parts/django/tests/modeltests/field_subclassing/models.py
delete mode 100644 parts/django/tests/modeltests/field_subclassing/tests.py
delete mode 100644 parts/django/tests/modeltests/files/__init__.py
delete mode 100644 parts/django/tests/modeltests/files/models.py
delete mode 100644 parts/django/tests/modeltests/files/tests.py
delete mode 100644 parts/django/tests/modeltests/fixtures/__init__.py
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/db_fixture_1.default.json
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/db_fixture_2.default.json.gz
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/db_fixture_3.nosuchdb.json
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/fixture1.json
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/fixture2.json
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/fixture2.xml
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/fixture3.xml
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/fixture4.json.zip
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/fixture5.json.gz
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/fixture5.json.zip
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/fixture6.json
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/fixture7.xml
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/fixture8.json
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/fixture9.xml
delete mode 100644 parts/django/tests/modeltests/fixtures/fixtures/initial_data.json
delete mode 100644 parts/django/tests/modeltests/fixtures/models.py
delete mode 100644 parts/django/tests/modeltests/fixtures/tests.py
delete mode 100644 parts/django/tests/modeltests/fixtures_model_package/__init__.py
delete mode 100644 parts/django/tests/modeltests/fixtures_model_package/fixtures/fixture1.json
delete mode 100644 parts/django/tests/modeltests/fixtures_model_package/fixtures/fixture2.json
delete mode 100644 parts/django/tests/modeltests/fixtures_model_package/fixtures/fixture2.xml
delete mode 100644 parts/django/tests/modeltests/fixtures_model_package/fixtures/initial_data.json
delete mode 100644 parts/django/tests/modeltests/fixtures_model_package/models/__init__.py
delete mode 100644 parts/django/tests/modeltests/fixtures_model_package/tests.py
delete mode 100644 parts/django/tests/modeltests/force_insert_update/__init__.py
delete mode 100644 parts/django/tests/modeltests/force_insert_update/models.py
delete mode 100644 parts/django/tests/modeltests/force_insert_update/tests.py
delete mode 100644 parts/django/tests/modeltests/generic_relations/__init__.py
delete mode 100644 parts/django/tests/modeltests/generic_relations/models.py
delete mode 100644 parts/django/tests/modeltests/generic_relations/tests.py
delete mode 100644 parts/django/tests/modeltests/get_latest/__init__.py
delete mode 100644 parts/django/tests/modeltests/get_latest/models.py
delete mode 100644 parts/django/tests/modeltests/get_latest/tests.py
delete mode 100644 parts/django/tests/modeltests/get_object_or_404/__init__.py
delete mode 100644 parts/django/tests/modeltests/get_object_or_404/models.py
delete mode 100644 parts/django/tests/modeltests/get_object_or_404/tests.py
delete mode 100644 parts/django/tests/modeltests/get_or_create/__init__.py
delete mode 100644 parts/django/tests/modeltests/get_or_create/models.py
delete mode 100644 parts/django/tests/modeltests/get_or_create/tests.py
delete mode 100644 parts/django/tests/modeltests/invalid_models/__init__.py
delete mode 100644 parts/django/tests/modeltests/invalid_models/models.py
delete mode 100644 parts/django/tests/modeltests/lookup/__init__.py
delete mode 100644 parts/django/tests/modeltests/lookup/models.py
delete mode 100644 parts/django/tests/modeltests/lookup/tests.py
delete mode 100644 parts/django/tests/modeltests/m2m_and_m2o/__init__.py
delete mode 100644 parts/django/tests/modeltests/m2m_and_m2o/models.py
delete mode 100644 parts/django/tests/modeltests/m2m_and_m2o/tests.py
delete mode 100644 parts/django/tests/modeltests/m2m_intermediary/__init__.py
delete mode 100644 parts/django/tests/modeltests/m2m_intermediary/models.py
delete mode 100644 parts/django/tests/modeltests/m2m_intermediary/tests.py
delete mode 100644 parts/django/tests/modeltests/m2m_multiple/__init__.py
delete mode 100644 parts/django/tests/modeltests/m2m_multiple/models.py
delete mode 100644 parts/django/tests/modeltests/m2m_multiple/tests.py
delete mode 100644 parts/django/tests/modeltests/m2m_recursive/__init__.py
delete mode 100644 parts/django/tests/modeltests/m2m_recursive/models.py
delete mode 100644 parts/django/tests/modeltests/m2m_recursive/tests.py
delete mode 100644 parts/django/tests/modeltests/m2m_signals/__init__.py
delete mode 100644 parts/django/tests/modeltests/m2m_signals/models.py
delete mode 100644 parts/django/tests/modeltests/m2m_signals/tests.py
delete mode 100644 parts/django/tests/modeltests/m2m_through/__init__.py
delete mode 100644 parts/django/tests/modeltests/m2m_through/models.py
delete mode 100644 parts/django/tests/modeltests/m2m_through/tests.py
delete mode 100644 parts/django/tests/modeltests/m2o_recursive/__init__.py
delete mode 100644 parts/django/tests/modeltests/m2o_recursive/models.py
delete mode 100644 parts/django/tests/modeltests/m2o_recursive/tests.py
delete mode 100644 parts/django/tests/modeltests/many_to_many/__init__.py
delete mode 100644 parts/django/tests/modeltests/many_to_many/models.py
delete mode 100644 parts/django/tests/modeltests/many_to_many/tests.py
delete mode 100644 parts/django/tests/modeltests/many_to_one/__init__.py
delete mode 100644 parts/django/tests/modeltests/many_to_one/models.py
delete mode 100644 parts/django/tests/modeltests/many_to_one/tests.py
delete mode 100644 parts/django/tests/modeltests/many_to_one_null/__init__.py
delete mode 100644 parts/django/tests/modeltests/many_to_one_null/models.py
delete mode 100644 parts/django/tests/modeltests/many_to_one_null/tests.py
delete mode 100644 parts/django/tests/modeltests/model_forms/__init__.py
delete mode 100644 parts/django/tests/modeltests/model_forms/mforms.py
delete mode 100644 parts/django/tests/modeltests/model_forms/models.py
delete mode 100644 parts/django/tests/modeltests/model_forms/test.png
delete mode 100644 parts/django/tests/modeltests/model_forms/test2.png
delete mode 100644 parts/django/tests/modeltests/model_forms/tests.py
delete mode 100644 parts/django/tests/modeltests/model_formsets/__init__.py
delete mode 100644 parts/django/tests/modeltests/model_formsets/models.py
delete mode 100644 parts/django/tests/modeltests/model_formsets/tests.py
delete mode 100644 parts/django/tests/modeltests/model_inheritance/__init__.py
delete mode 100644 parts/django/tests/modeltests/model_inheritance/models.py
delete mode 100644 parts/django/tests/modeltests/model_inheritance/tests.py
delete mode 100644 parts/django/tests/modeltests/model_inheritance_same_model_name/__init__.py
delete mode 100644 parts/django/tests/modeltests/model_inheritance_same_model_name/models.py
delete mode 100644 parts/django/tests/modeltests/model_inheritance_same_model_name/tests.py
delete mode 100644 parts/django/tests/modeltests/model_package/__init__.py
delete mode 100644 parts/django/tests/modeltests/model_package/models/__init__.py
delete mode 100644 parts/django/tests/modeltests/model_package/models/article.py
delete mode 100644 parts/django/tests/modeltests/model_package/models/publication.py
delete mode 100644 parts/django/tests/modeltests/model_package/tests.py
delete mode 100644 parts/django/tests/modeltests/mutually_referential/__init__.py
delete mode 100644 parts/django/tests/modeltests/mutually_referential/models.py
delete mode 100644 parts/django/tests/modeltests/mutually_referential/tests.py
delete mode 100644 parts/django/tests/modeltests/one_to_one/__init__.py
delete mode 100644 parts/django/tests/modeltests/one_to_one/models.py
delete mode 100644 parts/django/tests/modeltests/one_to_one/tests.py
delete mode 100644 parts/django/tests/modeltests/or_lookups/__init__.py
delete mode 100644 parts/django/tests/modeltests/or_lookups/models.py
delete mode 100644 parts/django/tests/modeltests/or_lookups/tests.py
delete mode 100644 parts/django/tests/modeltests/order_with_respect_to/__init__.py
delete mode 100644 parts/django/tests/modeltests/order_with_respect_to/models.py
delete mode 100644 parts/django/tests/modeltests/order_with_respect_to/tests.py
delete mode 100644 parts/django/tests/modeltests/ordering/__init__.py
delete mode 100644 parts/django/tests/modeltests/ordering/models.py
delete mode 100644 parts/django/tests/modeltests/ordering/tests.py
delete mode 100644 parts/django/tests/modeltests/pagination/__init__.py
delete mode 100644 parts/django/tests/modeltests/pagination/models.py
delete mode 100644 parts/django/tests/modeltests/pagination/tests.py
delete mode 100644 parts/django/tests/modeltests/properties/__init__.py
delete mode 100644 parts/django/tests/modeltests/properties/models.py
delete mode 100644 parts/django/tests/modeltests/properties/tests.py
delete mode 100644 parts/django/tests/modeltests/proxy_model_inheritance/__init__.py
delete mode 100644 parts/django/tests/modeltests/proxy_model_inheritance/app1/__init__.py
delete mode 100644 parts/django/tests/modeltests/proxy_model_inheritance/app1/models.py
delete mode 100644 parts/django/tests/modeltests/proxy_model_inheritance/app2/__init__.py
delete mode 100644 parts/django/tests/modeltests/proxy_model_inheritance/app2/models.py
delete mode 100644 parts/django/tests/modeltests/proxy_model_inheritance/models.py
delete mode 100644 parts/django/tests/modeltests/proxy_model_inheritance/tests.py
delete mode 100644 parts/django/tests/modeltests/proxy_models/__init__.py
delete mode 100644 parts/django/tests/modeltests/proxy_models/fixtures/mypeople.json
delete mode 100644 parts/django/tests/modeltests/proxy_models/models.py
delete mode 100644 parts/django/tests/modeltests/proxy_models/tests.py
delete mode 100644 parts/django/tests/modeltests/raw_query/__init__.py
delete mode 100644 parts/django/tests/modeltests/raw_query/fixtures/raw_query_books.json
delete mode 100644 parts/django/tests/modeltests/raw_query/models.py
delete mode 100644 parts/django/tests/modeltests/raw_query/tests.py
delete mode 100644 parts/django/tests/modeltests/reserved_names/__init__.py
delete mode 100644 parts/django/tests/modeltests/reserved_names/models.py
delete mode 100644 parts/django/tests/modeltests/reserved_names/tests.py
delete mode 100644 parts/django/tests/modeltests/reverse_lookup/__init__.py
delete mode 100644 parts/django/tests/modeltests/reverse_lookup/models.py
delete mode 100644 parts/django/tests/modeltests/reverse_lookup/tests.py
delete mode 100644 parts/django/tests/modeltests/save_delete_hooks/__init__.py
delete mode 100644 parts/django/tests/modeltests/save_delete_hooks/models.py
delete mode 100644 parts/django/tests/modeltests/save_delete_hooks/tests.py
delete mode 100644 parts/django/tests/modeltests/select_related/__init__.py
delete mode 100644 parts/django/tests/modeltests/select_related/models.py
delete mode 100644 parts/django/tests/modeltests/select_related/tests.py
delete mode 100644 parts/django/tests/modeltests/serializers/__init__.py
delete mode 100644 parts/django/tests/modeltests/serializers/models.py
delete mode 100644 parts/django/tests/modeltests/serializers/tests.py
delete mode 100644 parts/django/tests/modeltests/signals/__init__.py
delete mode 100644 parts/django/tests/modeltests/signals/models.py
delete mode 100644 parts/django/tests/modeltests/signals/tests.py
delete mode 100644 parts/django/tests/modeltests/str/__init__.py
delete mode 100644 parts/django/tests/modeltests/str/models.py
delete mode 100644 parts/django/tests/modeltests/str/tests.py
delete mode 100644 parts/django/tests/modeltests/test_client/__init__.py
delete mode 100644 parts/django/tests/modeltests/test_client/fixtures/testdata.json
delete mode 100644 parts/django/tests/modeltests/test_client/models.py
delete mode 100644 parts/django/tests/modeltests/test_client/tests.py
delete mode 100644 parts/django/tests/modeltests/test_client/urls.py
delete mode 100644 parts/django/tests/modeltests/test_client/views.py
delete mode 100644 parts/django/tests/modeltests/transactions/__init__.py
delete mode 100644 parts/django/tests/modeltests/transactions/models.py
delete mode 100644 parts/django/tests/modeltests/transactions/tests.py
delete mode 100644 parts/django/tests/modeltests/unmanaged_models/__init__.py
delete mode 100644 parts/django/tests/modeltests/unmanaged_models/models.py
delete mode 100644 parts/django/tests/modeltests/unmanaged_models/tests.py
delete mode 100644 parts/django/tests/modeltests/update/__init__.py
delete mode 100644 parts/django/tests/modeltests/update/models.py
delete mode 100644 parts/django/tests/modeltests/update/tests.py
delete mode 100644 parts/django/tests/modeltests/user_commands/__init__.py
delete mode 100644 parts/django/tests/modeltests/user_commands/management/__init__.py
delete mode 100644 parts/django/tests/modeltests/user_commands/management/commands/__init__.py
delete mode 100644 parts/django/tests/modeltests/user_commands/management/commands/dance.py
delete mode 100644 parts/django/tests/modeltests/user_commands/models.py
delete mode 100644 parts/django/tests/modeltests/user_commands/tests.py
delete mode 100644 parts/django/tests/modeltests/validation/__init__.py
delete mode 100644 parts/django/tests/modeltests/validation/models.py
delete mode 100644 parts/django/tests/modeltests/validation/test_custom_messages.py
delete mode 100644 parts/django/tests/modeltests/validation/test_unique.py
delete mode 100644 parts/django/tests/modeltests/validation/tests.py
delete mode 100644 parts/django/tests/modeltests/validation/validators.py
delete mode 100644 parts/django/tests/modeltests/validators/__init__.py
delete mode 100644 parts/django/tests/modeltests/validators/models.py
delete mode 100644 parts/django/tests/modeltests/validators/tests.py
delete mode 100644 parts/django/tests/regressiontests/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_changelist/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_changelist/models.py
delete mode 100644 parts/django/tests/regressiontests/admin_changelist/tests.py
delete mode 100644 parts/django/tests/regressiontests/admin_inlines/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_inlines/fixtures/admin-views-users.xml
delete mode 100644 parts/django/tests/regressiontests/admin_inlines/models.py
delete mode 100644 parts/django/tests/regressiontests/admin_inlines/tests.py
delete mode 100644 parts/django/tests/regressiontests/admin_ordering/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_ordering/models.py
delete mode 100644 parts/django/tests/regressiontests/admin_ordering/tests.py
delete mode 100644 parts/django/tests/regressiontests/admin_registration/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_registration/models.py
delete mode 100644 parts/django/tests/regressiontests/admin_registration/tests.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/app_with_import/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/app_with_import/models.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/broken_app/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/broken_app/models.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/complex_app/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/complex_app/admin/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/complex_app/admin/foo.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/complex_app/models/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/complex_app/models/bar.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/complex_app/models/foo.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/management/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/management/commands/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/management/commands/app_command.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/management/commands/base_command.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/management/commands/label_command.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/management/commands/noargs_command.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/models.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/simple_app/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/simple_app/models.py
delete mode 100644 parts/django/tests/regressiontests/admin_scripts/tests.py
delete mode 100644 parts/django/tests/regressiontests/admin_util/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_util/models.py
delete mode 100644 parts/django/tests/regressiontests/admin_util/tests.py
delete mode 100644 parts/django/tests/regressiontests/admin_validation/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_validation/models.py
delete mode 100644 parts/django/tests/regressiontests/admin_validation/tests.py
delete mode 100644 parts/django/tests/regressiontests/admin_views/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_views/customadmin.py
delete mode 100644 parts/django/tests/regressiontests/admin_views/fixtures/admin-views-actions.xml
delete mode 100644 parts/django/tests/regressiontests/admin_views/fixtures/admin-views-colors.xml
delete mode 100644 parts/django/tests/regressiontests/admin_views/fixtures/admin-views-fabrics.xml
delete mode 100644 parts/django/tests/regressiontests/admin_views/fixtures/admin-views-person.xml
delete mode 100644 parts/django/tests/regressiontests/admin_views/fixtures/admin-views-unicode.xml
delete mode 100644 parts/django/tests/regressiontests/admin_views/fixtures/admin-views-users.xml
delete mode 100644 parts/django/tests/regressiontests/admin_views/fixtures/deleted-objects.xml
delete mode 100644 parts/django/tests/regressiontests/admin_views/fixtures/multiple-child-classes.json
delete mode 100644 parts/django/tests/regressiontests/admin_views/fixtures/string-primary-key.xml
delete mode 100644 parts/django/tests/regressiontests/admin_views/models.py
delete mode 100644 parts/django/tests/regressiontests/admin_views/tests.py
delete mode 100644 parts/django/tests/regressiontests/admin_views/urls.py
delete mode 100644 parts/django/tests/regressiontests/admin_views/views.py
delete mode 100644 parts/django/tests/regressiontests/admin_widgets/__init__.py
delete mode 100644 parts/django/tests/regressiontests/admin_widgets/fixtures/admin-widgets-users.xml
delete mode 100644 parts/django/tests/regressiontests/admin_widgets/models.py
delete mode 100644 parts/django/tests/regressiontests/admin_widgets/tests.py
delete mode 100644 parts/django/tests/regressiontests/admin_widgets/urls.py
delete mode 100644 parts/django/tests/regressiontests/admin_widgets/widgetadmin.py
delete mode 100644 parts/django/tests/regressiontests/aggregation_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/aggregation_regress/fixtures/initial_data.json
delete mode 100644 parts/django/tests/regressiontests/aggregation_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/aggregation_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/app_loading/__init__.py
delete mode 100755 parts/django/tests/regressiontests/app_loading/eggs/brokenapp.egg
delete mode 100755 parts/django/tests/regressiontests/app_loading/eggs/modelapp.egg
delete mode 100755 parts/django/tests/regressiontests/app_loading/eggs/nomodelapp.egg
delete mode 100755 parts/django/tests/regressiontests/app_loading/eggs/omelet.egg
delete mode 100644 parts/django/tests/regressiontests/app_loading/models.py
delete mode 100644 parts/django/tests/regressiontests/app_loading/parent/__init__.py
delete mode 100644 parts/django/tests/regressiontests/app_loading/parent/app/__init__.py
delete mode 100644 parts/django/tests/regressiontests/app_loading/parent/app1/__init__.py
delete mode 100644 parts/django/tests/regressiontests/app_loading/parent/app_2/__init__.py
delete mode 100644 parts/django/tests/regressiontests/app_loading/test_settings.py
delete mode 100644 parts/django/tests/regressiontests/app_loading/tests.py
delete mode 100644 parts/django/tests/regressiontests/backends/__init__.py
delete mode 100644 parts/django/tests/regressiontests/backends/models.py
delete mode 100644 parts/django/tests/regressiontests/backends/tests.py
delete mode 100644 parts/django/tests/regressiontests/bash_completion/__init__.py
delete mode 100644 parts/django/tests/regressiontests/bash_completion/management/__init__.py
delete mode 100644 parts/django/tests/regressiontests/bash_completion/management/commands/__init__.py
delete mode 100644 parts/django/tests/regressiontests/bash_completion/management/commands/test_command.py
delete mode 100644 parts/django/tests/regressiontests/bash_completion/models.py
delete mode 100644 parts/django/tests/regressiontests/bash_completion/tests.py
delete mode 100644 parts/django/tests/regressiontests/bug639/__init__.py
delete mode 100644 parts/django/tests/regressiontests/bug639/models.py
delete mode 100644 parts/django/tests/regressiontests/bug639/test.jpg
delete mode 100644 parts/django/tests/regressiontests/bug639/tests.py
delete mode 100644 parts/django/tests/regressiontests/bug8245/__init__.py
delete mode 100644 parts/django/tests/regressiontests/bug8245/admin.py
delete mode 100644 parts/django/tests/regressiontests/bug8245/models.py
delete mode 100644 parts/django/tests/regressiontests/bug8245/tests.py
delete mode 100644 parts/django/tests/regressiontests/builtin_server/__init__.py
delete mode 100644 parts/django/tests/regressiontests/builtin_server/models.py
delete mode 100644 parts/django/tests/regressiontests/builtin_server/tests.py
delete mode 100644 parts/django/tests/regressiontests/cache/__init__.py
delete mode 100644 parts/django/tests/regressiontests/cache/liberal_backend.py
delete mode 100644 parts/django/tests/regressiontests/cache/models.py
delete mode 100644 parts/django/tests/regressiontests/cache/tests.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/__init__.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/custom_comments/__init__.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/custom_comments/forms.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/custom_comments/models.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/custom_comments/views.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/fixtures/comment_tests.json
delete mode 100644 parts/django/tests/regressiontests/comment_tests/fixtures/comment_utils.xml
delete mode 100644 parts/django/tests/regressiontests/comment_tests/models.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/tests/__init__.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/tests/app_api_tests.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/tests/comment_form_tests.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/tests/comment_utils_moderators_tests.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/tests/comment_view_tests.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/tests/model_tests.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/tests/moderation_view_tests.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/tests/templatetag_tests.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/urls.py
delete mode 100644 parts/django/tests/regressiontests/comment_tests/urls_admin.py
delete mode 100644 parts/django/tests/regressiontests/conditional_processing/__init__.py
delete mode 100644 parts/django/tests/regressiontests/conditional_processing/models.py
delete mode 100644 parts/django/tests/regressiontests/conditional_processing/urls.py
delete mode 100644 parts/django/tests/regressiontests/conditional_processing/views.py
delete mode 100644 parts/django/tests/regressiontests/context_processors/__init__.py
delete mode 100644 parts/django/tests/regressiontests/context_processors/fixtures/context-processors-users.xml
delete mode 100644 parts/django/tests/regressiontests/context_processors/models.py
delete mode 100644 parts/django/tests/regressiontests/context_processors/templates/context_processors/auth_attrs_access.html
delete mode 100644 parts/django/tests/regressiontests/context_processors/templates/context_processors/auth_attrs_messages.html
delete mode 100644 parts/django/tests/regressiontests/context_processors/templates/context_processors/auth_attrs_no_access.html
delete mode 100644 parts/django/tests/regressiontests/context_processors/templates/context_processors/auth_attrs_perms.html
delete mode 100644 parts/django/tests/regressiontests/context_processors/templates/context_processors/auth_attrs_test_access.html
delete mode 100644 parts/django/tests/regressiontests/context_processors/templates/context_processors/auth_attrs_user.html
delete mode 100644 parts/django/tests/regressiontests/context_processors/templates/context_processors/request_attrs.html
delete mode 100644 parts/django/tests/regressiontests/context_processors/tests.py
delete mode 100644 parts/django/tests/regressiontests/context_processors/urls.py
delete mode 100644 parts/django/tests/regressiontests/context_processors/views.py
delete mode 100644 parts/django/tests/regressiontests/csrf_tests/__init__.py
delete mode 100644 parts/django/tests/regressiontests/csrf_tests/models.py
delete mode 100644 parts/django/tests/regressiontests/csrf_tests/tests.py
delete mode 100644 parts/django/tests/regressiontests/custom_columns_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/custom_columns_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/custom_columns_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/custom_managers_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/custom_managers_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/custom_managers_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/datatypes/__init__.py
delete mode 100644 parts/django/tests/regressiontests/datatypes/models.py
delete mode 100644 parts/django/tests/regressiontests/datatypes/tests.py
delete mode 100644 parts/django/tests/regressiontests/db_typecasts/__init__.py
delete mode 100644 parts/django/tests/regressiontests/db_typecasts/models.py
delete mode 100644 parts/django/tests/regressiontests/db_typecasts/tests.py
delete mode 100644 parts/django/tests/regressiontests/decorators/__init__.py
delete mode 100644 parts/django/tests/regressiontests/decorators/models.py
delete mode 100644 parts/django/tests/regressiontests/decorators/tests.py
delete mode 100644 parts/django/tests/regressiontests/defaultfilters/__init__.py
delete mode 100644 parts/django/tests/regressiontests/defaultfilters/models.py
delete mode 100644 parts/django/tests/regressiontests/defaultfilters/tests.py
delete mode 100644 parts/django/tests/regressiontests/defer_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/defer_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/defer_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/delete_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/delete_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/delete_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/dispatch/__init__.py
delete mode 100644 parts/django/tests/regressiontests/dispatch/models.py
delete mode 100644 parts/django/tests/regressiontests/dispatch/tests/__init__.py
delete mode 100644 parts/django/tests/regressiontests/dispatch/tests/test_dispatcher.py
delete mode 100644 parts/django/tests/regressiontests/dispatch/tests/test_saferef.py
delete mode 100644 parts/django/tests/regressiontests/expressions_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/expressions_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/expressions_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/extra_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/extra_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/extra_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/file_storage/__init__.py
delete mode 100644 parts/django/tests/regressiontests/file_storage/models.py
delete mode 100644 parts/django/tests/regressiontests/file_storage/test.png
delete mode 100644 parts/django/tests/regressiontests/file_storage/test1.png
delete mode 100644 parts/django/tests/regressiontests/file_storage/tests.py
delete mode 100644 parts/django/tests/regressiontests/file_uploads/__init__.py
delete mode 100644 parts/django/tests/regressiontests/file_uploads/models.py
delete mode 100644 parts/django/tests/regressiontests/file_uploads/tests.py
delete mode 100644 parts/django/tests/regressiontests/file_uploads/uploadhandler.py
delete mode 100644 parts/django/tests/regressiontests/file_uploads/urls.py
delete mode 100644 parts/django/tests/regressiontests/file_uploads/views.py
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/absolute.json
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/animal.xml
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/bad_fixture1.unkn
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/bad_fixture2.xml
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/big-fixture.json
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/empty.json
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/forward_ref_lookup.json
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/model-inheritance.json
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/nk-inheritance.json
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/nk-inheritance2.xml
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/non_natural_1.json
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/non_natural_2.xml
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/pretty.xml
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/sequence.json
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/fixtures/thingy.json
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/fixtures_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/forms/__init__.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/__init__.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/ar.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/at.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/au.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/br.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/ca.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/ch.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/cl.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/cz.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/de.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/es.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/fi.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/fr.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/generic.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/id.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/ie.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/is_.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/it.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/jp.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/kw.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/nl.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/pl.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/pt.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/ro.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/se.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/sk.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/uk.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/us.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/utils.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/uy.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavor/za.py
delete mode 100644 parts/django/tests/regressiontests/forms/localflavortests.py
delete mode 100644 parts/django/tests/regressiontests/forms/models.py
delete mode 100644 parts/django/tests/regressiontests/forms/tests/__init__.py
delete mode 100644 parts/django/tests/regressiontests/forms/tests/error_messages.py
delete mode 100644 parts/django/tests/regressiontests/forms/tests/extra.py
delete mode 100644 parts/django/tests/regressiontests/forms/tests/fields.py
delete mode 100644 parts/django/tests/regressiontests/forms/tests/forms.py
delete mode 100644 parts/django/tests/regressiontests/forms/tests/formsets.py
delete mode 100644 parts/django/tests/regressiontests/forms/tests/input_formats.py
delete mode 100644 parts/django/tests/regressiontests/forms/tests/media.py
delete mode 100644 parts/django/tests/regressiontests/forms/tests/models.py
delete mode 100644 parts/django/tests/regressiontests/forms/tests/regressions.py
delete mode 100644 parts/django/tests/regressiontests/forms/tests/util.py
delete mode 100644 parts/django/tests/regressiontests/forms/tests/validators.py
delete mode 100644 parts/django/tests/regressiontests/forms/tests/widgets.py
delete mode 100644 parts/django/tests/regressiontests/formwizard/__init__.py
delete mode 100644 parts/django/tests/regressiontests/formwizard/forms.py
delete mode 100644 parts/django/tests/regressiontests/formwizard/models.py
delete mode 100644 parts/django/tests/regressiontests/formwizard/templates/forms/wizard.html
delete mode 100644 parts/django/tests/regressiontests/formwizard/tests.py
delete mode 100644 parts/django/tests/regressiontests/formwizard/urls.py
delete mode 100644 parts/django/tests/regressiontests/generic_inline_admin/__init__.py
delete mode 100644 parts/django/tests/regressiontests/generic_inline_admin/fixtures/users.xml
delete mode 100644 parts/django/tests/regressiontests/generic_inline_admin/models.py
delete mode 100644 parts/django/tests/regressiontests/generic_inline_admin/tests.py
delete mode 100644 parts/django/tests/regressiontests/generic_inline_admin/urls.py
delete mode 100644 parts/django/tests/regressiontests/generic_relations_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/generic_relations_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/generic_relations_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/get_or_create_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/get_or_create_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/get_or_create_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/httpwrappers/__init__.py
delete mode 100644 parts/django/tests/regressiontests/httpwrappers/models.py
delete mode 100644 parts/django/tests/regressiontests/httpwrappers/tests.py
delete mode 100644 parts/django/tests/regressiontests/humanize/__init__.py
delete mode 100644 parts/django/tests/regressiontests/humanize/models.py
delete mode 100644 parts/django/tests/regressiontests/humanize/tests.py
delete mode 100644 parts/django/tests/regressiontests/i18n/__init__.py
delete mode 100644 parts/django/tests/regressiontests/i18n/forms.py
delete mode 100644 parts/django/tests/regressiontests/i18n/models.py
delete mode 100644 parts/django/tests/regressiontests/i18n/other/__init__.py
delete mode 100644 parts/django/tests/regressiontests/i18n/other/locale/__init__.py
delete mode 100644 parts/django/tests/regressiontests/i18n/other/locale/de/LC_MESSAGES/django.mo
delete mode 100644 parts/django/tests/regressiontests/i18n/other/locale/de/LC_MESSAGES/django.po
delete mode 100644 parts/django/tests/regressiontests/i18n/other/locale/de/__init__.py
delete mode 100644 parts/django/tests/regressiontests/i18n/other/locale/de/formats.py
delete mode 100644 parts/django/tests/regressiontests/i18n/resolution/__init__.py
delete mode 100644 parts/django/tests/regressiontests/i18n/resolution/locale/de/LC_MESSAGES/django.mo
delete mode 100644 parts/django/tests/regressiontests/i18n/resolution/locale/de/LC_MESSAGES/django.po
delete mode 100644 parts/django/tests/regressiontests/i18n/resolution/models.py
delete mode 100644 parts/django/tests/regressiontests/i18n/tests.py
delete mode 100644 parts/django/tests/regressiontests/initial_sql_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/initial_sql_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/initial_sql_regress/sql/simple.sql
delete mode 100644 parts/django/tests/regressiontests/initial_sql_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/inline_formsets/__init__.py
delete mode 100644 parts/django/tests/regressiontests/inline_formsets/models.py
delete mode 100644 parts/django/tests/regressiontests/inline_formsets/tests.py
delete mode 100644 parts/django/tests/regressiontests/introspection/__init__.py
delete mode 100644 parts/django/tests/regressiontests/introspection/models.py
delete mode 100644 parts/django/tests/regressiontests/introspection/tests.py
delete mode 100644 parts/django/tests/regressiontests/locale/de/LC_MESSAGES/django.mo
delete mode 100644 parts/django/tests/regressiontests/locale/de/LC_MESSAGES/django.po
delete mode 100644 parts/django/tests/regressiontests/localflavor/__init__.py
delete mode 100644 parts/django/tests/regressiontests/localflavor/models.py
delete mode 100644 parts/django/tests/regressiontests/localflavor/tests.py
delete mode 100644 parts/django/tests/regressiontests/localflavor/us/__init__.py
delete mode 100644 parts/django/tests/regressiontests/localflavor/us/forms.py
delete mode 100644 parts/django/tests/regressiontests/localflavor/us/models.py
delete mode 100644 parts/django/tests/regressiontests/localflavor/us/tests.py
delete mode 100644 parts/django/tests/regressiontests/m2m_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/m2m_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/m2m_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/m2m_through_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/m2m_through_regress/fixtures/m2m_through.json
delete mode 100644 parts/django/tests/regressiontests/m2m_through_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/m2m_through_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/mail/__init__.py
delete mode 100644 parts/django/tests/regressiontests/mail/custombackend.py
delete mode 100644 parts/django/tests/regressiontests/mail/models.py
delete mode 100644 parts/django/tests/regressiontests/mail/tests.py
delete mode 100644 parts/django/tests/regressiontests/makemessages/__init__.py
delete mode 100644 parts/django/tests/regressiontests/makemessages/extraction.py
delete mode 100644 parts/django/tests/regressiontests/makemessages/ignore_dir/ignored.html
delete mode 100644 parts/django/tests/regressiontests/makemessages/javascript.js
delete mode 100644 parts/django/tests/regressiontests/makemessages/locale/dummy
delete mode 100644 parts/django/tests/regressiontests/makemessages/models.py
delete mode 100644 parts/django/tests/regressiontests/makemessages/templates/test.html
delete mode 100644 parts/django/tests/regressiontests/makemessages/tests.py
delete mode 100644 parts/django/tests/regressiontests/managers_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/managers_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/managers_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/many_to_one_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/many_to_one_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/many_to_one_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/max_lengths/__init__.py
delete mode 100644 parts/django/tests/regressiontests/max_lengths/models.py
delete mode 100644 parts/django/tests/regressiontests/max_lengths/tests.py
delete mode 100644 parts/django/tests/regressiontests/middleware/__init__.py
delete mode 100644 parts/django/tests/regressiontests/middleware/extra_urls.py
delete mode 100644 parts/django/tests/regressiontests/middleware/models.py
delete mode 100644 parts/django/tests/regressiontests/middleware/tests.py
delete mode 100644 parts/django/tests/regressiontests/middleware/urls.py
delete mode 100644 parts/django/tests/regressiontests/middleware_exceptions/__init__.py
delete mode 100644 parts/django/tests/regressiontests/middleware_exceptions/models.py
delete mode 100644 parts/django/tests/regressiontests/middleware_exceptions/tests.py
delete mode 100644 parts/django/tests/regressiontests/middleware_exceptions/urls.py
delete mode 100644 parts/django/tests/regressiontests/middleware_exceptions/views.py
delete mode 100644 parts/django/tests/regressiontests/model_fields/4x8.png
delete mode 100644 parts/django/tests/regressiontests/model_fields/8x4.png
delete mode 100644 parts/django/tests/regressiontests/model_fields/__init__.py
delete mode 100644 parts/django/tests/regressiontests/model_fields/imagefield.py
delete mode 100644 parts/django/tests/regressiontests/model_fields/models.py
delete mode 100644 parts/django/tests/regressiontests/model_fields/tests.py
delete mode 100644 parts/django/tests/regressiontests/model_forms_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/model_forms_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/model_forms_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/model_formsets_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/model_formsets_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/model_formsets_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/model_inheritance_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/model_inheritance_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/model_inheritance_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/model_inheritance_select_related/__init__.py
delete mode 100644 parts/django/tests/regressiontests/model_inheritance_select_related/models.py
delete mode 100644 parts/django/tests/regressiontests/model_inheritance_select_related/tests.py
delete mode 100644 parts/django/tests/regressiontests/model_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/model_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/model_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/modeladmin/__init__.py
delete mode 100644 parts/django/tests/regressiontests/modeladmin/models.py
delete mode 100644 parts/django/tests/regressiontests/modeladmin/tests.py
delete mode 100644 parts/django/tests/regressiontests/multiple_database/__init__.py
delete mode 100644 parts/django/tests/regressiontests/multiple_database/fixtures/multidb-common.json
delete mode 100644 parts/django/tests/regressiontests/multiple_database/fixtures/multidb.default.json
delete mode 100644 parts/django/tests/regressiontests/multiple_database/fixtures/multidb.other.json
delete mode 100644 parts/django/tests/regressiontests/multiple_database/fixtures/pets.json
delete mode 100644 parts/django/tests/regressiontests/multiple_database/models.py
delete mode 100644 parts/django/tests/regressiontests/multiple_database/tests.py
delete mode 100644 parts/django/tests/regressiontests/null_fk/__init__.py
delete mode 100644 parts/django/tests/regressiontests/null_fk/models.py
delete mode 100644 parts/django/tests/regressiontests/null_fk/tests.py
delete mode 100644 parts/django/tests/regressiontests/null_fk_ordering/__init__.py
delete mode 100644 parts/django/tests/regressiontests/null_fk_ordering/models.py
delete mode 100644 parts/django/tests/regressiontests/null_fk_ordering/tests.py
delete mode 100644 parts/django/tests/regressiontests/null_queries/__init__.py
delete mode 100644 parts/django/tests/regressiontests/null_queries/models.py
delete mode 100644 parts/django/tests/regressiontests/null_queries/tests.py
delete mode 100644 parts/django/tests/regressiontests/one_to_one_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/one_to_one_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/one_to_one_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/pagination_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/pagination_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/pagination_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/queries/__init__.py
delete mode 100644 parts/django/tests/regressiontests/queries/models.py
delete mode 100644 parts/django/tests/regressiontests/queries/tests.py
delete mode 100644 parts/django/tests/regressiontests/queryset_pickle/__init__.py
delete mode 100644 parts/django/tests/regressiontests/queryset_pickle/models.py
delete mode 100644 parts/django/tests/regressiontests/queryset_pickle/tests.py
delete mode 100644 parts/django/tests/regressiontests/requests/__init__.py
delete mode 100644 parts/django/tests/regressiontests/requests/models.py
delete mode 100644 parts/django/tests/regressiontests/requests/tests.py
delete mode 100644 parts/django/tests/regressiontests/reverse_single_related/__init__.py
delete mode 100644 parts/django/tests/regressiontests/reverse_single_related/models.py
delete mode 100644 parts/django/tests/regressiontests/reverse_single_related/tests.py
delete mode 100644 parts/django/tests/regressiontests/select_related_onetoone/__init__.py
delete mode 100644 parts/django/tests/regressiontests/select_related_onetoone/models.py
delete mode 100644 parts/django/tests/regressiontests/select_related_onetoone/tests.py
delete mode 100644 parts/django/tests/regressiontests/select_related_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/select_related_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/select_related_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/serializers_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/serializers_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/serializers_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/servers/__init__.py
delete mode 100644 parts/django/tests/regressiontests/servers/models.py
delete mode 100644 parts/django/tests/regressiontests/servers/tests.py
delete mode 100644 parts/django/tests/regressiontests/settings_tests/__init__.py
delete mode 100644 parts/django/tests/regressiontests/settings_tests/models.py
delete mode 100644 parts/django/tests/regressiontests/settings_tests/tests.py
delete mode 100644 parts/django/tests/regressiontests/signals_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/signals_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/signals_regress/tests.py
delete mode 100644 parts/django/tests/regressiontests/sites_framework/__init__.py
delete mode 100644 parts/django/tests/regressiontests/sites_framework/models.py
delete mode 100644 parts/django/tests/regressiontests/sites_framework/tests.py
delete mode 100644 parts/django/tests/regressiontests/special_headers/__init__.py
delete mode 100644 parts/django/tests/regressiontests/special_headers/fixtures/data.xml
delete mode 100644 parts/django/tests/regressiontests/special_headers/models.py
delete mode 100644 parts/django/tests/regressiontests/special_headers/templates/special_headers/article_detail.html
delete mode 100644 parts/django/tests/regressiontests/special_headers/tests.py
delete mode 100644 parts/django/tests/regressiontests/special_headers/urls.py
delete mode 100644 parts/django/tests/regressiontests/special_headers/views.py
delete mode 100644 parts/django/tests/regressiontests/string_lookup/__init__.py
delete mode 100644 parts/django/tests/regressiontests/string_lookup/models.py
delete mode 100644 parts/django/tests/regressiontests/string_lookup/tests.py
delete mode 100644 parts/django/tests/regressiontests/syndication/__init__.py
delete mode 100644 parts/django/tests/regressiontests/syndication/feeds.py
delete mode 100644 parts/django/tests/regressiontests/syndication/fixtures/feeddata.json
delete mode 100644 parts/django/tests/regressiontests/syndication/models.py
delete mode 100644 parts/django/tests/regressiontests/syndication/templates/syndication/description.html
delete mode 100644 parts/django/tests/regressiontests/syndication/templates/syndication/title.html
delete mode 100644 parts/django/tests/regressiontests/syndication/tests.py
delete mode 100644 parts/django/tests/regressiontests/syndication/urls.py
delete mode 100644 parts/django/tests/regressiontests/templates/__init__.py
delete mode 100644 parts/django/tests/regressiontests/templates/context.py
delete mode 100644 parts/django/tests/regressiontests/templates/custom.py
delete mode 100755 parts/django/tests/regressiontests/templates/eggs/tagsegg.egg
delete mode 100644 parts/django/tests/regressiontests/templates/filters.py
delete mode 100644 parts/django/tests/regressiontests/templates/loaders.py
delete mode 100644 parts/django/tests/regressiontests/templates/models.py
delete mode 100644 parts/django/tests/regressiontests/templates/nodelist.py
delete mode 100644 parts/django/tests/regressiontests/templates/parser.py
delete mode 100644 parts/django/tests/regressiontests/templates/smartif.py
delete mode 100644 parts/django/tests/regressiontests/templates/templates/broken_base.html
delete mode 100644 parts/django/tests/regressiontests/templates/templates/first/test.html
delete mode 100644 parts/django/tests/regressiontests/templates/templates/second/test.html
delete mode 100755 parts/django/tests/regressiontests/templates/templates/test_extends_error.html
delete mode 100644 parts/django/tests/regressiontests/templates/templatetags/__init__.py
delete mode 100644 parts/django/tests/regressiontests/templates/templatetags/broken_tag.py
delete mode 100644 parts/django/tests/regressiontests/templates/templatetags/custom.py
delete mode 100644 parts/django/tests/regressiontests/templates/tests.py
delete mode 100644 parts/django/tests/regressiontests/templates/unicode.py
delete mode 100644 parts/django/tests/regressiontests/templates/urls.py
delete mode 100644 parts/django/tests/regressiontests/templates/views.py
delete mode 100644 parts/django/tests/regressiontests/test_client_regress/__init__.py
delete mode 100644 parts/django/tests/regressiontests/test_client_regress/bad_templates/404.html
delete mode 100644 parts/django/tests/regressiontests/test_client_regress/fixtures/testdata.json
delete mode 100644 parts/django/tests/regressiontests/test_client_regress/models.py
delete mode 100644 parts/django/tests/regressiontests/test_client_regress/session.py
delete mode 100644 parts/django/tests/regressiontests/test_client_regress/templates/unicode.html
delete mode 100644 parts/django/tests/regressiontests/test_client_regress/urls.py
delete mode 100644 parts/django/tests/regressiontests/test_client_regress/views.py
delete mode 100644 parts/django/tests/regressiontests/test_runner/__init__.py
delete mode 100644 parts/django/tests/regressiontests/test_runner/models.py
delete mode 100644 parts/django/tests/regressiontests/test_runner/tests.py
delete mode 100644 parts/django/tests/regressiontests/test_utils/__init__.py
delete mode 100644 parts/django/tests/regressiontests/test_utils/models.py
delete mode 100644 parts/django/tests/regressiontests/test_utils/tests.py
delete mode 100644 parts/django/tests/regressiontests/text/__init__.py
delete mode 100644 parts/django/tests/regressiontests/text/models.py
delete mode 100644 parts/django/tests/regressiontests/text/tests.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/__init__.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/extra_urls.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/included_namespace_urls.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/included_urls.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/included_urls2.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/middleware.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/models.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/namespace_urls.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/no_urls.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/tests.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/urlconf_inner.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/urlconf_outer.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/urls.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/urls_error_handlers.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/urls_error_handlers_callables.py
delete mode 100644 parts/django/tests/regressiontests/urlpatterns_reverse/views.py
delete mode 100644 parts/django/tests/regressiontests/utils/__init__.py
delete mode 100644 parts/django/tests/regressiontests/utils/checksums.py
delete mode 100644 parts/django/tests/regressiontests/utils/datastructures.py
delete mode 100644 parts/django/tests/regressiontests/utils/dateformat.py
delete mode 100644 parts/django/tests/regressiontests/utils/datetime_safe.py
delete mode 100644 parts/django/tests/regressiontests/utils/decorators.py
delete mode 100644 parts/django/tests/regressiontests/utils/eggs/test_egg.egg
delete mode 100644 parts/django/tests/regressiontests/utils/feedgenerator.py
delete mode 100644 parts/django/tests/regressiontests/utils/functional.py
delete mode 100644 parts/django/tests/regressiontests/utils/html.py
delete mode 100644 parts/django/tests/regressiontests/utils/models.py
delete mode 100644 parts/django/tests/regressiontests/utils/module_loading.py
delete mode 100644 parts/django/tests/regressiontests/utils/simplelazyobject.py
delete mode 100644 parts/django/tests/regressiontests/utils/termcolors.py
delete mode 100644 parts/django/tests/regressiontests/utils/test_module/__init__.py
delete mode 100644 parts/django/tests/regressiontests/utils/test_module/bad_module.py
delete mode 100644 parts/django/tests/regressiontests/utils/test_module/good_module.py
delete mode 100644 parts/django/tests/regressiontests/utils/tests.py
delete mode 100644 parts/django/tests/regressiontests/utils/text.py
delete mode 100644 parts/django/tests/regressiontests/utils/timesince.py
delete mode 100644 parts/django/tests/regressiontests/utils/tzinfo.py
delete mode 100644 parts/django/tests/regressiontests/utils/urls.py
delete mode 100644 parts/django/tests/regressiontests/utils/views.py
delete mode 100644 parts/django/tests/regressiontests/views/__init__.py
delete mode 100644 parts/django/tests/regressiontests/views/app0/__init__.py
delete mode 100644 parts/django/tests/regressiontests/views/app0/locale/en/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/tests/regressiontests/views/app0/locale/en/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/tests/regressiontests/views/app1/__init__.py
delete mode 100644 parts/django/tests/regressiontests/views/app1/locale/fr/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/tests/regressiontests/views/app1/locale/fr/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/tests/regressiontests/views/app2/__init__.py
delete mode 100644 parts/django/tests/regressiontests/views/app2/locale/fr/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/tests/regressiontests/views/app2/locale/fr/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/tests/regressiontests/views/app3/__init__.py
delete mode 100644 parts/django/tests/regressiontests/views/app3/locale/es_AR/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/tests/regressiontests/views/app3/locale/es_AR/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/tests/regressiontests/views/app4/__init__.py
delete mode 100644 parts/django/tests/regressiontests/views/app4/locale/es_AR/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/tests/regressiontests/views/app4/locale/es_AR/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/tests/regressiontests/views/fixtures/testdata.json
delete mode 100644 parts/django/tests/regressiontests/views/locale/es/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/tests/regressiontests/views/locale/es/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/tests/regressiontests/views/locale/fr/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/tests/regressiontests/views/locale/fr/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/tests/regressiontests/views/locale/ru/LC_MESSAGES/djangojs.mo
delete mode 100644 parts/django/tests/regressiontests/views/locale/ru/LC_MESSAGES/djangojs.po
delete mode 100644 parts/django/tests/regressiontests/views/media/file.txt
delete mode 100644 parts/django/tests/regressiontests/views/media/file.txt.gz
delete mode 100644 parts/django/tests/regressiontests/views/media/file.unknown
delete mode 100644 parts/django/tests/regressiontests/views/models.py
delete mode 100644 parts/django/tests/regressiontests/views/templates/debug/template_exception.html
delete mode 100644 parts/django/tests/regressiontests/views/templatetags/__init__.py
delete mode 100644 parts/django/tests/regressiontests/views/templatetags/debugtags.py
delete mode 100644 parts/django/tests/regressiontests/views/tests/__init__.py
delete mode 100644 parts/django/tests/regressiontests/views/tests/debug.py
delete mode 100644 parts/django/tests/regressiontests/views/tests/defaults.py
delete mode 100644 parts/django/tests/regressiontests/views/tests/generic/__init__.py
delete mode 100644 parts/django/tests/regressiontests/views/tests/generic/create_update.py
delete mode 100644 parts/django/tests/regressiontests/views/tests/generic/date_based.py
delete mode 100644 parts/django/tests/regressiontests/views/tests/i18n.py
delete mode 100644 parts/django/tests/regressiontests/views/tests/specials.py
delete mode 100644 parts/django/tests/regressiontests/views/tests/static.py
delete mode 100644 parts/django/tests/regressiontests/views/urls.py
delete mode 100644 parts/django/tests/regressiontests/views/views.py
delete mode 100755 parts/django/tests/runtests.py
delete mode 100644 parts/django/tests/templates/404.html
delete mode 100644 parts/django/tests/templates/500.html
delete mode 100644 parts/django/tests/templates/base.html
delete mode 100644 parts/django/tests/templates/comments/comment_notification_email.txt
delete mode 100644 parts/django/tests/templates/custom_admin/add_form.html
delete mode 100644 parts/django/tests/templates/custom_admin/change_form.html
delete mode 100644 parts/django/tests/templates/custom_admin/change_list.html
delete mode 100644 parts/django/tests/templates/custom_admin/delete_confirmation.html
delete mode 100644 parts/django/tests/templates/custom_admin/delete_selected_confirmation.html
delete mode 100644 parts/django/tests/templates/custom_admin/index.html
delete mode 100644 parts/django/tests/templates/custom_admin/login.html
delete mode 100644 parts/django/tests/templates/custom_admin/logout.html
delete mode 100644 parts/django/tests/templates/custom_admin/object_history.html
delete mode 100644 parts/django/tests/templates/custom_admin/password_change_done.html
delete mode 100644 parts/django/tests/templates/custom_admin/password_change_form.html
delete mode 100644 parts/django/tests/templates/extended.html
delete mode 100644 parts/django/tests/templates/form_view.html
delete mode 100644 parts/django/tests/templates/login.html
delete mode 100644 parts/django/tests/templates/views/article_archive_day.html
delete mode 100644 parts/django/tests/templates/views/article_archive_month.html
delete mode 100644 parts/django/tests/templates/views/article_confirm_delete.html
delete mode 100644 parts/django/tests/templates/views/article_detail.html
delete mode 100644 parts/django/tests/templates/views/article_form.html
delete mode 100644 parts/django/tests/templates/views/datearticle_archive_month.html
delete mode 100644 parts/django/tests/templates/views/urlarticle_detail.html
delete mode 100644 parts/django/tests/templates/views/urlarticle_form.html
delete mode 100644 parts/django/tests/test_sqlite.py
delete mode 100644 parts/django/tests/urls.py
delete mode 100644 parts/tagging/.svn/all-wcprops
delete mode 100644 parts/tagging/.svn/dir-prop-base
delete mode 100644 parts/tagging/.svn/entries
delete mode 100644 parts/tagging/.svn/prop-base/CHANGELOG.txt.svn-base
delete mode 100644 parts/tagging/.svn/prop-base/INSTALL.txt.svn-base
delete mode 100644 parts/tagging/.svn/prop-base/LICENSE.txt.svn-base
delete mode 100644 parts/tagging/.svn/prop-base/MANIFEST.in.svn-base
delete mode 100644 parts/tagging/.svn/prop-base/README.txt.svn-base
delete mode 100644 parts/tagging/.svn/prop-base/setup.py.svn-base
delete mode 100644 parts/tagging/.svn/text-base/CHANGELOG.txt.svn-base
delete mode 100644 parts/tagging/.svn/text-base/INSTALL.txt.svn-base
delete mode 100644 parts/tagging/.svn/text-base/LICENSE.txt.svn-base
delete mode 100644 parts/tagging/.svn/text-base/MANIFEST.in.svn-base
delete mode 100644 parts/tagging/.svn/text-base/README.txt.svn-base
delete mode 100644 parts/tagging/.svn/text-base/setup.py.svn-base
delete mode 100644 parts/tagging/CHANGELOG.txt
delete mode 100644 parts/tagging/INSTALL.txt
delete mode 100644 parts/tagging/LICENSE.txt
delete mode 100644 parts/tagging/MANIFEST.in
delete mode 100644 parts/tagging/README.txt
delete mode 100644 parts/tagging/docs/.svn/all-wcprops
delete mode 100644 parts/tagging/docs/.svn/entries
delete mode 100644 parts/tagging/docs/.svn/prop-base/overview.txt.svn-base
delete mode 100644 parts/tagging/docs/.svn/text-base/overview.txt.svn-base
delete mode 100644 parts/tagging/docs/overview.txt
delete mode 100644 parts/tagging/setup.py
delete mode 100644 parts/tagging/tagging/.svn/all-wcprops
delete mode 100644 parts/tagging/tagging/.svn/dir-prop-base
delete mode 100644 parts/tagging/tagging/.svn/entries
delete mode 100644 parts/tagging/tagging/.svn/prop-base/__init__.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/prop-base/admin.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/prop-base/fields.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/prop-base/forms.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/prop-base/generic.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/prop-base/managers.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/prop-base/models.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/prop-base/settings.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/prop-base/utils.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/prop-base/views.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/text-base/__init__.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/text-base/admin.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/text-base/fields.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/text-base/forms.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/text-base/generic.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/text-base/managers.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/text-base/models.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/text-base/settings.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/text-base/utils.py.svn-base
delete mode 100644 parts/tagging/tagging/.svn/text-base/views.py.svn-base
delete mode 100644 parts/tagging/tagging/__init__.py
delete mode 100644 parts/tagging/tagging/admin.py
delete mode 100644 parts/tagging/tagging/fields.py
delete mode 100644 parts/tagging/tagging/forms.py
delete mode 100644 parts/tagging/tagging/generic.py
delete mode 100644 parts/tagging/tagging/managers.py
delete mode 100644 parts/tagging/tagging/models.py
delete mode 100644 parts/tagging/tagging/settings.py
delete mode 100644 parts/tagging/tagging/templatetags/.svn/all-wcprops
delete mode 100644 parts/tagging/tagging/templatetags/.svn/dir-prop-base
delete mode 100644 parts/tagging/tagging/templatetags/.svn/entries
delete mode 100644 parts/tagging/tagging/templatetags/.svn/prop-base/__init__.py.svn-base
delete mode 100644 parts/tagging/tagging/templatetags/.svn/prop-base/tagging_tags.py.svn-base
delete mode 100644 parts/tagging/tagging/templatetags/.svn/text-base/__init__.py.svn-base
delete mode 100644 parts/tagging/tagging/templatetags/.svn/text-base/tagging_tags.py.svn-base
delete mode 100644 parts/tagging/tagging/templatetags/__init__.py
delete mode 100644 parts/tagging/tagging/templatetags/tagging_tags.py
delete mode 100644 parts/tagging/tagging/tests/.svn/all-wcprops
delete mode 100644 parts/tagging/tagging/tests/.svn/dir-prop-base
delete mode 100644 parts/tagging/tagging/tests/.svn/entries
delete mode 100644 parts/tagging/tagging/tests/.svn/prop-base/__init__.py.svn-base
delete mode 100644 parts/tagging/tagging/tests/.svn/prop-base/models.py.svn-base
delete mode 100644 parts/tagging/tagging/tests/.svn/prop-base/settings.py.svn-base
delete mode 100644 parts/tagging/tagging/tests/.svn/prop-base/tags.txt.svn-base
delete mode 100644 parts/tagging/tagging/tests/.svn/prop-base/tests.py.svn-base
delete mode 100644 parts/tagging/tagging/tests/.svn/text-base/__init__.py.svn-base
delete mode 100644 parts/tagging/tagging/tests/.svn/text-base/models.py.svn-base
delete mode 100644 parts/tagging/tagging/tests/.svn/text-base/settings.py.svn-base
delete mode 100644 parts/tagging/tagging/tests/.svn/text-base/tags.txt.svn-base
delete mode 100644 parts/tagging/tagging/tests/.svn/text-base/tests.py.svn-base
delete mode 100644 parts/tagging/tagging/tests/__init__.py
delete mode 100644 parts/tagging/tagging/tests/models.py
delete mode 100644 parts/tagging/tagging/tests/settings.py
delete mode 100644 parts/tagging/tagging/tests/tags.txt
delete mode 100644 parts/tagging/tagging/tests/tests.py
delete mode 100644 parts/tagging/tagging/utils.py
delete mode 100644 parts/tagging/tagging/views.py
diff --git a/bin/buildout b/bin/buildout
deleted file mode 100755
index 7632ca4..0000000
--- a/bin/buildout
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/python -S
-
-import sys
-sys.path[0:0] = [
- '/home/nishanth/Desktop/pytask/parts/buildout',
- ]
-
-
-import os
-path = sys.path[0]
-if os.environ.get('PYTHONPATH'):
- path = os.pathsep.join([path, os.environ['PYTHONPATH']])
-os.environ['BUILDOUT_ORIGINAL_PYTHONPATH'] = os.environ.get('PYTHONPATH', '')
-os.environ['PYTHONPATH'] = path
-import site # imports custom buildout-generated site.py
-
-import zc.buildout.buildout
-
-if __name__ == '__main__':
- zc.buildout.buildout.main()
diff --git a/bin/django b/bin/django
deleted file mode 100755
index 8c75e4b..0000000
--- a/bin/django
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/python
-
-import sys
-sys.path[0:0] = [
- '/usr/lib/python2.6/dist-packages/PIL',
- '/home/nishanth/Desktop/pytask/eggs/djangorecipe-0.20-py2.6.egg',
- '/home/nishanth/Desktop/pytask/eggs/zc.recipe.egg-1.3.2-py2.6.egg',
- '/home/nishanth/Desktop/pytask/eggs/zc.buildout-1.5.2-py2.6.egg',
- '/home/nishanth/Desktop/pytask/eggs/setuptools-0.6c12dev_r85381-py2.6.egg',
- '/home/nishanth/Desktop/pytask/parts/django',
- '/home/nishanth/Desktop/pytask',
- '/home/nishanth/Desktop/pytask/parts/tagging',
- '/home/nishanth/Desktop/pytask/parts/django-robots',
- '/home/nishanth/Desktop/pytask/parts/south',
- '/home/nishanth/Desktop/pytask/parts/registration',
- ]
-
-
-import djangorecipe.manage
-
-if __name__ == '__main__':
- djangorecipe.manage.main('pytask.settings')
diff --git a/develop-eggs/Django.egg-link b/develop-eggs/Django.egg-link
deleted file mode 100644
index 2da5423..0000000
--- a/develop-eggs/Django.egg-link
+++ /dev/null
@@ -1,2 +0,0 @@
-/home/nishanth/Desktop/pytask/parts/django
-.
\ No newline at end of file
diff --git a/downloads/django-1.2.4.tar.gz b/downloads/django-1.2.4.tar.gz
deleted file mode 100644
index 02f128f..0000000
Binary files a/downloads/django-1.2.4.tar.gz and /dev/null differ
diff --git a/eggs/MercurialRecipe-0.1.3-py2.6.egg b/eggs/MercurialRecipe-0.1.3-py2.6.egg
deleted file mode 100644
index 5dafbf3..0000000
Binary files a/eggs/MercurialRecipe-0.1.3-py2.6.egg and /dev/null differ
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/PKG-INFO b/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/PKG-INFO
deleted file mode 100644
index b2a62f7..0000000
--- a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/PKG-INFO
+++ /dev/null
@@ -1,443 +0,0 @@
-Metadata-Version: 1.0
-Name: djangorecipe
-Version: 0.20
-Summary: Buildout recipe for Django
-Home-page: https://launchpad.net/djangorecipe
-Author: Jeroen Vloothuis
-Author-email: jeroen.vloothuis@xs4all.nl
-License: BSD
-Description: Description
- ===========
-
- This buildout recipe can be used to create a setup for Django. It will
- automatically download Django and install it in the buildout's
- sandbox. You can use either a release version of Django or a
- subversion checkout (by using `trunk` instead of a version number.
-
- You can see an example of how to use the recipe below::
-
- [buildout]
- parts = satchmo django
- eggs = ipython
-
- [satchmo]
- recipe = gocept.download
- url = http://www.satchmoproject.com/snapshots/satchmo-0.6.tar.gz
- md5sum = 659a4845c1c731be5cfe29bfcc5d14b1
-
- [django]
- recipe = djangorecipe
- version = trunk
- settings = development
- eggs = ${buildout:eggs}
- extra-paths =
- ${satchmo:location}
- project = dummyshop
-
-
- Supported options
- =================
-
- The recipe supports the following options.
-
- project
- This option sets the name for your project. The recipe will create a
- basic structure if the project is not already there.
-
- projectegg
- Use this instead of the project option when you want to use an egg
- as the project. This disables the generation of the project
- structure.
-
- python
- This option can be used to specify a specific Python version which can be a
- different version from the one used to run the buildout.
-
- version
- The version argument can accept a few different types of
- arguments. You can specify `trunk`. In this case it will do a
- checkout of the Django trunk. Another option is to specify a release
- number like `0.96.2`. This will download the release
- tarball. Finally you can specify a full svn url (including the
- revision number). An example of this would be
- `http://code.djangoproject.com/svn/django/branches/newforms-admin@7833`.
-
- settings
- You can set the name of the settings file which is to be used with
- this option. This is useful if you want to have a different
- production setup from your development setup. It defaults to
- `development`.
-
- download-cache
- Set this to a folder somewhere on you system to speed up
- installation. The recipe will use this folder as a cache for a
- downloaded version of Django.
-
- extra-paths
- All paths specified here will be used to extend the default Python
- path for the `bin/*` scripts.
-
- pth-files
- Adds paths found from a site `.pth` file to the extra-paths.
- Useful for things like Pinax which maintains its own external_libs dir.
-
- control-script
- The name of the script created in the bin folder. This script is the
- equivalent of the `manage.py` Django normally creates. By default it
- uses the name of the section (the part between the `[ ]`).
-
- wsgi
- An extra script is generated in the bin folder when this is set to
- `true`. This can be used with mod_wsgi to deploy the project. The
- name of the script is `control-script.wsgi`.
-
- wsgilog
- In case the WSGI server you're using does not allow printing to stdout,
- you can set this variable to a filesystem path - all stdout/stderr data
- is redirected to the log instead of printed
-
- fcgi
- Like `wsgi` this creates an extra script within the bin folder. This
- script can be used with an FCGI deployment.
-
- test
- If you want a script in the bin folder to run all the tests for a
- specific set of apps this is the option you would use. Set this to
- the list of app labels which you want to be tested.
-
- testrunner
- This is the name of the testrunner which will be created. It
- defaults to `test`.
-
- All following options only have effect when the project specified by
- the project option has not been created already.
-
- urlconf
- You can set this to a specific url conf. It will use project.urls by
- default.
-
- secret
- The secret to use for the `settings.py`, it generates a random
- string by default.
-
-
- FCGI specific settings
- ======================
-
- Options for FCGI can be set within a settings file (`settings.py`). The options
- is `FCGI_OPTIONS`. It should be set to a dictionary. The part below is an
- example::
-
- FCGI_OPTIONS = {
- 'method': 'threaded',
- }
-
-
- Another example
- ===============
-
- The next example shows you how to use some more of the options::
-
- [buildout]
- parts = django extras
- eggs =
- hashlib
-
- [extras]
- recipe = iw.recipe.subversion
- urls =
- http://django-command-extensions.googlecode.com/svn/trunk/ django-command-extensions
- http://django-mptt.googlecode.com/svn/trunk/ django-mptt
-
- [django]
- recipe = djangorecipe
- version = trunk
- settings = development
- project = exampleproject
- wsgi = true
- eggs =
- ${buildout:eggs}
- test =
- someapp
- anotherapp
-
- Example using .pth files
- ========================
-
- Pinax uses a .pth file to add a bunch of libraries to its path; we can
- specify it's directory to get the libraries it specified added to our
- path::
-
- [buildout]
- parts = PIL
- svncode
- myproject
-
- [PIL]
- recipe = zc.recipe.egg:custom
- egg = PIL
- find-links = http://dist.repoze.org/
-
- [svncode]
- recipe = iw.recipe.subversion
- urls = http://svn.pinaxproject.com/pinax/tags/0.5.1rc1 pinax
-
- [myproject]
- recipe = djangorecipe
- version = 1.0.2
- eggs = PIL
- project = myproject
- settings = settings
- extra-paths = ${buildout:directory}/myproject/apps
- ${svncode:location}/pinax/apps/external_apps
- ${svncode:location}/pinax/apps/local_apps
- pth-files = ${svncode:location}/pinax/libs/external_libs
- wsgi = true
-
- Above, we use stock Pinax for pth-files and extra-paths paths for
- apps, and our own project for the path that will be found first in the
- list. Note that we expect our project to be checked out (e.g., by
- svn:external) directly under this directory in to 'myproject'.
-
- Example with a different Python version
- =======================================
-
- To use a different Python version from the one that ran buildout in the
- generated script use something like::
-
- [buildout]
- parts = myproject
-
- [special-python]
- executable = /some/special/python
-
- [myproject]
- recipe = djangorecipe
- version = 1.0.2
- project = myproject
- python = special-python
-
-
- Example configuration for mod_wsgi
- ==================================
-
- If you want to deploy a project using mod_wsgi you could use this
- example as a starting point::
-
-
- Order deny,allow
- Allow from all
-
-
- ServerName my.rocking.server
- CustomLog /var/log/apache2/my.rocking.server/access.log combined
- ErrorLog /var/log/apache2/my.rocking.server/error.log
- WSGIScriptAlias / /path/to/buildout/bin/django.wsgi
-
-
-
- Changes
- =======
-
- 0.20
- ----
-
- - The recipe know makes the `django` package know to setuptools during install.
- This closes #397864. Thanks to Daniel Bruce and Dan Fairs for the patch.
-
- - Fixed #451065 which fixes a problem with the WSGI log file option.
-
- - Added the posibilty to configure more FCGI related settings. Thanks to Vasily
- Sulatskov for the patch.
-
- 0.19.2
- ------
-
- - The generated WSGI & FCGI scripts are now properly removed when
- options change (fixes #328182). Thanks to Horst Gutmann for the
- patch.
-
- - Scripts are now updated when dependencies change. This fixes #44658,
- thanks to Paul Carduner for the patch.
-
- 0.19.1
- ------
-
- - Applied fix for the change in WSGI script generation. The previous
- release did not work properly.
-
- 0.19
- ----
-
- - When running again with non-newest set the recipe will no longer
- update the Subversion checkout. Thanks to vinilios for the patch.
-
- - The WSGI and FCGI scripts are now generated using Buildout's own
- system. This makes them more similar to the generated manage script
- with regard to the setup of paths. Thanks to Jannis Leidel for the
- patch.
-
- 0.18
- ----
-
- - Paths from eggs and extra-paths now get precedence over the default
- system path (fixes #370420). Thanks to Horst Gutmann for the patch.
-
- - The generated WSGI script now uses the `python` option if
- present. This fixes #361695.
-
- 0.17.4
- ------
-
- - Fixed a problem when not running in verbose mode (fixes #375151).
-
- 0.17.3
- ------
-
- - Removed dependency on setuptools_bzr since it does not seem to work
- like I expected.
-
- 0.17.2
- ------
-
- - Changed the download code to use urllib2. This should make it work
- from behind proxies (fixes #362822). Thanks to pauld for the patch.
-
- 0.17.1
- ------
-
- - Fixed a problem with the new WSGI logging option #348797. Thanks to
- Bertrand Mathieu for the patch.
-
- - Disable generation of the WSGI log if "wsgilog" isn't set, thanks to
- Jacob Kaplan-Moss for the patch.
-
- - Updated buildout.cfg and .bzrignore, thanks Jacob Kaplan-Moss.
-
- 0.17
- ----
-
- - Added an option to specify a log file for output redirection from
- the WSGI script. Thanks to Guido Wesdorp for the patch.
-
- 0.16
- ----
-
- - Subversion aliases are now supported (something like
- svn+mystuff://myjunk). Thanks to Remco for the patch.
-
- 0.15.2
- ------
-
- - Update to move pth-files finder from the __init__ method to the
- install method so it runs in buildout-order, else it looks for pth
- files in dirs that may not yet exist. Thanks to Chris Shenton for
- the update to his original patch.
-
- 0.15.1
- ------
-
- - Update to make the previously added pth-files option better
- documented.
-
- 0.15
- ----
-
- - Added "pth-files" option to add libraries to extra-paths from
- site .pth files. Thanks to Chris Shenton for the patch.
-
- 0.14
- ----
-
- - The recipe now supports creating a FCGI script. Thanks to Jannis
- Leidel for the patch.
-
- - When downloading a Django recipe for the first time the recipe now
- properly reports the url it is downloading from.
-
- 0.13
- ----
-
- - Specifying a user name within a subversion url now works. The code
- that determined the revision has been updated. This fixes issue
- #274004. Thanks to Remco for the patch.
-
- - Updated the template for creating new projects. It now uses the
- current admin system when generating it's `urls.py` file. This fixes
- issue #276255. Thanks to Roland for the patch.
-
- 0.12.1
- ------
-
- - Re-upload since CHANGES.txt was missing from the release
-
- 0.12
- ----
-
- - The recipe no longer executes subversion to determine whether the
- versions is to be downloaded using subversion. This fixes issue
- #271145. Thanks to Kapil Thangavelu for the patch.
-
- - Changed the `pythonpath` option to `extra-paths`. This makes the
- recipe more consistent with other recipes (see issue #270908).
-
- 0.11
- ----
-
- - Another go at fixing the updating problem (#250811) by making sure
- the update method is always called. It would not be called in the
- previous version since the recipe wrote a random secret (if it
- wasn't specified) to the options for use with a template. Buildout
- saw this as a change in options and therefore always decided to
- un-install & install.
-
- - When both projectegg and wsgi=True are specified, the generated wsgi
- file did not have the correct settings file in it. This has been
- fixed with a patch from Dan Fairs.
-
- - The recipe now has logging. All print statements have been replaced
- and a few extra logging calls have been added. This makes the recipe
- more informative about long running tasks. Thanks erny for the patch
- from issue #260628.
-
- 0.10
- ----
-
- - The recipe no longer expects the top level directory name in a
- release tarball to be consistent with the version number. This fixes
- issue #260097. Thanks to erny for reporting this issue and
- suggesting a solution.
-
- - Revision pinns for the svn checkout now stay pinned when re-running
- the buildout. This fixes issue #250811. Thanks to Remco for
- reporting this.
-
- - Added an option to specify an egg to use as the project. This
- disables the code which creates the basic project structure. Thanks
- to Dan Fairs for the patch from issue #252647.
-
- 0.9.1
- -----
-
- - Fixed the previous release which was broken due to a missing
- manifest file
-
- 0.9
- ---
-
- - The settings option is fixed so that it supports arbitrary depth
- settings paths (example; `conf.customer.development`).
-
- - The version argument now excepts a full svn url as well. You can use
- this to get a branch or fix any url to a specific revision with the
- standard svn @ syntax
-
- - The wsgi script is no longer made executable and readable only by
- the user who ran buildout. This avoids problems with deployment.
-
-Platform: UNKNOWN
-Classifier: Framework :: Buildout
-Classifier: Framework :: Django
-Classifier: Topic :: Software Development :: Build Tools
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: License :: OSI Approved :: BSD License
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/SOURCES.txt b/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/SOURCES.txt
deleted file mode 100644
index ded8ede..0000000
--- a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/SOURCES.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-.bzrignore
-CHANGES.txt
-README.txt
-bootstrap.py
-buildout.cfg
-fabfile
-setup.cfg
-setup.py
-src/djangorecipe/__init__.py
-src/djangorecipe/fcgi.py
-src/djangorecipe/manage.py
-src/djangorecipe/recipe.py
-src/djangorecipe/test.py
-src/djangorecipe/tests.py
-src/djangorecipe/wsgi.py
-src/djangorecipe.egg-info/PKG-INFO
-src/djangorecipe.egg-info/SOURCES.txt
-src/djangorecipe.egg-info/dependency_links.txt
-src/djangorecipe.egg-info/entry_points.txt
-src/djangorecipe.egg-info/not-zip-safe
-src/djangorecipe.egg-info/requires.txt
-src/djangorecipe.egg-info/top_level.txt
-src/djangorecipe/testing/django/__init__.py
-src/djangorecipe/testing/django/core/__init__.py
-src/djangorecipe/testing/django/core/management.py
\ No newline at end of file
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/dependency_links.txt b/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/dependency_links.txt
deleted file mode 100644
index 8b13789..0000000
--- a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/dependency_links.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/entry_points.txt b/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/entry_points.txt
deleted file mode 100644
index 844004d..0000000
--- a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/entry_points.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-
- # -*- Entry points: -*-
- [zc.buildout]
- default = djangorecipe.recipe:Recipe
-
\ No newline at end of file
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/not-zip-safe b/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/not-zip-safe
deleted file mode 100644
index 8b13789..0000000
--- a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/not-zip-safe
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/requires.txt b/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/requires.txt
deleted file mode 100644
index 0cf9b27..0000000
--- a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/requires.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-zc.buildout
-zc.recipe.egg
\ No newline at end of file
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/top_level.txt b/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/top_level.txt
deleted file mode 100644
index 7d37670..0000000
--- a/eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/top_level.txt
+++ /dev/null
@@ -1 +0,0 @@
-djangorecipe
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/__init__.py b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/__init__.pyo b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/__init__.pyo
deleted file mode 100644
index 7898e21..0000000
Binary files a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/__init__.pyo and /dev/null differ
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.py b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.py
deleted file mode 100644
index 17a793e..0000000
--- a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.py
+++ /dev/null
@@ -1,29 +0,0 @@
-from django.core import management
-
-def main(settings_file, logfile=None):
- try:
- mod = __import__(settings_file)
- components = settings_file.split('.')
- for comp in components[1:]:
- mod = getattr(mod, comp)
-
- except ImportError, e:
- import sys
- sys.stderr.write("Error loading the settings module '%s': %s"
- % (settings_file, e))
- sys.exit(1)
-
- # Setup settings
- management.setup_environ(mod)
-
- from django.conf import settings
-
- options = getattr(settings, 'FCGI_OPTIONS', {})
- if logfile:
- options['outlog'] = logfile
- options['errlog'] = logfile
-
- from django.core.servers.fastcgi import runfastcgi
-
- # Run FASTCGI handler
- runfastcgi(**options)
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.pyo b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.pyo
deleted file mode 100644
index 62633ea..0000000
Binary files a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.pyo and /dev/null differ
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/manage.py b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/manage.py
deleted file mode 100644
index 6a61411..0000000
--- a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/manage.py
+++ /dev/null
@@ -1,16 +0,0 @@
-from django.core import management
-
-def main(settings_file):
- try:
- mod = __import__(settings_file)
- components = settings_file.split('.')
- for comp in components[1:]:
- mod = getattr(mod, comp)
-
- except ImportError, e:
- import sys
- sys.stderr.write("Error loading the settings module '%s': %s"
- % (settings_file, e))
- return sys.exit(1)
-
- management.execute_manager(mod)
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/manage.pyo b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/manage.pyo
deleted file mode 100644
index d483aac..0000000
Binary files a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/manage.pyo and /dev/null differ
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/recipe.py b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/recipe.py
deleted file mode 100644
index 2282513..0000000
--- a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/recipe.py
+++ /dev/null
@@ -1,466 +0,0 @@
-from random import choice
-import os
-import subprocess
-import urllib2
-import shutil
-import logging
-import re
-
-from zc.buildout import UserError
-import zc.recipe.egg
-import setuptools
-
-script_template = {
- 'wsgi': '''
-
-%(relative_paths_setup)s
-import sys
-sys.path[0:0] = [
- %(path)s,
- ]
-%(initialization)s
-import %(module_name)s
-
-application = %(module_name)s.%(attrs)s(%(arguments)s)
-''',
- 'fcgi': '''
-
-%(relative_paths_setup)s
-import sys
-sys.path[0:0] = [
- %(path)s,
- ]
-%(initialization)s
-import %(module_name)s
-
-%(module_name)s.%(attrs)s(%(arguments)s)
-'''
-}
-
-
-settings_template = '''
-import os
-
-ADMINS = (
- # ('Your Name', 'your_email@domain.com'),
-)
-
-MANAGERS = ADMINS
-
-DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
-DATABASE_NAME = '%(project)s.db'
-DATABASE_USER = '' # Not used with sqlite3.
-DATABASE_PASSWORD = '' # Not used with sqlite3.
-DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
-DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
-
-TIME_ZONE = 'America/Chicago'
-
-LANGUAGE_CODE = 'en-us'
-
-# Absolute path to the directory that holds media.
-# Example: "/home/media/media.lawrence.com/"
-MEDIA_ROOT = %(media_root)s
-
-# URL that handles the media served from MEDIA_ROOT. Make sure to use a
-# trailing slash if there is a path component (optional in other cases).
-# Examples: "http://media.lawrence.com", "http://example.com/media/"
-MEDIA_URL = '/media/'
-
-# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
-# trailing slash.
-# Examples: "http://foo.com/media/", "/media/".
-ADMIN_MEDIA_PREFIX = '/admin_media/'
-
-# Don't share this with anybody.
-SECRET_KEY = '%(secret)s'
-
-MIDDLEWARE_CLASSES = (
- 'django.middleware.common.CommonMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.middleware.doc.XViewMiddleware',
-)
-
-ROOT_URLCONF = '%(urlconf)s'
-
-
-INSTALLED_APPS = (
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.admin',
-)
-
-TEMPLATE_LOADERS = (
- 'django.template.loaders.filesystem.load_template_source',
- 'django.template.loaders.app_directories.load_template_source',
-)
-
-TEMPLATE_DIRS = (
- os.path.join(os.path.dirname(__file__), "templates"),
-)
-
-
-'''
-
-production_settings = '''
-from %(project)s.settings import *
-'''
-
-development_settings = '''
-from %(project)s.settings import *
-DEBUG=True
-TEMPLATE_DEBUG=DEBUG
-'''
-
-urls_template = '''
-from django.conf.urls.defaults import patterns, include, handler500
-from django.conf import settings
-from django.contrib import admin
-admin.autodiscover()
-
-handler500 # Pyflakes
-
-urlpatterns = patterns(
- '',
- (r'^admin/(.*)', admin.site.root),
- (r'^accounts/login/$', 'django.contrib.auth.views.login'),
-)
-
-if settings.DEBUG:
- urlpatterns += patterns('',
- (r'^media/(?P.*)$', 'django.views.static.serve',
- {'document_root': settings.MEDIA_ROOT}),
- )
-'''
-
-class Recipe(object):
- def __init__(self, buildout, name, options):
- self.log = logging.getLogger(name)
- self.egg = zc.recipe.egg.Egg(buildout, options['recipe'], options)
-
- self.buildout, self.name, self.options = buildout, name, options
- options['location'] = os.path.join(
- buildout['buildout']['parts-directory'], name)
- options['bin-directory'] = buildout['buildout']['bin-directory']
-
- options.setdefault('project', 'project')
- options.setdefault('settings', 'development')
-
- options.setdefault('urlconf', options['project'] + '.urls')
- options.setdefault(
- 'media_root',
- "os.path.join(os.path.dirname(__file__), 'media')")
- # Set this so the rest of the recipe can expect the values to be
- # there. We need to make sure that both pythonpath and extra-paths are
- # set for BBB.
- if 'extra-paths' in options:
- options['pythonpath'] = options['extra-paths']
- else:
- options.setdefault('extra-paths', options.get('pythonpath', ''))
-
- # Usefull when using archived versions
- buildout['buildout'].setdefault(
- 'download-cache',
- os.path.join(buildout['buildout']['directory'],
- 'downloads'))
-
- # mod_wsgi support script
- options.setdefault('wsgi', 'false')
- options.setdefault('fcgi', 'false')
- options.setdefault('wsgilog', '')
- options.setdefault('logfile', '')
-
- # only try to download stuff if we aren't asked to install from cache
- self.install_from_cache = self.buildout['buildout'].get(
- 'install-from-cache', '').strip() == 'true'
-
-
- def install(self):
- location = self.options['location']
- base_dir = self.buildout['buildout']['directory']
-
- project_dir = os.path.join(base_dir, self.options['project'])
-
- download_dir = self.buildout['buildout']['download-cache']
- if not os.path.exists(download_dir):
- os.mkdir(download_dir)
-
- version = self.options['version']
- # Remove a pre-existing installation if it is there
- if os.path.exists(location):
- shutil.rmtree(location)
-
- if self.is_svn_url(version):
- self.install_svn_version(version, download_dir, location,
- self.install_from_cache)
- else:
- tarball = self.get_release(version, download_dir)
- # Extract and put the dir in its proper place
- self.install_release(version, download_dir, tarball, location)
-
- self.options['setup'] = location
- development = zc.recipe.egg.Develop(self.buildout,
- self.options['recipe'],
- self.options)
- development.install()
- del self.options['setup']
-
- extra_paths = self.get_extra_paths()
- requirements, ws = self.egg.working_set(['djangorecipe'])
-
- script_paths = []
-
- # Create the Django management script
- script_paths.extend(self.create_manage_script(extra_paths, ws))
-
- # Create the test runner
- script_paths.extend(self.create_test_runner(extra_paths, ws))
-
- # Make the wsgi and fastcgi scripts if enabled
- script_paths.extend(self.make_scripts(extra_paths, ws))
-
- # Create default settings if we haven't got a project
- # egg specified, and if it doesn't already exist
- if not self.options.get('projectegg'):
- if not os.path.exists(project_dir):
- self.create_project(project_dir)
- else:
- self.log.info(
- 'Skipping creating of project: %(project)s since '
- 'it exists' % self.options)
-
- return script_paths + [location]
-
- def install_svn_version(self, version, download_dir, location,
- install_from_cache):
- svn_url = self.version_to_svn(version)
- download_location = os.path.join(
- download_dir, 'django-' +
- self.version_to_download_suffix(version))
- if not install_from_cache:
- if os.path.exists(download_location):
- if self.svn_update(download_location, version):
- raise UserError(
- "Failed to update Django; %s. "
- "Please check your internet connection." % (
- download_location))
- else:
- self.log.info("Checking out Django from svn: %s" % svn_url)
- cmd = 'svn co %s %s' % (svn_url, download_location)
- if not self.buildout['buildout'].get('verbosity'):
- cmd += ' -q'
- if self.command(cmd):
- raise UserError("Failed to checkout Django. "
- "Please check your internet connection.")
- else:
- self.log.info("Installing Django from cache: " + download_location)
-
- shutil.copytree(download_location, location)
-
-
- def install_release(self, version, download_dir, tarball, destination):
- extraction_dir = os.path.join(download_dir, 'django-archive')
- setuptools.archive_util.unpack_archive(tarball, extraction_dir)
- # Lookup the resulting extraction dir instead of guessing it
- # (Django releases have a tendency not to be consistend here)
- untarred_dir = os.path.join(extraction_dir,
- os.listdir(extraction_dir)[0])
- shutil.move(untarred_dir, destination)
- shutil.rmtree(extraction_dir)
-
- def get_release(self, version, download_dir):
- tarball = os.path.join(download_dir, 'django-%s.tar.gz' % version)
-
- # Only download when we don't yet have an archive
- if not os.path.exists(tarball):
- download_url = 'http://www.djangoproject.com/download/%s/tarball/'
- self.log.info("Downloading Django from: %s" % (
- download_url % version))
-
- tarball_f = open(tarball, 'wb')
- f = urllib2.urlopen(download_url % version)
- tarball_f.write(f.read())
- tarball_f.close()
- f.close()
- return tarball
-
- def create_manage_script(self, extra_paths, ws):
- project = self.options.get('projectegg', self.options['project'])
- return zc.buildout.easy_install.scripts(
- [(self.options.get('control-script', self.name),
- 'djangorecipe.manage', 'main')],
- ws, self.options['executable'], self.options['bin-directory'],
- extra_paths = extra_paths,
- arguments= "'%s.%s'" % (project,
- self.options['settings']))
-
-
-
- def create_test_runner(self, extra_paths, working_set):
- apps = self.options.get('test', '').split()
- # Only create the testrunner if the user requests it
- if apps:
- return zc.buildout.easy_install.scripts(
- [(self.options.get('testrunner', 'test'),
- 'djangorecipe.test', 'main')],
- working_set, self.options['executable'],
- self.options['bin-directory'],
- extra_paths = extra_paths,
- arguments= "'%s.%s', %s" % (
- self.options['project'],
- self.options['settings'],
- ', '.join(["'%s'" % app for app in apps])))
- else:
- return []
-
-
- def create_project(self, project_dir):
- os.makedirs(project_dir)
-
- template_vars = {'secret': self.generate_secret()}
- template_vars.update(self.options)
-
- self.create_file(
- os.path.join(project_dir, 'development.py'),
- development_settings, template_vars)
-
- self.create_file(
- os.path.join(project_dir, 'production.py'),
- production_settings, template_vars)
-
- self.create_file(
- os.path.join(project_dir, 'urls.py'),
- urls_template, template_vars)
-
- self.create_file(
- os.path.join(project_dir, 'settings.py'),
- settings_template, template_vars)
-
- # Create the media and templates directories for our
- # project
- os.mkdir(os.path.join(project_dir, 'media'))
- os.mkdir(os.path.join(project_dir, 'templates'))
-
- # Make the settings dir a Python package so that Django
- # can load the settings from it. It will act like the
- # project dir.
- open(os.path.join(project_dir, '__init__.py'), 'w').close()
-
- def make_scripts(self, extra_paths, ws):
- scripts = []
- _script_template = zc.buildout.easy_install.script_template
- for protocol in ('wsgi', 'fcgi'):
- zc.buildout.easy_install.script_template = \
- zc.buildout.easy_install.script_header + \
- script_template[protocol]
- if self.options.get(protocol, '').lower() == 'true':
- project = self.options.get('projectegg',
- self.options['project'])
- scripts.extend(
- zc.buildout.easy_install.scripts(
- [('%s.%s' % (self.options.get('control-script',
- self.name),
- protocol),
- 'djangorecipe.%s' % protocol, 'main')],
- ws,
- self.options['executable'],
- self.options['bin-directory'],
- extra_paths=extra_paths,
- arguments= "'%s.%s', logfile='%s'" % (
- project, self.options['settings'],
- self.options.get('logfile'))))
- zc.buildout.easy_install.script_template = _script_template
- return scripts
-
- def is_svn_url(self, version):
- # Search if there is http/https/svn or svn+[a tunnel identifier] in the
- # url or if the trunk marker is used, all indicating the use of svn
- svn_version_search = re.compile(
- r'^(http|https|svn|svn\+[a-zA-Z-_]+)://|^(trunk)$').search(version)
- return svn_version_search is not None
-
- def version_to_svn(self, version):
- if version == 'trunk':
- return 'http://code.djangoproject.com/svn/django/trunk/'
- else:
- return version
-
- def version_to_download_suffix(self, version):
- if version == 'trunk':
- return 'svn'
- return [p for p in version.split('/') if p][-1]
-
- def svn_update(self, path, version):
- command = 'svn up'
- revision_search = re.compile(r'@([0-9]*)$').search(
- self.options['version'])
-
- if revision_search is not None:
- command += ' -r ' + revision_search.group(1)
- self.log.info("Updating Django from svn")
- if not self.buildout['buildout'].get('verbosity'):
- command += ' -q'
- return self.command(command, cwd=path)
-
- def get_extra_paths(self):
- extra_paths = [self.options['location'],
- self.buildout['buildout']['directory']
- ]
-
- # Add libraries found by a site .pth files to our extra-paths.
- if 'pth-files' in self.options:
- import site
- for pth_file in self.options['pth-files'].splitlines():
- pth_libs = site.addsitedir(pth_file, set())
- if not pth_libs:
- self.log.warning(
- "No site *.pth libraries found for pth_file=%s" % (
- pth_file,))
- else:
- self.log.info("Adding *.pth libraries=%s" % pth_libs)
- self.options['extra-paths'] += '\n' + '\n'.join(pth_libs)
-
- pythonpath = [p.replace('/', os.path.sep) for p in
- self.options['extra-paths'].splitlines() if p.strip()]
-
- extra_paths.extend(pythonpath)
- return extra_paths
-
- def update(self):
- newest = self.buildout['buildout'].get('newest') != 'false'
- if newest and not self.install_from_cache and \
- self.is_svn_url(self.options['version']):
- self.svn_update(self.options['location'], self.options['version'])
-
- extra_paths = self.get_extra_paths()
- requirements, ws = self.egg.working_set(['djangorecipe'])
- # Create the Django management script
- self.create_manage_script(extra_paths, ws)
-
- # Create the test runner
- self.create_test_runner(extra_paths, ws)
-
- # Make the wsgi and fastcgi scripts if enabled
- self.make_scripts(extra_paths, ws)
-
- def command(self, cmd, **kwargs):
- output = subprocess.PIPE
- if self.buildout['buildout'].get('verbosity'):
- output = None
- command = subprocess.Popen(
- cmd, shell=True, stdout=output, **kwargs)
- return command.wait()
-
- def create_file(self, file, template, options):
- if os.path.exists(file):
- return
-
- f = open(file, 'w')
- f.write(template % options)
- f.close()
-
- def generate_secret(self):
- chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
- return ''.join([choice(chars) for i in range(50)])
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/recipe.pyo b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/recipe.pyo
deleted file mode 100644
index a73b499..0000000
Binary files a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/recipe.pyo and /dev/null differ
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/test.py b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/test.py
deleted file mode 100644
index 8cad491..0000000
--- a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/test.py
+++ /dev/null
@@ -1,16 +0,0 @@
-from django.core import management
-
-def main(settings_file, *apps):
- argv = ['test', 'test'] + list(apps)
- try:
- settings = __import__(settings_file)
- components = settings_file.split('.')
- for comp in components[1:]:
- settings = getattr(settings, comp)
- except ImportError, e:
- import sys
- sys.stderr.write("Error loading the settings module '%s': %s"
- % (settings_file, e))
- return sys.exit(1)
-
- management.execute_manager(settings, argv=argv)
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/test.pyo b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/test.pyo
deleted file mode 100644
index 2d4d58d..0000000
Binary files a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/test.pyo and /dev/null differ
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/tests.py b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/tests.py
deleted file mode 100644
index 8d83ad7..0000000
--- a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/tests.py
+++ /dev/null
@@ -1,790 +0,0 @@
-import unittest
-import tempfile
-import os
-import sys
-import shutil
-
-import mock
-from zc.buildout import UserError
-from zc.recipe.egg.egg import Scripts as ZCRecipeEggScripts
-
-from djangorecipe.recipe import Recipe
-
-# Add the testing dir to the Python path so we can use a fake Django
-# install. This needs to be done so that we can use this as a base for
-# mock's with some of the tests.
-sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'testing'))
-
-# Now that we have a fake Django on the path we can import the
-# scripts. These are depenent on a Django install, hence the fake one.
-from djangorecipe import test
-from djangorecipe import manage
-
-
-class TestRecipe(unittest.TestCase):
-
- def setUp(self):
- # Create a directory for our buildout files created by the recipe
- self.buildout_dir = tempfile.mkdtemp('djangorecipe')
-
- self.bin_dir = os.path.join(self.buildout_dir, 'bin')
- self.develop_eggs_dir = os.path.join(self.buildout_dir,
- 'develop-eggs')
- self.eggs_dir = os.path.join(self.buildout_dir, 'eggs')
- self.parts_dir = os.path.join(self.buildout_dir, 'parts')
-
- # We need to create the bin dir since the recipe should be able to expect it exists
- os.mkdir(self.bin_dir)
-
- self.recipe = Recipe({'buildout': {'eggs-directory': self.eggs_dir,
- 'develop-eggs-directory': self.develop_eggs_dir,
- 'python': 'python-version',
- 'bin-directory': self.bin_dir,
- 'parts-directory': self.parts_dir,
- 'directory': self.buildout_dir,
- },
- 'python-version': {'executable': sys.executable}},
- 'django',
- {'recipe': 'djangorecipe',
- 'version': 'trunk'})
-
- def tearDown(self):
- # Remove our test dir
- shutil.rmtree(self.buildout_dir)
-
- def test_consistent_options(self):
- # Buildout is pretty clever in detecting changing options. If
- # the recipe modifies it's options during initialisation it
- # will store this to determine wheter it needs to update or do
- # a uninstall & install. We need to make sure that we normally
- # do not trigger this. That means running the recipe with the
- # same options should give us the same results.
- self.assertEqual(*[
- Recipe({'buildout': {'eggs-directory': self.eggs_dir,
- 'develop-eggs-directory': self.develop_eggs_dir,
- 'python': 'python-version',
- 'bin-directory': self.bin_dir,
- 'parts-directory': self.parts_dir,
- 'directory': self.buildout_dir,
- },
- 'python-version': {'executable': sys.executable}},
- 'django',
- {'recipe': 'djangorecipe',
- 'version': 'trunk'}).options.copy() for i in range(2)])
-
- def test_svn_url(self):
- # Make sure that only a few specific type of url's are
- # considered svn url's
-
- # This is a plain release version so it should indicate it is
- # not a svn url
- self.failIf(self.recipe.is_svn_url('0.96.2'))
- # The next line specifies a proper link with the trunk
- self.assert_(self.recipe.is_svn_url('trunk'))
- # A url looking like trunk should also fail
- self.failIf(self.recipe.is_svn_url('trunka'))
- # A full svn url including version should work
- self.assert_(self.recipe.is_svn_url(
- 'http://code.djangoproject.com/svn/django/branches/newforms-admin@7833'))
- # HTTPS should work too
- self.assert_(self.recipe.is_svn_url(
- 'https://code.djangoproject.com/svn/django/branches/newforms-admin@7833'))
- # Svn+ssh should work
- self.assert_(self.recipe.is_svn_url(
- 'svn+ssh://myserver/newforms-admin@7833'))
- # Svn protocol through any custom tunnel defined in ~/.subversion/config should work
- self.assert_(self.recipe.is_svn_url(
- 'svn+MY_Custom-tunnel://myserver/newforms-admin@7833'))
- # Using a non existent protocol should not be a svn url?
- self.failIf(self.recipe.is_svn_url(
- 'unknown://myserver/newforms-admin@7833'))
-
- def test_command(self):
- # The command method is a wrapper for subprocess which excutes
- # a command and return's it's status code. We will demonstrate
- # this with a simple test of running `dir`.
- self.failIf(self.recipe.command('echo'))
- # Executing a non existing command should return an error code
- self.assert_(self.recipe.command('spamspamspameggs'))
-
- @mock.patch('subprocess', 'Popen')
- def test_command_verbose_mode(self, popen):
- # When buildout is put into verbose mode the command methode
- # should stop capturing the ouput of it's commands.
- popen.return_value = mock.Mock()
- self.recipe.buildout['buildout']['verbosity'] = 'verbose'
- self.recipe.command('silly-command')
- self.assertEqual(
- popen.call_args,
- (('silly-command',), {'shell': True, 'stdout': None}))
-
- def test_create_file(self):
- # The create file helper should create a file at a certain
- # location unless it already exists. We will need a
- # non-existing file first.
- f, name = tempfile.mkstemp()
- # To show the function in action we need to delete the file
- # before testing.
- os.remove(name)
- # The method accepts a template argument which it will use
- # with the options argument for string substitution.
- self.recipe.create_file(name, 'Spam %s', 'eggs')
- # Let's check the contents of the file
- self.assertEqual(open(name).read(), 'Spam eggs')
- # If we try to write it again it will just ignore our request
- self.recipe.create_file(name, 'Spam spam spam %s', 'eggs')
- # The content of the file should therefore be the same
- self.assertEqual(open(name).read(), 'Spam eggs')
- # Now remove our temp file
- os.remove(name)
-
- def test_generate_secret(self):
- # To create a basic skeleton the recipe also generates a
- # random secret for the settings file. Since it should very
- # unlikely that it will generate the same key a few times in a
- # row we will test it with letting it generate a few keys.
- self.assert_(len(set(
- [self.recipe.generate_secret() for i in xrange(10)])) > 1)
-
- def test_version_to_svn(self):
- # Version specification that lead to a svn repository can be
- # specified in different ways. Just specifying `trunk` should
- # be enough to get the full url to the Django trunk.
- self.assertEqual(self.recipe.version_to_svn('trunk'),
- 'http://code.djangoproject.com/svn/django/trunk/')
- # Any other specification should lead to the url it is given
- self.assertEqual(self.recipe.version_to_svn('svn://somehost/trunk'),
- 'svn://somehost/trunk')
-
- def test_version_to_download_suffic(self):
- # To create standard names for the download directory a method
- # is provided which converts a version to a dir suffix. A
- # simple pointer to trunk should return svn.
- self.assertEqual(self.recipe.version_to_download_suffix('trunk'),
- 'svn')
- # Any other url should return the last path component. This
- # works out nicely for branches or version pinned url's.
- self.assertEqual(self.recipe.version_to_download_suffix(
- 'http://monty/branches/python'), 'python')
-
- def test_make_protocol_scripts(self):
- # To ease deployment a WSGI script can be generated. The
- # script adds any paths from the `extra_paths` option to the
- # Python path.
- self.recipe.options['wsgi'] = 'true'
- self.recipe.options['fcgi'] = 'true'
- self.recipe.make_scripts([], [])
- # This should have created a script in the bin dir
- wsgi_script = os.path.join(self.bin_dir, 'django.wsgi')
- self.assert_(os.path.exists(wsgi_script))
- # The contents should list our paths
- contents = open(wsgi_script).read()
- # It should also have a reference to our settings module
- self.assert_('project.development' in contents)
- # and a line which set's up the WSGI app
- self.assert_("application = "
- "djangorecipe.wsgi.main('project.development', logfile='')"
- in contents)
- self.assert_("class logger(object)" not in contents)
-
- # Another deployment options is FCGI. The recipe supports an option to
- # automatically create the required script.
- fcgi_script = os.path.join(self.bin_dir, 'django.fcgi')
- self.assert_(os.path.exists(fcgi_script))
- # The contents should list our paths
- contents = open(fcgi_script).read()
- # It should also have a reference to our settings module
- self.assert_('project.development' in contents)
- # and a line which set's up the WSGI app
- self.assert_("djangorecipe.fcgi.main('project.development', logfile='')"
- in contents)
- self.assert_("class logger(object)" not in contents)
-
- self.recipe.options['logfile'] = '/foo'
- self.recipe.make_scripts([], [])
- wsgi_script = os.path.join(self.bin_dir, 'django.wsgi')
- contents = open(wsgi_script).read()
- self.assert_("logfile='/foo'" in contents)
-
- self.recipe.options['logfile'] = '/foo'
- self.recipe.make_scripts([], [])
- fcgi_script = os.path.join(self.bin_dir, 'django.fcgi')
- contents = open(fcgi_script).read()
- self.assert_("logfile='/foo'" in contents)
-
- @mock.patch('zc.buildout.easy_install', 'scripts')
- def test_make_protocol_scripts_return_value(self, scripts):
- # The return value of make scripts lists the generated scripts.
- self.recipe.options['wsgi'] = 'true'
- self.recipe.options['fcgi'] = 'true'
- scripts.return_value = ['some-path']
- self.assertEqual(self.recipe.make_scripts([], []),
- ['some-path', 'some-path'])
-
-
-
- def test_create_project(self):
- # If a project does not exist already the recipe will create
- # one.
- project_dir = os.path.join(self.buildout_dir, 'project')
- self.recipe.create_project(project_dir)
- # This should have create a project directory
- self.assert_(os.path.exists(project_dir))
- # With this directory we should have __init__.py to make it a
- # package
- self.assert_(
- os.path.exists(os.path.join(project_dir, '__init__.py')))
- # There should also be a urls.py
- self.assert_(
- os.path.exists(os.path.join(project_dir, 'urls.py')))
- # To make it easier to start using this project both a media
- # and a templates folder are created
- self.assert_(
- os.path.exists(os.path.join(project_dir, 'media')))
- self.assert_(
- os.path.exists(os.path.join(project_dir, 'templates')))
- # The project is ready to go since the recipe has generated a
- # base settings, development and production file
- for f in ('settings.py', 'development.py', 'production.py'):
- self.assert_(
- os.path.exists(os.path.join(project_dir, f)))
-
- def test_create_test_runner(self):
- # An executable script can be generated which will make it
- # possible to execute the Django test runner. This options
- # only works if we specify one or apps to test.
- testrunner = os.path.join(self.bin_dir, 'test')
-
- # This first argument sets extra_paths, we will use this to
- # make sure the script can find this recipe
- recipe_dir = os.path.abspath(
- os.path.join(os.path.dirname(__file__), '..'))
-
- # First we will show it does nothing by default
- self.recipe.create_test_runner([recipe_dir], [])
- self.failIf(os.path.exists(testrunner))
-
- # When we specify an app to test it should create the the
- # testrunner
- self.recipe.options['test'] = 'knight'
- self.recipe.create_test_runner([recipe_dir], [])
- self.assert_(os.path.exists(testrunner))
-
- def test_create_manage_script(self):
- # This buildout recipe creates a alternative for the standard
- # manage.py script. It has all the same functionality as the
- # original one but it sits in the bin dir instead of within
- # the project.
- manage = os.path.join(self.bin_dir, 'django')
- self.recipe.create_manage_script([], [])
- self.assert_(os.path.exists(manage))
-
- def test_create_manage_script_projectegg(self):
- # When a projectegg is specified, then the egg specified
- # should get used as the project file.
- manage = os.path.join(self.bin_dir, 'django')
- self.recipe.options['projectegg'] = 'spameggs'
- self.recipe.create_manage_script([], [])
- self.assert_(os.path.exists(manage))
- # Check that we have 'spameggs' as the project
- self.assert_("djangorecipe.manage.main('spameggs.development')"
- in open(manage).read())
-
- @mock.patch('shutil', 'rmtree')
- @mock.patch('os.path', 'exists')
- @mock.patch('urllib', 'urlretrieve')
- @mock.patch('shutil', 'copytree')
- @mock.patch(ZCRecipeEggScripts, 'working_set')
- @mock.patch('zc.buildout.easy_install', 'scripts')
- @mock.patch(Recipe, 'install_release')
- @mock.patch(Recipe, 'create_manage_script')
- @mock.patch(Recipe, 'create_test_runner')
- @mock.patch('zc.recipe.egg', 'Develop')
- def test_fulfills_django_dependency(self, rmtree, path_exists,
- urlretrieve, copytree, working_set, scripts, install_release,
- manage, testrunner, develop):
- # Test for https://bugs.launchpad.net/djangorecipe/+bug/397864
- # djangorecipe should always fulfil the 'Django' requirement.
- self.recipe.options['version'] = '1.0'
- path_exists.return_value = True
- working_set.return_value = (None, [])
- manage.return_value = []
- scripts.return_value = []
- testrunner.return_value = []
- develop_install = mock.Mock()
- develop.return_value = develop_install
- self.recipe.install()
-
- # We should see that Django was added as a develop egg.
- options = develop.call_args[0][2]
- self.assertEqual(options['location'], os.path.join(self.parts_dir, 'django'))
-
- # Check that the install() method for the develop egg was called with no args
- first_method_name, args, kwargs = develop_install.method_calls[0]
- self.assertEqual('install', first_method_name)
- self.assertEqual(0, len(args))
- self.assertEqual(0, len(kwargs))
-
- @mock.patch('shutil', 'rmtree')
- @mock.patch('os.path', 'exists')
- @mock.patch('urllib', 'urlretrieve')
- @mock.patch('shutil', 'copytree')
- @mock.patch(ZCRecipeEggScripts, 'working_set')
- @mock.patch('zc.buildout.easy_install', 'scripts')
- @mock.patch(Recipe, 'install_release')
- @mock.patch(Recipe, 'create_manage_script')
- @mock.patch(Recipe, 'create_test_runner')
- @mock.patch('zc.recipe.egg', 'Develop')
- def test_extra_paths(self, rmtree, path_exists, urlretrieve,
- copytree, working_set, scripts,
- install_release, manage, testrunner,
- develop):
- # The recipe allows extra-paths to be specified. It uses these to
- # extend the Python path within it's generated scripts.
- self.recipe.options['version'] = '1.0'
- self.recipe.options['extra-paths'] = 'somepackage\nanotherpackage'
- path_exists.return_value = True
- working_set.return_value = (None, [])
- manage.return_value = []
- scripts.return_value = []
- testrunner.return_value = []
- develop.return_value = mock.Mock()
- self.recipe.install()
- self.assertEqual(manage.call_args[0][0][-2:],
- ['somepackage', 'anotherpackage'])
-
- @mock.patch('shutil', 'rmtree')
- @mock.patch('os.path', 'exists')
- @mock.patch('urllib', 'urlretrieve')
- @mock.patch('shutil', 'copytree')
- @mock.patch(ZCRecipeEggScripts, 'working_set')
- @mock.patch('zc.buildout.easy_install', 'scripts')
- @mock.patch(Recipe, 'install_release')
- @mock.patch(Recipe, 'create_manage_script')
- @mock.patch(Recipe, 'create_test_runner')
- @mock.patch('site', 'addsitedir')
- @mock.patch('zc.recipe.egg', 'Develop')
- def test_pth_files(self, rmtree, path_exists, urlretrieve,
- copytree, working_set, scripts,
- install_release, manage, testrunner, addsitedir,
- develop):
- # When a pth-files option is set the recipe will use that to add more
- # paths to extra-paths.
- self.recipe.options['version'] = '1.0'
- path_exists.return_value = True
- working_set.return_value = (None, [])
- scripts.return_value = []
- manage.return_value = []
- testrunner.return_value = []
- develop.return_value = mock.Mock()
-
- # The mock values needed to demonstrate the pth-files option.
- addsitedir.return_value = ['extra', 'dirs']
- self.recipe.options['pth-files'] = 'somedir'
-
- self.recipe.install()
- self.assertEqual(addsitedir.call_args, (('somedir', set([])), {}))
- # The extra-paths option has been extended.
- self.assertEqual(self.recipe.options['extra-paths'], '\nextra\ndirs')
-
- def test_create_wsgi_script_projectegg(self):
- # When a projectegg is specified, then the egg specified
- # should get used as the project in the wsgi script.
- wsgi = os.path.join(self.bin_dir, 'django.wsgi')
- recipe_dir = os.path.abspath(
- os.path.join(os.path.dirname(__file__), '..'))
- self.recipe.options['projectegg'] = 'spameggs'
- self.recipe.options['wsgi'] = 'true'
- self.recipe.make_scripts([recipe_dir], [])
- self.assert_(os.path.exists(wsgi))
- # Check that we have 'spameggs' as the project
- self.assert_('spameggs.development' in open(wsgi).read())
-
- def test_settings_option(self):
- # The settings option can be used to specify the settings file
- # for Django to use. By default it uses `development`.
- self.assertEqual(self.recipe.options['settings'], 'development')
- # When we change it an generate a manage script it will use
- # this var.
- self.recipe.options['settings'] = 'spameggs'
- self.recipe.create_manage_script([], [])
- manage = os.path.join(self.bin_dir, 'django')
- self.assert_("djangorecipe.manage.main('project.spameggs')"
- in open(manage).read())
-
- @mock.patch('urllib2', 'urlopen')
- def test_get_release(self, mock):
- # The get_release method fecthes a release tarball and
- # extracts it. We have setup a mock so that it won't actually
- # download the release. Let's call the code.
- class FakeFile(object):
- def read(self):
- return 'Django tarball'
- def close(self):
- self.closed = True
-
- tmp = tempfile.mkdtemp()
- filename = os.path.join(tmp, 'django-0.96.2.tar.gz')
- mock.return_value = FakeFile()
- try:
- self.assertEqual(
- self.recipe.get_release('0.96.2', tmp),
- filename)
- # It tried to download the release through our mock
- mock.assert_called_with(
- 'http://www.djangoproject.com/download/0.96.2/tarball/')
- # The file should have been filled with the contents from the
- # handle it got.
- self.assertEqual(open(filename).read(), 'Django tarball')
- finally:
- shutil.rmtree(tmp)
-
- @mock.patch('setuptools.archive_util', 'unpack_archive')
- @mock.patch('shutil', 'move')
- @mock.patch('shutil', 'rmtree')
- @mock.patch('os', 'listdir')
- def test_install_release(self, unpack, move, rmtree, listdir):
- # To install a release the recipe uses a specific method. We
- # have have mocked all the calls which interact with the
- # filesystem.
- listdir.return_value = ('Django-0.96-2',)
- self.recipe.install_release('0.96.2', 'downloads',
- 'downloads/django-0.96.2.tar.gz',
- 'parts/django')
- # Let's see what the mock's have been called with
- self.assertEqual(listdir.call_args,
- (('downloads/django-archive',), {}))
- self.assertEqual(unpack.call_args,
- (('downloads/django-0.96.2.tar.gz',
- 'downloads/django-archive'), {}))
- self.assertEqual(move.call_args,
- (('downloads/django-archive/Django-0.96-2',
- 'parts/django'), {}))
- self.assertEqual(rmtree.call_args,
- (('downloads/django-archive',), {}))
-
- @mock.patch('shutil', 'copytree')
- @mock.patch(Recipe, 'command')
- def test_install_svn_version(self, copytree, command):
- # Installation from svn is handled by a method. We have mocked
- # the command method to avoid actual checkouts of Django.
- self.recipe.install_svn_version('trunk', 'downloads',
- 'parts/django', False)
- # This should have tried to do a checkout of the Django trunk
- self.assertEqual(command.call_args,
- (('svn co http://code.djangoproject.com/svn/django/trunk/ downloads/django-svn -q',), {}))
- # A copy command to the parts directory should also have been
- # issued
- self.assertEqual(copytree.call_args,
- (('downloads/django-svn', 'parts/django'), {}))
-
- @mock.patch('shutil', 'copytree')
- @mock.patch('os.path', 'exists')
- @mock.patch(Recipe, 'command')
- def test_install_and_update_svn_version(self, copytree, exists, command):
- # When an checkout has been done of a svn based installation
- # is already done the recipe should just update it.
- exists.return_value = True
-
- self.recipe.install_svn_version('trunk', 'downloads',
- 'parts/django', False)
- self.assertEqual(exists.call_args, (('downloads/django-svn',), {}))
- self.assertEqual(command.call_args,
- (('svn up -q',), {'cwd': 'downloads/django-svn'}))
-
- @mock.patch(Recipe, 'command')
- def test_install_broken_svn(self, command):
- # When the checkout from svn fails during a svn build the
- # installation method raises an error. We will simulate this
- # failure by telling our mock what to do.
- command.return_value = 1
- # The line above should indicate a failure (non-zero exit
- # code)
- self.assertRaises(UserError, self.recipe.install_svn_version,
- 'trunk', 'downloads', 'parts/django', False)
-
- @mock.patch('shutil', 'copytree')
- @mock.patch(Recipe, 'command')
- def test_svn_install_from_cache(self, copytree, command):
- # If the buildout is told to install from cache it will not do
- # a checkout but instead an existing checkout
- self.recipe.buildout['buildout']['install-from-cache'] = 'true'
- # Now we can run the installation method
- self.recipe.install_svn_version('trunk', 'downloads',
- 'parts/django', True)
- # This should not have called the recipe's command method
- self.failIf(command.called)
- # A copy from the cache to the destination should have been
- # made
- self.assertEqual(copytree.call_args,
- (('downloads/django-svn', 'parts/django'), {}))
-
- @mock.patch('shutil', 'rmtree')
- @mock.patch('os.path', 'exists')
- @mock.patch('urllib', 'urlretrieve')
- @mock.patch('shutil', 'copytree')
- @mock.patch(ZCRecipeEggScripts, 'working_set')
- @mock.patch('zc.buildout.easy_install', 'scripts')
- @mock.patch(Recipe, 'install_release')
- @mock.patch(Recipe, 'command')
- def test_update_svn(self, rmtree, path_exists, urlretrieve,
- copytree, working_set, scripts,
- install_release, command):
- path_exists.return_value = True
- working_set.return_value = (None, [])
- # When the recipe is asked to do an update and the version is
- # a svn version it just does an update on the parts folder.
- self.recipe.update()
- self.assertEqual('svn up -q', command.call_args[0][0])
- # It changes the working directory so that the simple svn up
- # command will work.
- self.assertEqual(command.call_args[1].keys(), ['cwd'])
-
- @mock.patch('shutil', 'rmtree')
- @mock.patch('os.path', 'exists')
- @mock.patch('urllib', 'urlretrieve')
- @mock.patch('shutil', 'copytree')
- @mock.patch(ZCRecipeEggScripts, 'working_set')
- @mock.patch('zc.buildout.easy_install', 'scripts')
- @mock.patch(Recipe, 'install_release')
- @mock.patch('subprocess', 'call')
- def test_update_with_cache(self, rmtree, path_exists, urlretrieve,
- copytree, working_set, scripts,
- install_release, call_process):
- path_exists.return_value = True
- working_set.return_value = (None, [])
- # When the recipe is asked to do an update whilst in install
- # from cache mode it just ignores it
- self.recipe.install_from_cache = True
- self.recipe.update()
- self.failIf(call_process.called)
-
- @mock.patch('shutil', 'rmtree')
- @mock.patch('os.path', 'exists')
- @mock.patch('urllib', 'urlretrieve')
- @mock.patch('shutil', 'copytree')
- @mock.patch(ZCRecipeEggScripts, 'working_set')
- @mock.patch('zc.buildout.easy_install', 'scripts')
- @mock.patch(Recipe, 'install_release')
- @mock.patch('subprocess', 'call')
- def test_update_with_newest_false(self, rmtree, path_exists, urlretrieve,
- copytree, working_set, scripts,
- install_release, call_process):
- path_exists.return_value = True
- working_set.return_value = (None, [])
- # When the recipe is asked to do an update whilst in install
- # from cache mode it just ignores it
- self.recipe.buildout['buildout']['newest'] = 'false'
- self.recipe.update()
- self.assertFalse(call_process.called)
-
- @mock.patch('shutil', 'rmtree')
- @mock.patch('os.path', 'exists')
- @mock.patch('urllib', 'urlretrieve')
- @mock.patch('shutil', 'copytree')
- @mock.patch(ZCRecipeEggScripts, 'working_set')
- @mock.patch('zc.buildout.easy_install', 'scripts')
- @mock.patch(Recipe, 'install_release')
- @mock.patch('zc.recipe.egg', 'Develop')
- def test_clear_existing_django(self, rmtree, path_exists, urlretrieve,
- copytree, working_set, scripts,
- install_release, develop):
- # When the recipe is executed and Django is already installed
- # within parts it should remove it. We will mock the exists
- # check to make it let the recipe think it has an existing
- # Django install.
- self.recipe.options['version'] = '1.0'
- path_exists.return_value = True
- working_set.return_value = (None, [])
- scripts.return_value = []
- develop.return_value = mock.Mock()
- self.recipe.install()
- # This should have called remove tree
- self.assert_(rmtree.called)
- # We will assert that the last two compontents of the path
- # passed to rmtree are the ones we wanted to delete.
- self.assertEqual(rmtree.call_args[0][0].split('/')[-2:],
- ['parts', 'django'])
-
- @mock.patch('shutil', 'rmtree')
- @mock.patch('os.path', 'exists')
- @mock.patch('urllib', 'urlretrieve')
- @mock.patch('shutil', 'copytree')
- @mock.patch(ZCRecipeEggScripts, 'working_set')
- @mock.patch('zc.buildout.easy_install', 'scripts')
- @mock.patch(Recipe, 'install_release')
- @mock.patch(Recipe, 'command')
- def test_update_pinned_svn_url(self, rmtree, path_exists, urlretrieve,
- copytree, working_set, scripts,
- install_release, command):
- path_exists.return_value = True
- working_set.return_value = (None, [])
- # Make sure that updating a pinned version is updated
- # accordingly. It must not switch to updating beyond it's
- # requested revision.
- # The recipe does this by checking for an @ sign in the url /
- # version.
- self.recipe.is_svn_url = lambda version: True
-
- self.recipe.options['version'] = 'http://testing/trunk@2531'
- self.recipe.update()
- self.assertEqual(command.call_args[0], ('svn up -r 2531 -q',))
-
- @mock.patch('shutil', 'rmtree')
- @mock.patch('os.path', 'exists')
- @mock.patch('urllib', 'urlretrieve')
- @mock.patch('shutil', 'copytree')
- @mock.patch(ZCRecipeEggScripts, 'working_set')
- @mock.patch('zc.buildout.easy_install', 'scripts')
- @mock.patch(Recipe, 'install_release')
- @mock.patch(Recipe, 'command')
- def test_update_username_in_svn_url(self, rmtree, path_exists, urlretrieve,
- copytree, working_set, scripts,
- install_release, command):
- path_exists.return_value = True
- working_set.return_value = (None, [])
- # Make sure that updating a version with a username
- # in the URL works
- self.recipe.is_svn_url = lambda version: True
-
- # First test with both a revision and a username in the url
- self.recipe.options['version'] = 'http://user@testing/trunk@2531'
- self.recipe.update()
- self.assertEqual(command.call_args[0], ('svn up -r 2531 -q',))
-
- # Now test with only the username
- self.recipe.options['version'] = 'http://user@testing/trunk'
- self.recipe.update()
- self.assertEqual(command.call_args[0], ('svn up -q',))
-
- def test_python_option(self):
- # The python option makes it possible to specify a specific Python
- # executable which is to be used for the generated scripts.
- recipe = Recipe({'buildout': {'eggs-directory': self.eggs_dir,
- 'develop-eggs-directory': self.develop_eggs_dir,
- 'python': 'python-version',
- 'bin-directory': self.bin_dir,
- 'parts-directory': self.parts_dir,
- 'directory': self.buildout_dir,
- },
- 'python-version': {'executable': '/python4k'}},
- 'django',
- {'recipe': 'djangorecipe', 'version': 'trunk',
- 'wsgi': 'true'})
- recipe.make_scripts([], [])
- # This should have created a script in the bin dir
- wsgi_script = os.path.join(self.bin_dir, 'django.wsgi')
- self.assertEqual(open(wsgi_script).readlines()[0], '#!/python4k\n')
- # Changeing the option for only the part will change the used Python
- # version.
- recipe = Recipe({'buildout': {'eggs-directory': self.eggs_dir,
- 'develop-eggs-directory': self.develop_eggs_dir,
- 'python': 'python-version',
- 'bin-directory': self.bin_dir,
- 'parts-directory': self.parts_dir,
- 'directory': self.buildout_dir,
- },
- 'python-version': {'executable': '/python4k'},
- 'py5k': {'executable': '/python5k'}},
- 'django',
- {'recipe': 'djangorecipe', 'version': 'trunk',
- 'python': 'py5k', 'wsgi': 'true'})
- recipe.make_scripts([], [])
- self.assertEqual(open(wsgi_script).readlines()[0], '#!/python5k\n')
-
-class ScriptTestCase(unittest.TestCase):
-
- def setUp(self):
- # We will also need to fake the settings file's module
- self.settings = mock.sentinel.Settings
- sys.modules['cheeseshop'] = mock.sentinel.CheeseShop
- sys.modules['cheeseshop.development'] = self.settings
- sys.modules['cheeseshop'].development = self.settings
-
- def tearDown(self):
- # We will clear out sys.modules again to clean up
- for m in ['cheeseshop', 'cheeseshop.development']:
- del sys.modules[m]
-
-
-class TestTestScript(ScriptTestCase):
-
- @mock.patch('django.core.management', 'execute_manager')
- def test_script(self, execute_manager):
- # The test script should execute the standard Django test
- # command with any apps given as its arguments.
- test.main('cheeseshop.development', 'spamm', 'eggs')
- # We only care about the arguments given to execute_manager
- self.assertEqual(execute_manager.call_args[1],
- {'argv': ['test', 'test', 'spamm', 'eggs']})
-
- @mock.patch('django.core.management', 'execute_manager')
- def test_deeply_nested_settings(self, execute_manager):
- # Settings files can be more than two levels deep. We need to
- # make sure the test script can properly import those. To
- # demonstrate this we need to add another level to our
- # sys.modules entries.
- settings = mock.sentinel.SettingsModule
- nce = mock.sentinel.NCE
- nce.development = settings
- sys.modules['cheeseshop'].nce = nce
- sys.modules['cheeseshop.nce'] = nce
- sys.modules['cheeseshop.nce.development'] = settings
-
- test.main('cheeseshop.nce.development', 'tilsit', 'stilton')
- self.assertEqual(execute_manager.call_args[0], (settings,))
-
- @mock.patch('sys', 'exit')
- def test_settings_error(self, sys_exit):
- # When the settings file cannot be imported the test runner
- # wil exit with a message and a specific exit code.
- test.main('cheeseshop.tilsit', 'stilton')
- self.assertEqual(sys_exit.call_args, ((1,), {}))
-
-class TestManageScript(ScriptTestCase):
-
- @mock.patch('django.core.management', 'execute_manager')
- def test_script(self, execute_manager):
- # The manage script is a replacement for the default manage.py
- # script. It has all the same bells and whistles since all it
- # does is call the normal Django stuff.
- manage.main('cheeseshop.development')
- self.assertEqual(execute_manager.call_args,
- ((self.settings,), {}))
-
- @mock.patch('sys', 'exit')
- def test_settings_error(self, sys_exit):
- # When the settings file cannot be imported the management
- # script it wil exit with a message and a specific exit code.
- manage.main('cheeseshop.tilsit')
- self.assertEqual(sys_exit.call_args, ((1,), {}))
-
-def setUp(test):
- zc.buildout.testing.buildoutSetUp(test)
-
- # Make a semi permanent download cache to speed up the test
- tmp = tempfile.gettempdir()
- cache_dir = os.path.join(tmp, 'djangorecipe-test-cache')
- if not os.path.exists(cache_dir):
- os.mkdir(cache_dir)
-
- # Create the default.cfg which sets the download cache
- home = test.globs['tmpdir']('home')
- test.globs['mkdir'](home, '.buildout')
- test.globs['write'](home, '.buildout', 'default.cfg',
- """
-[buildout]
-download-cache = %(cache_dir)s
- """ % dict(cache_dir=cache_dir))
- os.environ['HOME'] = home
-
- zc.buildout.testing.install('zc.recipe.egg', test)
- zc.buildout.testing.install_develop('djangorecipe', test)
-
-
-def test_suite():
- return unittest.TestSuite((
- unittest.makeSuite(TestRecipe),
- unittest.makeSuite(TestTestScript),
- unittest.makeSuite(TestManageScript),
- ))
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/tests.pyo b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/tests.pyo
deleted file mode 100644
index 880b222..0000000
Binary files a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/tests.pyo and /dev/null differ
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/wsgi.py b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/wsgi.py
deleted file mode 100644
index 9e9d054..0000000
--- a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/wsgi.py
+++ /dev/null
@@ -1,45 +0,0 @@
-import sys
-
-from django.core import management
-
-def main(settings_file, logfile=None):
- try:
- mod = __import__(settings_file)
- components = settings_file.split('.')
- for comp in components[1:]:
- mod = getattr(mod, comp)
-
- except ImportError, e:
- sys.stderr.write("Error loading the settings module '%s': %s"
- % (settings_file, e))
- sys.exit(1)
-
- # Setup settings
- management.setup_environ(mod)
-
- if logfile:
- import datetime
- class logger(object):
- def __init__(self, logfile):
- self.logfile = logfile
-
- def write(self, data):
- self.log(data)
-
- def writeline(self, data):
- self.log(data)
-
- def log(self, msg):
- line = '%s - %s\n' % (
- datetime.datetime.now().strftime('%Y%m%d %H:%M:%S'), msg)
- fp = open(self.logfile, 'a')
- try:
- fp.write(line)
- finally:
- fp.close()
- sys.stdout = sys.stderr = logger(logfile)
-
- from django.core.handlers.wsgi import WSGIHandler
-
- # Run WSGI handler for the application
- return WSGIHandler()
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/wsgi.pyo b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/wsgi.pyo
deleted file mode 100644
index 79288fe..0000000
Binary files a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/wsgi.pyo and /dev/null differ
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/PKG-INFO b/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/PKG-INFO
deleted file mode 100644
index c6d2fca..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/PKG-INFO
+++ /dev/null
@@ -1,259 +0,0 @@
-Metadata-Version: 1.0
-Name: infrae.subversion
-Version: 1.4.5
-Summary: Buildout recipe for checking out from subversion
-Home-page: https://svn.infrae.com/buildout/infrae.subversion/trunk/
-Author: Eric Casteleijn, Guido Wesdorp, Daniel Nouri, Sylvain Viollon and Reinout van Rees
-Author-email: info@infrae.com
-License: ZPL 2.1
-Description: infrae.subversion
- =================
-
- This zc.buildout recipe will check out a *number* of URLs into its
- parts directory. It won't remove its parts directory if there are any
- changes in the checkout, so it's safe to work with that checkout for
- development.
-
- This is an example buildout part that uses this recipe::
-
- [development-products]
- recipe = infrae.subversion
- urls =
- https://svn.plone.org/svn/collective/PDBDebugMode/trunk PDBDebugMode
-
- This will maintain a working copy of ``PDBDebugMode`` in the
- ``parts/development-products/PDBDebugMode`` directory (*not* in the
- parts directory itself). Thus, the recipe handles multiple URLs fine.
-
- You can select a different location with ``location``, for instance::
-
- location = src
-
- Will extract ``PDBDebugMode`` in ``src/PDBDebugMode`` instead of
- ``parts``.
-
- If you have ``pysvn`` installed on the computer, it will be used. This
- implies better performances.
-
- Update
- ------
-
- By default, when buildout update the part, an ``svn up`` is done for
- each link. However, when a revision number is specified like this::
-
- https://svn.infrae.com/buildout/infrae.subversion/trunk@27829
-
- The SVN link is skipped for update. If you want to prevent update for
- all SVN link of the part even if they do not contain revision number,
- you can add the following option::
-
- ignore_updates = true
-
- Export
- ------
-
- With ``pysvn`` installed, you can specify::
-
- export = true
-
- in your buildout part to get an SVN export instead of an SVN checkout.
-
- Verification
- ------------
-
- By default, your checkout are checked against local modification
- before any uninstallation step. This can take time on large checkouts,
- and you may don't want it in some case (like when used on buildbot for
- instance). To prevent this step, you can use this option::
-
- ignore_verification = true
-
- As well, when the recipe update it can emit some warnings because a
- directory have been removed. You can suppress that warning with::
-
- no_warnings = true
-
- The verification will still be done, and the directory will be checked
- out again to replace the missing one.
-
- Eggs
- ----
-
- If you set the option ``as_eggs`` in your configuration file,
- checkouted URLs will be registered as development eggs in your
- buildout. This only work for non-recipe development eggs.
-
- .. warning:: If you add a new egg, this will trigger a new
- uninstall-reinstall cycle. You may want to use that option to setup
- eggs coming from SVN for production, but not for development.
-
- Exported Variables
- ------------------
-
- If you set::
-
- export_info = true
-
- Two variables will be exported by this recipe:
-
- - ``revisions`` which gives for each URL the corresponding revision
- number,
-
- - ``updated`` which gives a list of URLs which have been updated with
- new code.
-
- Since values to these variables changes each time you run buildout
- (revision number changes), this trigger an uninstall/reinstall of the
- part. We recommand to activate it only if you need it.
-
- Is always exported a variable ``location`` to say where are done the
- checkouts, and a variable ``eggs`` which contains a list of
- checkouted eggs.
-
- Sample
- ------
-
- For an example buildout that uses this recipe, please see the `Silva
- buildout `_.
-
- As well, the `doctest file
- `_
- can provide more sample.
-
- Latest version
- --------------
-
- The latest version is available in a `Subversion repository
- `_.
-
-
- Changes
- -------
-
- 1.4.5 (2009-01-29)
- ~~~~~~~~~~~~~~~~~~
-
- - Fix an error when some path have been added to the checkout
- path. [eric]
-
- - Still eggify and export information on update when running as
- non-newest mode. [sylvain]
-
- 1.4.4 (2009-01-28)
- ~~~~~~~~~~~~~~~~~~
-
- - Add a ``no_warnings`` options which remove some warnings when
- updating a part. [sylvain]
-
- 1.4.3 (2009-01-21)
- ~~~~~~~~~~~~~~~~~~
-
- - Add a login callback for people using PySVN. This let users
- authenticate to an unauthorized svn. Thanks to Martin Stadler
- (martin at siarp.de) for this fix. [sylvain]
-
- 1.4.2 (2009-01-05)
- ~~~~~~~~~~~~~~~~~~
-
- - Automatically ignore ``.pyc`` and ``.pyo`` files while checking for
- modified/added/removed files. [sylvain]
-
- - Fix bug so ``.svn`` directory is really ignored when checking for
- added paths in the checkout directory. [sylvain]
-
- 1.4.1 (2008-10-31)
- ~~~~~~~~~~~~~~~~~~
-
- Bug fix:
-
- - Correct typo in README.txt. [sylvain]
-
- - Ignore ``.svn`` directory when checking for added ones at
- uninstall. [sylvain]
-
- 1.4 (2008-10-31)
- ~~~~~~~~~~~~~~~~
-
- New features:
-
- - Added ``location`` option that allows you to override the default
- /parts/partname location. [reinout]
-
- - Added ``as_eggs`` option that installs the checkouts as development
- eggs. [reinout]
-
- Bug fix:
-
- - Don't export revisions information if you're offline with Py. Py
- tries to connect to the SVN repository to do a 'svn info'. [sylvain]
-
- 1.3.1
- ~~~~~
-
- Bug fix:
-
- - don't try to collect export information if you have a svn
- export. [sylvain]
-
- - path were exported instead of URLs in the Native
- implementation. [sylvain]
-
- 1.3
- ~~~
-
- - Remove the restriction to py 0.9.0, now that py 0.9.2 is out and fix
- problems on svn status with strange userid. [sylvain]
-
- - Correct an error rendering. [sylvain]
-
- - Export information only for top level svn URLs in the native
- implementation, this used to inject information from svn:externals
- links included in URL list. [sylvain]
-
- - Add tests for export information feature. [tlotze]
-
- - Correct URL in setup.py [sylvain].
-
- 1.2
- ~~~
-
- - Refactor code, performances should be better at uninstall with Py
- implementation [sylvain].
-
- - Look for the environment variable ``INFRAE_SUBVERSION_IMPL`` to
- select which implementation to use. Possible values are ``PYSVN``
- (default) and ``PY`` [sylvain].
-
- - Uninstall only look at directory which have been created by the
- recipe in the part. Other are just reported [sylvain].
-
- - Export two new variables, if ``export_info`` is set to true:
-
- ``revisions``
-
- Which is lines formatted::
-
- link current_revision
-
- ``updated``
-
- Which is lines containing updated links.
-
-
- [sylvain].
-
- 1.1
- ~~~
-
- - Add the ``ignore_verification`` option [sylvain].
-
- 1.0
- ~~~
-
- - Base version of the recipe.
-
-Keywords: subversion buildout
-Platform: UNKNOWN
-Classifier: Framework :: Buildout
-Classifier: License :: OSI Approved :: Zope Public License
-Classifier: Topic :: Software Development :: Version Control
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/SOURCES.txt b/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/SOURCES.txt
deleted file mode 100644
index 843420c..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/SOURCES.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-README.txt
-buildout.cfg
-setup.cfg
-setup.py
-docs/HISTORY.txt
-infrae/__init__.py
-infrae.subversion.egg-info/PKG-INFO
-infrae.subversion.egg-info/SOURCES.txt
-infrae.subversion.egg-info/dependency_links.txt
-infrae.subversion.egg-info/entry_points.txt
-infrae.subversion.egg-info/namespace_packages.txt
-infrae.subversion.egg-info/requires.txt
-infrae.subversion.egg-info/top_level.txt
-infrae/subversion/Common.py
-infrae/subversion/Native.py
-infrae/subversion/Py.py
-infrae/subversion/__init__.py
-infrae/subversion/tests/EXPORT.txt
-infrae/subversion/tests/IMPL.txt
-infrae/subversion/tests/__init__.py
-infrae/subversion/tests/test_impl.py
\ No newline at end of file
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/dependency_links.txt b/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/dependency_links.txt
deleted file mode 100644
index 8b13789..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/dependency_links.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/entry_points.txt b/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/entry_points.txt
deleted file mode 100644
index 578b85e..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/entry_points.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-[zc.buildout]
-default = infrae.subversion:Recipe
-
-[zc.buildout.uninstall]
-default = infrae.subversion:uninstall
-
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/namespace_packages.txt b/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/namespace_packages.txt
deleted file mode 100644
index b8d1036..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/namespace_packages.txt
+++ /dev/null
@@ -1 +0,0 @@
-infrae
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/not-zip-safe b/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/not-zip-safe
deleted file mode 100644
index 8b13789..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/not-zip-safe
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/requires.txt b/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/requires.txt
deleted file mode 100644
index c083e73..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/requires.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-zc.buildout
-setuptools
-py
-
-[test]
-setuptools
-zc.buildout
-zc.recipe.egg
-zope.testing
-svnhelper
-py
\ No newline at end of file
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/top_level.txt b/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/top_level.txt
deleted file mode 100644
index b8d1036..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/top_level.txt
+++ /dev/null
@@ -1 +0,0 @@
-infrae
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/__init__.py b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/__init__.py
deleted file mode 100644
index a839e5c..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# Copyright (c) 2007-2008 Infrae. All rights reserved.
-# $Id$
-
-__import__('pkg_resources').declare_namespace(__name__)
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/__init__.pyo b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/__init__.pyo
deleted file mode 100644
index 0596d1d..0000000
Binary files a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/__init__.pyo and /dev/null differ
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Common.py b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Common.py
deleted file mode 100644
index 234ef6b..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Common.py
+++ /dev/null
@@ -1,244 +0,0 @@
-# Copyright (c) 2007-2008 Infrae. All rights reserved.
-# $Id: Common.py 33243 2009-01-29 10:59:47Z sylvain $
-
-from sets import Set # For python 2.3 compatibility
-import os.path
-import os
-import re
-
-
-import zc.buildout
-
-
-def ignoredFile(file):
- """Return true if the file should be ignored while checking for
- added/changed/modified files.
- """
- for suffix in ['.pyc', '.pyo', '.egg-info']:
- if file.endswith(suffix):
- return True
- return False
-
-
-def reportInvalidFiles(path, name, badfiles):
- """Report invalid files.
- """
- badfiles = [file for file in badfiles if not ignoredFile(file)]
- if not badfiles:
- return
- raise ValueError("""\
-In '%s':
-local modifications detected while uninstalling %r: Uninstall aborted!
-
-Please check for local modifications and make sure these are checked
-in.
-
-If you sure that these modifications can be ignored, remove the
-checkout manually:
-
- rm -rf %s
-
-Or if applicable, add the file to the 'svn:ignore' property of the
-file's container directory. Alternatively, add an ignore glob pattern
-to your subversion client's 'global-ignores' configuration variable.
-""" % (path, name, """
- rm -rf """.join(badfiles)))
-
-
-def checkExistPath(path, warning=True):
- """Check that a path exist.
- """
- status = os.path.exists(path)
- if not status and warning:
- print "-------- WARNING --------"
- print "Directory %s have been removed." % os.path.abspath(path)
- print "Changes might be lost."
- print "-------- WARNING --------"
- return status
-
-
-def checkAddedPaths(location, urls):
- """Check that no path have been added to that location.
- """
- current_paths = Set([os.path.join(location, s) for s in
- os.listdir(location)])
- recipe_paths = Set(urls.keys())
- added_paths = list(current_paths - recipe_paths)
- for path in added_paths[:]:
- if path.endswith('.svn'):
- added_paths.remove(path)
- if added_paths:
- msg = "New path have been added to the location: %s."
- raise ValueError(msg % ', '.join(added_paths))
-
-
-def prepareURLs(location, urls):
- """Given a list of urls/path, and a location, prepare a list of
- tuple with url, full path.
- """
-
- def prepareEntry(line):
- link, path = line.split()
- return os.path.join(location, path), link
-
- return dict([prepareEntry(l) for l in urls.splitlines() if l.strip()])
-
-
-def extractNames(urls):
- """Return just the target names of the urls (used for egg names)"""
-
- def extractName(line):
- link, name = line.split()
- return name
-
- return [extractName(line) for line in urls.splitlines() if line.strip()]
-
-
-class BaseRecipe(object):
- """infrae.subversion recipe. Base class.
- """
-
- def __init__(self, buildout, name, options):
- self.buildout = buildout
- self.name = name
- self.options = options
- # location is overridable if desired.
- location = options.get('location', None)
- if location:
- self.location = os.path.abspath(os.path.join(
- buildout['buildout']['directory'], location))
- else:
- self.location = os.path.join(
- buildout['buildout']['parts-directory'], self.name)
- options['location'] = self.location
- self.revisions = {} # Store revision information for each link
- self.updated = [] # Store updated links
- self.urls = prepareURLs(self.location, options['urls'])
- self.export = options.get('export')
- self.offline = buildout['buildout'].get('offline', 'false') == 'true'
- self.eggify = options.get('as_eggs', False)
- self.eggs = self.eggify and extractNames(options['urls']) or []
- self.newest = (
- not self.offline and
- buildout['buildout'].get('newest', 'true') == 'true'
- )
- self.verbose = buildout['buildout'].get('verbosity', 0)
- self.warning = not (options.get('no_warnings', 'false') == 'true')
-
- def _exportInformationToOptions(self):
- """Export revision and changed information to options.
-
- Options can only contains strings.
- """
- if self.options.get('export_info', False):
- self.options['updated'] = str('\n'.join(self.updated))
- str_revisions = ['%s %s' % r for r in self.revisions.items()
- if r[1]]
- self.options['revisions'] = str('\n'.join(sorted(str_revisions)))
- # Always export egg list
- self.options['eggs'] = '\n'.join(sorted(self.eggs))
-
- def _updateAllRevisionInformation(self):
- """Update all revision information for defined urls.
- """
- for path, link in self.urls.items():
- if os.path.exists(path):
- self._updateRevisionInformation(link, path)
-
- def _updateRevisionInformation(self, link, revision):
- """Update revision information on a path.
- """
- old_revision = self.revisions.get(link, None)
- self.revisions[link] = revision
- if not (old_revision is None):
- self.updated.append(link)
-
- def _updatePath(self, link, path):
- """Update a single path.
- """
- raise NotImplementedError
-
- def _updateAllPaths(self):
- """Update the checkouts.
- """
- ignore = self.options.get('ignore_updates', False) or self.export
-
- num_release = re.compile('.*@[0-9]+$')
- for path, link in self.urls.items():
- if not checkExistPath(path, warning=self.warning):
- if self.verbose:
- print "Entry %s missing, checkout a new version ..." % link
- self._installPath(link, path)
- continue
-
- if ignore:
- continue
-
- if num_release.match(link):
- if self.verbose:
- print "Given num release for %s, skipping." % link
- continue
-
- if self.verbose:
- print "Updating %s" % path
- self._updatePath(link, path)
-
- def update(self):
- """Update the recipe.
-
- Does not update SVN path if the buildout is in offline mode,
- but still eggify and export information.
- """
- if self.newest:
- self._updateAllPaths()
-
- if self.eggify:
- self._eggify()
- self._exportInformationToOptions()
- return self.location
-
- def _installPath(self, link, path):
- """Checkout a single entry.
- """
- raise NotImplementedError
-
- def _installPathVerbose(self, link, path):
- """Checkout a single entry with verbose.
- """
- if self.verbose:
- print "%s %s to %s" % (self.export and 'Export' or 'Fetch',
- link, path)
- self._installPath(link, path)
-
- def _eggify(self):
- """Install everything as development eggs if eggs=true"""
- if self.eggify:
- target = self.buildout['buildout']['develop-eggs-directory']
- for path in self.urls.keys():
- # If we update the recipe, and we don't have newest,
- # and that some path have been deleted, all of them
- # might not be there.
- if checkExistPath(path, warning=self.warning):
- zc.buildout.easy_install.develop(path, target)
-
- def install(self):
- """Checkout the checkouts.
-
- Fails if buildout is running in offline mode.
- """
-
- for path, link in self.urls.items():
- self._installPathVerbose(link, path)
- installed = [self.location]
-
- if self.eggify:
- self._eggify()
- # And also return the develop-eggs/*.egg-link files that are
- # ours so that an uninstall automatically zaps them.
- dev_dir = self.buildout['buildout']['develop-eggs-directory']
- egg_links = ['%s.egg-link' % egg for egg in self.eggs]
- egg_links = [os.path.join(dev_dir, link) for link in egg_links]
- installed += egg_links
- self._exportInformationToOptions()
-
- return installed
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Common.pyo b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Common.pyo
deleted file mode 100644
index df510e5..0000000
Binary files a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Common.pyo and /dev/null differ
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Native.py b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Native.py
deleted file mode 100644
index d43b4b7..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Native.py
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright (c) 2007-2008 Infrae. All rights reserved.
-# $Id: Native.py 33170 2009-01-21 15:46:45Z sylvain $
-
-from pysvn import wc_status_kind, opt_revision_kind, wc_notify_action
-import pysvn
-
-from Common import BaseRecipe, prepareURLs
-from Common import checkAddedPaths, checkExistPath, reportInvalidFiles
-
-import os
-import re
-import getpass
-
-
-def createSVNClient(recipe):
- """Create a pysvn client, and setup some callback and options.
- """
-
- def callback_ssl(info):
- print "-------- SECURITY WARNING --------"
- print "There is no valid SSL certificat for %s." % info['realm']
- print "Check that the files are correct after being fetched."
- print "-------- SECURITY WARNING --------"
- return True, 0, False
-
- def callback_login(realm, username, may_save):
- print 'Authentication realm: ' + realm
- user = raw_input('Username: ')
- password = getpass.getpass('Password for ' + "'" + user + "': ")
- return True, user, password, True
-
- def callback_notify(info):
- if info['action'] == wc_notify_action.update_completed:
- path = info['path']
- url = recipe.urls.get(path, None)
- if not (url is None):
- recipe._updateRevisionInformation(url, path, info['revision'])
-
- client = pysvn.Client()
- client.set_interactive(True)
- client.callback_ssl_server_trust_prompt = callback_ssl
- client.callback_get_login = callback_login
- if not (recipe is None):
- client.callback_notify = callback_notify
- return client
-
-
-class Recipe(BaseRecipe):
- """infrae.subversion recipe.
- """
-
- def __init__(self, buildout, name, options):
- super(Recipe, self).__init__(buildout, name, options)
- if self.verbose:
- print 'Using pysvn implementation.'
- self.client = createSVNClient(self)
- if not self.export:
- self._updateAllRevisionInformation()
- self._exportInformationToOptions()
-
- def _updateRevisionInformation(self, link, path, revision=None):
- """Update revision information on a path.
- """
- if revision is None:
- if self.export:
- return
- info = self.client.info(path)
- revision = info['revision']
-
- assert (revision.kind == opt_revision_kind.number)
- super(Recipe, self)._updateRevisionInformation(link, revision.number)
-
- def _updatePath(self, link, path):
- """Update a single path.
- """
- self.client.update(path)
-
- def _parseRevisionInUrl(self, url):
- """Parse URL to extract revision number. This is not done by
- pysvn, so we have to do it by ourself.
- """
- num_release = re.compile('(.*)@([0-9]+)$')
- match = num_release.match(url)
- if match:
- return (match.group(1),
- pysvn.Revision(opt_revision_kind.number,
- int(match.group(2))))
- return (url, pysvn.Revision(opt_revision_kind.head))
-
- def _installPath(self, link, path):
- """Checkout a single entry.
- """
- link, wanted_revision = self._parseRevisionInUrl(link)
- if self.export:
- method = self.client.export
- else:
- method = self.client.checkout
- method(link, path, revision=wanted_revision, recurse=True)
-
-
-def uninstall(name, options):
- r"""
- This is an uninstallation hook for the 'infrae.subversion' recipe.
-
- Its only job is to raise an exception when there are changes in a
- subversion tree that a user might not want to lose. This function
- does *not* delete or otherwise touch any files.
-
- The location of the path is passed as options['location'].
- """
- if bool(options.get('export', False)):
- return # SVN Export, there is nothing to check.
-
- if bool(options.get('ignore_verification', False)):
- return # Verification disabled.
-
- # XXX This makes the assumption that we're in the buildout
- # directory and that our part is in 'parts'. We don't have
- # options['buildout'] available so no
- # 'buildout:parts-directory'.
- location = options.get('location', os.path.join('.', 'parts', name))
- urls = prepareURLs(location, options['urls'])
- client = createSVNClient(None)
-
- bad_svn_status = [wc_status_kind.modified,
- wc_status_kind.missing,
- wc_status_kind.unversioned, ]
-
- if not checkExistPath(location):
- return
-
- checkAddedPaths(location, urls)
-
- for path in urls.keys():
- if not checkExistPath(path):
- continue
-
- badfiles = filter(lambda e: e['text_status'] in bad_svn_status,
- client.status(path))
- reportInvalidFiles(path, name, [file['path'] for file in badfiles])
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Native.pyo b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Native.pyo
deleted file mode 100644
index bf95d58..0000000
Binary files a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Native.pyo and /dev/null differ
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Py.py b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Py.py
deleted file mode 100644
index 05e297b..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Py.py
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright (c) 2007-2008 Infrae. All rights reserved.
-# $Id: Py.py 32775 2009-01-05 10:53:29Z sylvain $
-
-import os
-import py
-
-from Common import BaseRecipe, prepareURLs
-from Common import checkAddedPaths, checkExistPath, reportInvalidFiles
-
-
-class Recipe(BaseRecipe):
- """infrae.subversion recipe.
- """
-
- def __init__(self, buildout, name, options):
- super(Recipe, self).__init__(buildout, name, options)
- if self.verbose:
- print 'Using py implementation.'
- if not self.offline: # Py is not able to do svn status
- # without asking something on a
- # server.
- self._updateAllRevisionInformation()
- self._exportInformationToOptions()
-
- def _updateRevisionInformation(self, link, path):
- """Update revision information on a path.
- """
- if isinstance(path, str):
- path = py.path.svnwc(path)
-
- revision = path.status().rev
- super(Recipe, self)._updateRevisionInformation(link, revision)
-
- def _updatePath(self, link, path):
- """Update a single path.
- """
- wc = py.path.svnwc(path)
- wc.update()
- self._updateRevisionInformation(link, wc)
-
- def _installPath(self, link, path):
- """Checkout a single entry.
- """
- if self.export:
- raise NotImplementedError
- wc = py.path.svnwc(path)
- wc.checkout(link)
- self._updateRevisionInformation(link, wc)
-
-
-def uninstall(name, options):
- r"""
- This is an uninstallation hook for the 'infrae.subversion' recipe.
-
- Its only job is to raise an exception when there are changes in a
- subversion tree that a user might not want to lose. This function
- does *not* delete or otherwise touch any files.
-
- The location of the path is passed as options['location'].
- """
- if bool(options.get('export', False)):
- return # SVN Export, there is nothing to check.
-
- if bool(options.get('ignore_verification', False)):
- return # Verification disabled.
-
-
- # XXX This makes the assumption that we're in the buildout
- # directory and that our part is in 'parts'. We don't have
- # options['buildout'] available so no
- # 'buildout:parts-directory'.
- location = options.get('location', os.path.join('.', 'parts', name))
- urls = prepareURLs(location, options['urls'])
-
- if not checkExistPath(location):
- return
-
- checkAddedPaths(location, urls)
-
- for path in urls.keys():
- if not checkExistPath(path):
- continue
-
- wc = py.path.svnwc(path)
- status = wc.status(rec=1)
- badfiles = [] + status.modified + status.incomplete + status.unknown
- reportInvalidFiles(path, name, [file.strpath for file in badfiles])
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Py.pyo b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Py.pyo
deleted file mode 100644
index c2ed51d..0000000
Binary files a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/Py.pyo and /dev/null differ
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/__init__.py b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/__init__.py
deleted file mode 100644
index d13d541..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/__init__.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (c) 2007-2008 Infrae. All rights reserved.
-# $Id$
-
-import os
-
-impl = os.getenv('INFRAE_SUBVERSION_IMPL', 'PYSVN')
-
-if impl == 'PYSVN':
- try:
- # Try to use a native binding, use native SVN.
- import Native
- Recipe = Native.Recipe
- uninstall = Native.uninstall
- except:
- # Or if the binding is not present, use slow py.
- impl = 'PY'
-
-if impl == 'PY':
- import Py
- Recipe = Py.Recipe
- uninstall = Py.uninstall
-
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/__init__.pyo b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/__init__.pyo
deleted file mode 100644
index 14c6b2d..0000000
Binary files a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/__init__.pyo and /dev/null differ
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/__init__.py b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/__init__.pyo b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/__init__.pyo
deleted file mode 100644
index f5a5ae4..0000000
Binary files a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/__init__.pyo and /dev/null differ
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/test_impl.py b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/test_impl.py
deleted file mode 100644
index 55e6988..0000000
--- a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/test_impl.py
+++ /dev/null
@@ -1,75 +0,0 @@
-## -*- coding: utf-8 -*-
-
-__author__ = "sylvain@infrae.com"
-__format__ = "plaintext"
-__version__ = "$Id: test_impl.py 31670 2008-10-31 10:21:14Z sylvain $"
-
-import doctest
-import os
-import os.path
-import sys
-import unittest
-from doctest import DocFileSuite
-
-import py
-import svnhelper.testing
-import svnhelper.tests
-import zc.buildout.testing
-from svnhelper.core import helper
-
-import infrae.subversion
-
-
-def setUp(test):
- test_package = os.path.dirname(svnhelper.tests.__file__)
- test_package = os.path.join(test_package, 'tests', 'my.testing')
- tested_package = os.path.dirname(infrae.subversion.__file__)
-
- zc.buildout.testing.buildoutSetUp(test)
- zc.buildout.testing.install('py', test)
- zc.buildout.testing.install_develop('infrae.subversion', test)
- svnhelper.testing.setUpRepository(test)
- test.globs['init_test_package'](test_package)
- helper.import_to(test_package,
- test.globs['repository'])
- helper.import_to(tested_package,
- test.globs['repository'] + '/infrae.subversion/trunk/infrae.subversion')
-
-def tearDown(test):
- svnhelper.testing.tearDownRepository(test)
- zc.buildout.testing.buildoutTearDown(test)
-
-flags = (doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE |
- doctest.REPORT_ONLY_FIRST_FAILURE | doctest.REPORT_NDIFF)
-
-def have_pysvn():
- impl = os.getenv('INFRAE_SUBVERSION_IMPL', 'PYSVN')
- if impl == 'PYSVN':
- try:
- import pysvn
- return True
- except:
- pass
- return False
-
-def test_file(name):
- return os.path.join(os.path.dirname(__file__), name)
-
-def test_suite():
- tests = [DocFileSuite(test_file('IMPL.txt'),
- optionflags=flags,
- globs=globals(),
- setUp=setUp,
- tearDown=tearDown,
- module_relative=False)]
- if have_pysvn():
- tests += [DocFileSuite(test_file('EXPORT.txt'),
- optionflags=flags,
- globs=globals(),
- setUp=setUp,
- tearDown=tearDown,
- module_relative=False)]
- return unittest.TestSuite(tests)
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
diff --git a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/test_impl.pyo b/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/test_impl.pyo
deleted file mode 100644
index f30eecb..0000000
Binary files a/eggs/infrae.subversion-1.4.5-py2.6.egg/infrae/subversion/tests/test_impl.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/PKG-INFO b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/PKG-INFO
deleted file mode 100644
index 18a5c7f..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/PKG-INFO
+++ /dev/null
@@ -1,10 +0,0 @@
-Metadata-Version: 1.0
-Name: mercurial
-Version: 1.7.3
-Summary: Scalable distributed SCM
-Home-page: http://mercurial.selenic.com/
-Author: Matt Mackall
-Author-email: mpm@selenic.com
-License: GNU GPLv2+
-Description: UNKNOWN
-Platform: UNKNOWN
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/SOURCES.txt b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/SOURCES.txt
deleted file mode 100644
index b16bcb8..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/SOURCES.txt
+++ /dev/null
@@ -1,146 +0,0 @@
-README
-hg
-setup.py
-hgext/__init__.py
-hgext/acl.py
-hgext/bookmarks.py
-hgext/bugzilla.py
-hgext/children.py
-hgext/churn.py
-hgext/color.py
-hgext/eol.py
-hgext/extdiff.py
-hgext/fetch.py
-hgext/gpg.py
-hgext/graphlog.py
-hgext/hgcia.py
-hgext/hgk.py
-hgext/interhg.py
-hgext/keyword.py
-hgext/mq.py
-hgext/notify.py
-hgext/pager.py
-hgext/parentrevspec.py
-hgext/patchbomb.py
-hgext/progress.py
-hgext/purge.py
-hgext/rebase.py
-hgext/record.py
-hgext/relink.py
-hgext/schemes.py
-hgext/share.py
-hgext/transplant.py
-hgext/win32mbcs.py
-hgext/win32text.py
-hgext/convert/__init__.py
-hgext/convert/bzr.py
-hgext/convert/common.py
-hgext/convert/convcmd.py
-hgext/convert/cvs.py
-hgext/convert/cvsps.py
-hgext/convert/darcs.py
-hgext/convert/filemap.py
-hgext/convert/git.py
-hgext/convert/gnuarch.py
-hgext/convert/hg.py
-hgext/convert/monotone.py
-hgext/convert/p4.py
-hgext/convert/subversion.py
-hgext/convert/transport.py
-hgext/highlight/__init__.py
-hgext/highlight/highlight.py
-hgext/zeroconf/Zeroconf.py
-hgext/zeroconf/__init__.py
-mercurial/__init__.py
-mercurial/__version__.py
-mercurial/ancestor.py
-mercurial/archival.py
-mercurial/base85.c
-mercurial/bdiff.c
-mercurial/bundlerepo.py
-mercurial/byterange.py
-mercurial/changegroup.py
-mercurial/changelog.py
-mercurial/cmdutil.py
-mercurial/commands.py
-mercurial/config.py
-mercurial/context.py
-mercurial/copies.py
-mercurial/dagparser.py
-mercurial/demandimport.py
-mercurial/diffhelpers.c
-mercurial/dirstate.py
-mercurial/discovery.py
-mercurial/dispatch.py
-mercurial/encoding.py
-mercurial/error.py
-mercurial/extensions.py
-mercurial/fancyopts.py
-mercurial/filelog.py
-mercurial/filemerge.py
-mercurial/graphmod.py
-mercurial/hbisect.py
-mercurial/help.py
-mercurial/hg.py
-mercurial/hook.py
-mercurial/httprepo.py
-mercurial/i18n.py
-mercurial/ignore.py
-mercurial/keepalive.py
-mercurial/localrepo.py
-mercurial/lock.py
-mercurial/lsprof.py
-mercurial/lsprofcalltree.py
-mercurial/mail.py
-mercurial/manifest.py
-mercurial/match.py
-mercurial/mdiff.py
-mercurial/merge.py
-mercurial/minirst.py
-mercurial/mpatch.c
-mercurial/node.py
-mercurial/osutil.c
-mercurial/parser.py
-mercurial/parsers.c
-mercurial/patch.py
-mercurial/posix.py
-mercurial/pushkey.py
-mercurial/py3kcompat.py
-mercurial/repair.py
-mercurial/repo.py
-mercurial/revlog.py
-mercurial/revset.py
-mercurial/similar.py
-mercurial/simplemerge.py
-mercurial/sshrepo.py
-mercurial/sshserver.py
-mercurial/statichttprepo.py
-mercurial/store.py
-mercurial/strutil.py
-mercurial/subrepo.py
-mercurial/tags.py
-mercurial/templatefilters.py
-mercurial/templatekw.py
-mercurial/templater.py
-mercurial/transaction.py
-mercurial/ui.py
-mercurial/url.py
-mercurial/util.py
-mercurial/verify.py
-mercurial/win32.py
-mercurial/windows.py
-mercurial/wireproto.py
-mercurial.egg-info/PKG-INFO
-mercurial.egg-info/SOURCES.txt
-mercurial.egg-info/dependency_links.txt
-mercurial.egg-info/top_level.txt
-mercurial/hgweb/__init__.py
-mercurial/hgweb/common.py
-mercurial/hgweb/hgweb_mod.py
-mercurial/hgweb/hgwebdir_mod.py
-mercurial/hgweb/protocol.py
-mercurial/hgweb/request.py
-mercurial/hgweb/server.py
-mercurial/hgweb/webcommands.py
-mercurial/hgweb/webutil.py
-mercurial/hgweb/wsgicgi.py
\ No newline at end of file
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/dependency_links.txt b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/dependency_links.txt
deleted file mode 100644
index 8b13789..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/dependency_links.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/native_libs.txt b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/native_libs.txt
deleted file mode 100644
index 0621792..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/native_libs.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-mercurial/bdiff.so
-mercurial/parsers.so
-mercurial/mpatch.so
-mercurial/base85.so
-mercurial/diffhelpers.so
-mercurial/osutil.so
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/not-zip-safe b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/not-zip-safe
deleted file mode 100644
index 8b13789..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/not-zip-safe
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/scripts/hg b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/scripts/hg
deleted file mode 100644
index c49e107..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/scripts/hg
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/python
-#
-# mercurial - scalable distributed SCM
-#
-# Copyright 2005-2007 Matt Mackall
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-import os
-import sys
-
-libdir = '../../'
-
-if libdir != '@' 'LIBDIR' '@':
- if not os.path.isabs(libdir):
- libdir = os.path.join(os.path.dirname(os.path.realpath(__file__)),
- libdir)
- libdir = os.path.abspath(libdir)
- sys.path.insert(0, libdir)
-
-# enable importing on demand to reduce startup time
-try:
- from mercurial import demandimport; demandimport.enable()
-except ImportError:
- import sys
- sys.stderr.write("abort: couldn't find mercurial libraries in [%s]\n" %
- ' '.join(sys.path))
- sys.stderr.write("(check your install and PYTHONPATH)\n")
- sys.exit(-1)
-
-import mercurial.util
-import mercurial.dispatch
-
-for fp in (sys.stdin, sys.stdout, sys.stderr):
- mercurial.util.set_binary(fp)
-
-mercurial.dispatch.run()
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/top_level.txt b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/top_level.txt
deleted file mode 100644
index 99bc082..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/top_level.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-mercurial
-hgext
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/__init__.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/__init__.py
deleted file mode 100644
index fdffa2a..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-# placeholder
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/__init__.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/__init__.pyo
deleted file mode 100644
index 96afc1a..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/__init__.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/acl.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/acl.py
deleted file mode 100644
index a50fa72..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/acl.py
+++ /dev/null
@@ -1,250 +0,0 @@
-# acl.py - changeset access control for mercurial
-#
-# Copyright 2006 Vadim Gelfer
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-'''hooks for controlling repository access
-
-This hook makes it possible to allow or deny write access to given
-branches and paths of a repository when receiving incoming changesets
-via pretxnchangegroup and pretxncommit.
-
-The authorization is matched based on the local user name on the
-system where the hook runs, and not the committer of the original
-changeset (since the latter is merely informative).
-
-The acl hook is best used along with a restricted shell like hgsh,
-preventing authenticating users from doing anything other than pushing
-or pulling. The hook is not safe to use if users have interactive
-shell access, as they can then disable the hook. Nor is it safe if
-remote users share an account, because then there is no way to
-distinguish them.
-
-The order in which access checks are performed is:
-
-1) Deny list for branches (section ``acl.deny.branches``)
-2) Allow list for branches (section ``acl.allow.branches``)
-3) Deny list for paths (section ``acl.deny``)
-4) Allow list for paths (section ``acl.allow``)
-
-The allow and deny sections take key-value pairs.
-
-Branch-based Access Control
-...........................
-
-Use the ``acl.deny.branches`` and ``acl.allow.branches`` sections to
-have branch-based access control. Keys in these sections can be
-either:
-
-- a branch name, or
-- an asterisk, to match any branch;
-
-The corresponding values can be either:
-
-- a comma-separated list containing users and groups, or
-- an asterisk, to match anyone;
-
-Path-based Access Control
-.........................
-
-Use the ``acl.deny`` and ``acl.allow`` sections to have path-based
-access control. Keys in these sections accept a subtree pattern (with
-a glob syntax by default). The corresponding values follow the same
-syntax as the other sections above.
-
-Groups
-......
-
-Group names must be prefixed with an ``@`` symbol. Specifying a group
-name has the same effect as specifying all the users in that group.
-
-You can define group members in the ``acl.groups`` section.
-If a group name is not defined there, and Mercurial is running under
-a Unix-like system, the list of users will be taken from the OS.
-Otherwise, an exception will be raised.
-
-Example Configuration
-.....................
-
-::
-
- [hooks]
-
- # Use this if you want to check access restrictions at commit time
- pretxncommit.acl = python:hgext.acl.hook
-
- # Use this if you want to check access restrictions for pull, push,
- # bundle and serve.
- pretxnchangegroup.acl = python:hgext.acl.hook
-
- [acl]
- # Allow or deny access for incoming changes only if their source is
- # listed here, let them pass otherwise. Source is "serve" for all
- # remote access (http or ssh), "push", "pull" or "bundle" when the
- # related commands are run locally.
- # Default: serve
- sources = serve
-
- [acl.deny.branches]
-
- # Everyone is denied to the frozen branch:
- frozen-branch = *
-
- # A bad user is denied on all branches:
- * = bad-user
-
- [acl.allow.branches]
-
- # A few users are allowed on branch-a:
- branch-a = user-1, user-2, user-3
-
- # Only one user is allowed on branch-b:
- branch-b = user-1
-
- # The super user is allowed on any branch:
- * = super-user
-
- # Everyone is allowed on branch-for-tests:
- branch-for-tests = *
-
- [acl.deny]
- # This list is checked first. If a match is found, acl.allow is not
- # checked. All users are granted access if acl.deny is not present.
- # Format for both lists: glob pattern = user, ..., @group, ...
-
- # To match everyone, use an asterisk for the user:
- # my/glob/pattern = *
-
- # user6 will not have write access to any file:
- ** = user6
-
- # Group "hg-denied" will not have write access to any file:
- ** = @hg-denied
-
- # Nobody will be able to change "DONT-TOUCH-THIS.txt", despite
- # everyone being able to change all other files. See below.
- src/main/resources/DONT-TOUCH-THIS.txt = *
-
- [acl.allow]
- # if acl.allow is not present, all users are allowed by default
- # empty acl.allow = no users allowed
-
- # User "doc_writer" has write access to any file under the "docs"
- # folder:
- docs/** = doc_writer
-
- # User "jack" and group "designers" have write access to any file
- # under the "images" folder:
- images/** = jack, @designers
-
- # Everyone (except for "user6" - see acl.deny above) will have write
- # access to any file under the "resources" folder (except for 1
- # file. See acl.deny):
- src/main/resources/** = *
-
- .hgtags = release_engineer
-
-'''
-
-from mercurial.i18n import _
-from mercurial import util, match
-import getpass, urllib
-
-def _getusers(ui, group):
-
- # First, try to use group definition from section [acl.groups]
- hgrcusers = ui.configlist('acl.groups', group)
- if hgrcusers:
- return hgrcusers
-
- ui.debug('acl: "%s" not defined in [acl.groups]\n' % group)
- # If no users found in group definition, get users from OS-level group
- try:
- return util.groupmembers(group)
- except KeyError:
- raise util.Abort(_("group '%s' is undefined") % group)
-
-def _usermatch(ui, user, usersorgroups):
-
- if usersorgroups == '*':
- return True
-
- for ug in usersorgroups.replace(',', ' ').split():
- if user == ug or ug.find('@') == 0 and user in _getusers(ui, ug[1:]):
- return True
-
- return False
-
-def buildmatch(ui, repo, user, key):
- '''return tuple of (match function, list enabled).'''
- if not ui.has_section(key):
- ui.debug('acl: %s not enabled\n' % key)
- return None
-
- pats = [pat for pat, users in ui.configitems(key)
- if _usermatch(ui, user, users)]
- ui.debug('acl: %s enabled, %d entries for user %s\n' %
- (key, len(pats), user))
-
- if not repo:
- if pats:
- return lambda b: '*' in pats or b in pats
- return lambda b: False
-
- if pats:
- return match.match(repo.root, '', pats)
- return match.exact(repo.root, '', [])
-
-
-def hook(ui, repo, hooktype, node=None, source=None, **kwargs):
- if hooktype not in ['pretxnchangegroup', 'pretxncommit']:
- raise util.Abort(_('config error - hook type "%s" cannot stop '
- 'incoming changesets nor commits') % hooktype)
- if (hooktype == 'pretxnchangegroup' and
- source not in ui.config('acl', 'sources', 'serve').split()):
- ui.debug('acl: changes have source "%s" - skipping\n' % source)
- return
-
- user = None
- if source == 'serve' and 'url' in kwargs:
- url = kwargs['url'].split(':')
- if url[0] == 'remote' and url[1].startswith('http'):
- user = urllib.unquote(url[3])
-
- if user is None:
- user = getpass.getuser()
-
- cfg = ui.config('acl', 'config')
- if cfg:
- ui.readconfig(cfg, sections = ['acl.groups', 'acl.allow.branches',
- 'acl.deny.branches', 'acl.allow', 'acl.deny'])
-
- allowbranches = buildmatch(ui, None, user, 'acl.allow.branches')
- denybranches = buildmatch(ui, None, user, 'acl.deny.branches')
- allow = buildmatch(ui, repo, user, 'acl.allow')
- deny = buildmatch(ui, repo, user, 'acl.deny')
-
- for rev in xrange(repo[node], len(repo)):
- ctx = repo[rev]
- branch = ctx.branch()
- if denybranches and denybranches(branch):
- raise util.Abort(_('acl: user "%s" denied on branch "%s"'
- ' (changeset "%s")')
- % (user, branch, ctx))
- if allowbranches and not allowbranches(branch):
- raise util.Abort(_('acl: user "%s" not allowed on branch "%s"'
- ' (changeset "%s")')
- % (user, branch, ctx))
- ui.debug('acl: branch access granted: "%s" on branch "%s"\n'
- % (ctx, branch))
-
- for f in ctx.files():
- if deny and deny(f):
- ui.debug('acl: user %s denied on %s\n' % (user, f))
- raise util.Abort(_('acl: access denied for changeset %s') % ctx)
- if allow and not allow(f):
- ui.debug('acl: user %s not allowed on %s\n' % (user, f))
- raise util.Abort(_('acl: access denied for changeset %s') % ctx)
- ui.debug('acl: allowing changeset %s\n' % ctx)
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/acl.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/acl.pyo
deleted file mode 100644
index 8001bf2..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/acl.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bookmarks.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bookmarks.py
deleted file mode 100644
index 1ebbc7a..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bookmarks.py
+++ /dev/null
@@ -1,579 +0,0 @@
-# Mercurial extension to provide the 'hg bookmark' command
-#
-# Copyright 2008 David Soria Parra
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-'''track a line of development with movable markers
-
-Bookmarks are local movable markers to changesets. Every bookmark
-points to a changeset identified by its hash. If you commit a
-changeset that is based on a changeset that has a bookmark on it, the
-bookmark shifts to the new changeset.
-
-It is possible to use bookmark names in every revision lookup (e.g.
-:hg:`merge`, :hg:`update`).
-
-By default, when several bookmarks point to the same changeset, they
-will all move forward together. It is possible to obtain a more
-git-like experience by adding the following configuration option to
-your configuration file::
-
- [bookmarks]
- track.current = True
-
-This will cause Mercurial to track the bookmark that you are currently
-using, and only update it. This is similar to git's approach to
-branching.
-'''
-
-from mercurial.i18n import _
-from mercurial.node import nullid, nullrev, bin, hex, short
-from mercurial import util, commands, repair, extensions, pushkey, hg, url
-from mercurial import revset
-import os
-
-def write(repo):
- '''Write bookmarks
-
- Write the given bookmark => hash dictionary to the .hg/bookmarks file
- in a format equal to those of localtags.
-
- We also store a backup of the previous state in undo.bookmarks that
- can be copied back on rollback.
- '''
- refs = repo._bookmarks
-
- try:
- bms = repo.opener('bookmarks').read()
- except IOError:
- bms = None
- if bms is not None:
- repo.opener('undo.bookmarks', 'w').write(bms)
-
- if repo._bookmarkcurrent not in refs:
- setcurrent(repo, None)
- wlock = repo.wlock()
- try:
- file = repo.opener('bookmarks', 'w', atomictemp=True)
- for refspec, node in refs.iteritems():
- file.write("%s %s\n" % (hex(node), refspec))
- file.rename()
-
- # touch 00changelog.i so hgweb reloads bookmarks (no lock needed)
- try:
- os.utime(repo.sjoin('00changelog.i'), None)
- except OSError:
- pass
-
- finally:
- wlock.release()
-
-def setcurrent(repo, mark):
- '''Set the name of the bookmark that we are currently on
-
- Set the name of the bookmark that we are on (hg update ).
- The name is recorded in .hg/bookmarks.current
- '''
- current = repo._bookmarkcurrent
- if current == mark:
- return
-
- refs = repo._bookmarks
-
- # do not update if we do update to a rev equal to the current bookmark
- if (mark and mark not in refs and
- current and refs[current] == repo.changectx('.').node()):
- return
- if mark not in refs:
- mark = ''
- wlock = repo.wlock()
- try:
- file = repo.opener('bookmarks.current', 'w', atomictemp=True)
- file.write(mark)
- file.rename()
- finally:
- wlock.release()
- repo._bookmarkcurrent = mark
-
-def bookmark(ui, repo, mark=None, rev=None, force=False, delete=False, rename=None):
- '''track a line of development with movable markers
-
- Bookmarks are pointers to certain commits that move when
- committing. Bookmarks are local. They can be renamed, copied and
- deleted. It is possible to use bookmark names in :hg:`merge` and
- :hg:`update` to merge and update respectively to a given bookmark.
-
- You can use :hg:`bookmark NAME` to set a bookmark on the working
- directory's parent revision with the given name. If you specify
- a revision using -r REV (where REV may be an existing bookmark),
- the bookmark is assigned to that revision.
-
- Bookmarks can be pushed and pulled between repositories (see :hg:`help
- push` and :hg:`help pull`). This requires the bookmark extension to be
- enabled for both the local and remote repositories.
- '''
- hexfn = ui.debugflag and hex or short
- marks = repo._bookmarks
- cur = repo.changectx('.').node()
-
- if rename:
- if rename not in marks:
- raise util.Abort(_("a bookmark of this name does not exist"))
- if mark in marks and not force:
- raise util.Abort(_("a bookmark of the same name already exists"))
- if mark is None:
- raise util.Abort(_("new bookmark name required"))
- marks[mark] = marks[rename]
- del marks[rename]
- if repo._bookmarkcurrent == rename:
- setcurrent(repo, mark)
- write(repo)
- return
-
- if delete:
- if mark is None:
- raise util.Abort(_("bookmark name required"))
- if mark not in marks:
- raise util.Abort(_("a bookmark of this name does not exist"))
- if mark == repo._bookmarkcurrent:
- setcurrent(repo, None)
- del marks[mark]
- write(repo)
- return
-
- if mark != None:
- if "\n" in mark:
- raise util.Abort(_("bookmark name cannot contain newlines"))
- mark = mark.strip()
- if not mark:
- raise util.Abort(_("bookmark names cannot consist entirely of "
- "whitespace"))
- if mark in marks and not force:
- raise util.Abort(_("a bookmark of the same name already exists"))
- if ((mark in repo.branchtags() or mark == repo.dirstate.branch())
- and not force):
- raise util.Abort(
- _("a bookmark cannot have the name of an existing branch"))
- if rev:
- marks[mark] = repo.lookup(rev)
- else:
- marks[mark] = repo.changectx('.').node()
- setcurrent(repo, mark)
- write(repo)
- return
-
- if mark is None:
- if rev:
- raise util.Abort(_("bookmark name required"))
- if len(marks) == 0:
- ui.status(_("no bookmarks set\n"))
- else:
- for bmark, n in marks.iteritems():
- if ui.configbool('bookmarks', 'track.current'):
- current = repo._bookmarkcurrent
- if bmark == current and n == cur:
- prefix, label = '*', 'bookmarks.current'
- else:
- prefix, label = ' ', ''
- else:
- if n == cur:
- prefix, label = '*', 'bookmarks.current'
- else:
- prefix, label = ' ', ''
-
- if ui.quiet:
- ui.write("%s\n" % bmark, label=label)
- else:
- ui.write(" %s %-25s %d:%s\n" % (
- prefix, bmark, repo.changelog.rev(n), hexfn(n)),
- label=label)
- return
-
-def _revstostrip(changelog, node):
- srev = changelog.rev(node)
- tostrip = [srev]
- saveheads = []
- for r in xrange(srev, len(changelog)):
- parents = changelog.parentrevs(r)
- if parents[0] in tostrip or parents[1] in tostrip:
- tostrip.append(r)
- if parents[1] != nullrev:
- for p in parents:
- if p not in tostrip and p > srev:
- saveheads.append(p)
- return [r for r in tostrip if r not in saveheads]
-
-def strip(oldstrip, ui, repo, node, backup="all"):
- """Strip bookmarks if revisions are stripped using
- the mercurial.strip method. This usually happens during
- qpush and qpop"""
- revisions = _revstostrip(repo.changelog, node)
- marks = repo._bookmarks
- update = []
- for mark, n in marks.iteritems():
- if repo.changelog.rev(n) in revisions:
- update.append(mark)
- oldstrip(ui, repo, node, backup)
- if len(update) > 0:
- for m in update:
- marks[m] = repo.changectx('.').node()
- write(repo)
-
-def reposetup(ui, repo):
- if not repo.local():
- return
-
- class bookmark_repo(repo.__class__):
-
- @util.propertycache
- def _bookmarks(self):
- '''Parse .hg/bookmarks file and return a dictionary
-
- Bookmarks are stored as {HASH}\\s{NAME}\\n (localtags format) values
- in the .hg/bookmarks file.
- Read the file and return a (name=>nodeid) dictionary
- '''
- try:
- bookmarks = {}
- for line in self.opener('bookmarks'):
- sha, refspec = line.strip().split(' ', 1)
- bookmarks[refspec] = self.changelog.lookup(sha)
- except:
- pass
- return bookmarks
-
- @util.propertycache
- def _bookmarkcurrent(self):
- '''Get the current bookmark
-
- If we use gittishsh branches we have a current bookmark that
- we are on. This function returns the name of the bookmark. It
- is stored in .hg/bookmarks.current
- '''
- mark = None
- if os.path.exists(self.join('bookmarks.current')):
- file = self.opener('bookmarks.current')
- # No readline() in posixfile_nt, reading everything is cheap
- mark = (file.readlines() or [''])[0]
- if mark == '':
- mark = None
- file.close()
- return mark
-
- def rollback(self, *args):
- if os.path.exists(self.join('undo.bookmarks')):
- util.rename(self.join('undo.bookmarks'), self.join('bookmarks'))
- return super(bookmark_repo, self).rollback(*args)
-
- def lookup(self, key):
- if key in self._bookmarks:
- key = self._bookmarks[key]
- return super(bookmark_repo, self).lookup(key)
-
- def _bookmarksupdate(self, parents, node):
- marks = self._bookmarks
- update = False
- if ui.configbool('bookmarks', 'track.current'):
- mark = self._bookmarkcurrent
- if mark and marks[mark] in parents:
- marks[mark] = node
- update = True
- else:
- for mark, n in marks.items():
- if n in parents:
- marks[mark] = node
- update = True
- if update:
- write(self)
-
- def commitctx(self, ctx, error=False):
- """Add a revision to the repository and
- move the bookmark"""
- wlock = self.wlock() # do both commit and bookmark with lock held
- try:
- node = super(bookmark_repo, self).commitctx(ctx, error)
- if node is None:
- return None
- parents = self.changelog.parents(node)
- if parents[1] == nullid:
- parents = (parents[0],)
-
- self._bookmarksupdate(parents, node)
- return node
- finally:
- wlock.release()
-
- def pull(self, remote, heads=None, force=False):
- result = super(bookmark_repo, self).pull(remote, heads, force)
-
- self.ui.debug("checking for updated bookmarks\n")
- rb = remote.listkeys('bookmarks')
- changed = False
- for k in rb.keys():
- if k in self._bookmarks:
- nr, nl = rb[k], self._bookmarks[k]
- if nr in self:
- cr = self[nr]
- cl = self[nl]
- if cl.rev() >= cr.rev():
- continue
- if cr in cl.descendants():
- self._bookmarks[k] = cr.node()
- changed = True
- self.ui.status(_("updating bookmark %s\n") % k)
- else:
- self.ui.warn(_("not updating divergent"
- " bookmark %s\n") % k)
- if changed:
- write(repo)
-
- return result
-
- def push(self, remote, force=False, revs=None, newbranch=False):
- result = super(bookmark_repo, self).push(remote, force, revs,
- newbranch)
-
- self.ui.debug("checking for updated bookmarks\n")
- rb = remote.listkeys('bookmarks')
- for k in rb.keys():
- if k in self._bookmarks:
- nr, nl = rb[k], self._bookmarks[k]
- if nr in self:
- cr = self[nr]
- cl = self[nl]
- if cl in cr.descendants():
- r = remote.pushkey('bookmarks', k, nr, nl)
- if r:
- self.ui.status(_("updating bookmark %s\n") % k)
- else:
- self.ui.warn(_('updating bookmark %s'
- ' failed!\n') % k)
-
- return result
-
- def addchangegroup(self, *args, **kwargs):
- parents = self.dirstate.parents()
-
- result = super(bookmark_repo, self).addchangegroup(*args, **kwargs)
- if result > 1:
- # We have more heads than before
- return result
- node = self.changelog.tip()
-
- self._bookmarksupdate(parents, node)
- return result
-
- def _findtags(self):
- """Merge bookmarks with normal tags"""
- (tags, tagtypes) = super(bookmark_repo, self)._findtags()
- tags.update(self._bookmarks)
- return (tags, tagtypes)
-
- if hasattr(repo, 'invalidate'):
- def invalidate(self):
- super(bookmark_repo, self).invalidate()
- for attr in ('_bookmarks', '_bookmarkcurrent'):
- if attr in self.__dict__:
- delattr(self, attr)
-
- repo.__class__ = bookmark_repo
-
-def listbookmarks(repo):
- # We may try to list bookmarks on a repo type that does not
- # support it (e.g., statichttprepository).
- if not hasattr(repo, '_bookmarks'):
- return {}
-
- d = {}
- for k, v in repo._bookmarks.iteritems():
- d[k] = hex(v)
- return d
-
-def pushbookmark(repo, key, old, new):
- w = repo.wlock()
- try:
- marks = repo._bookmarks
- if hex(marks.get(key, '')) != old:
- return False
- if new == '':
- del marks[key]
- else:
- if new not in repo:
- return False
- marks[key] = repo[new].node()
- write(repo)
- return True
- finally:
- w.release()
-
-def pull(oldpull, ui, repo, source="default", **opts):
- # translate bookmark args to rev args for actual pull
- if opts.get('bookmark'):
- # this is an unpleasant hack as pull will do this internally
- source, branches = hg.parseurl(ui.expandpath(source),
- opts.get('branch'))
- other = hg.repository(hg.remoteui(repo, opts), source)
- rb = other.listkeys('bookmarks')
-
- for b in opts['bookmark']:
- if b not in rb:
- raise util.Abort(_('remote bookmark %s not found!') % b)
- opts.setdefault('rev', []).append(b)
-
- result = oldpull(ui, repo, source, **opts)
-
- # update specified bookmarks
- if opts.get('bookmark'):
- for b in opts['bookmark']:
- # explicit pull overrides local bookmark if any
- ui.status(_("importing bookmark %s\n") % b)
- repo._bookmarks[b] = repo[rb[b]].node()
- write(repo)
-
- return result
-
-def push(oldpush, ui, repo, dest=None, **opts):
- dopush = True
- if opts.get('bookmark'):
- dopush = False
- for b in opts['bookmark']:
- if b in repo._bookmarks:
- dopush = True
- opts.setdefault('rev', []).append(b)
-
- result = 0
- if dopush:
- result = oldpush(ui, repo, dest, **opts)
-
- if opts.get('bookmark'):
- # this is an unpleasant hack as push will do this internally
- dest = ui.expandpath(dest or 'default-push', dest or 'default')
- dest, branches = hg.parseurl(dest, opts.get('branch'))
- other = hg.repository(hg.remoteui(repo, opts), dest)
- rb = other.listkeys('bookmarks')
- for b in opts['bookmark']:
- # explicit push overrides remote bookmark if any
- if b in repo._bookmarks:
- ui.status(_("exporting bookmark %s\n") % b)
- new = repo[b].hex()
- elif b in rb:
- ui.status(_("deleting remote bookmark %s\n") % b)
- new = '' # delete
- else:
- ui.warn(_('bookmark %s does not exist on the local '
- 'or remote repository!\n') % b)
- return 2
- old = rb.get(b, '')
- r = other.pushkey('bookmarks', b, old, new)
- if not r:
- ui.warn(_('updating bookmark %s failed!\n') % b)
- if not result:
- result = 2
-
- return result
-
-def diffbookmarks(ui, repo, remote):
- ui.status(_("searching for changed bookmarks\n"))
-
- lmarks = repo.listkeys('bookmarks')
- rmarks = remote.listkeys('bookmarks')
-
- diff = sorted(set(rmarks) - set(lmarks))
- for k in diff:
- ui.write(" %-25s %s\n" % (k, rmarks[k][:12]))
-
- if len(diff) <= 0:
- ui.status(_("no changed bookmarks found\n"))
- return 1
- return 0
-
-def incoming(oldincoming, ui, repo, source="default", **opts):
- if opts.get('bookmarks'):
- source, branches = hg.parseurl(ui.expandpath(source), opts.get('branch'))
- other = hg.repository(hg.remoteui(repo, opts), source)
- ui.status(_('comparing with %s\n') % url.hidepassword(source))
- return diffbookmarks(ui, repo, other)
- else:
- return oldincoming(ui, repo, source, **opts)
-
-def outgoing(oldoutgoing, ui, repo, dest=None, **opts):
- if opts.get('bookmarks'):
- dest = ui.expandpath(dest or 'default-push', dest or 'default')
- dest, branches = hg.parseurl(dest, opts.get('branch'))
- other = hg.repository(hg.remoteui(repo, opts), dest)
- ui.status(_('comparing with %s\n') % url.hidepassword(dest))
- return diffbookmarks(ui, other, repo)
- else:
- return oldoutgoing(ui, repo, dest, **opts)
-
-def uisetup(ui):
- extensions.wrapfunction(repair, "strip", strip)
- if ui.configbool('bookmarks', 'track.current'):
- extensions.wrapcommand(commands.table, 'update', updatecurbookmark)
-
- entry = extensions.wrapcommand(commands.table, 'pull', pull)
- entry[1].append(('B', 'bookmark', [],
- _("bookmark to import"),
- _('BOOKMARK')))
- entry = extensions.wrapcommand(commands.table, 'push', push)
- entry[1].append(('B', 'bookmark', [],
- _("bookmark to export"),
- _('BOOKMARK')))
- entry = extensions.wrapcommand(commands.table, 'incoming', incoming)
- entry[1].append(('B', 'bookmarks', False,
- _("compare bookmark")))
- entry = extensions.wrapcommand(commands.table, 'outgoing', outgoing)
- entry[1].append(('B', 'bookmarks', False,
- _("compare bookmark")))
-
- pushkey.register('bookmarks', pushbookmark, listbookmarks)
-
-def updatecurbookmark(orig, ui, repo, *args, **opts):
- '''Set the current bookmark
-
- If the user updates to a bookmark we update the .hg/bookmarks.current
- file.
- '''
- res = orig(ui, repo, *args, **opts)
- rev = opts['rev']
- if not rev and len(args) > 0:
- rev = args[0]
- setcurrent(repo, rev)
- return res
-
-def bmrevset(repo, subset, x):
- """``bookmark([name])``
- The named bookmark or all bookmarks.
- """
- # i18n: "bookmark" is a keyword
- args = revset.getargs(x, 0, 1, _('bookmark takes one or no arguments'))
- if args:
- bm = revset.getstring(args[0],
- # i18n: "bookmark" is a keyword
- _('the argument to bookmark must be a string'))
- bmrev = listbookmarks(repo).get(bm, None)
- if bmrev:
- bmrev = repo.changelog.rev(bin(bmrev))
- return [r for r in subset if r == bmrev]
- bms = set([repo.changelog.rev(bin(r)) for r in listbookmarks(repo).values()])
- return [r for r in subset if r in bms]
-
-def extsetup(ui):
- revset.symbols['bookmark'] = bmrevset
-
-cmdtable = {
- "bookmarks":
- (bookmark,
- [('f', 'force', False, _('force')),
- ('r', 'rev', '', _('revision'), _('REV')),
- ('d', 'delete', False, _('delete a given bookmark')),
- ('m', 'rename', '', _('rename a given bookmark'), _('NAME'))],
- _('hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]')),
-}
-
-colortable = {'bookmarks.current': 'green'}
-
-# tell hggettext to extract docstrings from these functions:
-i18nfunctions = [bmrevset]
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bookmarks.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bookmarks.pyo
deleted file mode 100644
index 9cad1f2..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bookmarks.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bugzilla.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bugzilla.py
deleted file mode 100644
index de72e91..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bugzilla.py
+++ /dev/null
@@ -1,441 +0,0 @@
-# bugzilla.py - bugzilla integration for mercurial
-#
-# Copyright 2006 Vadim Gelfer
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-'''hooks for integrating with the Bugzilla bug tracker
-
-This hook extension adds comments on bugs in Bugzilla when changesets
-that refer to bugs by Bugzilla ID are seen. The hook does not change
-bug status.
-
-The hook updates the Bugzilla database directly. Only Bugzilla
-installations using MySQL are supported.
-
-The hook relies on a Bugzilla script to send bug change notification
-emails. That script changes between Bugzilla versions; the
-'processmail' script used prior to 2.18 is replaced in 2.18 and
-subsequent versions by 'config/sendbugmail.pl'. Note that these will
-be run by Mercurial as the user pushing the change; you will need to
-ensure the Bugzilla install file permissions are set appropriately.
-
-The extension is configured through three different configuration
-sections. These keys are recognized in the [bugzilla] section:
-
-host
- Hostname of the MySQL server holding the Bugzilla database.
-
-db
- Name of the Bugzilla database in MySQL. Default 'bugs'.
-
-user
- Username to use to access MySQL server. Default 'bugs'.
-
-password
- Password to use to access MySQL server.
-
-timeout
- Database connection timeout (seconds). Default 5.
-
-version
- Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,
- '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior
- to 2.18.
-
-bzuser
- Fallback Bugzilla user name to record comments with, if changeset
- committer cannot be found as a Bugzilla user.
-
-bzdir
- Bugzilla install directory. Used by default notify. Default
- '/var/www/html/bugzilla'.
-
-notify
- The command to run to get Bugzilla to send bug change notification
- emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)
- and 'user' (committer bugzilla email). Default depends on version;
- from 2.18 it is "cd %(bzdir)s && perl -T contrib/sendbugmail.pl
- %(id)s %(user)s".
-
-regexp
- Regular expression to match bug IDs in changeset commit message.
- Must contain one "()" group. The default expression matches 'Bug
- 1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug
- 1234 and 5678' and variations thereof. Matching is case insensitive.
-
-style
- The style file to use when formatting comments.
-
-template
- Template to use when formatting comments. Overrides style if
- specified. In addition to the usual Mercurial keywords, the
- extension specifies::
-
- {bug} The Bugzilla bug ID.
- {root} The full pathname of the Mercurial repository.
- {webroot} Stripped pathname of the Mercurial repository.
- {hgweb} Base URL for browsing Mercurial repositories.
-
- Default 'changeset {node|short} in repo {root} refers '
- 'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'
-
-strip
- The number of slashes to strip from the front of {root} to produce
- {webroot}. Default 0.
-
-usermap
- Path of file containing Mercurial committer ID to Bugzilla user ID
- mappings. If specified, the file should contain one mapping per
- line, "committer"="Bugzilla user". See also the [usermap] section.
-
-The [usermap] section is used to specify mappings of Mercurial
-committer ID to Bugzilla user ID. See also [bugzilla].usermap.
-"committer"="Bugzilla user"
-
-Finally, the [web] section supports one entry:
-
-baseurl
- Base URL for browsing Mercurial repositories. Reference from
- templates as {hgweb}.
-
-Activating the extension::
-
- [extensions]
- bugzilla =
-
- [hooks]
- # run bugzilla hook on every change pulled or pushed in here
- incoming.bugzilla = python:hgext.bugzilla.hook
-
-Example configuration:
-
-This example configuration is for a collection of Mercurial
-repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2
-installation in /opt/bugzilla-3.2. ::
-
- [bugzilla]
- host=localhost
- password=XYZZY
- version=3.0
- bzuser=unknown@domain.com
- bzdir=/opt/bugzilla-3.2
- template=Changeset {node|short} in {root|basename}.
- {hgweb}/{webroot}/rev/{node|short}\\n
- {desc}\\n
- strip=5
-
- [web]
- baseurl=http://dev.domain.com/hg
-
- [usermap]
- user@emaildomain.com=user.name@bugzilladomain.com
-
-Commits add a comment to the Bugzilla bug record of the form::
-
- Changeset 3b16791d6642 in repository-name.
- http://dev.domain.com/hg/repository-name/rev/3b16791d6642
-
- Changeset commit comment. Bug 1234.
-'''
-
-from mercurial.i18n import _
-from mercurial.node import short
-from mercurial import cmdutil, templater, util
-import re, time
-
-MySQLdb = None
-
-def buglist(ids):
- return '(' + ','.join(map(str, ids)) + ')'
-
-class bugzilla_2_16(object):
- '''support for bugzilla version 2.16.'''
-
- def __init__(self, ui):
- self.ui = ui
- host = self.ui.config('bugzilla', 'host', 'localhost')
- user = self.ui.config('bugzilla', 'user', 'bugs')
- passwd = self.ui.config('bugzilla', 'password')
- db = self.ui.config('bugzilla', 'db', 'bugs')
- timeout = int(self.ui.config('bugzilla', 'timeout', 5))
- usermap = self.ui.config('bugzilla', 'usermap')
- if usermap:
- self.ui.readconfig(usermap, sections=['usermap'])
- self.ui.note(_('connecting to %s:%s as %s, password %s\n') %
- (host, db, user, '*' * len(passwd)))
- self.conn = MySQLdb.connect(host=host, user=user, passwd=passwd,
- db=db, connect_timeout=timeout)
- self.cursor = self.conn.cursor()
- self.longdesc_id = self.get_longdesc_id()
- self.user_ids = {}
- self.default_notify = "cd %(bzdir)s && ./processmail %(id)s %(user)s"
-
- def run(self, *args, **kwargs):
- '''run a query.'''
- self.ui.note(_('query: %s %s\n') % (args, kwargs))
- try:
- self.cursor.execute(*args, **kwargs)
- except MySQLdb.MySQLError:
- self.ui.note(_('failed query: %s %s\n') % (args, kwargs))
- raise
-
- def get_longdesc_id(self):
- '''get identity of longdesc field'''
- self.run('select fieldid from fielddefs where name = "longdesc"')
- ids = self.cursor.fetchall()
- if len(ids) != 1:
- raise util.Abort(_('unknown database schema'))
- return ids[0][0]
-
- def filter_real_bug_ids(self, ids):
- '''filter not-existing bug ids from list.'''
- self.run('select bug_id from bugs where bug_id in %s' % buglist(ids))
- return sorted([c[0] for c in self.cursor.fetchall()])
-
- def filter_unknown_bug_ids(self, node, ids):
- '''filter bug ids from list that already refer to this changeset.'''
-
- self.run('''select bug_id from longdescs where
- bug_id in %s and thetext like "%%%s%%"''' %
- (buglist(ids), short(node)))
- unknown = set(ids)
- for (id,) in self.cursor.fetchall():
- self.ui.status(_('bug %d already knows about changeset %s\n') %
- (id, short(node)))
- unknown.discard(id)
- return sorted(unknown)
-
- def notify(self, ids, committer):
- '''tell bugzilla to send mail.'''
-
- self.ui.status(_('telling bugzilla to send mail:\n'))
- (user, userid) = self.get_bugzilla_user(committer)
- for id in ids:
- self.ui.status(_(' bug %s\n') % id)
- cmdfmt = self.ui.config('bugzilla', 'notify', self.default_notify)
- bzdir = self.ui.config('bugzilla', 'bzdir', '/var/www/html/bugzilla')
- try:
- # Backwards-compatible with old notify string, which
- # took one string. This will throw with a new format
- # string.
- cmd = cmdfmt % id
- except TypeError:
- cmd = cmdfmt % {'bzdir': bzdir, 'id': id, 'user': user}
- self.ui.note(_('running notify command %s\n') % cmd)
- fp = util.popen('(%s) 2>&1' % cmd)
- out = fp.read()
- ret = fp.close()
- if ret:
- self.ui.warn(out)
- raise util.Abort(_('bugzilla notify command %s') %
- util.explain_exit(ret)[0])
- self.ui.status(_('done\n'))
-
- def get_user_id(self, user):
- '''look up numeric bugzilla user id.'''
- try:
- return self.user_ids[user]
- except KeyError:
- try:
- userid = int(user)
- except ValueError:
- self.ui.note(_('looking up user %s\n') % user)
- self.run('''select userid from profiles
- where login_name like %s''', user)
- all = self.cursor.fetchall()
- if len(all) != 1:
- raise KeyError(user)
- userid = int(all[0][0])
- self.user_ids[user] = userid
- return userid
-
- def map_committer(self, user):
- '''map name of committer to bugzilla user name.'''
- for committer, bzuser in self.ui.configitems('usermap'):
- if committer.lower() == user.lower():
- return bzuser
- return user
-
- def get_bugzilla_user(self, committer):
- '''see if committer is a registered bugzilla user. Return
- bugzilla username and userid if so. If not, return default
- bugzilla username and userid.'''
- user = self.map_committer(committer)
- try:
- userid = self.get_user_id(user)
- except KeyError:
- try:
- defaultuser = self.ui.config('bugzilla', 'bzuser')
- if not defaultuser:
- raise util.Abort(_('cannot find bugzilla user id for %s') %
- user)
- userid = self.get_user_id(defaultuser)
- user = defaultuser
- except KeyError:
- raise util.Abort(_('cannot find bugzilla user id for %s or %s') %
- (user, defaultuser))
- return (user, userid)
-
- def add_comment(self, bugid, text, committer):
- '''add comment to bug. try adding comment as committer of
- changeset, otherwise as default bugzilla user.'''
- (user, userid) = self.get_bugzilla_user(committer)
- now = time.strftime('%Y-%m-%d %H:%M:%S')
- self.run('''insert into longdescs
- (bug_id, who, bug_when, thetext)
- values (%s, %s, %s, %s)''',
- (bugid, userid, now, text))
- self.run('''insert into bugs_activity (bug_id, who, bug_when, fieldid)
- values (%s, %s, %s, %s)''',
- (bugid, userid, now, self.longdesc_id))
- self.conn.commit()
-
-class bugzilla_2_18(bugzilla_2_16):
- '''support for bugzilla 2.18 series.'''
-
- def __init__(self, ui):
- bugzilla_2_16.__init__(self, ui)
- self.default_notify = \
- "cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s"
-
-class bugzilla_3_0(bugzilla_2_18):
- '''support for bugzilla 3.0 series.'''
-
- def __init__(self, ui):
- bugzilla_2_18.__init__(self, ui)
-
- def get_longdesc_id(self):
- '''get identity of longdesc field'''
- self.run('select id from fielddefs where name = "longdesc"')
- ids = self.cursor.fetchall()
- if len(ids) != 1:
- raise util.Abort(_('unknown database schema'))
- return ids[0][0]
-
-class bugzilla(object):
- # supported versions of bugzilla. different versions have
- # different schemas.
- _versions = {
- '2.16': bugzilla_2_16,
- '2.18': bugzilla_2_18,
- '3.0': bugzilla_3_0
- }
-
- _default_bug_re = (r'bugs?\s*,?\s*(?:#|nos?\.?|num(?:ber)?s?)?\s*'
- r'((?:\d+\s*(?:,?\s*(?:and)?)?\s*)+)')
-
- _bz = None
-
- def __init__(self, ui, repo):
- self.ui = ui
- self.repo = repo
-
- def bz(self):
- '''return object that knows how to talk to bugzilla version in
- use.'''
-
- if bugzilla._bz is None:
- bzversion = self.ui.config('bugzilla', 'version')
- try:
- bzclass = bugzilla._versions[bzversion]
- except KeyError:
- raise util.Abort(_('bugzilla version %s not supported') %
- bzversion)
- bugzilla._bz = bzclass(self.ui)
- return bugzilla._bz
-
- def __getattr__(self, key):
- return getattr(self.bz(), key)
-
- _bug_re = None
- _split_re = None
-
- def find_bug_ids(self, ctx):
- '''find valid bug ids that are referred to in changeset
- comments and that do not already have references to this
- changeset.'''
-
- if bugzilla._bug_re is None:
- bugzilla._bug_re = re.compile(
- self.ui.config('bugzilla', 'regexp', bugzilla._default_bug_re),
- re.IGNORECASE)
- bugzilla._split_re = re.compile(r'\D+')
- start = 0
- ids = set()
- while True:
- m = bugzilla._bug_re.search(ctx.description(), start)
- if not m:
- break
- start = m.end()
- for id in bugzilla._split_re.split(m.group(1)):
- if not id:
- continue
- ids.add(int(id))
- if ids:
- ids = self.filter_real_bug_ids(ids)
- if ids:
- ids = self.filter_unknown_bug_ids(ctx.node(), ids)
- return ids
-
- def update(self, bugid, ctx):
- '''update bugzilla bug with reference to changeset.'''
-
- def webroot(root):
- '''strip leading prefix of repo root and turn into
- url-safe path.'''
- count = int(self.ui.config('bugzilla', 'strip', 0))
- root = util.pconvert(root)
- while count > 0:
- c = root.find('/')
- if c == -1:
- break
- root = root[c + 1:]
- count -= 1
- return root
-
- mapfile = self.ui.config('bugzilla', 'style')
- tmpl = self.ui.config('bugzilla', 'template')
- t = cmdutil.changeset_templater(self.ui, self.repo,
- False, None, mapfile, False)
- if not mapfile and not tmpl:
- tmpl = _('changeset {node|short} in repo {root} refers '
- 'to bug {bug}.\ndetails:\n\t{desc|tabindent}')
- if tmpl:
- tmpl = templater.parsestring(tmpl, quoted=False)
- t.use_template(tmpl)
- self.ui.pushbuffer()
- t.show(ctx, changes=ctx.changeset(),
- bug=str(bugid),
- hgweb=self.ui.config('web', 'baseurl'),
- root=self.repo.root,
- webroot=webroot(self.repo.root))
- data = self.ui.popbuffer()
- self.add_comment(bugid, data, util.email(ctx.user()))
-
-def hook(ui, repo, hooktype, node=None, **kwargs):
- '''add comment to bugzilla for each changeset that refers to a
- bugzilla bug id. only add a comment once per bug, so same change
- seen multiple times does not fill bug with duplicate data.'''
- try:
- import MySQLdb as mysql
- global MySQLdb
- MySQLdb = mysql
- except ImportError, err:
- raise util.Abort(_('python mysql support not available: %s') % err)
-
- if node is None:
- raise util.Abort(_('hook type %s does not pass a changeset id') %
- hooktype)
- try:
- bz = bugzilla(ui, repo)
- ctx = repo[node]
- ids = bz.find_bug_ids(ctx)
- if ids:
- for id in ids:
- bz.update(id, ctx)
- bz.notify(ids, util.email(ctx.user()))
- except MySQLdb.MySQLError, err:
- raise util.Abort(_('database error: %s') % err.args[1])
-
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bugzilla.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bugzilla.pyo
deleted file mode 100644
index b4bfa04..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/bugzilla.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/children.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/children.py
deleted file mode 100644
index da2fe9c..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/children.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# Mercurial extension to provide the 'hg children' command
-#
-# Copyright 2007 by Intevation GmbH
-#
-# Author(s):
-# Thomas Arendsen Hein
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-'''command to display child changesets'''
-
-from mercurial import cmdutil
-from mercurial.commands import templateopts
-from mercurial.i18n import _
-
-
-def children(ui, repo, file_=None, **opts):
- """show the children of the given or working directory revision
-
- Print the children of the working directory's revisions. If a
- revision is given via -r/--rev, the children of that revision will
- be printed. If a file argument is given, revision in which the
- file was last changed (after the working directory revision or the
- argument to --rev if given) is printed.
- """
- rev = opts.get('rev')
- if file_:
- ctx = repo.filectx(file_, changeid=rev)
- else:
- ctx = repo[rev]
-
- displayer = cmdutil.show_changeset(ui, repo, opts)
- for cctx in ctx.children():
- displayer.show(cctx)
- displayer.close()
-
-cmdtable = {
- "children":
- (children,
- [('r', 'rev', '',
- _('show children of the specified revision'), _('REV')),
- ] + templateopts,
- _('hg children [-r REV] [FILE]')),
-}
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/children.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/children.pyo
deleted file mode 100644
index 05aecd2..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/children.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/churn.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/churn.py
deleted file mode 100644
index 32e481f..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/churn.py
+++ /dev/null
@@ -1,198 +0,0 @@
-# churn.py - create a graph of revisions count grouped by template
-#
-# Copyright 2006 Josef "Jeff" Sipek
-# Copyright 2008 Alexander Solovyov
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-'''command to display statistics about repository history'''
-
-from mercurial.i18n import _
-from mercurial import patch, cmdutil, util, templater, commands
-import os
-import time, datetime
-
-def maketemplater(ui, repo, tmpl):
- tmpl = templater.parsestring(tmpl, quoted=False)
- try:
- t = cmdutil.changeset_templater(ui, repo, False, None, None, False)
- except SyntaxError, inst:
- raise util.Abort(inst.args[0])
- t.use_template(tmpl)
- return t
-
-def changedlines(ui, repo, ctx1, ctx2, fns):
- added, removed = 0, 0
- fmatch = cmdutil.matchfiles(repo, fns)
- diff = ''.join(patch.diff(repo, ctx1.node(), ctx2.node(), fmatch))
- for l in diff.split('\n'):
- if l.startswith("+") and not l.startswith("+++ "):
- added += 1
- elif l.startswith("-") and not l.startswith("--- "):
- removed += 1
- return (added, removed)
-
-def countrate(ui, repo, amap, *pats, **opts):
- """Calculate stats"""
- if opts.get('dateformat'):
- def getkey(ctx):
- t, tz = ctx.date()
- date = datetime.datetime(*time.gmtime(float(t) - tz)[:6])
- return date.strftime(opts['dateformat'])
- else:
- tmpl = opts.get('template', '{author|email}')
- tmpl = maketemplater(ui, repo, tmpl)
- def getkey(ctx):
- ui.pushbuffer()
- tmpl.show(ctx)
- return ui.popbuffer()
-
- state = {'count': 0}
- rate = {}
- df = False
- if opts.get('date'):
- df = util.matchdate(opts['date'])
-
- m = cmdutil.match(repo, pats, opts)
- def prep(ctx, fns):
- rev = ctx.rev()
- if df and not df(ctx.date()[0]): # doesn't match date format
- return
-
- key = getkey(ctx)
- key = amap.get(key, key) # alias remap
- key = key.strip() # ignore leading and trailing spaces
- if opts.get('changesets'):
- rate[key] = (rate.get(key, (0,))[0] + 1, 0)
- else:
- parents = ctx.parents()
- if len(parents) > 1:
- ui.note(_('Revision %d is a merge, ignoring...\n') % (rev,))
- return
-
- ctx1 = parents[0]
- lines = changedlines(ui, repo, ctx1, ctx, fns)
- rate[key] = [r + l for r, l in zip(rate.get(key, (0, 0)), lines)]
-
- state['count'] += 1
- ui.progress(_('analyzing'), state['count'], total=len(repo))
-
- for ctx in cmdutil.walkchangerevs(repo, m, opts, prep):
- continue
-
- ui.progress(_('analyzing'), None)
-
- return rate
-
-
-def churn(ui, repo, *pats, **opts):
- '''histogram of changes to the repository
-
- This command will display a histogram representing the number
- of changed lines or revisions, grouped according to the given
- template. The default template will group changes by author.
- The --dateformat option may be used to group the results by
- date instead.
-
- Statistics are based on the number of changed lines, or
- alternatively the number of matching revisions if the
- --changesets option is specified.
-
- Examples::
-
- # display count of changed lines for every committer
- hg churn -t '{author|email}'
-
- # display daily activity graph
- hg churn -f '%H' -s -c
-
- # display activity of developers by month
- hg churn -f '%Y-%m' -s -c
-
- # display count of lines changed in every year
- hg churn -f '%Y' -s
-
- It is possible to map alternate email addresses to a main address
- by providing a file using the following format::
-
- =
-
- Such a file may be specified with the --aliases option, otherwise
- a .hgchurn file will be looked for in the working directory root.
- '''
- def pad(s, l):
- return (s + " " * l)[:l]
-
- amap = {}
- aliases = opts.get('aliases')
- if not aliases and os.path.exists(repo.wjoin('.hgchurn')):
- aliases = repo.wjoin('.hgchurn')
- if aliases:
- for l in open(aliases, "r"):
- try:
- alias, actual = l.split('=' in l and '=' or None, 1)
- amap[alias.strip()] = actual.strip()
- except ValueError:
- l = l.strip()
- if l:
- ui.warn(_("skipping malformed alias: %s\n" % l))
- continue
-
- rate = countrate(ui, repo, amap, *pats, **opts).items()
- if not rate:
- return
-
- sortkey = ((not opts.get('sort')) and (lambda x: -sum(x[1])) or None)
- rate.sort(key=sortkey)
-
- # Be careful not to have a zero maxcount (issue833)
- maxcount = float(max(sum(v) for k, v in rate)) or 1.0
- maxname = max(len(k) for k, v in rate)
-
- ttywidth = ui.termwidth()
- ui.debug("assuming %i character terminal\n" % ttywidth)
- width = ttywidth - maxname - 2 - 2 - 2
-
- if opts.get('diffstat'):
- width -= 15
- def format(name, diffstat):
- added, removed = diffstat
- return "%s %15s %s%s\n" % (pad(name, maxname),
- '+%d/-%d' % (added, removed),
- ui.label('+' * charnum(added),
- 'diffstat.inserted'),
- ui.label('-' * charnum(removed),
- 'diffstat.deleted'))
- else:
- width -= 6
- def format(name, count):
- return "%s %6d %s\n" % (pad(name, maxname), sum(count),
- '*' * charnum(sum(count)))
-
- def charnum(count):
- return int(round(count * width / maxcount))
-
- for name, count in rate:
- ui.write(format(name, count))
-
-
-cmdtable = {
- "churn":
- (churn,
- [('r', 'rev', [],
- _('count rate for the specified revision or range'), _('REV')),
- ('d', 'date', '',
- _('count rate for revisions matching date spec'), _('DATE')),
- ('t', 'template', '{author|email}',
- _('template to group changesets'), _('TEMPLATE')),
- ('f', 'dateformat', '',
- _('strftime-compatible format for grouping by date'), _('FORMAT')),
- ('c', 'changesets', False, _('count rate by number of changesets')),
- ('s', 'sort', False, _('sort by key (default: sort by count)')),
- ('', 'diffstat', False, _('display added/removed lines separately')),
- ('', 'aliases', '',
- _('file with email aliases'), _('FILE')),
- ] + commands.walkopts,
- _("hg churn [-d DATE] [-r REV] [--aliases FILE] [FILE]")),
-}
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/churn.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/churn.pyo
deleted file mode 100644
index 90d9a2d..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/churn.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/color.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/color.py
deleted file mode 100644
index df78f8d..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/color.py
+++ /dev/null
@@ -1,319 +0,0 @@
-# color.py color output for the status and qseries commands
-#
-# Copyright (C) 2007 Kevin Christen
-#
-# 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.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-'''colorize output from some commands
-
-This extension modifies the status and resolve commands to add color to their
-output to reflect file status, the qseries command to add color to reflect
-patch status (applied, unapplied, missing), and to diff-related
-commands to highlight additions, removals, diff headers, and trailing
-whitespace.
-
-Other effects in addition to color, like bold and underlined text, are
-also available. Effects are rendered with the ECMA-48 SGR control
-function (aka ANSI escape codes). This module also provides the
-render_text function, which can be used to add effects to any text.
-
-Default effects may be overridden from your configuration file::
-
- [color]
- status.modified = blue bold underline red_background
- status.added = green bold
- status.removed = red bold blue_background
- status.deleted = cyan bold underline
- status.unknown = magenta bold underline
- status.ignored = black bold
-
- # 'none' turns off all effects
- status.clean = none
- status.copied = none
-
- qseries.applied = blue bold underline
- qseries.unapplied = black bold
- qseries.missing = red bold
-
- diff.diffline = bold
- diff.extended = cyan bold
- diff.file_a = red bold
- diff.file_b = green bold
- diff.hunk = magenta
- diff.deleted = red
- diff.inserted = green
- diff.changed = white
- diff.trailingwhitespace = bold red_background
-
- resolve.unresolved = red bold
- resolve.resolved = green bold
-
- bookmarks.current = green
-
- branches.active = none
- branches.closed = black bold
- branches.current = green
- branches.inactive = none
-
-The color extension will try to detect whether to use ANSI codes or
-Win32 console APIs, unless it is made explicit::
-
- [color]
- mode = ansi
-
-Any value other than 'ansi', 'win32', or 'auto' will disable color.
-
-'''
-
-import os
-
-from mercurial import commands, dispatch, extensions, ui as uimod, util
-from mercurial.i18n import _
-
-# start and stop parameters for effects
-_effects = {'none': 0, 'black': 30, 'red': 31, 'green': 32, 'yellow': 33,
- 'blue': 34, 'magenta': 35, 'cyan': 36, 'white': 37, 'bold': 1,
- 'italic': 3, 'underline': 4, 'inverse': 7,
- 'black_background': 40, 'red_background': 41,
- 'green_background': 42, 'yellow_background': 43,
- 'blue_background': 44, 'purple_background': 45,
- 'cyan_background': 46, 'white_background': 47}
-
-_styles = {'grep.match': 'red bold',
- 'branches.active': 'none',
- 'branches.closed': 'black bold',
- 'branches.current': 'green',
- 'branches.inactive': 'none',
- 'diff.changed': 'white',
- 'diff.deleted': 'red',
- 'diff.diffline': 'bold',
- 'diff.extended': 'cyan bold',
- 'diff.file_a': 'red bold',
- 'diff.file_b': 'green bold',
- 'diff.hunk': 'magenta',
- 'diff.inserted': 'green',
- 'diff.trailingwhitespace': 'bold red_background',
- 'diffstat.deleted': 'red',
- 'diffstat.inserted': 'green',
- 'log.changeset': 'yellow',
- 'resolve.resolved': 'green bold',
- 'resolve.unresolved': 'red bold',
- 'status.added': 'green bold',
- 'status.clean': 'none',
- 'status.copied': 'none',
- 'status.deleted': 'cyan bold underline',
- 'status.ignored': 'black bold',
- 'status.modified': 'blue bold',
- 'status.removed': 'red bold',
- 'status.unknown': 'magenta bold underline'}
-
-
-def render_effects(text, effects):
- 'Wrap text in commands to turn on each effect.'
- if not text:
- return text
- start = [str(_effects[e]) for e in ['none'] + effects.split()]
- start = '\033[' + ';'.join(start) + 'm'
- stop = '\033[' + str(_effects['none']) + 'm'
- return ''.join([start, text, stop])
-
-def extstyles():
- for name, ext in extensions.extensions():
- _styles.update(getattr(ext, 'colortable', {}))
-
-def configstyles(ui):
- for status, cfgeffects in ui.configitems('color'):
- if '.' not in status:
- continue
- cfgeffects = ui.configlist('color', status)
- if cfgeffects:
- good = []
- for e in cfgeffects:
- if e in _effects:
- good.append(e)
- else:
- ui.warn(_("ignoring unknown color/effect %r "
- "(configured in color.%s)\n")
- % (e, status))
- _styles[status] = ' '.join(good)
-
-class colorui(uimod.ui):
- def popbuffer(self, labeled=False):
- if labeled:
- return ''.join(self.label(a, label) for a, label
- in self._buffers.pop())
- return ''.join(a for a, label in self._buffers.pop())
-
- _colormode = 'ansi'
- def write(self, *args, **opts):
- label = opts.get('label', '')
- if self._buffers:
- self._buffers[-1].extend([(str(a), label) for a in args])
- elif self._colormode == 'win32':
- for a in args:
- win32print(a, super(colorui, self).write, **opts)
- else:
- return super(colorui, self).write(
- *[self.label(str(a), label) for a in args], **opts)
-
- def write_err(self, *args, **opts):
- label = opts.get('label', '')
- if self._colormode == 'win32':
- for a in args:
- win32print(a, super(colorui, self).write_err, **opts)
- else:
- return super(colorui, self).write_err(
- *[self.label(str(a), label) for a in args], **opts)
-
- def label(self, msg, label):
- effects = []
- for l in label.split():
- s = _styles.get(l, '')
- if s:
- effects.append(s)
- effects = ''.join(effects)
- if effects:
- return '\n'.join([render_effects(s, effects)
- for s in msg.split('\n')])
- return msg
-
-
-def uisetup(ui):
- if ui.plain():
- return
- mode = ui.config('color', 'mode', 'auto')
- if mode == 'auto':
- if os.name == 'nt' and 'TERM' not in os.environ:
- # looks line a cmd.exe console, use win32 API or nothing
- mode = w32effects and 'win32' or 'none'
- else:
- mode = 'ansi'
- if mode == 'win32':
- if w32effects is None:
- # only warn if color.mode is explicitly set to win32
- ui.warn(_('win32console not found, please install pywin32\n'))
- return
- _effects.update(w32effects)
- elif mode != 'ansi':
- return
- def colorcmd(orig, ui_, opts, cmd, cmdfunc):
- coloropt = opts['color']
- auto = coloropt == 'auto'
- always = util.parsebool(coloropt)
- if (always or
- (always is None and
- (auto and (os.environ.get('TERM') != 'dumb' and ui_.formatted())))):
- colorui._colormode = mode
- colorui.__bases__ = (ui_.__class__,)
- ui_.__class__ = colorui
- extstyles()
- configstyles(ui_)
- return orig(ui_, opts, cmd, cmdfunc)
- extensions.wrapfunction(dispatch, '_runcommand', colorcmd)
-
-def extsetup(ui):
- commands.globalopts.append(
- ('', 'color', 'auto',
- # i18n: 'always', 'auto', and 'never' are keywords and should
- # not be translated
- _("when to colorize (boolean, always, auto, or never)"),
- _('TYPE')))
-
-try:
- import re, pywintypes, win32console as win32c
-
- # http://msdn.microsoft.com/en-us/library/ms682088%28VS.85%29.aspx
- w32effects = {
- 'none': -1,
- 'black': 0,
- 'red': win32c.FOREGROUND_RED,
- 'green': win32c.FOREGROUND_GREEN,
- 'yellow': win32c.FOREGROUND_RED | win32c.FOREGROUND_GREEN,
- 'blue': win32c.FOREGROUND_BLUE,
- 'magenta': win32c.FOREGROUND_BLUE | win32c.FOREGROUND_RED,
- 'cyan': win32c.FOREGROUND_BLUE | win32c.FOREGROUND_GREEN,
- 'white': (win32c.FOREGROUND_RED | win32c.FOREGROUND_GREEN |
- win32c.FOREGROUND_BLUE),
- 'bold': win32c.FOREGROUND_INTENSITY,
- 'black_background': 0x100, # unused value > 0x0f
- 'red_background': win32c.BACKGROUND_RED,
- 'green_background': win32c.BACKGROUND_GREEN,
- 'yellow_background': win32c.BACKGROUND_RED | win32c.BACKGROUND_GREEN,
- 'blue_background': win32c.BACKGROUND_BLUE,
- 'purple_background': win32c.BACKGROUND_BLUE | win32c.BACKGROUND_RED,
- 'cyan_background': win32c.BACKGROUND_BLUE | win32c.BACKGROUND_GREEN,
- 'white_background': (win32c.BACKGROUND_RED | win32c.BACKGROUND_GREEN |
- win32c.BACKGROUND_BLUE),
- 'bold_background': win32c.BACKGROUND_INTENSITY,
- 'underline': win32c.COMMON_LVB_UNDERSCORE, # double-byte charsets only
- 'inverse': win32c.COMMON_LVB_REVERSE_VIDEO, # double-byte charsets only
- }
-
- passthrough = set([win32c.FOREGROUND_INTENSITY,
- win32c.BACKGROUND_INTENSITY,
- win32c.COMMON_LVB_UNDERSCORE,
- win32c.COMMON_LVB_REVERSE_VIDEO])
-
- try:
- stdout = win32c.GetStdHandle(win32c.STD_OUTPUT_HANDLE)
- if stdout is None:
- raise ImportError()
- origattr = stdout.GetConsoleScreenBufferInfo()['Attributes']
- except pywintypes.error:
- # stdout may be defined but not support
- # GetConsoleScreenBufferInfo(), when called from subprocess or
- # redirected.
- raise ImportError()
- ansire = re.compile('\033\[([^m]*)m([^\033]*)(.*)', re.MULTILINE | re.DOTALL)
-
- def win32print(text, orig, **opts):
- label = opts.get('label', '')
- attr = origattr
-
- def mapcolor(val, attr):
- if val == -1:
- return origattr
- elif val in passthrough:
- return attr | val
- elif val > 0x0f:
- return (val & 0x70) | (attr & 0x8f)
- else:
- return (val & 0x07) | (attr & 0xf8)
-
- # determine console attributes based on labels
- for l in label.split():
- style = _styles.get(l, '')
- for effect in style.split():
- attr = mapcolor(w32effects[effect], attr)
-
- # hack to ensure regexp finds data
- if not text.startswith('\033['):
- text = '\033[m' + text
-
- # Look for ANSI-like codes embedded in text
- m = re.match(ansire, text)
- while m:
- for sattr in m.group(1).split(';'):
- if sattr:
- attr = mapcolor(int(sattr), attr)
- stdout.SetConsoleTextAttribute(attr)
- orig(m.group(2), **opts)
- m = re.match(ansire, m.group(3))
-
- # Explicity reset original attributes
- stdout.SetConsoleTextAttribute(origattr)
-
-except ImportError:
- w32effects = None
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/color.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/color.pyo
deleted file mode 100644
index 2f131ee..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/color.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/__init__.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/__init__.py
deleted file mode 100644
index be7aca5..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/__init__.py
+++ /dev/null
@@ -1,321 +0,0 @@
-# convert.py Foreign SCM converter
-#
-# Copyright 2005-2007 Matt Mackall
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-'''import revisions from foreign VCS repositories into Mercurial'''
-
-import convcmd
-import cvsps
-import subversion
-from mercurial import commands
-from mercurial.i18n import _
-
-# Commands definition was moved elsewhere to ease demandload job.
-
-def convert(ui, src, dest=None, revmapfile=None, **opts):
- """convert a foreign SCM repository to a Mercurial one.
-
- Accepted source formats [identifiers]:
-
- - Mercurial [hg]
- - CVS [cvs]
- - Darcs [darcs]
- - git [git]
- - Subversion [svn]
- - Monotone [mtn]
- - GNU Arch [gnuarch]
- - Bazaar [bzr]
- - Perforce [p4]
-
- Accepted destination formats [identifiers]:
-
- - Mercurial [hg]
- - Subversion [svn] (history on branches is not preserved)
-
- If no revision is given, all revisions will be converted.
- Otherwise, convert will only import up to the named revision
- (given in a format understood by the source).
-
- If no destination directory name is specified, it defaults to the
- basename of the source with ``-hg`` appended. If the destination
- repository doesn't exist, it will be created.
-
- By default, all sources except Mercurial will use --branchsort.
- Mercurial uses --sourcesort to preserve original revision numbers
- order. Sort modes have the following effects:
-
- --branchsort convert from parent to child revision when possible,
- which means branches are usually converted one after
- the other. It generates more compact repositories.
-
- --datesort sort revisions by date. Converted repositories have
- good-looking changelogs but are often an order of
- magnitude larger than the same ones generated by
- --branchsort.
-
- --sourcesort try to preserve source revisions order, only
- supported by Mercurial sources.
-
- If isn't given, it will be put in a default location
- (/.hg/shamap by default). The is a simple text file
- that maps each source commit ID to the destination ID for that
- revision, like so::
-
-
-
- If the file doesn't exist, it's automatically created. It's
- updated on each commit copied, so :hg:`convert` can be interrupted
- and can be run repeatedly to copy new commits.
-
- The authormap is a simple text file that maps each source commit
- author to a destination commit author. It is handy for source SCMs
- that use unix logins to identify authors (eg: CVS). One line per
- author mapping and the line format is::
-
- source author = destination author
-
- Empty lines and lines starting with a ``#`` are ignored.
-
- The filemap is a file that allows filtering and remapping of files
- and directories. Each line can contain one of the following
- directives::
-
- include path/to/file-or-dir
-
- exclude path/to/file-or-dir
-
- rename path/to/source path/to/destination
-
- Comment lines start with ``#``. A specified path matches if it
- equals the full relative name of a file or one of its parent
- directories. The ``include`` or ``exclude`` directive with the
- longest matching path applies, so line order does not matter.
-
- The ``include`` directive causes a file, or all files under a
- directory, to be included in the destination repository, and the
- exclusion of all other files and directories not explicitly
- included. The ``exclude`` directive causes files or directories to
- be omitted. The ``rename`` directive renames a file or directory if
- it is converted. To rename from a subdirectory into the root of
- the repository, use ``.`` as the path to rename to.
-
- The splicemap is a file that allows insertion of synthetic
- history, letting you specify the parents of a revision. This is
- useful if you want to e.g. give a Subversion merge two parents, or
- graft two disconnected series of history together. Each entry
- contains a key, followed by a space, followed by one or two
- comma-separated values::
-
- key parent1, parent2
-
- The key is the revision ID in the source
- revision control system whose parents should be modified (same
- format as a key in .hg/shamap). The values are the revision IDs
- (in either the source or destination revision control system) that
- should be used as the new parents for that node. For example, if
- you have merged "release-1.0" into "trunk", then you should
- specify the revision on "trunk" as the first parent and the one on
- the "release-1.0" branch as the second.
-
- The branchmap is a file that allows you to rename a branch when it is
- being brought in from whatever external repository. When used in
- conjunction with a splicemap, it allows for a powerful combination
- to help fix even the most badly mismanaged repositories and turn them
- into nicely structured Mercurial repositories. The branchmap contains
- lines of the form::
-
- original_branch_name new_branch_name
-
- where "original_branch_name" is the name of the branch in the
- source repository, and "new_branch_name" is the name of the branch
- is the destination repository. No whitespace is allowed in the
- branch names. This can be used to (for instance) move code in one
- repository from "default" to a named branch.
-
- Mercurial Source
- ''''''''''''''''
-
- --config convert.hg.ignoreerrors=False (boolean)
- ignore integrity errors when reading. Use it to fix Mercurial
- repositories with missing revlogs, by converting from and to
- Mercurial.
- --config convert.hg.saverev=False (boolean)
- store original revision ID in changeset (forces target IDs to
- change)
- --config convert.hg.startrev=0 (hg revision identifier)
- convert start revision and its descendants
-
- CVS Source
- ''''''''''
-
- CVS source will use a sandbox (i.e. a checked-out copy) from CVS
- to indicate the starting point of what will be converted. Direct
- access to the repository files is not needed, unless of course the
- repository is :local:. The conversion uses the top level directory
- in the sandbox to find the CVS repository, and then uses CVS rlog
- commands to find files to convert. This means that unless a
- filemap is given, all files under the starting directory will be
- converted, and that any directory reorganization in the CVS
- sandbox is ignored.
-
- The options shown are the defaults.
-
- --config convert.cvsps.cache=True (boolean)
- Set to False to disable remote log caching, for testing and
- debugging purposes.
- --config convert.cvsps.fuzz=60 (integer)
- Specify the maximum time (in seconds) that is allowed between
- commits with identical user and log message in a single
- changeset. When very large files were checked in as part of a
- changeset then the default may not be long enough.
- --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'
- Specify a regular expression to which commit log messages are
- matched. If a match occurs, then the conversion process will
- insert a dummy revision merging the branch on which this log
- message occurs to the branch indicated in the regex.
- --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'
- Specify a regular expression to which commit log messages are
- matched. If a match occurs, then the conversion process will
- add the most recent revision on the branch indicated in the
- regex as the second parent of the changeset.
- --config hook.cvslog
- Specify a Python function to be called at the end of gathering
- the CVS log. The function is passed a list with the log entries,
- and can modify the entries in-place, or add or delete them.
- --config hook.cvschangesets
- Specify a Python function to be called after the changesets
- are calculated from the the CVS log. The function is passed
- a list with the changeset entries, and can modify the changesets
- in-place, or add or delete them.
-
- An additional "debugcvsps" Mercurial command allows the builtin
- changeset merging code to be run without doing a conversion. Its
- parameters and output are similar to that of cvsps 2.1. Please see
- the command help for more details.
-
- Subversion Source
- '''''''''''''''''
-
- Subversion source detects classical trunk/branches/tags layouts.
- By default, the supplied "svn://repo/path/" source URL is
- converted as a single branch. If "svn://repo/path/trunk" exists it
- replaces the default branch. If "svn://repo/path/branches" exists,
- its subdirectories are listed as possible branches. If
- "svn://repo/path/tags" exists, it is looked for tags referencing
- converted branches. Default "trunk", "branches" and "tags" values
- can be overridden with following options. Set them to paths
- relative to the source URL, or leave them blank to disable auto
- detection.
-
- --config convert.svn.branches=branches (directory name)
- specify the directory containing branches
- --config convert.svn.tags=tags (directory name)
- specify the directory containing tags
- --config convert.svn.trunk=trunk (directory name)
- specify the name of the trunk branch
-
- Source history can be retrieved starting at a specific revision,
- instead of being integrally converted. Only single branch
- conversions are supported.
-
- --config convert.svn.startrev=0 (svn revision number)
- specify start Subversion revision.
-
- Perforce Source
- '''''''''''''''
-
- The Perforce (P4) importer can be given a p4 depot path or a
- client specification as source. It will convert all files in the
- source to a flat Mercurial repository, ignoring labels, branches
- and integrations. Note that when a depot path is given you then
- usually should specify a target directory, because otherwise the
- target may be named ...-hg.
-
- It is possible to limit the amount of source history to be
- converted by specifying an initial Perforce revision.
-
- --config convert.p4.startrev=0 (perforce changelist number)
- specify initial Perforce revision.
-
- Mercurial Destination
- '''''''''''''''''''''
-
- --config convert.hg.clonebranches=False (boolean)
- dispatch source branches in separate clones.
- --config convert.hg.tagsbranch=default (branch name)
- tag revisions branch name
- --config convert.hg.usebranchnames=True (boolean)
- preserve branch names
-
- """
- return convcmd.convert(ui, src, dest, revmapfile, **opts)
-
-def debugsvnlog(ui, **opts):
- return subversion.debugsvnlog(ui, **opts)
-
-def debugcvsps(ui, *args, **opts):
- '''create changeset information from CVS
-
- This command is intended as a debugging tool for the CVS to
- Mercurial converter, and can be used as a direct replacement for
- cvsps.
-
- Hg debugcvsps reads the CVS rlog for current directory (or any
- named directory) in the CVS repository, and converts the log to a
- series of changesets based on matching commit log entries and
- dates.'''
- return cvsps.debugcvsps(ui, *args, **opts)
-
-commands.norepo += " convert debugsvnlog debugcvsps"
-
-cmdtable = {
- "convert":
- (convert,
- [('', 'authors', '',
- _('username mapping filename (DEPRECATED, use --authormap instead)'),
- _('FILE')),
- ('s', 'source-type', '',
- _('source repository type'), _('TYPE')),
- ('d', 'dest-type', '',
- _('destination repository type'), _('TYPE')),
- ('r', 'rev', '',
- _('import up to target revision REV'), _('REV')),
- ('A', 'authormap', '',
- _('remap usernames using this file'), _('FILE')),
- ('', 'filemap', '',
- _('remap file names using contents of file'), _('FILE')),
- ('', 'splicemap', '',
- _('splice synthesized history into place'), _('FILE')),
- ('', 'branchmap', '',
- _('change branch names while converting'), _('FILE')),
- ('', 'branchsort', None, _('try to sort changesets by branches')),
- ('', 'datesort', None, _('try to sort changesets by date')),
- ('', 'sourcesort', None, _('preserve source changesets order'))],
- _('hg convert [OPTION]... SOURCE [DEST [REVMAP]]')),
- "debugsvnlog":
- (debugsvnlog,
- [],
- 'hg debugsvnlog'),
- "debugcvsps":
- (debugcvsps,
- [
- # Main options shared with cvsps-2.1
- ('b', 'branches', [], _('only return changes on specified branches')),
- ('p', 'prefix', '', _('prefix to remove from file names')),
- ('r', 'revisions', [],
- _('only return changes after or between specified tags')),
- ('u', 'update-cache', None, _("update cvs log cache")),
- ('x', 'new-cache', None, _("create new cvs log cache")),
- ('z', 'fuzz', 60, _('set commit time fuzz in seconds')),
- ('', 'root', '', _('specify cvsroot')),
- # Options specific to builtin cvsps
- ('', 'parents', '', _('show parent changesets')),
- ('', 'ancestors', '', _('show current changeset in ancestor branches')),
- # Options that are ignored for compatibility with cvsps-2.1
- ('A', 'cvs-direct', None, _('ignored for compatibility')),
- ],
- _('hg debugcvsps [OPTION]... [PATH]...')),
-}
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/__init__.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/__init__.pyo
deleted file mode 100644
index 892b438..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/__init__.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/bzr.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/bzr.py
deleted file mode 100644
index cc16258..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/bzr.py
+++ /dev/null
@@ -1,260 +0,0 @@
-# bzr.py - bzr support for the convert extension
-#
-# Copyright 2008, 2009 Marek Kubica and others
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-# This module is for handling 'bzr', that was formerly known as Bazaar-NG;
-# it cannot access 'bar' repositories, but they were never used very much
-
-import os
-from mercurial import demandimport
-# these do not work with demandimport, blacklist
-demandimport.ignore.extend([
- 'bzrlib.transactions',
- 'bzrlib.urlutils',
- 'ElementPath',
- ])
-
-from mercurial.i18n import _
-from mercurial import util
-from common import NoRepo, commit, converter_source
-
-try:
- # bazaar imports
- from bzrlib import branch, revision, errors
- from bzrlib.revisionspec import RevisionSpec
-except ImportError:
- pass
-
-supportedkinds = ('file', 'symlink')
-
-class bzr_source(converter_source):
- """Reads Bazaar repositories by using the Bazaar Python libraries"""
-
- def __init__(self, ui, path, rev=None):
- super(bzr_source, self).__init__(ui, path, rev=rev)
-
- if not os.path.exists(os.path.join(path, '.bzr')):
- raise NoRepo(_('%s does not look like a Bazaar repository')
- % path)
-
- try:
- # access bzrlib stuff
- branch
- except NameError:
- raise NoRepo(_('Bazaar modules could not be loaded'))
-
- path = os.path.abspath(path)
- self._checkrepotype(path)
- self.branch = branch.Branch.open(path)
- self.sourcerepo = self.branch.repository
- self._parentids = {}
-
- def _checkrepotype(self, path):
- # Lightweight checkouts detection is informational but probably
- # fragile at API level. It should not terminate the conversion.
- try:
- from bzrlib import bzrdir
- dir = bzrdir.BzrDir.open_containing(path)[0]
- try:
- tree = dir.open_workingtree(recommend_upgrade=False)
- branch = tree.branch
- except (errors.NoWorkingTree, errors.NotLocalUrl):
- tree = None
- branch = dir.open_branch()
- if (tree is not None and tree.bzrdir.root_transport.base !=
- branch.bzrdir.root_transport.base):
- self.ui.warn(_('warning: lightweight checkouts may cause '
- 'conversion failures, try with a regular '
- 'branch instead.\n'))
- except:
- self.ui.note(_('bzr source type could not be determined\n'))
-
- def before(self):
- """Before the conversion begins, acquire a read lock
- for all the operations that might need it. Fortunately
- read locks don't block other reads or writes to the
- repository, so this shouldn't have any impact on the usage of
- the source repository.
-
- The alternative would be locking on every operation that
- needs locks (there are currently two: getting the file and
- getting the parent map) and releasing immediately after,
- but this approach can take even 40% longer."""
- self.sourcerepo.lock_read()
-
- def after(self):
- self.sourcerepo.unlock()
-
- def getheads(self):
- if not self.rev:
- return [self.branch.last_revision()]
- try:
- r = RevisionSpec.from_string(self.rev)
- info = r.in_history(self.branch)
- except errors.BzrError:
- raise util.Abort(_('%s is not a valid revision in current branch')
- % self.rev)
- return [info.rev_id]
-
- def getfile(self, name, rev):
- revtree = self.sourcerepo.revision_tree(rev)
- fileid = revtree.path2id(name.decode(self.encoding or 'utf-8'))
- kind = None
- if fileid is not None:
- kind = revtree.kind(fileid)
- if kind not in supportedkinds:
- # the file is not available anymore - was deleted
- raise IOError(_('%s is not available in %s anymore') %
- (name, rev))
- mode = self._modecache[(name, rev)]
- if kind == 'symlink':
- target = revtree.get_symlink_target(fileid)
- if target is None:
- raise util.Abort(_('%s.%s symlink has no target')
- % (name, rev))
- return target, mode
- else:
- sio = revtree.get_file(fileid)
- return sio.read(), mode
-
- def getchanges(self, version):
- # set up caches: modecache and revtree
- self._modecache = {}
- self._revtree = self.sourcerepo.revision_tree(version)
- # get the parentids from the cache
- parentids = self._parentids.pop(version)
- # only diff against first parent id
- prevtree = self.sourcerepo.revision_tree(parentids[0])
- return self._gettreechanges(self._revtree, prevtree)
-
- def getcommit(self, version):
- rev = self.sourcerepo.get_revision(version)
- # populate parent id cache
- if not rev.parent_ids:
- parents = []
- self._parentids[version] = (revision.NULL_REVISION,)
- else:
- parents = self._filterghosts(rev.parent_ids)
- self._parentids[version] = parents
-
- return commit(parents=parents,
- date='%d %d' % (rev.timestamp, -rev.timezone),
- author=self.recode(rev.committer),
- # bzr returns bytestrings or unicode, depending on the content
- desc=self.recode(rev.message),
- rev=version)
-
- def gettags(self):
- if not self.branch.supports_tags():
- return {}
- tagdict = self.branch.tags.get_tag_dict()
- bytetags = {}
- for name, rev in tagdict.iteritems():
- bytetags[self.recode(name)] = rev
- return bytetags
-
- def getchangedfiles(self, rev, i):
- self._modecache = {}
- curtree = self.sourcerepo.revision_tree(rev)
- if i is not None:
- parentid = self._parentids[rev][i]
- else:
- # no parent id, get the empty revision
- parentid = revision.NULL_REVISION
-
- prevtree = self.sourcerepo.revision_tree(parentid)
- changes = [e[0] for e in self._gettreechanges(curtree, prevtree)[0]]
- return changes
-
- def _gettreechanges(self, current, origin):
- revid = current._revision_id
- changes = []
- renames = {}
- for (fileid, paths, changed_content, versioned, parent, name,
- kind, executable) in current.iter_changes(origin):
-
- if paths[0] == u'' or paths[1] == u'':
- # ignore changes to tree root
- continue
-
- # bazaar tracks directories, mercurial does not, so
- # we have to rename the directory contents
- if kind[1] == 'directory':
- if kind[0] not in (None, 'directory'):
- # Replacing 'something' with a directory, record it
- # so it can be removed.
- changes.append((self.recode(paths[0]), revid))
-
- if None not in paths and paths[0] != paths[1]:
- # neither an add nor an delete - a move
- # rename all directory contents manually
- subdir = origin.inventory.path2id(paths[0])
- # get all child-entries of the directory
- for name, entry in origin.inventory.iter_entries(subdir):
- # hg does not track directory renames
- if entry.kind == 'directory':
- continue
- frompath = self.recode(paths[0] + '/' + name)
- topath = self.recode(paths[1] + '/' + name)
- # register the files as changed
- changes.append((frompath, revid))
- changes.append((topath, revid))
- # add to mode cache
- mode = ((entry.executable and 'x')
- or (entry.kind == 'symlink' and 's')
- or '')
- self._modecache[(topath, revid)] = mode
- # register the change as move
- renames[topath] = frompath
-
- # no futher changes, go to the next change
- continue
-
- # we got unicode paths, need to convert them
- path, topath = [self.recode(part) for part in paths]
-
- if topath is None:
- # file deleted
- changes.append((path, revid))
- continue
-
- # renamed
- if path and path != topath:
- renames[topath] = path
- changes.append((path, revid))
-
- # populate the mode cache
- kind, executable = [e[1] for e in (kind, executable)]
- mode = ((executable and 'x') or (kind == 'symlink' and 'l')
- or '')
- self._modecache[(topath, revid)] = mode
- changes.append((topath, revid))
-
- return changes, renames
-
- def _filterghosts(self, ids):
- """Filters out ghost revisions which hg does not support, see
-
- """
- parentmap = self.sourcerepo.get_parent_map(ids)
- parents = tuple([parent for parent in ids if parent in parentmap])
- return parents
-
- def recode(self, s, encoding=None):
- """This version of recode tries to encode unicode to bytecode,
- and preferably using the UTF-8 codec.
- Other types than Unicode are silently returned, this is by
- intention, e.g. the None-type is not going to be encoded but instead
- just passed through
- """
- if not encoding:
- encoding = self.encoding or 'utf-8'
-
- if isinstance(s, unicode):
- return s.encode(encoding)
- else:
- # leave it alone
- return s
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/bzr.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/bzr.pyo
deleted file mode 100644
index ab47e99..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/bzr.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/common.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/common.py
deleted file mode 100644
index fb3865f..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/common.py
+++ /dev/null
@@ -1,389 +0,0 @@
-# common.py - common code for the convert extension
-#
-# Copyright 2005-2009 Matt Mackall and others
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-import base64, errno
-import os
-import cPickle as pickle
-from mercurial import util
-from mercurial.i18n import _
-
-def encodeargs(args):
- def encodearg(s):
- lines = base64.encodestring(s)
- lines = [l.splitlines()[0] for l in lines]
- return ''.join(lines)
-
- s = pickle.dumps(args)
- return encodearg(s)
-
-def decodeargs(s):
- s = base64.decodestring(s)
- return pickle.loads(s)
-
-class MissingTool(Exception):
- pass
-
-def checktool(exe, name=None, abort=True):
- name = name or exe
- if not util.find_exe(exe):
- exc = abort and util.Abort or MissingTool
- raise exc(_('cannot find required "%s" tool') % name)
-
-class NoRepo(Exception):
- pass
-
-SKIPREV = 'SKIP'
-
-class commit(object):
- def __init__(self, author, date, desc, parents, branch=None, rev=None,
- extra={}, sortkey=None):
- self.author = author or 'unknown'
- self.date = date or '0 0'
- self.desc = desc
- self.parents = parents
- self.branch = branch
- self.rev = rev
- self.extra = extra
- self.sortkey = sortkey
-
-class converter_source(object):
- """Conversion source interface"""
-
- def __init__(self, ui, path=None, rev=None):
- """Initialize conversion source (or raise NoRepo("message")
- exception if path is not a valid repository)"""
- self.ui = ui
- self.path = path
- self.rev = rev
-
- self.encoding = 'utf-8'
-
- def before(self):
- pass
-
- def after(self):
- pass
-
- def setrevmap(self, revmap):
- """set the map of already-converted revisions"""
- pass
-
- def getheads(self):
- """Return a list of this repository's heads"""
- raise NotImplementedError()
-
- def getfile(self, name, rev):
- """Return a pair (data, mode) where data is the file content
- as a string and mode one of '', 'x' or 'l'. rev is the
- identifier returned by a previous call to getchanges(). Raise
- IOError to indicate that name was deleted in rev.
- """
- raise NotImplementedError()
-
- def getchanges(self, version):
- """Returns a tuple of (files, copies).
-
- files is a sorted list of (filename, id) tuples for all files
- changed between version and its first parent returned by
- getcommit(). id is the source revision id of the file.
-
- copies is a dictionary of dest: source
- """
- raise NotImplementedError()
-
- def getcommit(self, version):
- """Return the commit object for version"""
- raise NotImplementedError()
-
- def gettags(self):
- """Return the tags as a dictionary of name: revision
-
- Tag names must be UTF-8 strings.
- """
- raise NotImplementedError()
-
- def recode(self, s, encoding=None):
- if not encoding:
- encoding = self.encoding or 'utf-8'
-
- if isinstance(s, unicode):
- return s.encode("utf-8")
- try:
- return s.decode(encoding).encode("utf-8")
- except:
- try:
- return s.decode("latin-1").encode("utf-8")
- except:
- return s.decode(encoding, "replace").encode("utf-8")
-
- def getchangedfiles(self, rev, i):
- """Return the files changed by rev compared to parent[i].
-
- i is an index selecting one of the parents of rev. The return
- value should be the list of files that are different in rev and
- this parent.
-
- If rev has no parents, i is None.
-
- This function is only needed to support --filemap
- """
- raise NotImplementedError()
-
- def converted(self, rev, sinkrev):
- '''Notify the source that a revision has been converted.'''
- pass
-
- def hasnativeorder(self):
- """Return true if this source has a meaningful, native revision
- order. For instance, Mercurial revisions are store sequentially
- while there is no such global ordering with Darcs.
- """
- return False
-
- def lookuprev(self, rev):
- """If rev is a meaningful revision reference in source, return
- the referenced identifier in the same format used by getcommit().
- return None otherwise.
- """
- return None
-
-class converter_sink(object):
- """Conversion sink (target) interface"""
-
- def __init__(self, ui, path):
- """Initialize conversion sink (or raise NoRepo("message")
- exception if path is not a valid repository)
-
- created is a list of paths to remove if a fatal error occurs
- later"""
- self.ui = ui
- self.path = path
- self.created = []
-
- def getheads(self):
- """Return a list of this repository's heads"""
- raise NotImplementedError()
-
- def revmapfile(self):
- """Path to a file that will contain lines
- source_rev_id sink_rev_id
- mapping equivalent revision identifiers for each system."""
- raise NotImplementedError()
-
- def authorfile(self):
- """Path to a file that will contain lines
- srcauthor=dstauthor
- mapping equivalent authors identifiers for each system."""
- return None
-
- def putcommit(self, files, copies, parents, commit, source, revmap):
- """Create a revision with all changed files listed in 'files'
- and having listed parents. 'commit' is a commit object
- containing at a minimum the author, date, and message for this
- changeset. 'files' is a list of (path, version) tuples,
- 'copies' is a dictionary mapping destinations to sources,
- 'source' is the source repository, and 'revmap' is a mapfile
- of source revisions to converted revisions. Only getfile() and
- lookuprev() should be called on 'source'.
-
- Note that the sink repository is not told to update itself to
- a particular revision (or even what that revision would be)
- before it receives the file data.
- """
- raise NotImplementedError()
-
- def puttags(self, tags):
- """Put tags into sink.
-
- tags: {tagname: sink_rev_id, ...} where tagname is an UTF-8 string.
- Return a pair (tag_revision, tag_parent_revision), or (None, None)
- if nothing was changed.
- """
- raise NotImplementedError()
-
- def setbranch(self, branch, pbranches):
- """Set the current branch name. Called before the first putcommit
- on the branch.
- branch: branch name for subsequent commits
- pbranches: (converted parent revision, parent branch) tuples"""
- pass
-
- def setfilemapmode(self, active):
- """Tell the destination that we're using a filemap
-
- Some converter_sources (svn in particular) can claim that a file
- was changed in a revision, even if there was no change. This method
- tells the destination that we're using a filemap and that it should
- filter empty revisions.
- """
- pass
-
- def before(self):
- pass
-
- def after(self):
- pass
-
-
-class commandline(object):
- def __init__(self, ui, command):
- self.ui = ui
- self.command = command
-
- def prerun(self):
- pass
-
- def postrun(self):
- pass
-
- def _cmdline(self, cmd, *args, **kwargs):
- cmdline = [self.command, cmd] + list(args)
- for k, v in kwargs.iteritems():
- if len(k) == 1:
- cmdline.append('-' + k)
- else:
- cmdline.append('--' + k.replace('_', '-'))
- try:
- if len(k) == 1:
- cmdline.append('' + v)
- else:
- cmdline[-1] += '=' + v
- except TypeError:
- pass
- cmdline = [util.shellquote(arg) for arg in cmdline]
- if not self.ui.debugflag:
- cmdline += ['2>', util.nulldev]
- cmdline += ['<', util.nulldev]
- cmdline = ' '.join(cmdline)
- return cmdline
-
- def _run(self, cmd, *args, **kwargs):
- cmdline = self._cmdline(cmd, *args, **kwargs)
- self.ui.debug('running: %s\n' % (cmdline,))
- self.prerun()
- try:
- return util.popen(cmdline)
- finally:
- self.postrun()
-
- def run(self, cmd, *args, **kwargs):
- fp = self._run(cmd, *args, **kwargs)
- output = fp.read()
- self.ui.debug(output)
- return output, fp.close()
-
- def runlines(self, cmd, *args, **kwargs):
- fp = self._run(cmd, *args, **kwargs)
- output = fp.readlines()
- self.ui.debug(''.join(output))
- return output, fp.close()
-
- def checkexit(self, status, output=''):
- if status:
- if output:
- self.ui.warn(_('%s error:\n') % self.command)
- self.ui.warn(output)
- msg = util.explain_exit(status)[0]
- raise util.Abort('%s %s' % (self.command, msg))
-
- def run0(self, cmd, *args, **kwargs):
- output, status = self.run(cmd, *args, **kwargs)
- self.checkexit(status, output)
- return output
-
- def runlines0(self, cmd, *args, **kwargs):
- output, status = self.runlines(cmd, *args, **kwargs)
- self.checkexit(status, ''.join(output))
- return output
-
- def getargmax(self):
- if '_argmax' in self.__dict__:
- return self._argmax
-
- # POSIX requires at least 4096 bytes for ARG_MAX
- self._argmax = 4096
- try:
- self._argmax = os.sysconf("SC_ARG_MAX")
- except:
- pass
-
- # Windows shells impose their own limits on command line length,
- # down to 2047 bytes for cmd.exe under Windows NT/2k and 2500 bytes
- # for older 4nt.exe. See http://support.microsoft.com/kb/830473 for
- # details about cmd.exe limitations.
-
- # Since ARG_MAX is for command line _and_ environment, lower our limit
- # (and make happy Windows shells while doing this).
-
- self._argmax = self._argmax / 2 - 1
- return self._argmax
-
- def limit_arglist(self, arglist, cmd, *args, **kwargs):
- limit = self.getargmax() - len(self._cmdline(cmd, *args, **kwargs))
- bytes = 0
- fl = []
- for fn in arglist:
- b = len(fn) + 3
- if bytes + b < limit or len(fl) == 0:
- fl.append(fn)
- bytes += b
- else:
- yield fl
- fl = [fn]
- bytes = b
- if fl:
- yield fl
-
- def xargs(self, arglist, cmd, *args, **kwargs):
- for l in self.limit_arglist(arglist, cmd, *args, **kwargs):
- self.run0(cmd, *(list(args) + l), **kwargs)
-
-class mapfile(dict):
- def __init__(self, ui, path):
- super(mapfile, self).__init__()
- self.ui = ui
- self.path = path
- self.fp = None
- self.order = []
- self._read()
-
- def _read(self):
- if not self.path:
- return
- try:
- fp = open(self.path, 'r')
- except IOError, err:
- if err.errno != errno.ENOENT:
- raise
- return
- for i, line in enumerate(fp):
- try:
- key, value = line.splitlines()[0].rsplit(' ', 1)
- except ValueError:
- raise util.Abort(
- _('syntax error in %s(%d): key/value pair expected')
- % (self.path, i + 1))
- if key not in self:
- self.order.append(key)
- super(mapfile, self).__setitem__(key, value)
- fp.close()
-
- def __setitem__(self, key, value):
- if self.fp is None:
- try:
- self.fp = open(self.path, 'a')
- except IOError, err:
- raise util.Abort(_('could not open map file %r: %s') %
- (self.path, err.strerror))
- self.fp.write('%s %s\n' % (key, value))
- self.fp.flush()
- super(mapfile, self).__setitem__(key, value)
-
- def close(self):
- if self.fp:
- self.fp.close()
- self.fp = None
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/common.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/common.pyo
deleted file mode 100644
index de20000..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/common.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/convcmd.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/convcmd.py
deleted file mode 100644
index ac91b41..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/convcmd.py
+++ /dev/null
@@ -1,434 +0,0 @@
-# convcmd - convert extension commands definition
-#
-# Copyright 2005-2007 Matt Mackall
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-from common import NoRepo, MissingTool, SKIPREV, mapfile
-from cvs import convert_cvs
-from darcs import darcs_source
-from git import convert_git
-from hg import mercurial_source, mercurial_sink
-from subversion import svn_source, svn_sink
-from monotone import monotone_source
-from gnuarch import gnuarch_source
-from bzr import bzr_source
-from p4 import p4_source
-import filemap
-
-import os, shutil
-from mercurial import hg, util, encoding
-from mercurial.i18n import _
-
-orig_encoding = 'ascii'
-
-def recode(s):
- if isinstance(s, unicode):
- return s.encode(orig_encoding, 'replace')
- else:
- return s.decode('utf-8').encode(orig_encoding, 'replace')
-
-source_converters = [
- ('cvs', convert_cvs, 'branchsort'),
- ('git', convert_git, 'branchsort'),
- ('svn', svn_source, 'branchsort'),
- ('hg', mercurial_source, 'sourcesort'),
- ('darcs', darcs_source, 'branchsort'),
- ('mtn', monotone_source, 'branchsort'),
- ('gnuarch', gnuarch_source, 'branchsort'),
- ('bzr', bzr_source, 'branchsort'),
- ('p4', p4_source, 'branchsort'),
- ]
-
-sink_converters = [
- ('hg', mercurial_sink),
- ('svn', svn_sink),
- ]
-
-def convertsource(ui, path, type, rev):
- exceptions = []
- if type and type not in [s[0] for s in source_converters]:
- raise util.Abort(_('%s: invalid source repository type') % type)
- for name, source, sortmode in source_converters:
- try:
- if not type or name == type:
- return source(ui, path, rev), sortmode
- except (NoRepo, MissingTool), inst:
- exceptions.append(inst)
- if not ui.quiet:
- for inst in exceptions:
- ui.write("%s\n" % inst)
- raise util.Abort(_('%s: missing or unsupported repository') % path)
-
-def convertsink(ui, path, type):
- if type and type not in [s[0] for s in sink_converters]:
- raise util.Abort(_('%s: invalid destination repository type') % type)
- for name, sink in sink_converters:
- try:
- if not type or name == type:
- return sink(ui, path)
- except NoRepo, inst:
- ui.note(_("convert: %s\n") % inst)
- raise util.Abort(_('%s: unknown repository type') % path)
-
-class progresssource(object):
- def __init__(self, ui, source, filecount):
- self.ui = ui
- self.source = source
- self.filecount = filecount
- self.retrieved = 0
-
- def getfile(self, file, rev):
- self.retrieved += 1
- self.ui.progress(_('getting files'), self.retrieved,
- item=file, total=self.filecount)
- return self.source.getfile(file, rev)
-
- def lookuprev(self, rev):
- return self.source.lookuprev(rev)
-
- def close(self):
- self.ui.progress(_('getting files'), None)
-
-class converter(object):
- def __init__(self, ui, source, dest, revmapfile, opts):
-
- self.source = source
- self.dest = dest
- self.ui = ui
- self.opts = opts
- self.commitcache = {}
- self.authors = {}
- self.authorfile = None
-
- # Record converted revisions persistently: maps source revision
- # ID to target revision ID (both strings). (This is how
- # incremental conversions work.)
- self.map = mapfile(ui, revmapfile)
-
- # Read first the dst author map if any
- authorfile = self.dest.authorfile()
- if authorfile and os.path.exists(authorfile):
- self.readauthormap(authorfile)
- # Extend/Override with new author map if necessary
- if opts.get('authormap'):
- self.readauthormap(opts.get('authormap'))
- self.authorfile = self.dest.authorfile()
-
- self.splicemap = mapfile(ui, opts.get('splicemap'))
- self.branchmap = mapfile(ui, opts.get('branchmap'))
-
- def walktree(self, heads):
- '''Return a mapping that identifies the uncommitted parents of every
- uncommitted changeset.'''
- visit = heads
- known = set()
- parents = {}
- while visit:
- n = visit.pop(0)
- if n in known or n in self.map:
- continue
- known.add(n)
- self.ui.progress(_('scanning'), len(known), unit=_('revisions'))
- commit = self.cachecommit(n)
- parents[n] = []
- for p in commit.parents:
- parents[n].append(p)
- visit.append(p)
- self.ui.progress(_('scanning'), None)
-
- return parents
-
- def toposort(self, parents, sortmode):
- '''Return an ordering such that every uncommitted changeset is
- preceeded by all its uncommitted ancestors.'''
-
- def mapchildren(parents):
- """Return a (children, roots) tuple where 'children' maps parent
- revision identifiers to children ones, and 'roots' is the list of
- revisions without parents. 'parents' must be a mapping of revision
- identifier to its parents ones.
- """
- visit = parents.keys()
- seen = set()
- children = {}
- roots = []
-
- while visit:
- n = visit.pop(0)
- if n in seen:
- continue
- seen.add(n)
- # Ensure that nodes without parents are present in the
- # 'children' mapping.
- children.setdefault(n, [])
- hasparent = False
- for p in parents[n]:
- if not p in self.map:
- visit.append(p)
- hasparent = True
- children.setdefault(p, []).append(n)
- if not hasparent:
- roots.append(n)
-
- return children, roots
-
- # Sort functions are supposed to take a list of revisions which
- # can be converted immediately and pick one
-
- def makebranchsorter():
- """If the previously converted revision has a child in the
- eligible revisions list, pick it. Return the list head
- otherwise. Branch sort attempts to minimize branch
- switching, which is harmful for Mercurial backend
- compression.
- """
- prev = [None]
- def picknext(nodes):
- next = nodes[0]
- for n in nodes:
- if prev[0] in parents[n]:
- next = n
- break
- prev[0] = next
- return next
- return picknext
-
- def makesourcesorter():
- """Source specific sort."""
- keyfn = lambda n: self.commitcache[n].sortkey
- def picknext(nodes):
- return sorted(nodes, key=keyfn)[0]
- return picknext
-
- def makedatesorter():
- """Sort revisions by date."""
- dates = {}
- def getdate(n):
- if n not in dates:
- dates[n] = util.parsedate(self.commitcache[n].date)
- return dates[n]
-
- def picknext(nodes):
- return min([(getdate(n), n) for n in nodes])[1]
-
- return picknext
-
- if sortmode == 'branchsort':
- picknext = makebranchsorter()
- elif sortmode == 'datesort':
- picknext = makedatesorter()
- elif sortmode == 'sourcesort':
- picknext = makesourcesorter()
- else:
- raise util.Abort(_('unknown sort mode: %s') % sortmode)
-
- children, actives = mapchildren(parents)
-
- s = []
- pendings = {}
- while actives:
- n = picknext(actives)
- actives.remove(n)
- s.append(n)
-
- # Update dependents list
- for c in children.get(n, []):
- if c not in pendings:
- pendings[c] = [p for p in parents[c] if p not in self.map]
- try:
- pendings[c].remove(n)
- except ValueError:
- raise util.Abort(_('cycle detected between %s and %s')
- % (recode(c), recode(n)))
- if not pendings[c]:
- # Parents are converted, node is eligible
- actives.insert(0, c)
- pendings[c] = None
-
- if len(s) != len(parents):
- raise util.Abort(_("not all revisions were sorted"))
-
- return s
-
- def writeauthormap(self):
- authorfile = self.authorfile
- if authorfile:
- self.ui.status(_('Writing author map file %s\n') % authorfile)
- ofile = open(authorfile, 'w+')
- for author in self.authors:
- ofile.write("%s=%s\n" % (author, self.authors[author]))
- ofile.close()
-
- def readauthormap(self, authorfile):
- afile = open(authorfile, 'r')
- for line in afile:
-
- line = line.strip()
- if not line or line.startswith('#'):
- continue
-
- try:
- srcauthor, dstauthor = line.split('=', 1)
- except ValueError:
- msg = _('Ignoring bad line in author map file %s: %s\n')
- self.ui.warn(msg % (authorfile, line.rstrip()))
- continue
-
- srcauthor = srcauthor.strip()
- dstauthor = dstauthor.strip()
- if self.authors.get(srcauthor) in (None, dstauthor):
- msg = _('mapping author %s to %s\n')
- self.ui.debug(msg % (srcauthor, dstauthor))
- self.authors[srcauthor] = dstauthor
- continue
-
- m = _('overriding mapping for author %s, was %s, will be %s\n')
- self.ui.status(m % (srcauthor, self.authors[srcauthor], dstauthor))
-
- afile.close()
-
- def cachecommit(self, rev):
- commit = self.source.getcommit(rev)
- commit.author = self.authors.get(commit.author, commit.author)
- commit.branch = self.branchmap.get(commit.branch, commit.branch)
- self.commitcache[rev] = commit
- return commit
-
- def copy(self, rev):
- commit = self.commitcache[rev]
-
- changes = self.source.getchanges(rev)
- if isinstance(changes, basestring):
- if changes == SKIPREV:
- dest = SKIPREV
- else:
- dest = self.map[changes]
- self.map[rev] = dest
- return
- files, copies = changes
- pbranches = []
- if commit.parents:
- for prev in commit.parents:
- if prev not in self.commitcache:
- self.cachecommit(prev)
- pbranches.append((self.map[prev],
- self.commitcache[prev].branch))
- self.dest.setbranch(commit.branch, pbranches)
- try:
- parents = self.splicemap[rev].replace(',', ' ').split()
- self.ui.status(_('spliced in %s as parents of %s\n') %
- (parents, rev))
- parents = [self.map.get(p, p) for p in parents]
- except KeyError:
- parents = [b[0] for b in pbranches]
- source = progresssource(self.ui, self.source, len(files))
- newnode = self.dest.putcommit(files, copies, parents, commit,
- source, self.map)
- source.close()
- self.source.converted(rev, newnode)
- self.map[rev] = newnode
-
- def convert(self, sortmode):
- try:
- self.source.before()
- self.dest.before()
- self.source.setrevmap(self.map)
- self.ui.status(_("scanning source...\n"))
- heads = self.source.getheads()
- parents = self.walktree(heads)
- self.ui.status(_("sorting...\n"))
- t = self.toposort(parents, sortmode)
- num = len(t)
- c = None
-
- self.ui.status(_("converting...\n"))
- for i, c in enumerate(t):
- num -= 1
- desc = self.commitcache[c].desc
- if "\n" in desc:
- desc = desc.splitlines()[0]
- # convert log message to local encoding without using
- # tolocal() because the encoding.encoding convert()
- # uses is 'utf-8'
- self.ui.status("%d %s\n" % (num, recode(desc)))
- self.ui.note(_("source: %s\n") % recode(c))
- self.ui.progress(_('converting'), i, unit=_('revisions'),
- total=len(t))
- self.copy(c)
- self.ui.progress(_('converting'), None)
-
- tags = self.source.gettags()
- ctags = {}
- for k in tags:
- v = tags[k]
- if self.map.get(v, SKIPREV) != SKIPREV:
- ctags[k] = self.map[v]
-
- if c and ctags:
- nrev, tagsparent = self.dest.puttags(ctags)
- if nrev and tagsparent:
- # write another hash correspondence to override the previous
- # one so we don't end up with extra tag heads
- tagsparents = [e for e in self.map.iteritems()
- if e[1] == tagsparent]
- if tagsparents:
- self.map[tagsparents[0][0]] = nrev
-
- self.writeauthormap()
- finally:
- self.cleanup()
-
- def cleanup(self):
- try:
- self.dest.after()
- finally:
- self.source.after()
- self.map.close()
-
-def convert(ui, src, dest=None, revmapfile=None, **opts):
- global orig_encoding
- orig_encoding = encoding.encoding
- encoding.encoding = 'UTF-8'
-
- # support --authors as an alias for --authormap
- if not opts.get('authormap'):
- opts['authormap'] = opts.get('authors')
-
- if not dest:
- dest = hg.defaultdest(src) + "-hg"
- ui.status(_("assuming destination %s\n") % dest)
-
- destc = convertsink(ui, dest, opts.get('dest_type'))
-
- try:
- srcc, defaultsort = convertsource(ui, src, opts.get('source_type'),
- opts.get('rev'))
- except Exception:
- for path in destc.created:
- shutil.rmtree(path, True)
- raise
-
- sortmodes = ('branchsort', 'datesort', 'sourcesort')
- sortmode = [m for m in sortmodes if opts.get(m)]
- if len(sortmode) > 1:
- raise util.Abort(_('more than one sort mode specified'))
- sortmode = sortmode and sortmode[0] or defaultsort
- if sortmode == 'sourcesort' and not srcc.hasnativeorder():
- raise util.Abort(_('--sourcesort is not supported by this data source'))
-
- fmap = opts.get('filemap')
- if fmap:
- srcc = filemap.filemap_source(ui, srcc, fmap)
- destc.setfilemapmode(True)
-
- if not revmapfile:
- try:
- revmapfile = destc.revmapfile()
- except:
- revmapfile = os.path.join(destc, "map")
-
- c = converter(ui, srcc, destc, revmapfile, opts)
- c.convert(sortmode)
-
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/convcmd.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/convcmd.pyo
deleted file mode 100644
index 15f040a..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/convcmd.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvs.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvs.py
deleted file mode 100644
index 501fae2..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvs.py
+++ /dev/null
@@ -1,271 +0,0 @@
-# cvs.py: CVS conversion code inspired by hg-cvs-import and git-cvsimport
-#
-# Copyright 2005-2009 Matt Mackall and others
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-import os, re, socket, errno
-from cStringIO import StringIO
-from mercurial import encoding, util
-from mercurial.i18n import _
-
-from common import NoRepo, commit, converter_source, checktool
-import cvsps
-
-class convert_cvs(converter_source):
- def __init__(self, ui, path, rev=None):
- super(convert_cvs, self).__init__(ui, path, rev=rev)
-
- cvs = os.path.join(path, "CVS")
- if not os.path.exists(cvs):
- raise NoRepo(_("%s does not look like a CVS checkout") % path)
-
- checktool('cvs')
-
- self.changeset = None
- self.files = {}
- self.tags = {}
- self.lastbranch = {}
- self.socket = None
- self.cvsroot = open(os.path.join(cvs, "Root")).read()[:-1]
- self.cvsrepo = open(os.path.join(cvs, "Repository")).read()[:-1]
- self.encoding = encoding.encoding
-
- self._connect()
-
- def _parse(self):
- if self.changeset is not None:
- return
- self.changeset = {}
-
- maxrev = 0
- if self.rev:
- # TODO: handle tags
- try:
- # patchset number?
- maxrev = int(self.rev)
- except ValueError:
- raise util.Abort(_('revision %s is not a patchset number')
- % self.rev)
-
- d = os.getcwd()
- try:
- os.chdir(self.path)
- id = None
-
- cache = 'update'
- if not self.ui.configbool('convert', 'cvsps.cache', True):
- cache = None
- db = cvsps.createlog(self.ui, cache=cache)
- db = cvsps.createchangeset(self.ui, db,
- fuzz=int(self.ui.config('convert', 'cvsps.fuzz', 60)),
- mergeto=self.ui.config('convert', 'cvsps.mergeto', None),
- mergefrom=self.ui.config('convert', 'cvsps.mergefrom', None))
-
- for cs in db:
- if maxrev and cs.id > maxrev:
- break
- id = str(cs.id)
- cs.author = self.recode(cs.author)
- self.lastbranch[cs.branch] = id
- cs.comment = self.recode(cs.comment)
- date = util.datestr(cs.date)
- self.tags.update(dict.fromkeys(cs.tags, id))
-
- files = {}
- for f in cs.entries:
- files[f.file] = "%s%s" % ('.'.join([str(x)
- for x in f.revision]),
- ['', '(DEAD)'][f.dead])
-
- # add current commit to set
- c = commit(author=cs.author, date=date,
- parents=[str(p.id) for p in cs.parents],
- desc=cs.comment, branch=cs.branch or '')
- self.changeset[id] = c
- self.files[id] = files
-
- self.heads = self.lastbranch.values()
- finally:
- os.chdir(d)
-
- def _connect(self):
- root = self.cvsroot
- conntype = None
- user, host = None, None
- cmd = ['cvs', 'server']
-
- self.ui.status(_("connecting to %s\n") % root)
-
- if root.startswith(":pserver:"):
- root = root[9:]
- m = re.match(r'(?:(.*?)(?::(.*?))?@)?([^:\/]*)(?::(\d*))?(.*)',
- root)
- if m:
- conntype = "pserver"
- user, passw, serv, port, root = m.groups()
- if not user:
- user = "anonymous"
- if not port:
- port = 2401
- else:
- port = int(port)
- format0 = ":pserver:%s@%s:%s" % (user, serv, root)
- format1 = ":pserver:%s@%s:%d%s" % (user, serv, port, root)
-
- if not passw:
- passw = "A"
- cvspass = os.path.expanduser("~/.cvspass")
- try:
- pf = open(cvspass)
- for line in pf.read().splitlines():
- part1, part2 = line.split(' ', 1)
- if part1 == '/1':
- # /1 :pserver:user@example.com:2401/cvsroot/foo Ah 0:
- data = fp.read(min(count, chunksize))
- if not data:
- raise util.Abort(_("%d bytes missing from remote file")
- % count)
- count -= len(data)
- output.write(data)
- return output.getvalue()
-
- self._parse()
- if rev.endswith("(DEAD)"):
- raise IOError
-
- args = ("-N -P -kk -r %s --" % rev).split()
- args.append(self.cvsrepo + '/' + name)
- for x in args:
- self.writep.write("Argument %s\n" % x)
- self.writep.write("Directory .\n%s\nco\n" % self.realroot)
- self.writep.flush()
-
- data = ""
- mode = None
- while 1:
- line = self.readp.readline()
- if line.startswith("Created ") or line.startswith("Updated "):
- self.readp.readline() # path
- self.readp.readline() # entries
- mode = self.readp.readline()[:-1]
- count = int(self.readp.readline()[:-1])
- data = chunkedread(self.readp, count)
- elif line.startswith(" "):
- data += line[1:]
- elif line.startswith("M "):
- pass
- elif line.startswith("Mbinary "):
- count = int(self.readp.readline()[:-1])
- data = chunkedread(self.readp, count)
- else:
- if line == "ok\n":
- if mode is None:
- raise util.Abort(_('malformed response from CVS'))
- return (data, "x" in mode and "x" or "")
- elif line.startswith("E "):
- self.ui.warn(_("cvs server: %s\n") % line[2:])
- elif line.startswith("Remove"):
- self.readp.readline()
- else:
- raise util.Abort(_("unknown CVS response: %s") % line)
-
- def getchanges(self, rev):
- self._parse()
- return sorted(self.files[rev].iteritems()), {}
-
- def getcommit(self, rev):
- self._parse()
- return self.changeset[rev]
-
- def gettags(self):
- self._parse()
- return self.tags
-
- def getchangedfiles(self, rev, i):
- self._parse()
- return sorted(self.files[rev])
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvs.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvs.pyo
deleted file mode 100644
index d73fe3f..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvs.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvsps.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvsps.py
deleted file mode 100644
index 1519d41..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvsps.py
+++ /dev/null
@@ -1,847 +0,0 @@
-# Mercurial built-in replacement for cvsps.
-#
-# Copyright 2008, Frank Kingswood
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-import os
-import re
-import cPickle as pickle
-from mercurial import util
-from mercurial.i18n import _
-from mercurial import hook
-
-class logentry(object):
- '''Class logentry has the following attributes:
- .author - author name as CVS knows it
- .branch - name of branch this revision is on
- .branches - revision tuple of branches starting at this revision
- .comment - commit message
- .date - the commit date as a (time, tz) tuple
- .dead - true if file revision is dead
- .file - Name of file
- .lines - a tuple (+lines, -lines) or None
- .parent - Previous revision of this entry
- .rcs - name of file as returned from CVS
- .revision - revision number as tuple
- .tags - list of tags on the file
- .synthetic - is this a synthetic "file ... added on ..." revision?
- .mergepoint- the branch that has been merged from
- (if present in rlog output)
- .branchpoints- the branches that start at the current entry
- '''
- def __init__(self, **entries):
- self.synthetic = False
- self.__dict__.update(entries)
-
- def __repr__(self):
- return "<%s at 0x%x: %s %s>" % (self.__class__.__name__,
- id(self),
- self.file,
- ".".join(map(str, self.revision)))
-
-class logerror(Exception):
- pass
-
-def getrepopath(cvspath):
- """Return the repository path from a CVS path.
-
- >>> getrepopath('/foo/bar')
- '/foo/bar'
- >>> getrepopath('c:/foo/bar')
- 'c:/foo/bar'
- >>> getrepopath(':pserver:10/foo/bar')
- '/foo/bar'
- >>> getrepopath(':pserver:10c:/foo/bar')
- '/foo/bar'
- >>> getrepopath(':pserver:/foo/bar')
- '/foo/bar'
- >>> getrepopath(':pserver:c:/foo/bar')
- 'c:/foo/bar'
- >>> getrepopath(':pserver:truc@foo.bar:/foo/bar')
- '/foo/bar'
- >>> getrepopath(':pserver:truc@foo.bar:c:/foo/bar')
- 'c:/foo/bar'
- """
- # According to CVS manual, CVS paths are expressed like:
- # [:method:][[user][:password]@]hostname[:[port]]/path/to/repository
- #
- # Unfortunately, Windows absolute paths start with a drive letter
- # like 'c:' making it harder to parse. Here we assume that drive
- # letters are only one character long and any CVS component before
- # the repository path is at least 2 characters long, and use this
- # to disambiguate.
- parts = cvspath.split(':')
- if len(parts) == 1:
- return parts[0]
- # Here there is an ambiguous case if we have a port number
- # immediately followed by a Windows driver letter. We assume this
- # never happens and decide it must be CVS path component,
- # therefore ignoring it.
- if len(parts[-2]) > 1:
- return parts[-1].lstrip('0123456789')
- return parts[-2] + ':' + parts[-1]
-
-def createlog(ui, directory=None, root="", rlog=True, cache=None):
- '''Collect the CVS rlog'''
-
- # Because we store many duplicate commit log messages, reusing strings
- # saves a lot of memory and pickle storage space.
- _scache = {}
- def scache(s):
- "return a shared version of a string"
- return _scache.setdefault(s, s)
-
- ui.status(_('collecting CVS rlog\n'))
-
- log = [] # list of logentry objects containing the CVS state
-
- # patterns to match in CVS (r)log output, by state of use
- re_00 = re.compile('RCS file: (.+)$')
- re_01 = re.compile('cvs \\[r?log aborted\\]: (.+)$')
- re_02 = re.compile('cvs (r?log|server): (.+)\n$')
- re_03 = re.compile("(Cannot access.+CVSROOT)|"
- "(can't create temporary directory.+)$")
- re_10 = re.compile('Working file: (.+)$')
- re_20 = re.compile('symbolic names:')
- re_30 = re.compile('\t(.+): ([\\d.]+)$')
- re_31 = re.compile('----------------------------$')
- re_32 = re.compile('======================================='
- '======================================$')
- re_50 = re.compile('revision ([\\d.]+)(\s+locked by:\s+.+;)?$')
- re_60 = re.compile(r'date:\s+(.+);\s+author:\s+(.+);\s+state:\s+(.+?);'
- r'(\s+lines:\s+(\+\d+)?\s+(-\d+)?;)?'
- r'(.*mergepoint:\s+([^;]+);)?')
- re_70 = re.compile('branches: (.+);$')
-
- file_added_re = re.compile(r'file [^/]+ was (initially )?added on branch')
-
- prefix = '' # leading path to strip of what we get from CVS
-
- if directory is None:
- # Current working directory
-
- # Get the real directory in the repository
- try:
- prefix = open(os.path.join('CVS','Repository')).read().strip()
- directory = prefix
- if prefix == ".":
- prefix = ""
- except IOError:
- raise logerror(_('not a CVS sandbox'))
-
- if prefix and not prefix.endswith(os.sep):
- prefix += os.sep
-
- # Use the Root file in the sandbox, if it exists
- try:
- root = open(os.path.join('CVS','Root')).read().strip()
- except IOError:
- pass
-
- if not root:
- root = os.environ.get('CVSROOT', '')
-
- # read log cache if one exists
- oldlog = []
- date = None
-
- if cache:
- cachedir = os.path.expanduser('~/.hg.cvsps')
- if not os.path.exists(cachedir):
- os.mkdir(cachedir)
-
- # The cvsps cache pickle needs a uniquified name, based on the
- # repository location. The address may have all sort of nasties
- # in it, slashes, colons and such. So here we take just the
- # alphanumerics, concatenated in a way that does not mix up the
- # various components, so that
- # :pserver:user@server:/path
- # and
- # /pserver/user/server/path
- # are mapped to different cache file names.
- cachefile = root.split(":") + [directory, "cache"]
- cachefile = ['-'.join(re.findall(r'\w+', s)) for s in cachefile if s]
- cachefile = os.path.join(cachedir,
- '.'.join([s for s in cachefile if s]))
-
- if cache == 'update':
- try:
- ui.note(_('reading cvs log cache %s\n') % cachefile)
- oldlog = pickle.load(open(cachefile))
- ui.note(_('cache has %d log entries\n') % len(oldlog))
- except Exception, e:
- ui.note(_('error reading cache: %r\n') % e)
-
- if oldlog:
- date = oldlog[-1].date # last commit date as a (time,tz) tuple
- date = util.datestr(date, '%Y/%m/%d %H:%M:%S %1%2')
-
- # build the CVS commandline
- cmd = ['cvs', '-q']
- if root:
- cmd.append('-d%s' % root)
- p = util.normpath(getrepopath(root))
- if not p.endswith('/'):
- p += '/'
- if prefix:
- # looks like normpath replaces "" by "."
- prefix = p + util.normpath(prefix)
- else:
- prefix = p
- cmd.append(['log', 'rlog'][rlog])
- if date:
- # no space between option and date string
- cmd.append('-d>%s' % date)
- cmd.append(directory)
-
- # state machine begins here
- tags = {} # dictionary of revisions on current file with their tags
- branchmap = {} # mapping between branch names and revision numbers
- state = 0
- store = False # set when a new record can be appended
-
- cmd = [util.shellquote(arg) for arg in cmd]
- ui.note(_("running %s\n") % (' '.join(cmd)))
- ui.debug("prefix=%r directory=%r root=%r\n" % (prefix, directory, root))
-
- pfp = util.popen(' '.join(cmd))
- peek = pfp.readline()
- while True:
- line = peek
- if line == '':
- break
- peek = pfp.readline()
- if line.endswith('\n'):
- line = line[:-1]
- #ui.debug('state=%d line=%r\n' % (state, line))
-
- if state == 0:
- # initial state, consume input until we see 'RCS file'
- match = re_00.match(line)
- if match:
- rcs = match.group(1)
- tags = {}
- if rlog:
- filename = util.normpath(rcs[:-2])
- if filename.startswith(prefix):
- filename = filename[len(prefix):]
- if filename.startswith('/'):
- filename = filename[1:]
- if filename.startswith('Attic/'):
- filename = filename[6:]
- else:
- filename = filename.replace('/Attic/', '/')
- state = 2
- continue
- state = 1
- continue
- match = re_01.match(line)
- if match:
- raise logerror(match.group(1))
- match = re_02.match(line)
- if match:
- raise logerror(match.group(2))
- if re_03.match(line):
- raise logerror(line)
-
- elif state == 1:
- # expect 'Working file' (only when using log instead of rlog)
- match = re_10.match(line)
- assert match, _('RCS file must be followed by working file')
- filename = util.normpath(match.group(1))
- state = 2
-
- elif state == 2:
- # expect 'symbolic names'
- if re_20.match(line):
- branchmap = {}
- state = 3
-
- elif state == 3:
- # read the symbolic names and store as tags
- match = re_30.match(line)
- if match:
- rev = [int(x) for x in match.group(2).split('.')]
-
- # Convert magic branch number to an odd-numbered one
- revn = len(rev)
- if revn > 3 and (revn % 2) == 0 and rev[-2] == 0:
- rev = rev[:-2] + rev[-1:]
- rev = tuple(rev)
-
- if rev not in tags:
- tags[rev] = []
- tags[rev].append(match.group(1))
- branchmap[match.group(1)] = match.group(2)
-
- elif re_31.match(line):
- state = 5
- elif re_32.match(line):
- state = 0
-
- elif state == 4:
- # expecting '------' separator before first revision
- if re_31.match(line):
- state = 5
- else:
- assert not re_32.match(line), _('must have at least '
- 'some revisions')
-
- elif state == 5:
- # expecting revision number and possibly (ignored) lock indication
- # we create the logentry here from values stored in states 0 to 4,
- # as this state is re-entered for subsequent revisions of a file.
- match = re_50.match(line)
- assert match, _('expected revision number')
- e = logentry(rcs=scache(rcs), file=scache(filename),
- revision=tuple([int(x) for x in match.group(1).split('.')]),
- branches=[], parent=None)
- state = 6
-
- elif state == 6:
- # expecting date, author, state, lines changed
- match = re_60.match(line)
- assert match, _('revision must be followed by date line')
- d = match.group(1)
- if d[2] == '/':
- # Y2K
- d = '19' + d
-
- if len(d.split()) != 3:
- # cvs log dates always in GMT
- d = d + ' UTC'
- e.date = util.parsedate(d, ['%y/%m/%d %H:%M:%S',
- '%Y/%m/%d %H:%M:%S',
- '%Y-%m-%d %H:%M:%S'])
- e.author = scache(match.group(2))
- e.dead = match.group(3).lower() == 'dead'
-
- if match.group(5):
- if match.group(6):
- e.lines = (int(match.group(5)), int(match.group(6)))
- else:
- e.lines = (int(match.group(5)), 0)
- elif match.group(6):
- e.lines = (0, int(match.group(6)))
- else:
- e.lines = None
-
- if match.group(7): # cvsnt mergepoint
- myrev = match.group(8).split('.')
- if len(myrev) == 2: # head
- e.mergepoint = 'HEAD'
- else:
- myrev = '.'.join(myrev[:-2] + ['0', myrev[-2]])
- branches = [b for b in branchmap if branchmap[b] == myrev]
- assert len(branches) == 1, 'unknown branch: %s' % e.mergepoint
- e.mergepoint = branches[0]
- else:
- e.mergepoint = None
- e.comment = []
- state = 7
-
- elif state == 7:
- # read the revision numbers of branches that start at this revision
- # or store the commit log message otherwise
- m = re_70.match(line)
- if m:
- e.branches = [tuple([int(y) for y in x.strip().split('.')])
- for x in m.group(1).split(';')]
- state = 8
- elif re_31.match(line) and re_50.match(peek):
- state = 5
- store = True
- elif re_32.match(line):
- state = 0
- store = True
- else:
- e.comment.append(line)
-
- elif state == 8:
- # store commit log message
- if re_31.match(line):
- state = 5
- store = True
- elif re_32.match(line):
- state = 0
- store = True
- else:
- e.comment.append(line)
-
- # When a file is added on a branch B1, CVS creates a synthetic
- # dead trunk revision 1.1 so that the branch has a root.
- # Likewise, if you merge such a file to a later branch B2 (one
- # that already existed when the file was added on B1), CVS
- # creates a synthetic dead revision 1.1.x.1 on B2. Don't drop
- # these revisions now, but mark them synthetic so
- # createchangeset() can take care of them.
- if (store and
- e.dead and
- e.revision[-1] == 1 and # 1.1 or 1.1.x.1
- len(e.comment) == 1 and
- file_added_re.match(e.comment[0])):
- ui.debug('found synthetic revision in %s: %r\n'
- % (e.rcs, e.comment[0]))
- e.synthetic = True
-
- if store:
- # clean up the results and save in the log.
- store = False
- e.tags = sorted([scache(x) for x in tags.get(e.revision, [])])
- e.comment = scache('\n'.join(e.comment))
-
- revn = len(e.revision)
- if revn > 3 and (revn % 2) == 0:
- e.branch = tags.get(e.revision[:-1], [None])[0]
- else:
- e.branch = None
-
- # find the branches starting from this revision
- branchpoints = set()
- for branch, revision in branchmap.iteritems():
- revparts = tuple([int(i) for i in revision.split('.')])
- if len(revparts) < 2: # bad tags
- continue
- if revparts[-2] == 0 and revparts[-1] % 2 == 0:
- # normal branch
- if revparts[:-2] == e.revision:
- branchpoints.add(branch)
- elif revparts == (1, 1, 1): # vendor branch
- if revparts in e.branches:
- branchpoints.add(branch)
- e.branchpoints = branchpoints
-
- log.append(e)
-
- if len(log) % 100 == 0:
- ui.status(util.ellipsis('%d %s' % (len(log), e.file), 80)+'\n')
-
- log.sort(key=lambda x: (x.rcs, x.revision))
-
- # find parent revisions of individual files
- versions = {}
- for e in log:
- branch = e.revision[:-1]
- p = versions.get((e.rcs, branch), None)
- if p is None:
- p = e.revision[:-2]
- e.parent = p
- versions[(e.rcs, branch)] = e.revision
-
- # update the log cache
- if cache:
- if log:
- # join up the old and new logs
- log.sort(key=lambda x: x.date)
-
- if oldlog and oldlog[-1].date >= log[0].date:
- raise logerror(_('log cache overlaps with new log entries,'
- ' re-run without cache.'))
-
- log = oldlog + log
-
- # write the new cachefile
- ui.note(_('writing cvs log cache %s\n') % cachefile)
- pickle.dump(log, open(cachefile, 'w'))
- else:
- log = oldlog
-
- ui.status(_('%d log entries\n') % len(log))
-
- hook.hook(ui, None, "cvslog", True, log=log)
-
- return log
-
-
-class changeset(object):
- '''Class changeset has the following attributes:
- .id - integer identifying this changeset (list index)
- .author - author name as CVS knows it
- .branch - name of branch this changeset is on, or None
- .comment - commit message
- .date - the commit date as a (time,tz) tuple
- .entries - list of logentry objects in this changeset
- .parents - list of one or two parent changesets
- .tags - list of tags on this changeset
- .synthetic - from synthetic revision "file ... added on branch ..."
- .mergepoint- the branch that has been merged from
- (if present in rlog output)
- .branchpoints- the branches that start at the current entry
- '''
- def __init__(self, **entries):
- self.synthetic = False
- self.__dict__.update(entries)
-
- def __repr__(self):
- return "<%s at 0x%x: %s>" % (self.__class__.__name__,
- id(self),
- getattr(self, 'id', "(no id)"))
-
-def createchangeset(ui, log, fuzz=60, mergefrom=None, mergeto=None):
- '''Convert log into changesets.'''
-
- ui.status(_('creating changesets\n'))
-
- # Merge changesets
-
- log.sort(key=lambda x: (x.comment, x.author, x.branch, x.date))
-
- changesets = []
- files = set()
- c = None
- for i, e in enumerate(log):
-
- # Check if log entry belongs to the current changeset or not.
-
- # Since CVS is file centric, two different file revisions with
- # different branchpoints should be treated as belonging to two
- # different changesets (and the ordering is important and not
- # honoured by cvsps at this point).
- #
- # Consider the following case:
- # foo 1.1 branchpoints: [MYBRANCH]
- # bar 1.1 branchpoints: [MYBRANCH, MYBRANCH2]
- #
- # Here foo is part only of MYBRANCH, but not MYBRANCH2, e.g. a
- # later version of foo may be in MYBRANCH2, so foo should be the
- # first changeset and bar the next and MYBRANCH and MYBRANCH2
- # should both start off of the bar changeset. No provisions are
- # made to ensure that this is, in fact, what happens.
- if not (c and
- e.comment == c.comment and
- e.author == c.author and
- e.branch == c.branch and
- (not hasattr(e, 'branchpoints') or
- not hasattr (c, 'branchpoints') or
- e.branchpoints == c.branchpoints) and
- ((c.date[0] + c.date[1]) <=
- (e.date[0] + e.date[1]) <=
- (c.date[0] + c.date[1]) + fuzz) and
- e.file not in files):
- c = changeset(comment=e.comment, author=e.author,
- branch=e.branch, date=e.date, entries=[],
- mergepoint=getattr(e, 'mergepoint', None),
- branchpoints=getattr(e, 'branchpoints', set()))
- changesets.append(c)
- files = set()
- if len(changesets) % 100 == 0:
- t = '%d %s' % (len(changesets), repr(e.comment)[1:-1])
- ui.status(util.ellipsis(t, 80) + '\n')
-
- c.entries.append(e)
- files.add(e.file)
- c.date = e.date # changeset date is date of latest commit in it
-
- # Mark synthetic changesets
-
- for c in changesets:
- # Synthetic revisions always get their own changeset, because
- # the log message includes the filename. E.g. if you add file3
- # and file4 on a branch, you get four log entries and three
- # changesets:
- # "File file3 was added on branch ..." (synthetic, 1 entry)
- # "File file4 was added on branch ..." (synthetic, 1 entry)
- # "Add file3 and file4 to fix ..." (real, 2 entries)
- # Hence the check for 1 entry here.
- c.synthetic = len(c.entries) == 1 and c.entries[0].synthetic
-
- # Sort files in each changeset
-
- for c in changesets:
- def pathcompare(l, r):
- 'Mimic cvsps sorting order'
- l = l.split('/')
- r = r.split('/')
- nl = len(l)
- nr = len(r)
- n = min(nl, nr)
- for i in range(n):
- if i + 1 == nl and nl < nr:
- return -1
- elif i + 1 == nr and nl > nr:
- return +1
- elif l[i] < r[i]:
- return -1
- elif l[i] > r[i]:
- return +1
- return 0
- def entitycompare(l, r):
- return pathcompare(l.file, r.file)
-
- c.entries.sort(entitycompare)
-
- # Sort changesets by date
-
- def cscmp(l, r):
- d = sum(l.date) - sum(r.date)
- if d:
- return d
-
- # detect vendor branches and initial commits on a branch
- le = {}
- for e in l.entries:
- le[e.rcs] = e.revision
- re = {}
- for e in r.entries:
- re[e.rcs] = e.revision
-
- d = 0
- for e in l.entries:
- if re.get(e.rcs, None) == e.parent:
- assert not d
- d = 1
- break
-
- for e in r.entries:
- if le.get(e.rcs, None) == e.parent:
- assert not d
- d = -1
- break
-
- return d
-
- changesets.sort(cscmp)
-
- # Collect tags
-
- globaltags = {}
- for c in changesets:
- for e in c.entries:
- for tag in e.tags:
- # remember which is the latest changeset to have this tag
- globaltags[tag] = c
-
- for c in changesets:
- tags = set()
- for e in c.entries:
- tags.update(e.tags)
- # remember tags only if this is the latest changeset to have it
- c.tags = sorted(tag for tag in tags if globaltags[tag] is c)
-
- # Find parent changesets, handle {{mergetobranch BRANCHNAME}}
- # by inserting dummy changesets with two parents, and handle
- # {{mergefrombranch BRANCHNAME}} by setting two parents.
-
- if mergeto is None:
- mergeto = r'{{mergetobranch ([-\w]+)}}'
- if mergeto:
- mergeto = re.compile(mergeto)
-
- if mergefrom is None:
- mergefrom = r'{{mergefrombranch ([-\w]+)}}'
- if mergefrom:
- mergefrom = re.compile(mergefrom)
-
- versions = {} # changeset index where we saw any particular file version
- branches = {} # changeset index where we saw a branch
- n = len(changesets)
- i = 0
- while i < n:
- c = changesets[i]
-
- for f in c.entries:
- versions[(f.rcs, f.revision)] = i
-
- p = None
- if c.branch in branches:
- p = branches[c.branch]
- else:
- # first changeset on a new branch
- # the parent is a changeset with the branch in its
- # branchpoints such that it is the latest possible
- # commit without any intervening, unrelated commits.
-
- for candidate in xrange(i):
- if c.branch not in changesets[candidate].branchpoints:
- if p is not None:
- break
- continue
- p = candidate
-
- c.parents = []
- if p is not None:
- p = changesets[p]
-
- # Ensure no changeset has a synthetic changeset as a parent.
- while p.synthetic:
- assert len(p.parents) <= 1, \
- _('synthetic changeset cannot have multiple parents')
- if p.parents:
- p = p.parents[0]
- else:
- p = None
- break
-
- if p is not None:
- c.parents.append(p)
-
- if c.mergepoint:
- if c.mergepoint == 'HEAD':
- c.mergepoint = None
- c.parents.append(changesets[branches[c.mergepoint]])
-
- if mergefrom:
- m = mergefrom.search(c.comment)
- if m:
- m = m.group(1)
- if m == 'HEAD':
- m = None
- try:
- candidate = changesets[branches[m]]
- except KeyError:
- ui.warn(_("warning: CVS commit message references "
- "non-existent branch %r:\n%s\n")
- % (m, c.comment))
- if m in branches and c.branch != m and not candidate.synthetic:
- c.parents.append(candidate)
-
- if mergeto:
- m = mergeto.search(c.comment)
- if m:
- try:
- m = m.group(1)
- if m == 'HEAD':
- m = None
- except:
- m = None # if no group found then merge to HEAD
- if m in branches and c.branch != m:
- # insert empty changeset for merge
- cc = changeset(
- author=c.author, branch=m, date=c.date,
- comment='convert-repo: CVS merge from branch %s'
- % c.branch,
- entries=[], tags=[],
- parents=[changesets[branches[m]], c])
- changesets.insert(i + 1, cc)
- branches[m] = i + 1
-
- # adjust our loop counters now we have inserted a new entry
- n += 1
- i += 2
- continue
-
- branches[c.branch] = i
- i += 1
-
- # Drop synthetic changesets (safe now that we have ensured no other
- # changesets can have them as parents).
- i = 0
- while i < len(changesets):
- if changesets[i].synthetic:
- del changesets[i]
- else:
- i += 1
-
- # Number changesets
-
- for i, c in enumerate(changesets):
- c.id = i + 1
-
- ui.status(_('%d changeset entries\n') % len(changesets))
-
- hook.hook(ui, None, "cvschangesets", True, changesets=changesets)
-
- return changesets
-
-
-def debugcvsps(ui, *args, **opts):
- '''Read CVS rlog for current directory or named path in
- repository, and convert the log to changesets based on matching
- commit log entries and dates.
- '''
- if opts["new_cache"]:
- cache = "write"
- elif opts["update_cache"]:
- cache = "update"
- else:
- cache = None
-
- revisions = opts["revisions"]
-
- try:
- if args:
- log = []
- for d in args:
- log += createlog(ui, d, root=opts["root"], cache=cache)
- else:
- log = createlog(ui, root=opts["root"], cache=cache)
- except logerror, e:
- ui.write("%r\n"%e)
- return
-
- changesets = createchangeset(ui, log, opts["fuzz"])
- del log
-
- # Print changesets (optionally filtered)
-
- off = len(revisions)
- branches = {} # latest version number in each branch
- ancestors = {} # parent branch
- for cs in changesets:
-
- if opts["ancestors"]:
- if cs.branch not in branches and cs.parents and cs.parents[0].id:
- ancestors[cs.branch] = (changesets[cs.parents[0].id - 1].branch,
- cs.parents[0].id)
- branches[cs.branch] = cs.id
-
- # limit by branches
- if opts["branches"] and (cs.branch or 'HEAD') not in opts["branches"]:
- continue
-
- if not off:
- # Note: trailing spaces on several lines here are needed to have
- # bug-for-bug compatibility with cvsps.
- ui.write('---------------------\n')
- ui.write('PatchSet %d \n' % cs.id)
- ui.write('Date: %s\n' % util.datestr(cs.date,
- '%Y/%m/%d %H:%M:%S %1%2'))
- ui.write('Author: %s\n' % cs.author)
- ui.write('Branch: %s\n' % (cs.branch or 'HEAD'))
- ui.write('Tag%s: %s \n' % (['', 's'][len(cs.tags) > 1],
- ','.join(cs.tags) or '(none)'))
- branchpoints = getattr(cs, 'branchpoints', None)
- if branchpoints:
- ui.write('Branchpoints: %s \n' % ', '.join(branchpoints))
- if opts["parents"] and cs.parents:
- if len(cs.parents) > 1:
- ui.write('Parents: %s\n' %
- (','.join([str(p.id) for p in cs.parents])))
- else:
- ui.write('Parent: %d\n' % cs.parents[0].id)
-
- if opts["ancestors"]:
- b = cs.branch
- r = []
- while b:
- b, c = ancestors[b]
- r.append('%s:%d:%d' % (b or "HEAD", c, branches[b]))
- if r:
- ui.write('Ancestors: %s\n' % (','.join(r)))
-
- ui.write('Log:\n')
- ui.write('%s\n\n' % cs.comment)
- ui.write('Members: \n')
- for f in cs.entries:
- fn = f.file
- if fn.startswith(opts["prefix"]):
- fn = fn[len(opts["prefix"]):]
- ui.write('\t%s:%s->%s%s \n' % (
- fn, '.'.join([str(x) for x in f.parent]) or 'INITIAL',
- '.'.join([str(x) for x in f.revision]),
- ['', '(DEAD)'][f.dead]))
- ui.write('\n')
-
- # have we seen the start tag?
- if revisions and off:
- if revisions[0] == str(cs.id) or \
- revisions[0] in cs.tags:
- off = False
-
- # see if we reached the end tag
- if len(revisions) > 1 and not off:
- if revisions[1] == str(cs.id) or \
- revisions[1] in cs.tags:
- break
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvsps.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvsps.pyo
deleted file mode 100644
index fdf6d44..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/cvsps.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/darcs.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/darcs.py
deleted file mode 100644
index 9863eb8..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/darcs.py
+++ /dev/null
@@ -1,200 +0,0 @@
-# darcs.py - darcs support for the convert extension
-#
-# Copyright 2007-2009 Matt Mackall and others
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-from common import NoRepo, checktool, commandline, commit, converter_source
-from mercurial.i18n import _
-from mercurial import encoding, util
-import os, shutil, tempfile, re
-
-# The naming drift of ElementTree is fun!
-
-try:
- from xml.etree.cElementTree import ElementTree, XMLParser
-except ImportError:
- try:
- from xml.etree.ElementTree import ElementTree, XMLParser
- except ImportError:
- try:
- from elementtree.cElementTree import ElementTree, XMLParser
- except ImportError:
- try:
- from elementtree.ElementTree import ElementTree, XMLParser
- except ImportError:
- ElementTree = None
-
-class darcs_source(converter_source, commandline):
- def __init__(self, ui, path, rev=None):
- converter_source.__init__(self, ui, path, rev=rev)
- commandline.__init__(self, ui, 'darcs')
-
- # check for _darcs, ElementTree so that we can easily skip
- # test-convert-darcs if ElementTree is not around
- if not os.path.exists(os.path.join(path, '_darcs')):
- raise NoRepo(_("%s does not look like a darcs repository") % path)
-
- checktool('darcs')
- version = self.run0('--version').splitlines()[0].strip()
- if version < '2.1':
- raise util.Abort(_('darcs version 2.1 or newer needed (found %r)') %
- version)
-
- if ElementTree is None:
- raise util.Abort(_("Python ElementTree module is not available"))
-
- self.path = os.path.realpath(path)
-
- self.lastrev = None
- self.changes = {}
- self.parents = {}
- self.tags = {}
-
- # Check darcs repository format
- format = self.format()
- if format:
- if format in ('darcs-1.0', 'hashed'):
- raise NoRepo(_("%s repository format is unsupported, "
- "please upgrade") % format)
- else:
- self.ui.warn(_('failed to detect repository format!'))
-
- def before(self):
- self.tmppath = tempfile.mkdtemp(
- prefix='convert-' + os.path.basename(self.path) + '-')
- output, status = self.run('init', repodir=self.tmppath)
- self.checkexit(status)
-
- tree = self.xml('changes', xml_output=True, summary=True,
- repodir=self.path)
- tagname = None
- child = None
- for elt in tree.findall('patch'):
- node = elt.get('hash')
- name = elt.findtext('name', '')
- if name.startswith('TAG '):
- tagname = name[4:].strip()
- elif tagname is not None:
- self.tags[tagname] = node
- tagname = None
- self.changes[node] = elt
- self.parents[child] = [node]
- child = node
- self.parents[child] = []
-
- def after(self):
- self.ui.debug('cleaning up %s\n' % self.tmppath)
- shutil.rmtree(self.tmppath, ignore_errors=True)
-
- def recode(self, s, encoding=None):
- if isinstance(s, unicode):
- # XMLParser returns unicode objects for anything it can't
- # encode into ASCII. We convert them back to str to get
- # recode's normal conversion behavior.
- s = s.encode('latin-1')
- return super(darcs_source, self).recode(s, encoding)
-
- def xml(self, cmd, **kwargs):
- # NOTE: darcs is currently encoding agnostic and will print
- # patch metadata byte-for-byte, even in the XML changelog.
- etree = ElementTree()
- # While we are decoding the XML as latin-1 to be as liberal as
- # possible, etree will still raise an exception if any
- # non-printable characters are in the XML changelog.
- parser = XMLParser(encoding='latin-1')
- fp = self._run(cmd, **kwargs)
- etree.parse(fp, parser=parser)
- self.checkexit(fp.close())
- return etree.getroot()
-
- def format(self):
- output, status = self.run('show', 'repo', no_files=True,
- repodir=self.path)
- self.checkexit(status)
- m = re.search(r'^\s*Format:\s*(.*)$', output, re.MULTILINE)
- if not m:
- return None
- return ','.join(sorted(f.strip() for f in m.group(1).split(',')))
-
- def manifest(self):
- man = []
- output, status = self.run('show', 'files', no_directories=True,
- repodir=self.tmppath)
- self.checkexit(status)
- for line in output.split('\n'):
- path = line[2:]
- if path:
- man.append(path)
- return man
-
- def getheads(self):
- return self.parents[None]
-
- def getcommit(self, rev):
- elt = self.changes[rev]
- date = util.strdate(elt.get('local_date'), '%a %b %d %H:%M:%S %Z %Y')
- desc = elt.findtext('name') + '\n' + elt.findtext('comment', '')
- # etree can return unicode objects for name, comment, and author,
- # so recode() is used to ensure str objects are emitted.
- return commit(author=self.recode(elt.get('author')),
- date=util.datestr(date),
- desc=self.recode(desc).strip(),
- parents=self.parents[rev])
-
- def pull(self, rev):
- output, status = self.run('pull', self.path, all=True,
- match='hash %s' % rev,
- no_test=True, no_posthook=True,
- external_merge='/bin/false',
- repodir=self.tmppath)
- if status:
- if output.find('We have conflicts in') == -1:
- self.checkexit(status, output)
- output, status = self.run('revert', all=True, repodir=self.tmppath)
- self.checkexit(status, output)
-
- def getchanges(self, rev):
- copies = {}
- changes = []
- man = None
- for elt in self.changes[rev].find('summary').getchildren():
- if elt.tag in ('add_directory', 'remove_directory'):
- continue
- if elt.tag == 'move':
- if man is None:
- man = self.manifest()
- source, dest = elt.get('from'), elt.get('to')
- if source in man:
- # File move
- changes.append((source, rev))
- changes.append((dest, rev))
- copies[dest] = source
- else:
- # Directory move, deduce file moves from manifest
- source = source + '/'
- for f in man:
- if not f.startswith(source):
- continue
- fdest = dest + '/' + f[len(source):]
- changes.append((f, rev))
- changes.append((fdest, rev))
- copies[fdest] = f
- else:
- changes.append((elt.text.strip(), rev))
- self.pull(rev)
- self.lastrev = rev
- return sorted(changes), copies
-
- def getfile(self, name, rev):
- if rev != self.lastrev:
- raise util.Abort(_('internal calling inconsistency'))
- path = os.path.join(self.tmppath, name)
- data = open(path, 'rb').read()
- mode = os.lstat(path).st_mode
- mode = (mode & 0111) and 'x' or ''
- return data, mode
-
- def gettags(self):
- return self.tags
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/darcs.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/darcs.pyo
deleted file mode 100644
index 78b7568..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/darcs.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/filemap.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/filemap.py
deleted file mode 100644
index 1064642..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/filemap.py
+++ /dev/null
@@ -1,365 +0,0 @@
-# Copyright 2007 Bryan O'Sullivan
-# Copyright 2007 Alexis S. L. Carvalho
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-import shlex
-from mercurial.i18n import _
-from mercurial import util
-from common import SKIPREV, converter_source
-
-def rpairs(name):
- e = len(name)
- while e != -1:
- yield name[:e], name[e + 1:]
- e = name.rfind('/', 0, e)
- yield '.', name
-
-class filemapper(object):
- '''Map and filter filenames when importing.
- A name can be mapped to itself, a new name, or None (omit from new
- repository).'''
-
- def __init__(self, ui, path=None):
- self.ui = ui
- self.include = {}
- self.exclude = {}
- self.rename = {}
- if path:
- if self.parse(path):
- raise util.Abort(_('errors in filemap'))
-
- def parse(self, path):
- errs = 0
- def check(name, mapping, listname):
- if not name:
- self.ui.warn(_('%s:%d: path to %s is missing\n') %
- (lex.infile, lex.lineno, listname))
- return 1
- if name in mapping:
- self.ui.warn(_('%s:%d: %r already in %s list\n') %
- (lex.infile, lex.lineno, name, listname))
- return 1
- if (name.startswith('/') or
- name.endswith('/') or
- '//' in name):
- self.ui.warn(_('%s:%d: superfluous / in %s %r\n') %
- (lex.infile, lex.lineno, listname, name))
- return 1
- return 0
- lex = shlex.shlex(open(path), path, True)
- lex.wordchars += '!@#$%^&*()-=+[]{}|;:,./<>?'
- cmd = lex.get_token()
- while cmd:
- if cmd == 'include':
- name = lex.get_token()
- errs += check(name, self.exclude, 'exclude')
- self.include[name] = name
- elif cmd == 'exclude':
- name = lex.get_token()
- errs += check(name, self.include, 'include')
- errs += check(name, self.rename, 'rename')
- self.exclude[name] = name
- elif cmd == 'rename':
- src = lex.get_token()
- dest = lex.get_token()
- errs += check(src, self.exclude, 'exclude')
- self.rename[src] = dest
- elif cmd == 'source':
- errs += self.parse(lex.get_token())
- else:
- self.ui.warn(_('%s:%d: unknown directive %r\n') %
- (lex.infile, lex.lineno, cmd))
- errs += 1
- cmd = lex.get_token()
- return errs
-
- def lookup(self, name, mapping):
- for pre, suf in rpairs(name):
- try:
- return mapping[pre], pre, suf
- except KeyError:
- pass
- return '', name, ''
-
- def __call__(self, name):
- if self.include:
- inc = self.lookup(name, self.include)[0]
- else:
- inc = name
- if self.exclude:
- exc = self.lookup(name, self.exclude)[0]
- else:
- exc = ''
- if (not self.include and exc) or (len(inc) <= len(exc)):
- return None
- newpre, pre, suf = self.lookup(name, self.rename)
- if newpre:
- if newpre == '.':
- return suf
- if suf:
- return newpre + '/' + suf
- return newpre
- return name
-
- def active(self):
- return bool(self.include or self.exclude or self.rename)
-
-# This class does two additional things compared to a regular source:
-#
-# - Filter and rename files. This is mostly wrapped by the filemapper
-# class above. We hide the original filename in the revision that is
-# returned by getchanges to be able to find things later in getfile.
-#
-# - Return only revisions that matter for the files we're interested in.
-# This involves rewriting the parents of the original revision to
-# create a graph that is restricted to those revisions.
-#
-# This set of revisions includes not only revisions that directly
-# touch files we're interested in, but also merges that merge two
-# or more interesting revisions.
-
-class filemap_source(converter_source):
- def __init__(self, ui, baseconverter, filemap):
- super(filemap_source, self).__init__(ui)
- self.base = baseconverter
- self.filemapper = filemapper(ui, filemap)
- self.commits = {}
- # if a revision rev has parent p in the original revision graph, then
- # rev will have parent self.parentmap[p] in the restricted graph.
- self.parentmap = {}
- # self.wantedancestors[rev] is the set of all ancestors of rev that
- # are in the restricted graph.
- self.wantedancestors = {}
- self.convertedorder = None
- self._rebuilt = False
- self.origparents = {}
- self.children = {}
- self.seenchildren = {}
-
- def before(self):
- self.base.before()
-
- def after(self):
- self.base.after()
-
- def setrevmap(self, revmap):
- # rebuild our state to make things restartable
- #
- # To avoid calling getcommit for every revision that has already
- # been converted, we rebuild only the parentmap, delaying the
- # rebuild of wantedancestors until we need it (i.e. until a
- # merge).
- #
- # We assume the order argument lists the revisions in
- # topological order, so that we can infer which revisions were
- # wanted by previous runs.
- self._rebuilt = not revmap
- seen = {SKIPREV: SKIPREV}
- dummyset = set()
- converted = []
- for rev in revmap.order:
- mapped = revmap[rev]
- wanted = mapped not in seen
- if wanted:
- seen[mapped] = rev
- self.parentmap[rev] = rev
- else:
- self.parentmap[rev] = seen[mapped]
- self.wantedancestors[rev] = dummyset
- arg = seen[mapped]
- if arg == SKIPREV:
- arg = None
- converted.append((rev, wanted, arg))
- self.convertedorder = converted
- return self.base.setrevmap(revmap)
-
- def rebuild(self):
- if self._rebuilt:
- return True
- self._rebuilt = True
- self.parentmap.clear()
- self.wantedancestors.clear()
- self.seenchildren.clear()
- for rev, wanted, arg in self.convertedorder:
- if rev not in self.origparents:
- self.origparents[rev] = self.getcommit(rev).parents
- if arg is not None:
- self.children[arg] = self.children.get(arg, 0) + 1
-
- for rev, wanted, arg in self.convertedorder:
- parents = self.origparents[rev]
- if wanted:
- self.mark_wanted(rev, parents)
- else:
- self.mark_not_wanted(rev, arg)
- self._discard(arg, *parents)
-
- return True
-
- def getheads(self):
- return self.base.getheads()
-
- def getcommit(self, rev):
- # We want to save a reference to the commit objects to be able
- # to rewrite their parents later on.
- c = self.commits[rev] = self.base.getcommit(rev)
- for p in c.parents:
- self.children[p] = self.children.get(p, 0) + 1
- return c
-
- def _discard(self, *revs):
- for r in revs:
- if r is None:
- continue
- self.seenchildren[r] = self.seenchildren.get(r, 0) + 1
- if self.seenchildren[r] == self.children[r]:
- del self.wantedancestors[r]
- del self.parentmap[r]
- del self.seenchildren[r]
- if self._rebuilt:
- del self.children[r]
-
- def wanted(self, rev, i):
- # Return True if we're directly interested in rev.
- #
- # i is an index selecting one of the parents of rev (if rev
- # has no parents, i is None). getchangedfiles will give us
- # the list of files that are different in rev and in the parent
- # indicated by i. If we're interested in any of these files,
- # we're interested in rev.
- try:
- files = self.base.getchangedfiles(rev, i)
- except NotImplementedError:
- raise util.Abort(_("source repository doesn't support --filemap"))
- for f in files:
- if self.filemapper(f):
- return True
- return False
-
- def mark_not_wanted(self, rev, p):
- # Mark rev as not interesting and update data structures.
-
- if p is None:
- # A root revision. Use SKIPREV to indicate that it doesn't
- # map to any revision in the restricted graph. Put SKIPREV
- # in the set of wanted ancestors to simplify code elsewhere
- self.parentmap[rev] = SKIPREV
- self.wantedancestors[rev] = set((SKIPREV,))
- return
-
- # Reuse the data from our parent.
- self.parentmap[rev] = self.parentmap[p]
- self.wantedancestors[rev] = self.wantedancestors[p]
-
- def mark_wanted(self, rev, parents):
- # Mark rev ss wanted and update data structures.
-
- # rev will be in the restricted graph, so children of rev in
- # the original graph should still have rev as a parent in the
- # restricted graph.
- self.parentmap[rev] = rev
-
- # The set of wanted ancestors of rev is the union of the sets
- # of wanted ancestors of its parents. Plus rev itself.
- wrev = set()
- for p in parents:
- wrev.update(self.wantedancestors[p])
- wrev.add(rev)
- self.wantedancestors[rev] = wrev
-
- def getchanges(self, rev):
- parents = self.commits[rev].parents
- if len(parents) > 1:
- self.rebuild()
-
- # To decide whether we're interested in rev we:
- #
- # - calculate what parents rev will have if it turns out we're
- # interested in it. If it's going to have more than 1 parent,
- # we're interested in it.
- #
- # - otherwise, we'll compare it with the single parent we found.
- # If any of the files we're interested in is different in the
- # the two revisions, we're interested in rev.
-
- # A parent p is interesting if its mapped version (self.parentmap[p]):
- # - is not SKIPREV
- # - is still not in the list of parents (we don't want duplicates)
- # - is not an ancestor of the mapped versions of the other parents
- mparents = []
- wp = None
- for i, p1 in enumerate(parents):
- mp1 = self.parentmap[p1]
- if mp1 == SKIPREV or mp1 in mparents:
- continue
- for p2 in parents:
- if p1 == p2 or mp1 == self.parentmap[p2]:
- continue
- if mp1 in self.wantedancestors[p2]:
- break
- else:
- mparents.append(mp1)
- wp = i
-
- if wp is None and parents:
- wp = 0
-
- self.origparents[rev] = parents
-
- closed = 'close' in self.commits[rev].extra
-
- if len(mparents) < 2 and not closed and not self.wanted(rev, wp):
- # We don't want this revision.
- # Update our state and tell the convert process to map this
- # revision to the same revision its parent as mapped to.
- p = None
- if parents:
- p = parents[wp]
- self.mark_not_wanted(rev, p)
- self.convertedorder.append((rev, False, p))
- self._discard(*parents)
- return self.parentmap[rev]
-
- # We want this revision.
- # Rewrite the parents of the commit object
- self.commits[rev].parents = mparents
- self.mark_wanted(rev, parents)
- self.convertedorder.append((rev, True, None))
- self._discard(*parents)
-
- # Get the real changes and do the filtering/mapping. To be
- # able to get the files later on in getfile, we hide the
- # original filename in the rev part of the return value.
- changes, copies = self.base.getchanges(rev)
- newnames = {}
- files = []
- for f, r in changes:
- newf = self.filemapper(f)
- if newf:
- files.append((newf, (f, r)))
- newnames[f] = newf
-
- ncopies = {}
- for c in copies:
- newc = self.filemapper(c)
- if newc:
- newsource = self.filemapper(copies[c])
- if newsource:
- ncopies[newc] = newsource
-
- return files, ncopies
-
- def getfile(self, name, rev):
- realname, realrev = rev
- return self.base.getfile(realname, realrev)
-
- def gettags(self):
- return self.base.gettags()
-
- def hasnativeorder(self):
- return self.base.hasnativeorder()
-
- def lookuprev(self, rev):
- return self.base.lookuprev(rev)
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/filemap.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/filemap.pyo
deleted file mode 100644
index 2ece523..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/filemap.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/git.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/git.py
deleted file mode 100644
index e973031..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/git.py
+++ /dev/null
@@ -1,170 +0,0 @@
-# git.py - git support for the convert extension
-#
-# Copyright 2005-2009 Matt Mackall and others
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-import os
-from mercurial import util
-from mercurial.node import hex, nullid
-from mercurial.i18n import _
-
-from common import NoRepo, commit, converter_source, checktool
-
-class convert_git(converter_source):
- # Windows does not support GIT_DIR= construct while other systems
- # cannot remove environment variable. Just assume none have
- # both issues.
- if hasattr(os, 'unsetenv'):
- def gitopen(self, s):
- prevgitdir = os.environ.get('GIT_DIR')
- os.environ['GIT_DIR'] = self.path
- try:
- return util.popen(s, 'rb')
- finally:
- if prevgitdir is None:
- del os.environ['GIT_DIR']
- else:
- os.environ['GIT_DIR'] = prevgitdir
- else:
- def gitopen(self, s):
- return util.popen('GIT_DIR=%s %s' % (self.path, s), 'rb')
-
- def gitread(self, s):
- fh = self.gitopen(s)
- data = fh.read()
- return data, fh.close()
-
- def __init__(self, ui, path, rev=None):
- super(convert_git, self).__init__(ui, path, rev=rev)
-
- if os.path.isdir(path + "/.git"):
- path += "/.git"
- if not os.path.exists(path + "/objects"):
- raise NoRepo(_("%s does not look like a Git repository") % path)
-
- checktool('git', 'git')
-
- self.path = path
-
- def getheads(self):
- if not self.rev:
- heads, ret = self.gitread('git rev-parse --branches --remotes')
- heads = heads.splitlines()
- else:
- heads, ret = self.gitread("git rev-parse --verify %s" % self.rev)
- heads = [heads[:-1]]
- if ret:
- raise util.Abort(_('cannot retrieve git heads'))
- return heads
-
- def catfile(self, rev, type):
- if rev == hex(nullid):
- raise IOError()
- data, ret = self.gitread("git cat-file %s %s" % (type, rev))
- if ret:
- raise util.Abort(_('cannot read %r object at %s') % (type, rev))
- return data
-
- def getfile(self, name, rev):
- data = self.catfile(rev, "blob")
- mode = self.modecache[(name, rev)]
- return data, mode
-
- def getchanges(self, version):
- self.modecache = {}
- fh = self.gitopen("git diff-tree -z --root -m -r %s" % version)
- changes = []
- seen = set()
- entry = None
- for l in fh.read().split('\x00'):
- if not entry:
- if not l.startswith(':'):
- continue
- entry = l
- continue
- f = l
- if f not in seen:
- seen.add(f)
- entry = entry.split()
- h = entry[3]
- p = (entry[1] == "100755")
- s = (entry[1] == "120000")
- self.modecache[(f, h)] = (p and "x") or (s and "l") or ""
- changes.append((f, h))
- entry = None
- if fh.close():
- raise util.Abort(_('cannot read changes in %s') % version)
- return (changes, {})
-
- def getcommit(self, version):
- c = self.catfile(version, "commit") # read the commit hash
- end = c.find("\n\n")
- message = c[end + 2:]
- message = self.recode(message)
- l = c[:end].splitlines()
- parents = []
- author = committer = None
- for e in l[1:]:
- n, v = e.split(" ", 1)
- if n == "author":
- p = v.split()
- tm, tz = p[-2:]
- author = " ".join(p[:-2])
- if author[0] == "<": author = author[1:-1]
- author = self.recode(author)
- if n == "committer":
- p = v.split()
- tm, tz = p[-2:]
- committer = " ".join(p[:-2])
- if committer[0] == "<": committer = committer[1:-1]
- committer = self.recode(committer)
- if n == "parent":
- parents.append(v)
-
- if committer and committer != author:
- message += "\ncommitter: %s\n" % committer
- tzs, tzh, tzm = tz[-5:-4] + "1", tz[-4:-2], tz[-2:]
- tz = -int(tzs) * (int(tzh) * 3600 + int(tzm))
- date = tm + " " + str(tz)
-
- c = commit(parents=parents, date=date, author=author, desc=message,
- rev=version)
- return c
-
- def gettags(self):
- tags = {}
- fh = self.gitopen('git ls-remote --tags "%s"' % self.path)
- prefix = 'refs/tags/'
- for line in fh:
- line = line.strip()
- if not line.endswith("^{}"):
- continue
- node, tag = line.split(None, 1)
- if not tag.startswith(prefix):
- continue
- tag = tag[len(prefix):-3]
- tags[tag] = node
- if fh.close():
- raise util.Abort(_('cannot read tags from %s') % self.path)
-
- return tags
-
- def getchangedfiles(self, version, i):
- changes = []
- if i is None:
- fh = self.gitopen("git diff-tree --root -m -r %s" % version)
- for l in fh:
- if "\t" not in l:
- continue
- m, f = l[:-1].split("\t")
- changes.append(f)
- else:
- fh = self.gitopen('git diff-tree --name-only --root -r %s "%s^%s" --'
- % (version, version, i + 1))
- changes = [f.rstrip('\n') for f in fh]
- if fh.close():
- raise util.Abort(_('cannot read changes in %s') % version)
-
- return changes
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/git.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/git.pyo
deleted file mode 100644
index 3166318..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/git.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/gnuarch.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/gnuarch.py
deleted file mode 100644
index 60cfede..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/gnuarch.py
+++ /dev/null
@@ -1,338 +0,0 @@
-# gnuarch.py - GNU Arch support for the convert extension
-#
-# Copyright 2008, 2009 Aleix Conchillo Flaque
-# and others
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-from common import NoRepo, commandline, commit, converter_source
-from mercurial.i18n import _
-from mercurial import encoding, util
-import os, shutil, tempfile, stat
-from email.Parser import Parser
-
-class gnuarch_source(converter_source, commandline):
-
- class gnuarch_rev(object):
- def __init__(self, rev):
- self.rev = rev
- self.summary = ''
- self.date = None
- self.author = ''
- self.continuationof = None
- self.add_files = []
- self.mod_files = []
- self.del_files = []
- self.ren_files = {}
- self.ren_dirs = {}
-
- def __init__(self, ui, path, rev=None):
- super(gnuarch_source, self).__init__(ui, path, rev=rev)
-
- if not os.path.exists(os.path.join(path, '{arch}')):
- raise NoRepo(_("%s does not look like a GNU Arch repository")
- % path)
-
- # Could use checktool, but we want to check for baz or tla.
- self.execmd = None
- if util.find_exe('baz'):
- self.execmd = 'baz'
- else:
- if util.find_exe('tla'):
- self.execmd = 'tla'
- else:
- raise util.Abort(_('cannot find a GNU Arch tool'))
-
- commandline.__init__(self, ui, self.execmd)
-
- self.path = os.path.realpath(path)
- self.tmppath = None
-
- self.treeversion = None
- self.lastrev = None
- self.changes = {}
- self.parents = {}
- self.tags = {}
- self.catlogparser = Parser()
- self.encoding = encoding.encoding
- self.archives = []
-
- def before(self):
- # Get registered archives
- self.archives = [i.rstrip('\n')
- for i in self.runlines0('archives', '-n')]
-
- if self.execmd == 'tla':
- output = self.run0('tree-version', self.path)
- else:
- output = self.run0('tree-version', '-d', self.path)
- self.treeversion = output.strip()
-
- # Get name of temporary directory
- version = self.treeversion.split('/')
- self.tmppath = os.path.join(tempfile.gettempdir(),
- 'hg-%s' % version[1])
-
- # Generate parents dictionary
- self.parents[None] = []
- treeversion = self.treeversion
- child = None
- while treeversion:
- self.ui.status(_('analyzing tree version %s...\n') % treeversion)
-
- archive = treeversion.split('/')[0]
- if archive not in self.archives:
- self.ui.status(_('tree analysis stopped because it points to '
- 'an unregistered archive %s...\n') % archive)
- break
-
- # Get the complete list of revisions for that tree version
- output, status = self.runlines('revisions', '-r', '-f', treeversion)
- self.checkexit(status, 'failed retrieveing revisions for %s'
- % treeversion)
-
- # No new iteration unless a revision has a continuation-of header
- treeversion = None
-
- for l in output:
- rev = l.strip()
- self.changes[rev] = self.gnuarch_rev(rev)
- self.parents[rev] = []
-
- # Read author, date and summary
- catlog, status = self.run('cat-log', '-d', self.path, rev)
- if status:
- catlog = self.run0('cat-archive-log', rev)
- self._parsecatlog(catlog, rev)
-
- # Populate the parents map
- self.parents[child].append(rev)
-
- # Keep track of the current revision as the child of the next
- # revision scanned
- child = rev
-
- # Check if we have to follow the usual incremental history
- # or if we have to 'jump' to a different treeversion given
- # by the continuation-of header.
- if self.changes[rev].continuationof:
- treeversion = '--'.join(
- self.changes[rev].continuationof.split('--')[:-1])
- break
-
- # If we reached a base-0 revision w/o any continuation-of
- # header, it means the tree history ends here.
- if rev[-6:] == 'base-0':
- break
-
- def after(self):
- self.ui.debug('cleaning up %s\n' % self.tmppath)
- shutil.rmtree(self.tmppath, ignore_errors=True)
-
- def getheads(self):
- return self.parents[None]
-
- def getfile(self, name, rev):
- if rev != self.lastrev:
- raise util.Abort(_('internal calling inconsistency'))
-
- # Raise IOError if necessary (i.e. deleted files).
- if not os.path.lexists(os.path.join(self.tmppath, name)):
- raise IOError
-
- return self._getfile(name, rev)
-
- def getchanges(self, rev):
- self._update(rev)
- changes = []
- copies = {}
-
- for f in self.changes[rev].add_files:
- changes.append((f, rev))
-
- for f in self.changes[rev].mod_files:
- changes.append((f, rev))
-
- for f in self.changes[rev].del_files:
- changes.append((f, rev))
-
- for src in self.changes[rev].ren_files:
- to = self.changes[rev].ren_files[src]
- changes.append((src, rev))
- changes.append((to, rev))
- copies[to] = src
-
- for src in self.changes[rev].ren_dirs:
- to = self.changes[rev].ren_dirs[src]
- chgs, cps = self._rendirchanges(src, to)
- changes += [(f, rev) for f in chgs]
- copies.update(cps)
-
- self.lastrev = rev
- return sorted(set(changes)), copies
-
- def getcommit(self, rev):
- changes = self.changes[rev]
- return commit(author=changes.author, date=changes.date,
- desc=changes.summary, parents=self.parents[rev], rev=rev)
-
- def gettags(self):
- return self.tags
-
- def _execute(self, cmd, *args, **kwargs):
- cmdline = [self.execmd, cmd]
- cmdline += args
- cmdline = [util.shellquote(arg) for arg in cmdline]
- cmdline += ['>', util.nulldev, '2>', util.nulldev]
- cmdline = util.quotecommand(' '.join(cmdline))
- self.ui.debug(cmdline, '\n')
- return os.system(cmdline)
-
- def _update(self, rev):
- self.ui.debug('applying revision %s...\n' % rev)
- changeset, status = self.runlines('replay', '-d', self.tmppath,
- rev)
- if status:
- # Something went wrong while merging (baz or tla
- # issue?), get latest revision and try from there
- shutil.rmtree(self.tmppath, ignore_errors=True)
- self._obtainrevision(rev)
- else:
- old_rev = self.parents[rev][0]
- self.ui.debug('computing changeset between %s and %s...\n'
- % (old_rev, rev))
- self._parsechangeset(changeset, rev)
-
- def _getfile(self, name, rev):
- mode = os.lstat(os.path.join(self.tmppath, name)).st_mode
- if stat.S_ISLNK(mode):
- data = os.readlink(os.path.join(self.tmppath, name))
- mode = mode and 'l' or ''
- else:
- data = open(os.path.join(self.tmppath, name), 'rb').read()
- mode = (mode & 0111) and 'x' or ''
- return data, mode
-
- def _exclude(self, name):
- exclude = ['{arch}', '.arch-ids', '.arch-inventory']
- for exc in exclude:
- if name.find(exc) != -1:
- return True
- return False
-
- def _readcontents(self, path):
- files = []
- contents = os.listdir(path)
- while len(contents) > 0:
- c = contents.pop()
- p = os.path.join(path, c)
- # os.walk could be used, but here we avoid internal GNU
- # Arch files and directories, thus saving a lot time.
- if not self._exclude(p):
- if os.path.isdir(p):
- contents += [os.path.join(c, f) for f in os.listdir(p)]
- else:
- files.append(c)
- return files
-
- def _rendirchanges(self, src, dest):
- changes = []
- copies = {}
- files = self._readcontents(os.path.join(self.tmppath, dest))
- for f in files:
- s = os.path.join(src, f)
- d = os.path.join(dest, f)
- changes.append(s)
- changes.append(d)
- copies[d] = s
- return changes, copies
-
- def _obtainrevision(self, rev):
- self.ui.debug('obtaining revision %s...\n' % rev)
- output = self._execute('get', rev, self.tmppath)
- self.checkexit(output)
- self.ui.debug('analyzing revision %s...\n' % rev)
- files = self._readcontents(self.tmppath)
- self.changes[rev].add_files += files
-
- def _stripbasepath(self, path):
- if path.startswith('./'):
- return path[2:]
- return path
-
- def _parsecatlog(self, data, rev):
- try:
- catlog = self.catlogparser.parsestr(data)
-
- # Commit date
- self.changes[rev].date = util.datestr(
- util.strdate(catlog['Standard-date'],
- '%Y-%m-%d %H:%M:%S'))
-
- # Commit author
- self.changes[rev].author = self.recode(catlog['Creator'])
-
- # Commit description
- self.changes[rev].summary = '\n\n'.join((catlog['Summary'],
- catlog.get_payload()))
- self.changes[rev].summary = self.recode(self.changes[rev].summary)
-
- # Commit revision origin when dealing with a branch or tag
- if 'Continuation-of' in catlog:
- self.changes[rev].continuationof = self.recode(
- catlog['Continuation-of'])
- except Exception:
- raise util.Abort(_('could not parse cat-log of %s') % rev)
-
- def _parsechangeset(self, data, rev):
- for l in data:
- l = l.strip()
- # Added file (ignore added directory)
- if l.startswith('A') and not l.startswith('A/'):
- file = self._stripbasepath(l[1:].strip())
- if not self._exclude(file):
- self.changes[rev].add_files.append(file)
- # Deleted file (ignore deleted directory)
- elif l.startswith('D') and not l.startswith('D/'):
- file = self._stripbasepath(l[1:].strip())
- if not self._exclude(file):
- self.changes[rev].del_files.append(file)
- # Modified binary file
- elif l.startswith('Mb'):
- file = self._stripbasepath(l[2:].strip())
- if not self._exclude(file):
- self.changes[rev].mod_files.append(file)
- # Modified link
- elif l.startswith('M->'):
- file = self._stripbasepath(l[3:].strip())
- if not self._exclude(file):
- self.changes[rev].mod_files.append(file)
- # Modified file
- elif l.startswith('M'):
- file = self._stripbasepath(l[1:].strip())
- if not self._exclude(file):
- self.changes[rev].mod_files.append(file)
- # Renamed file (or link)
- elif l.startswith('=>'):
- files = l[2:].strip().split(' ')
- if len(files) == 1:
- files = l[2:].strip().split('\t')
- src = self._stripbasepath(files[0])
- dst = self._stripbasepath(files[1])
- if not self._exclude(src) and not self._exclude(dst):
- self.changes[rev].ren_files[src] = dst
- # Conversion from file to link or from link to file (modified)
- elif l.startswith('ch'):
- file = self._stripbasepath(l[2:].strip())
- if not self._exclude(file):
- self.changes[rev].mod_files.append(file)
- # Renamed directory
- elif l.startswith('/>'):
- dirs = l[2:].strip().split(' ')
- if len(dirs) == 1:
- dirs = l[2:].strip().split('\t')
- src = self._stripbasepath(dirs[0])
- dst = self._stripbasepath(dirs[1])
- if not self._exclude(src) and not self._exclude(dst):
- self.changes[rev].ren_dirs[src] = dst
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/gnuarch.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/gnuarch.pyo
deleted file mode 100644
index 0e564ba..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/gnuarch.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/hg.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/hg.py
deleted file mode 100644
index 183377d..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/hg.py
+++ /dev/null
@@ -1,376 +0,0 @@
-# hg.py - hg backend for convert extension
-#
-# Copyright 2005-2009 Matt Mackall and others
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-# Notes for hg->hg conversion:
-#
-# * Old versions of Mercurial didn't trim the whitespace from the ends
-# of commit messages, but new versions do. Changesets created by
-# those older versions, then converted, may thus have different
-# hashes for changesets that are otherwise identical.
-#
-# * Using "--config convert.hg.saverev=true" will make the source
-# identifier to be stored in the converted revision. This will cause
-# the converted revision to have a different identity than the
-# source.
-
-
-import os, time, cStringIO
-from mercurial.i18n import _
-from mercurial.node import bin, hex, nullid
-from mercurial import hg, util, context, error
-
-from common import NoRepo, commit, converter_source, converter_sink
-
-class mercurial_sink(converter_sink):
- def __init__(self, ui, path):
- converter_sink.__init__(self, ui, path)
- self.branchnames = ui.configbool('convert', 'hg.usebranchnames', True)
- self.clonebranches = ui.configbool('convert', 'hg.clonebranches', False)
- self.tagsbranch = ui.config('convert', 'hg.tagsbranch', 'default')
- self.lastbranch = None
- if os.path.isdir(path) and len(os.listdir(path)) > 0:
- try:
- self.repo = hg.repository(self.ui, path)
- if not self.repo.local():
- raise NoRepo(_('%s is not a local Mercurial repository')
- % path)
- except error.RepoError, err:
- ui.traceback()
- raise NoRepo(err.args[0])
- else:
- try:
- ui.status(_('initializing destination %s repository\n') % path)
- self.repo = hg.repository(self.ui, path, create=True)
- if not self.repo.local():
- raise NoRepo(_('%s is not a local Mercurial repository')
- % path)
- self.created.append(path)
- except error.RepoError:
- ui.traceback()
- raise NoRepo(_("could not create hg repository %s as sink")
- % path)
- self.lock = None
- self.wlock = None
- self.filemapmode = False
-
- def before(self):
- self.ui.debug('run hg sink pre-conversion action\n')
- self.wlock = self.repo.wlock()
- self.lock = self.repo.lock()
-
- def after(self):
- self.ui.debug('run hg sink post-conversion action\n')
- if self.lock:
- self.lock.release()
- if self.wlock:
- self.wlock.release()
-
- def revmapfile(self):
- return os.path.join(self.path, ".hg", "shamap")
-
- def authorfile(self):
- return os.path.join(self.path, ".hg", "authormap")
-
- def getheads(self):
- h = self.repo.changelog.heads()
- return [hex(x) for x in h]
-
- def setbranch(self, branch, pbranches):
- if not self.clonebranches:
- return
-
- setbranch = (branch != self.lastbranch)
- self.lastbranch = branch
- if not branch:
- branch = 'default'
- pbranches = [(b[0], b[1] and b[1] or 'default') for b in pbranches]
- pbranch = pbranches and pbranches[0][1] or 'default'
-
- branchpath = os.path.join(self.path, branch)
- if setbranch:
- self.after()
- try:
- self.repo = hg.repository(self.ui, branchpath)
- except:
- self.repo = hg.repository(self.ui, branchpath, create=True)
- self.before()
-
- # pbranches may bring revisions from other branches (merge parents)
- # Make sure we have them, or pull them.
- missings = {}
- for b in pbranches:
- try:
- self.repo.lookup(b[0])
- except:
- missings.setdefault(b[1], []).append(b[0])
-
- if missings:
- self.after()
- for pbranch, heads in missings.iteritems():
- pbranchpath = os.path.join(self.path, pbranch)
- prepo = hg.repository(self.ui, pbranchpath)
- self.ui.note(_('pulling from %s into %s\n') % (pbranch, branch))
- self.repo.pull(prepo, [prepo.lookup(h) for h in heads])
- self.before()
-
- def _rewritetags(self, source, revmap, data):
- fp = cStringIO.StringIO()
- for line in data.splitlines():
- s = line.split(' ', 1)
- if len(s) != 2:
- continue
- revid = revmap.get(source.lookuprev(s[0]))
- if not revid:
- continue
- fp.write('%s %s\n' % (revid, s[1]))
- return fp.getvalue()
-
- def putcommit(self, files, copies, parents, commit, source, revmap):
-
- files = dict(files)
- def getfilectx(repo, memctx, f):
- v = files[f]
- data, mode = source.getfile(f, v)
- if f == '.hgtags':
- data = self._rewritetags(source, revmap, data)
- return context.memfilectx(f, data, 'l' in mode, 'x' in mode,
- copies.get(f))
-
- pl = []
- for p in parents:
- if p not in pl:
- pl.append(p)
- parents = pl
- nparents = len(parents)
- if self.filemapmode and nparents == 1:
- m1node = self.repo.changelog.read(bin(parents[0]))[0]
- parent = parents[0]
-
- if len(parents) < 2:
- parents.append(nullid)
- if len(parents) < 2:
- parents.append(nullid)
- p2 = parents.pop(0)
-
- text = commit.desc
- extra = commit.extra.copy()
- if self.branchnames and commit.branch:
- extra['branch'] = commit.branch
- if commit.rev:
- extra['convert_revision'] = commit.rev
-
- while parents:
- p1 = p2
- p2 = parents.pop(0)
- ctx = context.memctx(self.repo, (p1, p2), text, files.keys(),
- getfilectx, commit.author, commit.date, extra)
- self.repo.commitctx(ctx)
- text = "(octopus merge fixup)\n"
- p2 = hex(self.repo.changelog.tip())
-
- if self.filemapmode and nparents == 1:
- man = self.repo.manifest
- mnode = self.repo.changelog.read(bin(p2))[0]
- closed = 'close' in commit.extra
- if not closed and not man.cmp(m1node, man.revision(mnode)):
- self.ui.status(_("filtering out empty revision\n"))
- self.repo.rollback()
- return parent
- return p2
-
- def puttags(self, tags):
- try:
- parentctx = self.repo[self.tagsbranch]
- tagparent = parentctx.node()
- except error.RepoError:
- parentctx = None
- tagparent = nullid
-
- try:
- oldlines = sorted(parentctx['.hgtags'].data().splitlines(True))
- except:
- oldlines = []
-
- newlines = sorted([("%s %s\n" % (tags[tag], tag)) for tag in tags])
- if newlines == oldlines:
- return None, None
- data = "".join(newlines)
- def getfilectx(repo, memctx, f):
- return context.memfilectx(f, data, False, False, None)
-
- self.ui.status(_("updating tags\n"))
- date = "%s 0" % int(time.mktime(time.gmtime()))
- extra = {'branch': self.tagsbranch}
- ctx = context.memctx(self.repo, (tagparent, None), "update tags",
- [".hgtags"], getfilectx, "convert-repo", date,
- extra)
- self.repo.commitctx(ctx)
- return hex(self.repo.changelog.tip()), hex(tagparent)
-
- def setfilemapmode(self, active):
- self.filemapmode = active
-
-class mercurial_source(converter_source):
- def __init__(self, ui, path, rev=None):
- converter_source.__init__(self, ui, path, rev)
- self.ignoreerrors = ui.configbool('convert', 'hg.ignoreerrors', False)
- self.ignored = set()
- self.saverev = ui.configbool('convert', 'hg.saverev', False)
- try:
- self.repo = hg.repository(self.ui, path)
- # try to provoke an exception if this isn't really a hg
- # repo, but some other bogus compatible-looking url
- if not self.repo.local():
- raise error.RepoError()
- except error.RepoError:
- ui.traceback()
- raise NoRepo(_("%s is not a local Mercurial repository") % path)
- self.lastrev = None
- self.lastctx = None
- self._changescache = None
- self.convertfp = None
- # Restrict converted revisions to startrev descendants
- startnode = ui.config('convert', 'hg.startrev')
- if startnode is not None:
- try:
- startnode = self.repo.lookup(startnode)
- except error.RepoError:
- raise util.Abort(_('%s is not a valid start revision')
- % startnode)
- startrev = self.repo.changelog.rev(startnode)
- children = {startnode: 1}
- for rev in self.repo.changelog.descendants(startrev):
- children[self.repo.changelog.node(rev)] = 1
- self.keep = children.__contains__
- else:
- self.keep = util.always
-
- def changectx(self, rev):
- if self.lastrev != rev:
- self.lastctx = self.repo[rev]
- self.lastrev = rev
- return self.lastctx
-
- def parents(self, ctx):
- return [p for p in ctx.parents() if p and self.keep(p.node())]
-
- def getheads(self):
- if self.rev:
- heads = [self.repo[self.rev].node()]
- else:
- heads = self.repo.heads()
- return [hex(h) for h in heads if self.keep(h)]
-
- def getfile(self, name, rev):
- try:
- fctx = self.changectx(rev)[name]
- return fctx.data(), fctx.flags()
- except error.LookupError, err:
- raise IOError(err)
-
- def getchanges(self, rev):
- ctx = self.changectx(rev)
- parents = self.parents(ctx)
- if not parents:
- files = sorted(ctx.manifest())
- if self.ignoreerrors:
- # calling getcopies() is a simple way to detect missing
- # revlogs and populate self.ignored
- self.getcopies(ctx, parents, files)
- return [(f, rev) for f in files if f not in self.ignored], {}
- if self._changescache and self._changescache[0] == rev:
- m, a, r = self._changescache[1]
- else:
- m, a, r = self.repo.status(parents[0].node(), ctx.node())[:3]
- # getcopies() detects missing revlogs early, run it before
- # filtering the changes.
- copies = self.getcopies(ctx, parents, m + a)
- changes = [(name, rev) for name in m + a + r
- if name not in self.ignored]
- return sorted(changes), copies
-
- def getcopies(self, ctx, parents, files):
- copies = {}
- for name in files:
- if name in self.ignored:
- continue
- try:
- copysource, copynode = ctx.filectx(name).renamed()
- if copysource in self.ignored or not self.keep(copynode):
- continue
- # Ignore copy sources not in parent revisions
- found = False
- for p in parents:
- if copysource in p:
- found = True
- break
- if not found:
- continue
- copies[name] = copysource
- except TypeError:
- pass
- except error.LookupError, e:
- if not self.ignoreerrors:
- raise
- self.ignored.add(name)
- self.ui.warn(_('ignoring: %s\n') % e)
- return copies
-
- def getcommit(self, rev):
- ctx = self.changectx(rev)
- parents = [p.hex() for p in self.parents(ctx)]
- if self.saverev:
- crev = rev
- else:
- crev = None
- return commit(author=ctx.user(), date=util.datestr(ctx.date()),
- desc=ctx.description(), rev=crev, parents=parents,
- branch=ctx.branch(), extra=ctx.extra(),
- sortkey=ctx.rev())
-
- def gettags(self):
- tags = [t for t in self.repo.tagslist() if t[0] != 'tip']
- return dict([(name, hex(node)) for name, node in tags
- if self.keep(node)])
-
- def getchangedfiles(self, rev, i):
- ctx = self.changectx(rev)
- parents = self.parents(ctx)
- if not parents and i is None:
- i = 0
- changes = [], ctx.manifest().keys(), []
- else:
- i = i or 0
- changes = self.repo.status(parents[i].node(), ctx.node())[:3]
- changes = [[f for f in l if f not in self.ignored] for l in changes]
-
- if i == 0:
- self._changescache = (rev, changes)
-
- return changes[0] + changes[1] + changes[2]
-
- def converted(self, rev, destrev):
- if self.convertfp is None:
- self.convertfp = open(os.path.join(self.path, '.hg', 'shamap'),
- 'a')
- self.convertfp.write('%s %s\n' % (destrev, rev))
- self.convertfp.flush()
-
- def before(self):
- self.ui.debug('run hg source pre-conversion action\n')
-
- def after(self):
- self.ui.debug('run hg source post-conversion action\n')
-
- def hasnativeorder(self):
- return True
-
- def lookuprev(self, rev):
- try:
- return hex(self.repo.lookup(rev))
- except error.RepoError:
- return None
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/hg.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/hg.pyo
deleted file mode 100644
index 633af5e..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/hg.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/monotone.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/monotone.py
deleted file mode 100644
index 151ddc5..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/monotone.py
+++ /dev/null
@@ -1,227 +0,0 @@
-# monotone.py - monotone support for the convert extension
-#
-# Copyright 2008, 2009 Mikkel Fahnoe Jorgensen and
-# others
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-import os, re
-from mercurial import util
-from common import NoRepo, commit, converter_source, checktool
-from common import commandline
-from mercurial.i18n import _
-
-class monotone_source(converter_source, commandline):
- def __init__(self, ui, path=None, rev=None):
- converter_source.__init__(self, ui, path, rev)
- commandline.__init__(self, ui, 'mtn')
-
- self.ui = ui
- self.path = path
-
- norepo = NoRepo(_("%s does not look like a monotone repository")
- % path)
- if not os.path.exists(os.path.join(path, '_MTN')):
- # Could be a monotone repository (SQLite db file)
- try:
- header = file(path, 'rb').read(16)
- except:
- header = ''
- if header != 'SQLite format 3\x00':
- raise norepo
-
- # regular expressions for parsing monotone output
- space = r'\s*'
- name = r'\s+"((?:\\"|[^"])*)"\s*'
- value = name
- revision = r'\s+\[(\w+)\]\s*'
- lines = r'(?:.|\n)+'
-
- self.dir_re = re.compile(space + "dir" + name)
- self.file_re = re.compile(space + "file" + name +
- "content" + revision)
- self.add_file_re = re.compile(space + "add_file" + name +
- "content" + revision)
- self.patch_re = re.compile(space + "patch" + name +
- "from" + revision + "to" + revision)
- self.rename_re = re.compile(space + "rename" + name + "to" + name)
- self.delete_re = re.compile(space + "delete" + name)
- self.tag_re = re.compile(space + "tag" + name + "revision" +
- revision)
- self.cert_re = re.compile(lines + space + "name" + name +
- "value" + value)
-
- attr = space + "file" + lines + space + "attr" + space
- self.attr_execute_re = re.compile(attr + '"mtn:execute"' +
- space + '"true"')
-
- # cached data
- self.manifest_rev = None
- self.manifest = None
- self.files = None
- self.dirs = None
-
- checktool('mtn', abort=False)
-
- # test if there are any revisions
- self.rev = None
- try:
- self.getheads()
- except:
- raise norepo
- self.rev = rev
-
- def mtnrun(self, *args, **kwargs):
- kwargs['d'] = self.path
- return self.run0('automate', *args, **kwargs)
-
- def mtnloadmanifest(self, rev):
- if self.manifest_rev == rev:
- return
- self.manifest = self.mtnrun("get_manifest_of", rev).split("\n\n")
- self.manifest_rev = rev
- self.files = {}
- self.dirs = {}
-
- for e in self.manifest:
- m = self.file_re.match(e)
- if m:
- attr = ""
- name = m.group(1)
- node = m.group(2)
- if self.attr_execute_re.match(e):
- attr += "x"
- self.files[name] = (node, attr)
- m = self.dir_re.match(e)
- if m:
- self.dirs[m.group(1)] = True
-
- def mtnisfile(self, name, rev):
- # a non-file could be a directory or a deleted or renamed file
- self.mtnloadmanifest(rev)
- return name in self.files
-
- def mtnisdir(self, name, rev):
- self.mtnloadmanifest(rev)
- return name in self.dirs
-
- def mtngetcerts(self, rev):
- certs = {"author":"", "date":"",
- "changelog":"", "branch":""}
- certlist = self.mtnrun("certs", rev)
- # mtn < 0.45:
- # key "test@selenic.com"
- # mtn >= 0.45:
- # key [ff58a7ffb771907c4ff68995eada1c4da068d328]
- certlist = re.split('\n\n key ["\[]', certlist)
- for e in certlist:
- m = self.cert_re.match(e)
- if m:
- name, value = m.groups()
- value = value.replace(r'\"', '"')
- value = value.replace(r'\\', '\\')
- certs[name] = value
- # Monotone may have subsecond dates: 2005-02-05T09:39:12.364306
- # and all times are stored in UTC
- certs["date"] = certs["date"].split('.')[0] + " UTC"
- return certs
-
- # implement the converter_source interface:
-
- def getheads(self):
- if not self.rev:
- return self.mtnrun("leaves").splitlines()
- else:
- return [self.rev]
-
- def getchanges(self, rev):
- #revision = self.mtncmd("get_revision %s" % rev).split("\n\n")
- revision = self.mtnrun("get_revision", rev).split("\n\n")
- files = {}
- ignoremove = {}
- renameddirs = []
- copies = {}
- for e in revision:
- m = self.add_file_re.match(e)
- if m:
- files[m.group(1)] = rev
- ignoremove[m.group(1)] = rev
- m = self.patch_re.match(e)
- if m:
- files[m.group(1)] = rev
- # Delete/rename is handled later when the convert engine
- # discovers an IOError exception from getfile,
- # but only if we add the "from" file to the list of changes.
- m = self.delete_re.match(e)
- if m:
- files[m.group(1)] = rev
- m = self.rename_re.match(e)
- if m:
- toname = m.group(2)
- fromname = m.group(1)
- if self.mtnisfile(toname, rev):
- ignoremove[toname] = 1
- copies[toname] = fromname
- files[toname] = rev
- files[fromname] = rev
- elif self.mtnisdir(toname, rev):
- renameddirs.append((fromname, toname))
-
- # Directory renames can be handled only once we have recorded
- # all new files
- for fromdir, todir in renameddirs:
- renamed = {}
- for tofile in self.files:
- if tofile in ignoremove:
- continue
- if tofile.startswith(todir + '/'):
- renamed[tofile] = fromdir + tofile[len(todir):]
- # Avoid chained moves like:
- # d1(/a) => d3/d1(/a)
- # d2 => d3
- ignoremove[tofile] = 1
- for tofile, fromfile in renamed.items():
- self.ui.debug (_("copying file in renamed directory "
- "from '%s' to '%s'")
- % (fromfile, tofile), '\n')
- files[tofile] = rev
- copies[tofile] = fromfile
- for fromfile in renamed.values():
- files[fromfile] = rev
-
- return (files.items(), copies)
-
- def getfile(self, name, rev):
- if not self.mtnisfile(name, rev):
- raise IOError() # file was deleted or renamed
- try:
- data = self.mtnrun("get_file_of", name, r=rev)
- except:
- raise IOError() # file was deleted or renamed
- self.mtnloadmanifest(rev)
- node, attr = self.files.get(name, (None, ""))
- return data, attr
-
- def getcommit(self, rev):
- certs = self.mtngetcerts(rev)
- return commit(
- author=certs["author"],
- date=util.datestr(util.strdate(certs["date"], "%Y-%m-%dT%H:%M:%S")),
- desc=certs["changelog"],
- rev=rev,
- parents=self.mtnrun("parents", rev).splitlines(),
- branch=certs["branch"])
-
- def gettags(self):
- tags = {}
- for e in self.mtnrun("tags").split("\n\n"):
- m = self.tag_re.match(e)
- if m:
- tags[m.group(1)] = m.group(2)
- return tags
-
- def getchangedfiles(self, rev, i):
- # This function is only needed to support --filemap
- # ... and we don't support that
- raise NotImplementedError()
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/monotone.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/monotone.pyo
deleted file mode 100644
index b51d266..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/monotone.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/p4.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/p4.py
deleted file mode 100644
index 5d640ad..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/p4.py
+++ /dev/null
@@ -1,202 +0,0 @@
-# Perforce source for convert extension.
-#
-# Copyright 2009, Frank Kingswood
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-from mercurial import util
-from mercurial.i18n import _
-
-from common import commit, converter_source, checktool, NoRepo
-import marshal
-import re
-
-def loaditer(f):
- "Yield the dictionary objects generated by p4"
- try:
- while True:
- d = marshal.load(f)
- if not d:
- break
- yield d
- except EOFError:
- pass
-
-class p4_source(converter_source):
- def __init__(self, ui, path, rev=None):
- super(p4_source, self).__init__(ui, path, rev=rev)
-
- if "/" in path and not path.startswith('//'):
- raise NoRepo(_('%s does not look like a P4 repository') % path)
-
- checktool('p4', abort=False)
-
- self.p4changes = {}
- self.heads = {}
- self.changeset = {}
- self.files = {}
- self.tags = {}
- self.lastbranch = {}
- self.parent = {}
- self.encoding = "latin_1"
- self.depotname = {} # mapping from local name to depot name
- self.re_type = re.compile(
- "([a-z]+)?(text|binary|symlink|apple|resource|unicode|utf\d+)"
- "(\+\w+)?$")
- self.re_keywords = re.compile(
- r"\$(Id|Header|Date|DateTime|Change|File|Revision|Author)"
- r":[^$\n]*\$")
- self.re_keywords_old = re.compile("\$(Id|Header):[^$\n]*\$")
-
- self._parse(ui, path)
-
- def _parse_view(self, path):
- "Read changes affecting the path"
- cmd = 'p4 -G changes -s submitted %s' % util.shellquote(path)
- stdout = util.popen(cmd, mode='rb')
- for d in loaditer(stdout):
- c = d.get("change", None)
- if c:
- self.p4changes[c] = True
-
- def _parse(self, ui, path):
- "Prepare list of P4 filenames and revisions to import"
- ui.status(_('reading p4 views\n'))
-
- # read client spec or view
- if "/" in path:
- self._parse_view(path)
- if path.startswith("//") and path.endswith("/..."):
- views = {path[:-3]:""}
- else:
- views = {"//": ""}
- else:
- cmd = 'p4 -G client -o %s' % util.shellquote(path)
- clientspec = marshal.load(util.popen(cmd, mode='rb'))
-
- views = {}
- for client in clientspec:
- if client.startswith("View"):
- sview, cview = clientspec[client].split()
- self._parse_view(sview)
- if sview.endswith("...") and cview.endswith("..."):
- sview = sview[:-3]
- cview = cview[:-3]
- cview = cview[2:]
- cview = cview[cview.find("/") + 1:]
- views[sview] = cview
-
- # list of changes that affect our source files
- self.p4changes = self.p4changes.keys()
- self.p4changes.sort(key=int)
-
- # list with depot pathnames, longest first
- vieworder = views.keys()
- vieworder.sort(key=len, reverse=True)
-
- # handle revision limiting
- startrev = self.ui.config('convert', 'p4.startrev', default=0)
- self.p4changes = [x for x in self.p4changes
- if ((not startrev or int(x) >= int(startrev)) and
- (not self.rev or int(x) <= int(self.rev)))]
-
- # now read the full changelists to get the list of file revisions
- ui.status(_('collecting p4 changelists\n'))
- lastid = None
- for change in self.p4changes:
- cmd = "p4 -G describe -s %s" % change
- stdout = util.popen(cmd, mode='rb')
- d = marshal.load(stdout)
- desc = self.recode(d["desc"])
- shortdesc = desc.split("\n", 1)[0]
- t = '%s %s' % (d["change"], repr(shortdesc)[1:-1])
- ui.status(util.ellipsis(t, 80) + '\n')
-
- if lastid:
- parents = [lastid]
- else:
- parents = []
-
- date = (int(d["time"]), 0) # timezone not set
- c = commit(author=self.recode(d["user"]), date=util.datestr(date),
- parents=parents, desc=desc, branch='',
- extra={"p4": change})
-
- files = []
- i = 0
- while ("depotFile%d" % i) in d and ("rev%d" % i) in d:
- oldname = d["depotFile%d" % i]
- filename = None
- for v in vieworder:
- if oldname.startswith(v):
- filename = views[v] + oldname[len(v):]
- break
- if filename:
- files.append((filename, d["rev%d" % i]))
- self.depotname[filename] = oldname
- i += 1
- self.changeset[change] = c
- self.files[change] = files
- lastid = change
-
- if lastid:
- self.heads = [lastid]
-
- def getheads(self):
- return self.heads
-
- def getfile(self, name, rev):
- cmd = 'p4 -G print %s' \
- % util.shellquote("%s#%s" % (self.depotname[name], rev))
- stdout = util.popen(cmd, mode='rb')
-
- mode = None
- contents = ""
- keywords = None
-
- for d in loaditer(stdout):
- code = d["code"]
- data = d.get("data")
-
- if code == "error":
- raise IOError(d["generic"], data)
-
- elif code == "stat":
- p4type = self.re_type.match(d["type"])
- if p4type:
- mode = ""
- flags = (p4type.group(1) or "") + (p4type.group(3) or "")
- if "x" in flags:
- mode = "x"
- if p4type.group(2) == "symlink":
- mode = "l"
- if "ko" in flags:
- keywords = self.re_keywords_old
- elif "k" in flags:
- keywords = self.re_keywords
-
- elif code == "text" or code == "binary":
- contents += data
-
- if mode is None:
- raise IOError(0, "bad stat")
-
- if keywords:
- contents = keywords.sub("$\\1$", contents)
- if mode == "l" and contents.endswith("\n"):
- contents = contents[:-1]
-
- return contents, mode
-
- def getchanges(self, rev):
- return self.files[rev], {}
-
- def getcommit(self, rev):
- return self.changeset[rev]
-
- def gettags(self):
- return self.tags
-
- def getchangedfiles(self, rev, i):
- return sorted([x[0] for x in self.files[rev]])
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/p4.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/p4.pyo
deleted file mode 100644
index 45f1e2a..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/p4.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/subversion.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/subversion.py
deleted file mode 100644
index f2d26ad..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/subversion.py
+++ /dev/null
@@ -1,1168 +0,0 @@
-# Subversion 1.4/1.5 Python API backend
-#
-# Copyright(C) 2007 Daniel Holth et al
-
-import os
-import re
-import sys
-import cPickle as pickle
-import tempfile
-import urllib
-import urllib2
-
-from mercurial import strutil, util, encoding
-from mercurial.i18n import _
-
-# Subversion stuff. Works best with very recent Python SVN bindings
-# e.g. SVN 1.5 or backports. Thanks to the bzr folks for enhancing
-# these bindings.
-
-from cStringIO import StringIO
-
-from common import NoRepo, MissingTool, commit, encodeargs, decodeargs
-from common import commandline, converter_source, converter_sink, mapfile
-
-try:
- from svn.core import SubversionException, Pool
- import svn
- import svn.client
- import svn.core
- import svn.ra
- import svn.delta
- import transport
- import warnings
- warnings.filterwarnings('ignore',
- module='svn.core',
- category=DeprecationWarning)
-
-except ImportError:
- pass
-
-class SvnPathNotFound(Exception):
- pass
-
-def geturl(path):
- try:
- return svn.client.url_from_path(svn.core.svn_path_canonicalize(path))
- except SubversionException:
- pass
- if os.path.isdir(path):
- path = os.path.normpath(os.path.abspath(path))
- if os.name == 'nt':
- path = '/' + util.normpath(path)
- # Module URL is later compared with the repository URL returned
- # by svn API, which is UTF-8.
- path = encoding.tolocal(path)
- return 'file://%s' % urllib.quote(path)
- return path
-
-def optrev(number):
- optrev = svn.core.svn_opt_revision_t()
- optrev.kind = svn.core.svn_opt_revision_number
- optrev.value.number = number
- return optrev
-
-class changedpath(object):
- def __init__(self, p):
- self.copyfrom_path = p.copyfrom_path
- self.copyfrom_rev = p.copyfrom_rev
- self.action = p.action
-
-def get_log_child(fp, url, paths, start, end, limit=0, discover_changed_paths=True,
- strict_node_history=False):
- protocol = -1
- def receiver(orig_paths, revnum, author, date, message, pool):
- if orig_paths is not None:
- for k, v in orig_paths.iteritems():
- orig_paths[k] = changedpath(v)
- pickle.dump((orig_paths, revnum, author, date, message),
- fp, protocol)
-
- try:
- # Use an ra of our own so that our parent can consume
- # our results without confusing the server.
- t = transport.SvnRaTransport(url=url)
- svn.ra.get_log(t.ra, paths, start, end, limit,
- discover_changed_paths,
- strict_node_history,
- receiver)
- except SubversionException, (inst, num):
- pickle.dump(num, fp, protocol)
- except IOError:
- # Caller may interrupt the iteration
- pickle.dump(None, fp, protocol)
- else:
- pickle.dump(None, fp, protocol)
- fp.close()
- # With large history, cleanup process goes crazy and suddenly
- # consumes *huge* amount of memory. The output file being closed,
- # there is no need for clean termination.
- os._exit(0)
-
-def debugsvnlog(ui, **opts):
- """Fetch SVN log in a subprocess and channel them back to parent to
- avoid memory collection issues.
- """
- util.set_binary(sys.stdin)
- util.set_binary(sys.stdout)
- args = decodeargs(sys.stdin.read())
- get_log_child(sys.stdout, *args)
-
-class logstream(object):
- """Interruptible revision log iterator."""
- def __init__(self, stdout):
- self._stdout = stdout
-
- def __iter__(self):
- while True:
- try:
- entry = pickle.load(self._stdout)
- except EOFError:
- raise util.Abort(_('Mercurial failed to run itself, check'
- ' hg executable is in PATH'))
- try:
- orig_paths, revnum, author, date, message = entry
- except:
- if entry is None:
- break
- raise SubversionException("child raised exception", entry)
- yield entry
-
- def close(self):
- if self._stdout:
- self._stdout.close()
- self._stdout = None
-
-
-# Check to see if the given path is a local Subversion repo. Verify this by
-# looking for several svn-specific files and directories in the given
-# directory.
-def filecheck(ui, path, proto):
- for x in ('locks', 'hooks', 'format', 'db'):
- if not os.path.exists(os.path.join(path, x)):
- return False
- return True
-
-# Check to see if a given path is the root of an svn repo over http. We verify
-# this by requesting a version-controlled URL we know can't exist and looking
-# for the svn-specific "not found" XML.
-def httpcheck(ui, path, proto):
- try:
- opener = urllib2.build_opener()
- rsp = opener.open('%s://%s/!svn/ver/0/.svn' % (proto, path))
- data = rsp.read()
- except urllib2.HTTPError, inst:
- if inst.code != 404:
- # Except for 404 we cannot know for sure this is not an svn repo
- ui.warn(_('svn: cannot probe remote repository, assume it could '
- 'be a subversion repository. Use --source-type if you '
- 'know better.\n'))
- return True
- data = inst.fp.read()
- except:
- # Could be urllib2.URLError if the URL is invalid or anything else.
- return False
- return '' in data
-
-protomap = {'http': httpcheck,
- 'https': httpcheck,
- 'file': filecheck,
- }
-def issvnurl(ui, url):
- try:
- proto, path = url.split('://', 1)
- if proto == 'file':
- path = urllib.url2pathname(path)
- except ValueError:
- proto = 'file'
- path = os.path.abspath(url)
- if proto == 'file':
- path = path.replace(os.sep, '/')
- check = protomap.get(proto, lambda *args: False)
- while '/' in path:
- if check(ui, path, proto):
- return True
- path = path.rsplit('/', 1)[0]
- return False
-
-# SVN conversion code stolen from bzr-svn and tailor
-#
-# Subversion looks like a versioned filesystem, branches structures
-# are defined by conventions and not enforced by the tool. First,
-# we define the potential branches (modules) as "trunk" and "branches"
-# children directories. Revisions are then identified by their
-# module and revision number (and a repository identifier).
-#
-# The revision graph is really a tree (or a forest). By default, a
-# revision parent is the previous revision in the same module. If the
-# module directory is copied/moved from another module then the
-# revision is the module root and its parent the source revision in
-# the parent module. A revision has at most one parent.
-#
-class svn_source(converter_source):
- def __init__(self, ui, url, rev=None):
- super(svn_source, self).__init__(ui, url, rev=rev)
-
- if not (url.startswith('svn://') or url.startswith('svn+ssh://') or
- (os.path.exists(url) and
- os.path.exists(os.path.join(url, '.svn'))) or
- issvnurl(ui, url)):
- raise NoRepo(_("%s does not look like a Subversion repository")
- % url)
-
- try:
- SubversionException
- except NameError:
- raise MissingTool(_('Subversion python bindings could not be loaded'))
-
- try:
- version = svn.core.SVN_VER_MAJOR, svn.core.SVN_VER_MINOR
- if version < (1, 4):
- raise MissingTool(_('Subversion python bindings %d.%d found, '
- '1.4 or later required') % version)
- except AttributeError:
- raise MissingTool(_('Subversion python bindings are too old, 1.4 '
- 'or later required'))
-
- self.lastrevs = {}
-
- latest = None
- try:
- # Support file://path@rev syntax. Useful e.g. to convert
- # deleted branches.
- at = url.rfind('@')
- if at >= 0:
- latest = int(url[at + 1:])
- url = url[:at]
- except ValueError:
- pass
- self.url = geturl(url)
- self.encoding = 'UTF-8' # Subversion is always nominal UTF-8
- try:
- self.transport = transport.SvnRaTransport(url=self.url)
- self.ra = self.transport.ra
- self.ctx = self.transport.client
- self.baseurl = svn.ra.get_repos_root(self.ra)
- # Module is either empty or a repository path starting with
- # a slash and not ending with a slash.
- self.module = urllib.unquote(self.url[len(self.baseurl):])
- self.prevmodule = None
- self.rootmodule = self.module
- self.commits = {}
- self.paths = {}
- self.uuid = svn.ra.get_uuid(self.ra)
- except SubversionException:
- ui.traceback()
- raise NoRepo(_("%s does not look like a Subversion repository")
- % self.url)
-
- if rev:
- try:
- latest = int(rev)
- except ValueError:
- raise util.Abort(_('svn: revision %s is not an integer') % rev)
-
- self.startrev = self.ui.config('convert', 'svn.startrev', default=0)
- try:
- self.startrev = int(self.startrev)
- if self.startrev < 0:
- self.startrev = 0
- except ValueError:
- raise util.Abort(_('svn: start revision %s is not an integer')
- % self.startrev)
-
- self.head = self.latest(self.module, latest)
- if not self.head:
- raise util.Abort(_('no revision found in module %s')
- % self.module)
- self.last_changed = self.revnum(self.head)
-
- self._changescache = None
-
- if os.path.exists(os.path.join(url, '.svn/entries')):
- self.wc = url
- else:
- self.wc = None
- self.convertfp = None
-
- def setrevmap(self, revmap):
- lastrevs = {}
- for revid in revmap.iterkeys():
- uuid, module, revnum = self.revsplit(revid)
- lastrevnum = lastrevs.setdefault(module, revnum)
- if revnum > lastrevnum:
- lastrevs[module] = revnum
- self.lastrevs = lastrevs
-
- def exists(self, path, optrev):
- try:
- svn.client.ls(self.url.rstrip('/') + '/' + urllib.quote(path),
- optrev, False, self.ctx)
- return True
- except SubversionException:
- return False
-
- def getheads(self):
-
- def isdir(path, revnum):
- kind = self._checkpath(path, revnum)
- return kind == svn.core.svn_node_dir
-
- def getcfgpath(name, rev):
- cfgpath = self.ui.config('convert', 'svn.' + name)
- if cfgpath is not None and cfgpath.strip() == '':
- return None
- path = (cfgpath or name).strip('/')
- if not self.exists(path, rev):
- if cfgpath:
- raise util.Abort(_('expected %s to be at %r, but not found')
- % (name, path))
- return None
- self.ui.note(_('found %s at %r\n') % (name, path))
- return path
-
- rev = optrev(self.last_changed)
- oldmodule = ''
- trunk = getcfgpath('trunk', rev)
- self.tags = getcfgpath('tags', rev)
- branches = getcfgpath('branches', rev)
-
- # If the project has a trunk or branches, we will extract heads
- # from them. We keep the project root otherwise.
- if trunk:
- oldmodule = self.module or ''
- self.module += '/' + trunk
- self.head = self.latest(self.module, self.last_changed)
- if not self.head:
- raise util.Abort(_('no revision found in module %s')
- % self.module)
-
- # First head in the list is the module's head
- self.heads = [self.head]
- if self.tags is not None:
- self.tags = '%s/%s' % (oldmodule , (self.tags or 'tags'))
-
- # Check if branches bring a few more heads to the list
- if branches:
- rpath = self.url.strip('/')
- branchnames = svn.client.ls(rpath + '/' + urllib.quote(branches),
- rev, False, self.ctx)
- for branch in branchnames.keys():
- module = '%s/%s/%s' % (oldmodule, branches, branch)
- if not isdir(module, self.last_changed):
- continue
- brevid = self.latest(module, self.last_changed)
- if not brevid:
- self.ui.note(_('ignoring empty branch %s\n') % branch)
- continue
- self.ui.note(_('found branch %s at %d\n') %
- (branch, self.revnum(brevid)))
- self.heads.append(brevid)
-
- if self.startrev and self.heads:
- if len(self.heads) > 1:
- raise util.Abort(_('svn: start revision is not supported '
- 'with more than one branch'))
- revnum = self.revnum(self.heads[0])
- if revnum < self.startrev:
- raise util.Abort(
- _('svn: no revision found after start revision %d')
- % self.startrev)
-
- return self.heads
-
- def getchanges(self, rev):
- if self._changescache and self._changescache[0] == rev:
- return self._changescache[1]
- self._changescache = None
- (paths, parents) = self.paths[rev]
- if parents:
- files, self.removed, copies = self.expandpaths(rev, paths, parents)
- else:
- # Perform a full checkout on roots
- uuid, module, revnum = self.revsplit(rev)
- entries = svn.client.ls(self.baseurl + urllib.quote(module),
- optrev(revnum), True, self.ctx)
- files = [n for n, e in entries.iteritems()
- if e.kind == svn.core.svn_node_file]
- copies = {}
- self.removed = set()
-
- files.sort()
- files = zip(files, [rev] * len(files))
-
- # caller caches the result, so free it here to release memory
- del self.paths[rev]
- return (files, copies)
-
- def getchangedfiles(self, rev, i):
- changes = self.getchanges(rev)
- self._changescache = (rev, changes)
- return [f[0] for f in changes[0]]
-
- def getcommit(self, rev):
- if rev not in self.commits:
- uuid, module, revnum = self.revsplit(rev)
- self.module = module
- self.reparent(module)
- # We assume that:
- # - requests for revisions after "stop" come from the
- # revision graph backward traversal. Cache all of them
- # down to stop, they will be used eventually.
- # - requests for revisions before "stop" come to get
- # isolated branches parents. Just fetch what is needed.
- stop = self.lastrevs.get(module, 0)
- if revnum < stop:
- stop = revnum + 1
- self._fetch_revisions(revnum, stop)
- commit = self.commits[rev]
- # caller caches the result, so free it here to release memory
- del self.commits[rev]
- return commit
-
- def gettags(self):
- tags = {}
- if self.tags is None:
- return tags
-
- # svn tags are just a convention, project branches left in a
- # 'tags' directory. There is no other relationship than
- # ancestry, which is expensive to discover and makes them hard
- # to update incrementally. Worse, past revisions may be
- # referenced by tags far away in the future, requiring a deep
- # history traversal on every calculation. Current code
- # performs a single backward traversal, tracking moves within
- # the tags directory (tag renaming) and recording a new tag
- # everytime a project is copied from outside the tags
- # directory. It also lists deleted tags, this behaviour may
- # change in the future.
- pendings = []
- tagspath = self.tags
- start = svn.ra.get_latest_revnum(self.ra)
- stream = self._getlog([self.tags], start, self.startrev)
- try:
- for entry in stream:
- origpaths, revnum, author, date, message = entry
- copies = [(e.copyfrom_path, e.copyfrom_rev, p) for p, e
- in origpaths.iteritems() if e.copyfrom_path]
- # Apply moves/copies from more specific to general
- copies.sort(reverse=True)
-
- srctagspath = tagspath
- if copies and copies[-1][2] == tagspath:
- # Track tags directory moves
- srctagspath = copies.pop()[0]
-
- for source, sourcerev, dest in copies:
- if not dest.startswith(tagspath + '/'):
- continue
- for tag in pendings:
- if tag[0].startswith(dest):
- tagpath = source + tag[0][len(dest):]
- tag[:2] = [tagpath, sourcerev]
- break
- else:
- pendings.append([source, sourcerev, dest])
-
- # Filter out tags with children coming from different
- # parts of the repository like:
- # /tags/tag.1 (from /trunk:10)
- # /tags/tag.1/foo (from /branches/foo:12)
- # Here/tags/tag.1 discarded as well as its children.
- # It happens with tools like cvs2svn. Such tags cannot
- # be represented in mercurial.
- addeds = dict((p, e.copyfrom_path) for p, e
- in origpaths.iteritems()
- if e.action == 'A' and e.copyfrom_path)
- badroots = set()
- for destroot in addeds:
- for source, sourcerev, dest in pendings:
- if (not dest.startswith(destroot + '/')
- or source.startswith(addeds[destroot] + '/')):
- continue
- badroots.add(destroot)
- break
-
- for badroot in badroots:
- pendings = [p for p in pendings if p[2] != badroot
- and not p[2].startswith(badroot + '/')]
-
- # Tell tag renamings from tag creations
- remainings = []
- for source, sourcerev, dest in pendings:
- tagname = dest.split('/')[-1]
- if source.startswith(srctagspath):
- remainings.append([source, sourcerev, tagname])
- continue
- if tagname in tags:
- # Keep the latest tag value
- continue
- # From revision may be fake, get one with changes
- try:
- tagid = self.latest(source, sourcerev)
- if tagid and tagname not in tags:
- tags[tagname] = tagid
- except SvnPathNotFound:
- # It happens when we are following directories
- # we assumed were copied with their parents
- # but were really created in the tag
- # directory.
- pass
- pendings = remainings
- tagspath = srctagspath
- finally:
- stream.close()
- return tags
-
- def converted(self, rev, destrev):
- if not self.wc:
- return
- if self.convertfp is None:
- self.convertfp = open(os.path.join(self.wc, '.svn', 'hg-shamap'),
- 'a')
- self.convertfp.write('%s %d\n' % (destrev, self.revnum(rev)))
- self.convertfp.flush()
-
- def revid(self, revnum, module=None):
- return 'svn:%s%s@%s' % (self.uuid, module or self.module, revnum)
-
- def revnum(self, rev):
- return int(rev.split('@')[-1])
-
- def revsplit(self, rev):
- url, revnum = rev.rsplit('@', 1)
- revnum = int(revnum)
- parts = url.split('/', 1)
- uuid = parts.pop(0)[4:]
- mod = ''
- if parts:
- mod = '/' + parts[0]
- return uuid, mod, revnum
-
- def latest(self, path, stop=0):
- """Find the latest revid affecting path, up to stop. It may return
- a revision in a different module, since a branch may be moved without
- a change being reported. Return None if computed module does not
- belong to rootmodule subtree.
- """
- if not path.startswith(self.rootmodule):
- # Requests on foreign branches may be forbidden at server level
- self.ui.debug('ignoring foreign branch %r\n' % path)
- return None
-
- if not stop:
- stop = svn.ra.get_latest_revnum(self.ra)
- try:
- prevmodule = self.reparent('')
- dirent = svn.ra.stat(self.ra, path.strip('/'), stop)
- self.reparent(prevmodule)
- except SubversionException:
- dirent = None
- if not dirent:
- raise SvnPathNotFound(_('%s not found up to revision %d')
- % (path, stop))
-
- # stat() gives us the previous revision on this line of
- # development, but it might be in *another module*. Fetch the
- # log and detect renames down to the latest revision.
- stream = self._getlog([path], stop, dirent.created_rev)
- try:
- for entry in stream:
- paths, revnum, author, date, message = entry
- if revnum <= dirent.created_rev:
- break
-
- for p in paths:
- if not path.startswith(p) or not paths[p].copyfrom_path:
- continue
- newpath = paths[p].copyfrom_path + path[len(p):]
- self.ui.debug("branch renamed from %s to %s at %d\n" %
- (path, newpath, revnum))
- path = newpath
- break
- finally:
- stream.close()
-
- if not path.startswith(self.rootmodule):
- self.ui.debug('ignoring foreign branch %r\n' % path)
- return None
- return self.revid(dirent.created_rev, path)
-
- def reparent(self, module):
- """Reparent the svn transport and return the previous parent."""
- if self.prevmodule == module:
- return module
- svnurl = self.baseurl + urllib.quote(module)
- prevmodule = self.prevmodule
- if prevmodule is None:
- prevmodule = ''
- self.ui.debug("reparent to %s\n" % svnurl)
- svn.ra.reparent(self.ra, svnurl)
- self.prevmodule = module
- return prevmodule
-
- def expandpaths(self, rev, paths, parents):
- changed, removed = set(), set()
- copies = {}
-
- new_module, revnum = self.revsplit(rev)[1:]
- if new_module != self.module:
- self.module = new_module
- self.reparent(self.module)
-
- for i, (path, ent) in enumerate(paths):
- self.ui.progress(_('scanning paths'), i, item=path,
- total=len(paths))
- entrypath = self.getrelpath(path)
-
- kind = self._checkpath(entrypath, revnum)
- if kind == svn.core.svn_node_file:
- changed.add(self.recode(entrypath))
- if not ent.copyfrom_path or not parents:
- continue
- # Copy sources not in parent revisions cannot be
- # represented, ignore their origin for now
- pmodule, prevnum = self.revsplit(parents[0])[1:]
- if ent.copyfrom_rev < prevnum:
- continue
- copyfrom_path = self.getrelpath(ent.copyfrom_path, pmodule)
- if not copyfrom_path:
- continue
- self.ui.debug("copied to %s from %s@%s\n" %
- (entrypath, copyfrom_path, ent.copyfrom_rev))
- copies[self.recode(entrypath)] = self.recode(copyfrom_path)
- elif kind == 0: # gone, but had better be a deleted *file*
- self.ui.debug("gone from %s\n" % ent.copyfrom_rev)
- pmodule, prevnum = self.revsplit(parents[0])[1:]
- parentpath = pmodule + "/" + entrypath
- fromkind = self._checkpath(entrypath, prevnum, pmodule)
-
- if fromkind == svn.core.svn_node_file:
- removed.add(self.recode(entrypath))
- elif fromkind == svn.core.svn_node_dir:
- oroot = parentpath.strip('/')
- nroot = path.strip('/')
- children = self._iterfiles(oroot, prevnum)
- for childpath in children:
- childpath = childpath.replace(oroot, nroot)
- childpath = self.getrelpath("/" + childpath, pmodule)
- if childpath:
- removed.add(self.recode(childpath))
- else:
- self.ui.debug('unknown path in revision %d: %s\n' % \
- (revnum, path))
- elif kind == svn.core.svn_node_dir:
- if ent.action == 'M':
- # If the directory just had a prop change,
- # then we shouldn't need to look for its children.
- continue
- if ent.action == 'R' and parents:
- # If a directory is replacing a file, mark the previous
- # file as deleted
- pmodule, prevnum = self.revsplit(parents[0])[1:]
- pkind = self._checkpath(entrypath, prevnum, pmodule)
- if pkind == svn.core.svn_node_file:
- removed.add(self.recode(entrypath))
- elif pkind == svn.core.svn_node_dir:
- # We do not know what files were kept or removed,
- # mark them all as changed.
- for childpath in self._iterfiles(pmodule, prevnum):
- childpath = self.getrelpath("/" + childpath)
- if childpath:
- changed.add(self.recode(childpath))
-
- for childpath in self._iterfiles(path, revnum):
- childpath = self.getrelpath("/" + childpath)
- if childpath:
- changed.add(self.recode(childpath))
-
- # Handle directory copies
- if not ent.copyfrom_path or not parents:
- continue
- # Copy sources not in parent revisions cannot be
- # represented, ignore their origin for now
- pmodule, prevnum = self.revsplit(parents[0])[1:]
- if ent.copyfrom_rev < prevnum:
- continue
- copyfrompath = self.getrelpath(ent.copyfrom_path, pmodule)
- if not copyfrompath:
- continue
- self.ui.debug("mark %s came from %s:%d\n"
- % (path, copyfrompath, ent.copyfrom_rev))
- children = self._iterfiles(ent.copyfrom_path, ent.copyfrom_rev)
- for childpath in children:
- childpath = self.getrelpath("/" + childpath, pmodule)
- if not childpath:
- continue
- copytopath = path + childpath[len(copyfrompath):]
- copytopath = self.getrelpath(copytopath)
- copies[self.recode(copytopath)] = self.recode(childpath)
-
- self.ui.progress(_('scanning paths'), None)
- changed.update(removed)
- return (list(changed), removed, copies)
-
- def _fetch_revisions(self, from_revnum, to_revnum):
- if from_revnum < to_revnum:
- from_revnum, to_revnum = to_revnum, from_revnum
-
- self.child_cset = None
-
- def parselogentry(orig_paths, revnum, author, date, message):
- """Return the parsed commit object or None, and True if
- the revision is a branch root.
- """
- self.ui.debug("parsing revision %d (%d changes)\n" %
- (revnum, len(orig_paths)))
-
- branched = False
- rev = self.revid(revnum)
- # branch log might return entries for a parent we already have
-
- if rev in self.commits or revnum < to_revnum:
- return None, branched
-
- parents = []
- # check whether this revision is the start of a branch or part
- # of a branch renaming
- orig_paths = sorted(orig_paths.iteritems())
- root_paths = [(p, e) for p, e in orig_paths
- if self.module.startswith(p)]
- if root_paths:
- path, ent = root_paths[-1]
- if ent.copyfrom_path:
- branched = True
- newpath = ent.copyfrom_path + self.module[len(path):]
- # ent.copyfrom_rev may not be the actual last revision
- previd = self.latest(newpath, ent.copyfrom_rev)
- if previd is not None:
- prevmodule, prevnum = self.revsplit(previd)[1:]
- if prevnum >= self.startrev:
- parents = [previd]
- self.ui.note(
- _('found parent of branch %s at %d: %s\n') %
- (self.module, prevnum, prevmodule))
- else:
- self.ui.debug("no copyfrom path, don't know what to do.\n")
-
- paths = []
- # filter out unrelated paths
- for path, ent in orig_paths:
- if self.getrelpath(path) is None:
- continue
- paths.append((path, ent))
-
- # Example SVN datetime. Includes microseconds.
- # ISO-8601 conformant
- # '2007-01-04T17:35:00.902377Z'
- date = util.parsedate(date[:19] + " UTC", ["%Y-%m-%dT%H:%M:%S"])
-
- log = message and self.recode(message) or ''
- author = author and self.recode(author) or ''
- try:
- branch = self.module.split("/")[-1]
- if branch == 'trunk':
- branch = ''
- except IndexError:
- branch = None
-
- cset = commit(author=author,
- date=util.datestr(date),
- desc=log,
- parents=parents,
- branch=branch,
- rev=rev)
-
- self.commits[rev] = cset
- # The parents list is *shared* among self.paths and the
- # commit object. Both will be updated below.
- self.paths[rev] = (paths, cset.parents)
- if self.child_cset and not self.child_cset.parents:
- self.child_cset.parents[:] = [rev]
- self.child_cset = cset
- return cset, branched
-
- self.ui.note(_('fetching revision log for "%s" from %d to %d\n') %
- (self.module, from_revnum, to_revnum))
-
- try:
- firstcset = None
- lastonbranch = False
- stream = self._getlog([self.module], from_revnum, to_revnum)
- try:
- for entry in stream:
- paths, revnum, author, date, message = entry
- if revnum < self.startrev:
- lastonbranch = True
- break
- if not paths:
- self.ui.debug('revision %d has no entries\n' % revnum)
- # If we ever leave the loop on an empty
- # revision, do not try to get a parent branch
- lastonbranch = lastonbranch or revnum == 0
- continue
- cset, lastonbranch = parselogentry(paths, revnum, author,
- date, message)
- if cset:
- firstcset = cset
- if lastonbranch:
- break
- finally:
- stream.close()
-
- if not lastonbranch and firstcset and not firstcset.parents:
- # The first revision of the sequence (the last fetched one)
- # has invalid parents if not a branch root. Find the parent
- # revision now, if any.
- try:
- firstrevnum = self.revnum(firstcset.rev)
- if firstrevnum > 1:
- latest = self.latest(self.module, firstrevnum - 1)
- if latest:
- firstcset.parents.append(latest)
- except SvnPathNotFound:
- pass
- except SubversionException, (inst, num):
- if num == svn.core.SVN_ERR_FS_NO_SUCH_REVISION:
- raise util.Abort(_('svn: branch has no revision %s') % to_revnum)
- raise
-
- def getfile(self, file, rev):
- # TODO: ra.get_file transmits the whole file instead of diffs.
- if file in self.removed:
- raise IOError()
- mode = ''
- try:
- new_module, revnum = self.revsplit(rev)[1:]
- if self.module != new_module:
- self.module = new_module
- self.reparent(self.module)
- io = StringIO()
- info = svn.ra.get_file(self.ra, file, revnum, io)
- data = io.getvalue()
- # ra.get_files() seems to keep a reference on the input buffer
- # preventing collection. Release it explicitely.
- io.close()
- if isinstance(info, list):
- info = info[-1]
- mode = ("svn:executable" in info) and 'x' or ''
- mode = ("svn:special" in info) and 'l' or mode
- except SubversionException, e:
- notfound = (svn.core.SVN_ERR_FS_NOT_FOUND,
- svn.core.SVN_ERR_RA_DAV_PATH_NOT_FOUND)
- if e.apr_err in notfound: # File not found
- raise IOError()
- raise
- if mode == 'l':
- link_prefix = "link "
- if data.startswith(link_prefix):
- data = data[len(link_prefix):]
- return data, mode
-
- def _iterfiles(self, path, revnum):
- """Enumerate all files in path at revnum, recursively."""
- path = path.strip('/')
- pool = Pool()
- rpath = '/'.join([self.baseurl, urllib.quote(path)]).strip('/')
- entries = svn.client.ls(rpath, optrev(revnum), True, self.ctx, pool)
- return ((path + '/' + p) for p, e in entries.iteritems()
- if e.kind == svn.core.svn_node_file)
-
- def getrelpath(self, path, module=None):
- if module is None:
- module = self.module
- # Given the repository url of this wc, say
- # "http://server/plone/CMFPlone/branches/Plone-2_0-branch"
- # extract the "entry" portion (a relative path) from what
- # svn log --xml says, ie
- # "/CMFPlone/branches/Plone-2_0-branch/tests/PloneTestCase.py"
- # that is to say "tests/PloneTestCase.py"
- if path.startswith(module):
- relative = path.rstrip('/')[len(module):]
- if relative.startswith('/'):
- return relative[1:]
- elif relative == '':
- return relative
-
- # The path is outside our tracked tree...
- self.ui.debug('%r is not under %r, ignoring\n' % (path, module))
- return None
-
- def _checkpath(self, path, revnum, module=None):
- if module is not None:
- prevmodule = self.reparent('')
- path = module + '/' + path
- try:
- # ra.check_path does not like leading slashes very much, it leads
- # to PROPFIND subversion errors
- return svn.ra.check_path(self.ra, path.strip('/'), revnum)
- finally:
- if module is not None:
- self.reparent(prevmodule)
-
- def _getlog(self, paths, start, end, limit=0, discover_changed_paths=True,
- strict_node_history=False):
- # Normalize path names, svn >= 1.5 only wants paths relative to
- # supplied URL
- relpaths = []
- for p in paths:
- if not p.startswith('/'):
- p = self.module + '/' + p
- relpaths.append(p.strip('/'))
- args = [self.baseurl, relpaths, start, end, limit, discover_changed_paths,
- strict_node_history]
- arg = encodeargs(args)
- hgexe = util.hgexecutable()
- cmd = '%s debugsvnlog' % util.shellquote(hgexe)
- stdin, stdout = util.popen2(cmd)
- stdin.write(arg)
- try:
- stdin.close()
- except IOError:
- raise util.Abort(_('Mercurial failed to run itself, check'
- ' hg executable is in PATH'))
- return logstream(stdout)
-
-pre_revprop_change = '''#!/bin/sh
-
-REPOS="$1"
-REV="$2"
-USER="$3"
-PROPNAME="$4"
-ACTION="$5"
-
-if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
-if [ "$ACTION" = "A" -a "$PROPNAME" = "hg:convert-branch" ]; then exit 0; fi
-if [ "$ACTION" = "A" -a "$PROPNAME" = "hg:convert-rev" ]; then exit 0; fi
-
-echo "Changing prohibited revision property" >&2
-exit 1
-'''
-
-class svn_sink(converter_sink, commandline):
- commit_re = re.compile(r'Committed revision (\d+).', re.M)
-
- def prerun(self):
- if self.wc:
- os.chdir(self.wc)
-
- def postrun(self):
- if self.wc:
- os.chdir(self.cwd)
-
- def join(self, name):
- return os.path.join(self.wc, '.svn', name)
-
- def revmapfile(self):
- return self.join('hg-shamap')
-
- def authorfile(self):
- return self.join('hg-authormap')
-
- def __init__(self, ui, path):
- converter_sink.__init__(self, ui, path)
- commandline.__init__(self, ui, 'svn')
- self.delete = []
- self.setexec = []
- self.delexec = []
- self.copies = []
- self.wc = None
- self.cwd = os.getcwd()
-
- path = os.path.realpath(path)
-
- created = False
- if os.path.isfile(os.path.join(path, '.svn', 'entries')):
- self.wc = path
- self.run0('update')
- else:
- wcpath = os.path.join(os.getcwd(), os.path.basename(path) + '-wc')
-
- if os.path.isdir(os.path.dirname(path)):
- if not os.path.exists(os.path.join(path, 'db', 'fs-type')):
- ui.status(_('initializing svn repository %r\n') %
- os.path.basename(path))
- commandline(ui, 'svnadmin').run0('create', path)
- created = path
- path = util.normpath(path)
- if not path.startswith('/'):
- path = '/' + path
- path = 'file://' + path
-
- ui.status(_('initializing svn working copy %r\n')
- % os.path.basename(wcpath))
- self.run0('checkout', path, wcpath)
-
- self.wc = wcpath
- self.opener = util.opener(self.wc)
- self.wopener = util.opener(self.wc)
- self.childmap = mapfile(ui, self.join('hg-childmap'))
- self.is_exec = util.checkexec(self.wc) and util.is_exec or None
-
- if created:
- hook = os.path.join(created, 'hooks', 'pre-revprop-change')
- fp = open(hook, 'w')
- fp.write(pre_revprop_change)
- fp.close()
- util.set_flags(hook, False, True)
-
- xport = transport.SvnRaTransport(url=geturl(path))
- self.uuid = svn.ra.get_uuid(xport.ra)
-
- def wjoin(self, *names):
- return os.path.join(self.wc, *names)
-
- def putfile(self, filename, flags, data):
- if 'l' in flags:
- self.wopener.symlink(data, filename)
- else:
- try:
- if os.path.islink(self.wjoin(filename)):
- os.unlink(filename)
- except OSError:
- pass
- self.wopener(filename, 'w').write(data)
-
- if self.is_exec:
- was_exec = self.is_exec(self.wjoin(filename))
- else:
- # On filesystems not supporting execute-bit, there is no way
- # to know if it is set but asking subversion. Setting it
- # systematically is just as expensive and much simpler.
- was_exec = 'x' not in flags
-
- util.set_flags(self.wjoin(filename), False, 'x' in flags)
- if was_exec:
- if 'x' not in flags:
- self.delexec.append(filename)
- else:
- if 'x' in flags:
- self.setexec.append(filename)
-
- def _copyfile(self, source, dest):
- # SVN's copy command pukes if the destination file exists, but
- # our copyfile method expects to record a copy that has
- # already occurred. Cross the semantic gap.
- wdest = self.wjoin(dest)
- exists = os.path.lexists(wdest)
- if exists:
- fd, tempname = tempfile.mkstemp(
- prefix='hg-copy-', dir=os.path.dirname(wdest))
- os.close(fd)
- os.unlink(tempname)
- os.rename(wdest, tempname)
- try:
- self.run0('copy', source, dest)
- finally:
- if exists:
- try:
- os.unlink(wdest)
- except OSError:
- pass
- os.rename(tempname, wdest)
-
- def dirs_of(self, files):
- dirs = set()
- for f in files:
- if os.path.isdir(self.wjoin(f)):
- dirs.add(f)
- for i in strutil.rfindall(f, '/'):
- dirs.add(f[:i])
- return dirs
-
- def add_dirs(self, files):
- add_dirs = [d for d in sorted(self.dirs_of(files))
- if not os.path.exists(self.wjoin(d, '.svn', 'entries'))]
- if add_dirs:
- self.xargs(add_dirs, 'add', non_recursive=True, quiet=True)
- return add_dirs
-
- def add_files(self, files):
- if files:
- self.xargs(files, 'add', quiet=True)
- return files
-
- def tidy_dirs(self, names):
- deleted = []
- for d in sorted(self.dirs_of(names), reverse=True):
- wd = self.wjoin(d)
- if os.listdir(wd) == '.svn':
- self.run0('delete', d)
- deleted.append(d)
- return deleted
-
- def addchild(self, parent, child):
- self.childmap[parent] = child
-
- def revid(self, rev):
- return u"svn:%s@%s" % (self.uuid, rev)
-
- def putcommit(self, files, copies, parents, commit, source, revmap):
- # Apply changes to working copy
- for f, v in files:
- try:
- data, mode = source.getfile(f, v)
- except IOError:
- self.delete.append(f)
- else:
- self.putfile(f, mode, data)
- if f in copies:
- self.copies.append([copies[f], f])
- files = [f[0] for f in files]
-
- for parent in parents:
- try:
- return self.revid(self.childmap[parent])
- except KeyError:
- pass
- entries = set(self.delete)
- files = frozenset(files)
- entries.update(self.add_dirs(files.difference(entries)))
- if self.copies:
- for s, d in self.copies:
- self._copyfile(s, d)
- self.copies = []
- if self.delete:
- self.xargs(self.delete, 'delete')
- self.delete = []
- entries.update(self.add_files(files.difference(entries)))
- entries.update(self.tidy_dirs(entries))
- if self.delexec:
- self.xargs(self.delexec, 'propdel', 'svn:executable')
- self.delexec = []
- if self.setexec:
- self.xargs(self.setexec, 'propset', 'svn:executable', '*')
- self.setexec = []
-
- fd, messagefile = tempfile.mkstemp(prefix='hg-convert-')
- fp = os.fdopen(fd, 'w')
- fp.write(commit.desc)
- fp.close()
- try:
- output = self.run0('commit',
- username=util.shortuser(commit.author),
- file=messagefile,
- encoding='utf-8')
- try:
- rev = self.commit_re.search(output).group(1)
- except AttributeError:
- if not files:
- return parents[0]
- self.ui.warn(_('unexpected svn output:\n'))
- self.ui.warn(output)
- raise util.Abort(_('unable to cope with svn output'))
- if commit.rev:
- self.run('propset', 'hg:convert-rev', commit.rev,
- revprop=True, revision=rev)
- if commit.branch and commit.branch != 'default':
- self.run('propset', 'hg:convert-branch', commit.branch,
- revprop=True, revision=rev)
- for parent in parents:
- self.addchild(parent, rev)
- return self.revid(rev)
- finally:
- os.unlink(messagefile)
-
- def puttags(self, tags):
- self.ui.warn(_('writing Subversion tags is not yet implemented\n'))
- return None, None
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/subversion.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/subversion.pyo
deleted file mode 100644
index df675f8..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/subversion.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/transport.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/transport.py
deleted file mode 100644
index db68ede..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/transport.py
+++ /dev/null
@@ -1,128 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (C) 2007 Daniel Holth
-# This is a stripped-down version of the original bzr-svn transport.py,
-# Copyright (C) 2006 Jelmer Vernooij
-
-# 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
-
-from svn.core import SubversionException, Pool
-import svn.ra
-import svn.client
-import svn.core
-
-# Some older versions of the Python bindings need to be
-# explicitly initialized. But what we want to do probably
-# won't work worth a darn against those libraries anyway!
-svn.ra.initialize()
-
-svn_config = svn.core.svn_config_get_config(None)
-
-
-def _create_auth_baton(pool):
- """Create a Subversion authentication baton. """
- import svn.client
- # Give the client context baton a suite of authentication
- # providers.h
- providers = [
- svn.client.get_simple_provider(pool),
- svn.client.get_username_provider(pool),
- svn.client.get_ssl_client_cert_file_provider(pool),
- svn.client.get_ssl_client_cert_pw_file_provider(pool),
- svn.client.get_ssl_server_trust_file_provider(pool),
- ]
- # Platform-dependant authentication methods
- getprovider = getattr(svn.core, 'svn_auth_get_platform_specific_provider',
- None)
- if getprovider:
- # Available in svn >= 1.6
- for name in ('gnome_keyring', 'keychain', 'kwallet', 'windows'):
- for type in ('simple', 'ssl_client_cert_pw', 'ssl_server_trust'):
- p = getprovider(name, type, pool)
- if p:
- providers.append(p)
- else:
- if hasattr(svn.client, 'get_windows_simple_provider'):
- providers.append(svn.client.get_windows_simple_provider(pool))
-
- return svn.core.svn_auth_open(providers, pool)
-
-class NotBranchError(SubversionException):
- pass
-
-class SvnRaTransport(object):
- """
- Open an ra connection to a Subversion repository.
- """
- def __init__(self, url="", ra=None):
- self.pool = Pool()
- self.svn_url = url
- self.username = ''
- self.password = ''
-
- # Only Subversion 1.4 has reparent()
- if ra is None or not hasattr(svn.ra, 'reparent'):
- self.client = svn.client.create_context(self.pool)
- ab = _create_auth_baton(self.pool)
- if False:
- svn.core.svn_auth_set_parameter(
- ab, svn.core.SVN_AUTH_PARAM_DEFAULT_USERNAME, self.username)
- svn.core.svn_auth_set_parameter(
- ab, svn.core.SVN_AUTH_PARAM_DEFAULT_PASSWORD, self.password)
- self.client.auth_baton = ab
- self.client.config = svn_config
- try:
- self.ra = svn.client.open_ra_session(
- self.svn_url.encode('utf8'),
- self.client, self.pool)
- except SubversionException, (inst, num):
- if num in (svn.core.SVN_ERR_RA_ILLEGAL_URL,
- svn.core.SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED,
- svn.core.SVN_ERR_BAD_URL):
- raise NotBranchError(url)
- raise
- else:
- self.ra = ra
- svn.ra.reparent(self.ra, self.svn_url.encode('utf8'))
-
- class Reporter(object):
- def __init__(self, reporter_data):
- self._reporter, self._baton = reporter_data
-
- def set_path(self, path, revnum, start_empty, lock_token, pool=None):
- svn.ra.reporter2_invoke_set_path(self._reporter, self._baton,
- path, revnum, start_empty, lock_token, pool)
-
- def delete_path(self, path, pool=None):
- svn.ra.reporter2_invoke_delete_path(self._reporter, self._baton,
- path, pool)
-
- def link_path(self, path, url, revision, start_empty, lock_token,
- pool=None):
- svn.ra.reporter2_invoke_link_path(self._reporter, self._baton,
- path, url, revision, start_empty, lock_token,
- pool)
-
- def finish_report(self, pool=None):
- svn.ra.reporter2_invoke_finish_report(self._reporter,
- self._baton, pool)
-
- def abort_report(self, pool=None):
- svn.ra.reporter2_invoke_abort_report(self._reporter,
- self._baton, pool)
-
- def do_update(self, revnum, path, *args, **kwargs):
- return self.Reporter(svn.ra.do_update(self.ra, revnum, path,
- *args, **kwargs))
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/transport.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/transport.pyo
deleted file mode 100644
index ee1d3d1..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/convert/transport.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/eol.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/eol.py
deleted file mode 100644
index 88294a7..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/eol.py
+++ /dev/null
@@ -1,272 +0,0 @@
-"""automatically manage newlines in repository files
-
-This extension allows you to manage the type of line endings (CRLF or
-LF) that are used in the repository and in the local working
-directory. That way you can get CRLF line endings on Windows and LF on
-Unix/Mac, thereby letting everybody use their OS native line endings.
-
-The extension reads its configuration from a versioned ``.hgeol``
-configuration file every time you run an ``hg`` command. The
-``.hgeol`` file use the same syntax as all other Mercurial
-configuration files. It uses two sections, ``[patterns]`` and
-``[repository]``.
-
-The ``[patterns]`` section specifies how line endings should be
-converted between the working copy and the repository. The format is
-specified by a file pattern. The first match is used, so put more
-specific patterns first. The available line endings are ``LF``,
-``CRLF``, and ``BIN``.
-
-Files with the declared format of ``CRLF`` or ``LF`` are always
-checked out and stored in the repository in that format and files
-declared to be binary (``BIN``) are left unchanged. Additionally,
-``native`` is an alias for checking out in the platform's default line
-ending: ``LF`` on Unix (including Mac OS X) and ``CRLF`` on
-Windows. Note that ``BIN`` (do nothing to line endings) is Mercurial's
-default behaviour; it is only needed if you need to override a later,
-more general pattern.
-
-The optional ``[repository]`` section specifies the line endings to
-use for files stored in the repository. It has a single setting,
-``native``, which determines the storage line endings for files
-declared as ``native`` in the ``[patterns]`` section. It can be set to
-``LF`` or ``CRLF``. The default is ``LF``. For example, this means
-that on Windows, files configured as ``native`` (``CRLF`` by default)
-will be converted to ``LF`` when stored in the repository. Files
-declared as ``LF``, ``CRLF``, or ``BIN`` in the ``[patterns]`` section
-are always stored as-is in the repository.
-
-Example versioned ``.hgeol`` file::
-
- [patterns]
- **.py = native
- **.vcproj = CRLF
- **.txt = native
- Makefile = LF
- **.jpg = BIN
-
- [repository]
- native = LF
-
-.. note::
- The rules will first apply when files are touched in the working
- copy, e.g. by updating to null and back to tip to touch all files.
-
-The extension uses an optional ``[eol]`` section in your hgrc file
-(not the ``.hgeol`` file) for settings that control the overall
-behavior. There are two settings:
-
-- ``eol.native`` (default ``os.linesep``) can be set to ``LF`` or
- ``CRLF`` to override the default interpretation of ``native`` for
- checkout. This can be used with :hg:`archive` on Unix, say, to
- generate an archive where files have line endings for Windows.
-
-- ``eol.only-consistent`` (default True) can be set to False to make
- the extension convert files with inconsistent EOLs. Inconsistent
- means that there is both ``CRLF`` and ``LF`` present in the file.
- Such files are normally not touched under the assumption that they
- have mixed EOLs on purpose.
-
-The ``win32text.forbid*`` hooks provided by the win32text extension
-have been unified into a single hook named ``eol.hook``. The hook will
-lookup the expected line endings from the ``.hgeol`` file, which means
-you must migrate to a ``.hgeol`` file first before using the hook.
-
-See :hg:`help patterns` for more information about the glob patterns
-used.
-"""
-
-from mercurial.i18n import _
-from mercurial import util, config, extensions, match
-import re, os
-
-# Matches a lone LF, i.e., one that is not part of CRLF.
-singlelf = re.compile('(^|[^\r])\n')
-# Matches a single EOL which can either be a CRLF where repeated CR
-# are removed or a LF. We do not care about old Machintosh files, so a
-# stray CR is an error.
-eolre = re.compile('\r*\n')
-
-
-def inconsistenteol(data):
- return '\r\n' in data and singlelf.search(data)
-
-def tolf(s, params, ui, **kwargs):
- """Filter to convert to LF EOLs."""
- if util.binary(s):
- return s
- if ui.configbool('eol', 'only-consistent', True) and inconsistenteol(s):
- return s
- return eolre.sub('\n', s)
-
-def tocrlf(s, params, ui, **kwargs):
- """Filter to convert to CRLF EOLs."""
- if util.binary(s):
- return s
- if ui.configbool('eol', 'only-consistent', True) and inconsistenteol(s):
- return s
- return eolre.sub('\r\n', s)
-
-def isbinary(s, params):
- """Filter to do nothing with the file."""
- return s
-
-filters = {
- 'to-lf': tolf,
- 'to-crlf': tocrlf,
- 'is-binary': isbinary,
-}
-
-
-def hook(ui, repo, node, hooktype, **kwargs):
- """verify that files have expected EOLs"""
- files = set()
- for rev in xrange(repo[node].rev(), len(repo)):
- files.update(repo[rev].files())
- tip = repo['tip']
- for f in files:
- if f not in tip:
- continue
- for pattern, target in ui.configitems('encode'):
- if match.match(repo.root, '', [pattern])(f):
- data = tip[f].data()
- if target == "to-lf" and "\r\n" in data:
- raise util.Abort(_("%s should not have CRLF line endings")
- % f)
- elif target == "to-crlf" and singlelf.search(data):
- raise util.Abort(_("%s should not have LF line endings")
- % f)
-
-
-def preupdate(ui, repo, hooktype, parent1, parent2):
- #print "preupdate for %s: %s -> %s" % (repo.root, parent1, parent2)
- repo.readhgeol(parent1)
- return False
-
-def uisetup(ui):
- ui.setconfig('hooks', 'preupdate.eol', preupdate)
-
-def extsetup(ui):
- try:
- extensions.find('win32text')
- raise util.Abort(_("the eol extension is incompatible with the "
- "win32text extension"))
- except KeyError:
- pass
-
-
-def reposetup(ui, repo):
- uisetup(repo.ui)
- #print "reposetup for", repo.root
-
- if not repo.local():
- return
- for name, fn in filters.iteritems():
- repo.adddatafilter(name, fn)
-
- ui.setconfig('patch', 'eol', 'auto')
-
- class eolrepo(repo.__class__):
-
- _decode = {'LF': 'to-lf', 'CRLF': 'to-crlf', 'BIN': 'is-binary'}
- _encode = {'LF': 'to-lf', 'CRLF': 'to-crlf', 'BIN': 'is-binary'}
-
- def readhgeol(self, node=None, data=None):
- if data is None:
- try:
- if node is None:
- data = self.wfile('.hgeol').read()
- else:
- data = self[node]['.hgeol'].data()
- except (IOError, LookupError):
- return None
-
- if self.ui.config('eol', 'native', os.linesep) in ('LF', '\n'):
- self._decode['NATIVE'] = 'to-lf'
- else:
- self._decode['NATIVE'] = 'to-crlf'
-
- eol = config.config()
- # Our files should not be touched. The pattern must be
- # inserted first override a '** = native' pattern.
- eol.set('patterns', '.hg*', 'BIN')
- # We can then parse the user's patterns.
- eol.parse('.hgeol', data)
-
- if eol.get('repository', 'native') == 'CRLF':
- self._encode['NATIVE'] = 'to-crlf'
- else:
- self._encode['NATIVE'] = 'to-lf'
-
- for pattern, style in eol.items('patterns'):
- key = style.upper()
- try:
- self.ui.setconfig('decode', pattern, self._decode[key])
- self.ui.setconfig('encode', pattern, self._encode[key])
- except KeyError:
- self.ui.warn(_("ignoring unknown EOL style '%s' from %s\n")
- % (style, eol.source('patterns', pattern)))
-
- include = []
- exclude = []
- for pattern, style in eol.items('patterns'):
- key = style.upper()
- if key == 'BIN':
- exclude.append(pattern)
- else:
- include.append(pattern)
-
- # This will match the files for which we need to care
- # about inconsistent newlines.
- return match.match(self.root, '', [], include, exclude)
-
- def _hgcleardirstate(self):
- self._eolfile = self.readhgeol() or self.readhgeol('tip')
-
- if not self._eolfile:
- self._eolfile = util.never
- return
-
- try:
- cachemtime = os.path.getmtime(self.join("eol.cache"))
- except OSError:
- cachemtime = 0
-
- try:
- eolmtime = os.path.getmtime(self.wjoin(".hgeol"))
- except OSError:
- eolmtime = 0
-
- if eolmtime > cachemtime:
- ui.debug("eol: detected change in .hgeol\n")
- # TODO: we could introduce a method for this in dirstate.
- wlock = None
- try:
- wlock = self.wlock()
- for f, e in self.dirstate._map.iteritems():
- self.dirstate._map[f] = (e[0], e[1], -1, 0)
- self.dirstate._dirty = True
- # Touch the cache to update mtime. TODO: are we sure this
- # always enought to update the mtime, or should we write a
- # bit to the file?
- self.opener("eol.cache", "w").close()
- finally:
- if wlock is not None:
- wlock.release()
-
- def commitctx(self, ctx, error=False):
- for f in sorted(ctx.added() + ctx.modified()):
- if not self._eolfile(f):
- continue
- data = ctx[f].data()
- if util.binary(data):
- # We should not abort here, since the user should
- # be able to say "** = native" to automatically
- # have all non-binary files taken care of.
- continue
- if inconsistenteol(data):
- raise util.Abort(_("inconsistent newline style "
- "in %s\n" % f))
- return super(eolrepo, self).commitctx(ctx, error)
- repo.__class__ = eolrepo
- repo._hgcleardirstate()
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/eol.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/eol.pyo
deleted file mode 100644
index cd15b4f..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/eol.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/extdiff.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/extdiff.py
deleted file mode 100644
index 5cf9f03..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/extdiff.py
+++ /dev/null
@@ -1,325 +0,0 @@
-# extdiff.py - external diff program support for mercurial
-#
-# Copyright 2006 Vadim Gelfer
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-'''command to allow external programs to compare revisions
-
-The extdiff Mercurial extension allows you to use external programs
-to compare revisions, or revision with working directory. The external
-diff programs are called with a configurable set of options and two
-non-option arguments: paths to directories containing snapshots of
-files to compare.
-
-The extdiff extension also allows to configure new diff commands, so
-you do not need to type :hg:`extdiff -p kdiff3` always. ::
-
- [extdiff]
- # add new command that runs GNU diff(1) in 'context diff' mode
- cdiff = gdiff -Nprc5
- ## or the old way:
- #cmd.cdiff = gdiff
- #opts.cdiff = -Nprc5
-
- # add new command called vdiff, runs kdiff3
- vdiff = kdiff3
-
- # add new command called meld, runs meld (no need to name twice)
- meld =
-
- # add new command called vimdiff, runs gvimdiff with DirDiff plugin
- # (see http://www.vim.org/scripts/script.php?script_id=102) Non
- # English user, be sure to put "let g:DirDiffDynamicDiffText = 1" in
- # your .vimrc
- vimdiff = gvim -f '+next' '+execute "DirDiff" argv(0) argv(1)'
-
-Tool arguments can include variables that are expanded at runtime::
-
- $parent1, $plabel1 - filename, descriptive label of first parent
- $child, $clabel - filename, descriptive label of child revision
- $parent2, $plabel2 - filename, descriptive label of second parent
- $parent is an alias for $parent1.
-
-The extdiff extension will look in your [diff-tools] and [merge-tools]
-sections for diff tool arguments, when none are specified in [extdiff].
-
-::
-
- [extdiff]
- kdiff3 =
-
- [diff-tools]
- kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child
-
-You can use -I/-X and list of file or directory names like normal
-:hg:`diff` command. The extdiff extension makes snapshots of only
-needed files, so running the external diff program will actually be
-pretty fast (at least faster than having to compare the entire tree).
-'''
-
-from mercurial.i18n import _
-from mercurial.node import short, nullid
-from mercurial import cmdutil, util, commands, encoding
-import os, shlex, shutil, tempfile, re
-
-def snapshot(ui, repo, files, node, tmproot):
- '''snapshot files as of some revision
- if not using snapshot, -I/-X does not work and recursive diff
- in tools like kdiff3 and meld displays too many files.'''
- dirname = os.path.basename(repo.root)
- if dirname == "":
- dirname = "root"
- if node is not None:
- dirname = '%s.%s' % (dirname, short(node))
- base = os.path.join(tmproot, dirname)
- os.mkdir(base)
- if node is not None:
- ui.note(_('making snapshot of %d files from rev %s\n') %
- (len(files), short(node)))
- else:
- ui.note(_('making snapshot of %d files from working directory\n') %
- (len(files)))
- wopener = util.opener(base)
- fns_and_mtime = []
- ctx = repo[node]
- for fn in files:
- wfn = util.pconvert(fn)
- if not wfn in ctx:
- # File doesn't exist; could be a bogus modify
- continue
- ui.note(' %s\n' % wfn)
- dest = os.path.join(base, wfn)
- fctx = ctx[wfn]
- data = repo.wwritedata(wfn, fctx.data())
- if 'l' in fctx.flags():
- wopener.symlink(data, wfn)
- else:
- wopener(wfn, 'w').write(data)
- if 'x' in fctx.flags():
- util.set_flags(dest, False, True)
- if node is None:
- fns_and_mtime.append((dest, repo.wjoin(fn), os.path.getmtime(dest)))
- return dirname, fns_and_mtime
-
-def dodiff(ui, repo, diffcmd, diffopts, pats, opts):
- '''Do the actuall diff:
-
- - copy to a temp structure if diffing 2 internal revisions
- - copy to a temp structure if diffing working revision with
- another one and more than 1 file is changed
- - just invoke the diff for a single file in the working dir
- '''
-
- revs = opts.get('rev')
- change = opts.get('change')
- args = ' '.join(diffopts)
- do3way = '$parent2' in args
-
- if revs and change:
- msg = _('cannot specify --rev and --change at the same time')
- raise util.Abort(msg)
- elif change:
- node2 = repo.lookup(change)
- node1a, node1b = repo.changelog.parents(node2)
- else:
- node1a, node2 = cmdutil.revpair(repo, revs)
- if not revs:
- node1b = repo.dirstate.parents()[1]
- else:
- node1b = nullid
-
- # Disable 3-way merge if there is only one parent
- if do3way:
- if node1b == nullid:
- do3way = False
-
- matcher = cmdutil.match(repo, pats, opts)
- mod_a, add_a, rem_a = map(set, repo.status(node1a, node2, matcher)[:3])
- if do3way:
- mod_b, add_b, rem_b = map(set, repo.status(node1b, node2, matcher)[:3])
- else:
- mod_b, add_b, rem_b = set(), set(), set()
- modadd = mod_a | add_a | mod_b | add_b
- common = modadd | rem_a | rem_b
- if not common:
- return 0
-
- tmproot = tempfile.mkdtemp(prefix='extdiff.')
- try:
- # Always make a copy of node1a (and node1b, if applicable)
- dir1a_files = mod_a | rem_a | ((mod_b | add_b) - add_a)
- dir1a = snapshot(ui, repo, dir1a_files, node1a, tmproot)[0]
- rev1a = '@%d' % repo[node1a].rev()
- if do3way:
- dir1b_files = mod_b | rem_b | ((mod_a | add_a) - add_b)
- dir1b = snapshot(ui, repo, dir1b_files, node1b, tmproot)[0]
- rev1b = '@%d' % repo[node1b].rev()
- else:
- dir1b = None
- rev1b = ''
-
- fns_and_mtime = []
-
- # If node2 in not the wc or there is >1 change, copy it
- dir2root = ''
- rev2 = ''
- if node2:
- dir2 = snapshot(ui, repo, modadd, node2, tmproot)[0]
- rev2 = '@%d' % repo[node2].rev()
- elif len(common) > 1:
- #we only actually need to get the files to copy back to
- #the working dir in this case (because the other cases
- #are: diffing 2 revisions or single file -- in which case
- #the file is already directly passed to the diff tool).
- dir2, fns_and_mtime = snapshot(ui, repo, modadd, None, tmproot)
- else:
- # This lets the diff tool open the changed file directly
- dir2 = ''
- dir2root = repo.root
-
- label1a = rev1a
- label1b = rev1b
- label2 = rev2
-
- # If only one change, diff the files instead of the directories
- # Handle bogus modifies correctly by checking if the files exist
- if len(common) == 1:
- common_file = util.localpath(common.pop())
- dir1a = os.path.join(dir1a, common_file)
- label1a = common_file + rev1a
- if not os.path.isfile(os.path.join(tmproot, dir1a)):
- dir1a = os.devnull
- if do3way:
- dir1b = os.path.join(dir1b, common_file)
- label1b = common_file + rev1b
- if not os.path.isfile(os.path.join(tmproot, dir1b)):
- dir1b = os.devnull
- dir2 = os.path.join(dir2root, dir2, common_file)
- label2 = common_file + rev2
-
- # Function to quote file/dir names in the argument string.
- # When not operating in 3-way mode, an empty string is
- # returned for parent2
- replace = dict(parent=dir1a, parent1=dir1a, parent2=dir1b,
- plabel1=label1a, plabel2=label1b,
- clabel=label2, child=dir2)
- def quote(match):
- key = match.group()[1:]
- if not do3way and key == 'parent2':
- return ''
- return util.shellquote(replace[key])
-
- # Match parent2 first, so 'parent1?' will match both parent1 and parent
- regex = '\$(parent2|parent1?|child|plabel1|plabel2|clabel)'
- if not do3way and not re.search(regex, args):
- args += ' $parent1 $child'
- args = re.sub(regex, quote, args)
- cmdline = util.shellquote(diffcmd) + ' ' + args
-
- ui.debug('running %r in %s\n' % (cmdline, tmproot))
- util.system(cmdline, cwd=tmproot)
-
- for copy_fn, working_fn, mtime in fns_and_mtime:
- if os.path.getmtime(copy_fn) != mtime:
- ui.debug('file changed while diffing. '
- 'Overwriting: %s (src: %s)\n' % (working_fn, copy_fn))
- util.copyfile(copy_fn, working_fn)
-
- return 1
- finally:
- ui.note(_('cleaning up temp directory\n'))
- shutil.rmtree(tmproot)
-
-def extdiff(ui, repo, *pats, **opts):
- '''use external program to diff repository (or selected files)
-
- Show differences between revisions for the specified files, using
- an external program. The default program used is diff, with
- default options "-Npru".
-
- To select a different program, use the -p/--program option. The
- program will be passed the names of two directories to compare. To
- pass additional options to the program, use -o/--option. These
- will be passed before the names of the directories to compare.
-
- When two revision arguments are given, then changes are shown
- between those revisions. If only one revision is specified then
- that revision is compared to the working directory, and, when no
- revisions are specified, the working directory files are compared
- to its parent.'''
- program = opts.get('program')
- option = opts.get('option')
- if not program:
- program = 'diff'
- option = option or ['-Npru']
- return dodiff(ui, repo, program, option, pats, opts)
-
-cmdtable = {
- "extdiff":
- (extdiff,
- [('p', 'program', '',
- _('comparison program to run'), _('CMD')),
- ('o', 'option', [],
- _('pass option to comparison program'), _('OPT')),
- ('r', 'rev', [],
- _('revision'), _('REV')),
- ('c', 'change', '',
- _('change made by revision'), _('REV')),
- ] + commands.walkopts,
- _('hg extdiff [OPT]... [FILE]...')),
- }
-
-def uisetup(ui):
- for cmd, path in ui.configitems('extdiff'):
- if cmd.startswith('cmd.'):
- cmd = cmd[4:]
- if not path:
- path = cmd
- diffopts = ui.config('extdiff', 'opts.' + cmd, '')
- diffopts = diffopts and [diffopts] or []
- elif cmd.startswith('opts.'):
- continue
- else:
- # command = path opts
- if path:
- diffopts = shlex.split(path)
- path = diffopts.pop(0)
- else:
- path, diffopts = cmd, []
- # look for diff arguments in [diff-tools] then [merge-tools]
- if diffopts == []:
- args = ui.config('diff-tools', cmd+'.diffargs') or \
- ui.config('merge-tools', cmd+'.diffargs')
- if args:
- diffopts = shlex.split(args)
- def save(cmd, path, diffopts):
- '''use closure to save diff command to use'''
- def mydiff(ui, repo, *pats, **opts):
- return dodiff(ui, repo, path, diffopts + opts['option'],
- pats, opts)
- doc = _('''\
-use %(path)s to diff repository (or selected files)
-
- Show differences between revisions for the specified files, using
- the %(path)s program.
-
- When two revision arguments are given, then changes are shown
- between those revisions. If only one revision is specified then
- that revision is compared to the working directory, and, when no
- revisions are specified, the working directory files are compared
- to its parent.\
-''') % dict(path=util.uirepr(path))
-
- # We must translate the docstring right away since it is
- # used as a format string. The string will unfortunately
- # be translated again in commands.helpcmd and this will
- # fail when the docstring contains non-ASCII characters.
- # Decoding the string to a Unicode string here (using the
- # right encoding) prevents that.
- mydiff.__doc__ = doc.decode(encoding.encoding)
- return mydiff
- cmdtable[cmd] = (save(cmd, path, diffopts),
- cmdtable['extdiff'][1][1:],
- _('hg %s [OPTION]... [FILE]...') % cmd)
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/extdiff.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/extdiff.pyo
deleted file mode 100644
index 008d690..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/extdiff.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/fetch.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/fetch.py
deleted file mode 100644
index b8e765f..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/fetch.py
+++ /dev/null
@@ -1,152 +0,0 @@
-# fetch.py - pull and merge remote changes
-#
-# Copyright 2006 Vadim Gelfer
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-'''pull, update and merge in one command'''
-
-from mercurial.i18n import _
-from mercurial.node import nullid, short
-from mercurial import commands, cmdutil, hg, util, url, error
-from mercurial.lock import release
-
-def fetch(ui, repo, source='default', **opts):
- '''pull changes from a remote repository, merge new changes if needed.
-
- This finds all changes from the repository at the specified path
- or URL and adds them to the local repository.
-
- If the pulled changes add a new branch head, the head is
- automatically merged, and the result of the merge is committed.
- Otherwise, the working directory is updated to include the new
- changes.
-
- When a merge occurs, the newly pulled changes are assumed to be
- "authoritative". The head of the new changes is used as the first
- parent, with local changes as the second. To switch the merge
- order, use --switch-parent.
-
- See :hg:`help dates` for a list of formats valid for -d/--date.
-
- Returns 0 on success.
- '''
-
- date = opts.get('date')
- if date:
- opts['date'] = util.parsedate(date)
-
- parent, p2 = repo.dirstate.parents()
- branch = repo.dirstate.branch()
- branchnode = repo.branchtags().get(branch)
- if parent != branchnode:
- raise util.Abort(_('working dir not at branch tip '
- '(use "hg update" to check out branch tip)'))
-
- if p2 != nullid:
- raise util.Abort(_('outstanding uncommitted merge'))
-
- wlock = lock = None
- try:
- wlock = repo.wlock()
- lock = repo.lock()
- mod, add, rem, del_ = repo.status()[:4]
-
- if mod or add or rem:
- raise util.Abort(_('outstanding uncommitted changes'))
- if del_:
- raise util.Abort(_('working directory is missing some files'))
- bheads = repo.branchheads(branch)
- bheads = [head for head in bheads if len(repo[head].children()) == 0]
- if len(bheads) > 1:
- raise util.Abort(_('multiple heads in this branch '
- '(use "hg heads ." and "hg merge" to merge)'))
-
- other = hg.repository(hg.remoteui(repo, opts),
- ui.expandpath(source))
- ui.status(_('pulling from %s\n') %
- url.hidepassword(ui.expandpath(source)))
- revs = None
- if opts['rev']:
- try:
- revs = [other.lookup(rev) for rev in opts['rev']]
- except error.CapabilityError:
- err = _("Other repository doesn't support revision lookup, "
- "so a rev cannot be specified.")
- raise util.Abort(err)
-
- # Are there any changes at all?
- modheads = repo.pull(other, heads=revs)
- if modheads == 0:
- return 0
-
- # Is this a simple fast-forward along the current branch?
- newheads = repo.branchheads(branch)
- newchildren = repo.changelog.nodesbetween([parent], newheads)[2]
- if len(newheads) == 1:
- if newchildren[0] != parent:
- return hg.clean(repo, newchildren[0])
- else:
- return 0
-
- # Are there more than one additional branch heads?
- newchildren = [n for n in newchildren if n != parent]
- newparent = parent
- if newchildren:
- newparent = newchildren[0]
- hg.clean(repo, newparent)
- newheads = [n for n in newheads if n != newparent]
- if len(newheads) > 1:
- ui.status(_('not merging with %d other new branch heads '
- '(use "hg heads ." and "hg merge" to merge them)\n') %
- (len(newheads) - 1))
- return 1
-
- # Otherwise, let's merge.
- err = False
- if newheads:
- # By default, we consider the repository we're pulling
- # *from* as authoritative, so we merge our changes into
- # theirs.
- if opts['switch_parent']:
- firstparent, secondparent = newparent, newheads[0]
- else:
- firstparent, secondparent = newheads[0], newparent
- ui.status(_('updating to %d:%s\n') %
- (repo.changelog.rev(firstparent),
- short(firstparent)))
- hg.clean(repo, firstparent)
- ui.status(_('merging with %d:%s\n') %
- (repo.changelog.rev(secondparent), short(secondparent)))
- err = hg.merge(repo, secondparent, remind=False)
-
- if not err:
- # we don't translate commit messages
- message = (cmdutil.logmessage(opts) or
- ('Automated merge with %s' %
- url.removeauth(other.url())))
- editor = cmdutil.commiteditor
- if opts.get('force_editor') or opts.get('edit'):
- editor = cmdutil.commitforceeditor
- n = repo.commit(message, opts['user'], opts['date'], editor=editor)
- ui.status(_('new changeset %d:%s merges remote changes '
- 'with local\n') % (repo.changelog.rev(n),
- short(n)))
-
- return err
-
- finally:
- release(lock, wlock)
-
-cmdtable = {
- 'fetch':
- (fetch,
- [('r', 'rev', [],
- _('a specific revision you would like to pull'), _('REV')),
- ('e', 'edit', None, _('edit commit message')),
- ('', 'force-editor', None, _('edit commit message (DEPRECATED)')),
- ('', 'switch-parent', None, _('switch parents when merging')),
- ] + commands.commitopts + commands.commitopts2 + commands.remoteopts,
- _('hg fetch [SOURCE]')),
-}
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/fetch.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/fetch.pyo
deleted file mode 100644
index c8529ef..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/fetch.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/gpg.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/gpg.py
deleted file mode 100644
index b13ec1e..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/gpg.py
+++ /dev/null
@@ -1,288 +0,0 @@
-# Copyright 2005, 2006 Benoit Boissinot
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-'''commands to sign and verify changesets'''
-
-import os, tempfile, binascii
-from mercurial import util, commands, match
-from mercurial import node as hgnode
-from mercurial.i18n import _
-
-class gpg(object):
- def __init__(self, path, key=None):
- self.path = path
- self.key = (key and " --local-user \"%s\"" % key) or ""
-
- def sign(self, data):
- gpgcmd = "%s --sign --detach-sign%s" % (self.path, self.key)
- return util.filter(data, gpgcmd)
-
- def verify(self, data, sig):
- """ returns of the good and bad signatures"""
- sigfile = datafile = None
- try:
- # create temporary files
- fd, sigfile = tempfile.mkstemp(prefix="hg-gpg-", suffix=".sig")
- fp = os.fdopen(fd, 'wb')
- fp.write(sig)
- fp.close()
- fd, datafile = tempfile.mkstemp(prefix="hg-gpg-", suffix=".txt")
- fp = os.fdopen(fd, 'wb')
- fp.write(data)
- fp.close()
- gpgcmd = ("%s --logger-fd 1 --status-fd 1 --verify "
- "\"%s\" \"%s\"" % (self.path, sigfile, datafile))
- ret = util.filter("", gpgcmd)
- finally:
- for f in (sigfile, datafile):
- try:
- if f:
- os.unlink(f)
- except:
- pass
- keys = []
- key, fingerprint = None, None
- err = ""
- for l in ret.splitlines():
- # see DETAILS in the gnupg documentation
- # filter the logger output
- if not l.startswith("[GNUPG:]"):
- continue
- l = l[9:]
- if l.startswith("ERRSIG"):
- err = _("error while verifying signature")
- break
- elif l.startswith("VALIDSIG"):
- # fingerprint of the primary key
- fingerprint = l.split()[10]
- elif (l.startswith("GOODSIG") or
- l.startswith("EXPSIG") or
- l.startswith("EXPKEYSIG") or
- l.startswith("BADSIG")):
- if key is not None:
- keys.append(key + [fingerprint])
- key = l.split(" ", 2)
- fingerprint = None
- if err:
- return err, []
- if key is not None:
- keys.append(key + [fingerprint])
- return err, keys
-
-def newgpg(ui, **opts):
- """create a new gpg instance"""
- gpgpath = ui.config("gpg", "cmd", "gpg")
- gpgkey = opts.get('key')
- if not gpgkey:
- gpgkey = ui.config("gpg", "key", None)
- return gpg(gpgpath, gpgkey)
-
-def sigwalk(repo):
- """
- walk over every sigs, yields a couple
- ((node, version, sig), (filename, linenumber))
- """
- def parsefile(fileiter, context):
- ln = 1
- for l in fileiter:
- if not l:
- continue
- yield (l.split(" ", 2), (context, ln))
- ln += 1
-
- # read the heads
- fl = repo.file(".hgsigs")
- for r in reversed(fl.heads()):
- fn = ".hgsigs|%s" % hgnode.short(r)
- for item in parsefile(fl.read(r).splitlines(), fn):
- yield item
- try:
- # read local signatures
- fn = "localsigs"
- for item in parsefile(repo.opener(fn), fn):
- yield item
- except IOError:
- pass
-
-def getkeys(ui, repo, mygpg, sigdata, context):
- """get the keys who signed a data"""
- fn, ln = context
- node, version, sig = sigdata
- prefix = "%s:%d" % (fn, ln)
- node = hgnode.bin(node)
-
- data = node2txt(repo, node, version)
- sig = binascii.a2b_base64(sig)
- err, keys = mygpg.verify(data, sig)
- if err:
- ui.warn("%s:%d %s\n" % (fn, ln , err))
- return None
-
- validkeys = []
- # warn for expired key and/or sigs
- for key in keys:
- if key[0] == "BADSIG":
- ui.write(_("%s Bad signature from \"%s\"\n") % (prefix, key[2]))
- continue
- if key[0] == "EXPSIG":
- ui.write(_("%s Note: Signature has expired"
- " (signed by: \"%s\")\n") % (prefix, key[2]))
- elif key[0] == "EXPKEYSIG":
- ui.write(_("%s Note: This key has expired"
- " (signed by: \"%s\")\n") % (prefix, key[2]))
- validkeys.append((key[1], key[2], key[3]))
- return validkeys
-
-def sigs(ui, repo):
- """list signed changesets"""
- mygpg = newgpg(ui)
- revs = {}
-
- for data, context in sigwalk(repo):
- node, version, sig = data
- fn, ln = context
- try:
- n = repo.lookup(node)
- except KeyError:
- ui.warn(_("%s:%d node does not exist\n") % (fn, ln))
- continue
- r = repo.changelog.rev(n)
- keys = getkeys(ui, repo, mygpg, data, context)
- if not keys:
- continue
- revs.setdefault(r, [])
- revs[r].extend(keys)
- for rev in sorted(revs, reverse=True):
- for k in revs[rev]:
- r = "%5d:%s" % (rev, hgnode.hex(repo.changelog.node(rev)))
- ui.write("%-30s %s\n" % (keystr(ui, k), r))
-
-def check(ui, repo, rev):
- """verify all the signatures there may be for a particular revision"""
- mygpg = newgpg(ui)
- rev = repo.lookup(rev)
- hexrev = hgnode.hex(rev)
- keys = []
-
- for data, context in sigwalk(repo):
- node, version, sig = data
- if node == hexrev:
- k = getkeys(ui, repo, mygpg, data, context)
- if k:
- keys.extend(k)
-
- if not keys:
- ui.write(_("No valid signature for %s\n") % hgnode.short(rev))
- return
-
- # print summary
- ui.write("%s is signed by:\n" % hgnode.short(rev))
- for key in keys:
- ui.write(" %s\n" % keystr(ui, key))
-
-def keystr(ui, key):
- """associate a string to a key (username, comment)"""
- keyid, user, fingerprint = key
- comment = ui.config("gpg", fingerprint, None)
- if comment:
- return "%s (%s)" % (user, comment)
- else:
- return user
-
-def sign(ui, repo, *revs, **opts):
- """add a signature for the current or given revision
-
- If no revision is given, the parent of the working directory is used,
- or tip if no revision is checked out.
-
- See :hg:`help dates` for a list of formats valid for -d/--date.
- """
-
- mygpg = newgpg(ui, **opts)
- sigver = "0"
- sigmessage = ""
-
- date = opts.get('date')
- if date:
- opts['date'] = util.parsedate(date)
-
- if revs:
- nodes = [repo.lookup(n) for n in revs]
- else:
- nodes = [node for node in repo.dirstate.parents()
- if node != hgnode.nullid]
- if len(nodes) > 1:
- raise util.Abort(_('uncommitted merge - please provide a '
- 'specific revision'))
- if not nodes:
- nodes = [repo.changelog.tip()]
-
- for n in nodes:
- hexnode = hgnode.hex(n)
- ui.write(_("Signing %d:%s\n") % (repo.changelog.rev(n),
- hgnode.short(n)))
- # build data
- data = node2txt(repo, n, sigver)
- sig = mygpg.sign(data)
- if not sig:
- raise util.Abort(_("error while signing"))
- sig = binascii.b2a_base64(sig)
- sig = sig.replace("\n", "")
- sigmessage += "%s %s %s\n" % (hexnode, sigver, sig)
-
- # write it
- if opts['local']:
- repo.opener("localsigs", "ab").write(sigmessage)
- return
-
- msigs = match.exact(repo.root, '', ['.hgsigs'])
- s = repo.status(match=msigs, unknown=True, ignored=True)[:6]
- if util.any(s) and not opts["force"]:
- raise util.Abort(_("working copy of .hgsigs is changed "
- "(please commit .hgsigs manually "
- "or use --force)"))
-
- repo.wfile(".hgsigs", "ab").write(sigmessage)
-
- if '.hgsigs' not in repo.dirstate:
- repo[None].add([".hgsigs"])
-
- if opts["no_commit"]:
- return
-
- message = opts['message']
- if not message:
- # we don't translate commit messages
- message = "\n".join(["Added signature for changeset %s"
- % hgnode.short(n)
- for n in nodes])
- try:
- repo.commit(message, opts['user'], opts['date'], match=msigs)
- except ValueError, inst:
- raise util.Abort(str(inst))
-
-def node2txt(repo, node, ver):
- """map a manifest into some text"""
- if ver == "0":
- return "%s\n" % hgnode.hex(node)
- else:
- raise util.Abort(_("unknown signature version"))
-
-cmdtable = {
- "sign":
- (sign,
- [('l', 'local', None, _('make the signature local')),
- ('f', 'force', None, _('sign even if the sigfile is modified')),
- ('', 'no-commit', None, _('do not commit the sigfile after signing')),
- ('k', 'key', '',
- _('the key id to sign with'), _('ID')),
- ('m', 'message', '',
- _('commit message'), _('TEXT')),
- ] + commands.commitopts2,
- _('hg sign [OPTION]... [REVISION]...')),
- "sigcheck": (check, [], _('hg sigcheck REVISION')),
- "sigs": (sigs, [], _('hg sigs')),
-}
-
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/gpg.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/gpg.pyo
deleted file mode 100644
index 3d5d415..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/gpg.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/graphlog.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/graphlog.py
deleted file mode 100644
index a8eb805..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/graphlog.py
+++ /dev/null
@@ -1,337 +0,0 @@
-# ASCII graph log extension for Mercurial
-#
-# Copyright 2007 Joel Rosdahl
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-'''command to view revision graphs from a shell
-
-This extension adds a --graph option to the incoming, outgoing and log
-commands. When this options is given, an ASCII representation of the
-revision graph is also shown.
-'''
-
-import os
-from mercurial.cmdutil import revrange, show_changeset
-from mercurial.commands import templateopts
-from mercurial.i18n import _
-from mercurial.node import nullrev
-from mercurial import cmdutil, commands, extensions
-from mercurial import hg, util, graphmod
-
-ASCIIDATA = 'ASC'
-
-def asciiedges(seen, rev, parents):
- """adds edge info to changelog DAG walk suitable for ascii()"""
- if rev not in seen:
- seen.append(rev)
- nodeidx = seen.index(rev)
-
- knownparents = []
- newparents = []
- for parent in parents:
- if parent in seen:
- knownparents.append(parent)
- else:
- newparents.append(parent)
-
- ncols = len(seen)
- seen[nodeidx:nodeidx + 1] = newparents
- edges = [(nodeidx, seen.index(p)) for p in knownparents]
-
- if len(newparents) > 0:
- edges.append((nodeidx, nodeidx))
- if len(newparents) > 1:
- edges.append((nodeidx, nodeidx + 1))
-
- nmorecols = len(seen) - ncols
- return nodeidx, edges, ncols, nmorecols
-
-def fix_long_right_edges(edges):
- for (i, (start, end)) in enumerate(edges):
- if end > start:
- edges[i] = (start, end + 1)
-
-def get_nodeline_edges_tail(
- node_index, p_node_index, n_columns, n_columns_diff, p_diff, fix_tail):
- if fix_tail and n_columns_diff == p_diff and n_columns_diff != 0:
- # Still going in the same non-vertical direction.
- if n_columns_diff == -1:
- start = max(node_index + 1, p_node_index)
- tail = ["|", " "] * (start - node_index - 1)
- tail.extend(["/", " "] * (n_columns - start))
- return tail
- else:
- return ["\\", " "] * (n_columns - node_index - 1)
- else:
- return ["|", " "] * (n_columns - node_index - 1)
-
-def draw_edges(edges, nodeline, interline):
- for (start, end) in edges:
- if start == end + 1:
- interline[2 * end + 1] = "/"
- elif start == end - 1:
- interline[2 * start + 1] = "\\"
- elif start == end:
- interline[2 * start] = "|"
- else:
- nodeline[2 * end] = "+"
- if start > end:
- (start, end) = (end, start)
- for i in range(2 * start + 1, 2 * end):
- if nodeline[i] != "+":
- nodeline[i] = "-"
-
-def get_padding_line(ni, n_columns, edges):
- line = []
- line.extend(["|", " "] * ni)
- if (ni, ni - 1) in edges or (ni, ni) in edges:
- # (ni, ni - 1) (ni, ni)
- # | | | | | | | |
- # +---o | | o---+
- # | | c | | c | |
- # | |/ / | |/ /
- # | | | | | |
- c = "|"
- else:
- c = " "
- line.extend([c, " "])
- line.extend(["|", " "] * (n_columns - ni - 1))
- return line
-
-def asciistate():
- """returns the initial value for the "state" argument to ascii()"""
- return [0, 0]
-
-def ascii(ui, state, type, char, text, coldata):
- """prints an ASCII graph of the DAG
-
- takes the following arguments (one call per node in the graph):
-
- - ui to write to
- - Somewhere to keep the needed state in (init to asciistate())
- - Column of the current node in the set of ongoing edges.
- - Type indicator of node data == ASCIIDATA.
- - Payload: (char, lines):
- - Character to use as node's symbol.
- - List of lines to display as the node's text.
- - Edges; a list of (col, next_col) indicating the edges between
- the current node and its parents.
- - Number of columns (ongoing edges) in the current revision.
- - The difference between the number of columns (ongoing edges)
- in the next revision and the number of columns (ongoing edges)
- in the current revision. That is: -1 means one column removed;
- 0 means no columns added or removed; 1 means one column added.
- """
-
- idx, edges, ncols, coldiff = coldata
- assert -2 < coldiff < 2
- if coldiff == -1:
- # Transform
- #
- # | | | | | |
- # o | | into o---+
- # |X / |/ /
- # | | | |
- fix_long_right_edges(edges)
-
- # add_padding_line says whether to rewrite
- #
- # | | | | | | | |
- # | o---+ into | o---+
- # | / / | | | # <--- padding line
- # o | | | / /
- # o | |
- add_padding_line = (len(text) > 2 and coldiff == -1 and
- [x for (x, y) in edges if x + 1 < y])
-
- # fix_nodeline_tail says whether to rewrite
- #
- # | | o | | | | o | |
- # | | |/ / | | |/ /
- # | o | | into | o / / # <--- fixed nodeline tail
- # | |/ / | |/ /
- # o | | o | |
- fix_nodeline_tail = len(text) <= 2 and not add_padding_line
-
- # nodeline is the line containing the node character (typically o)
- nodeline = ["|", " "] * idx
- nodeline.extend([char, " "])
-
- nodeline.extend(
- get_nodeline_edges_tail(idx, state[1], ncols, coldiff,
- state[0], fix_nodeline_tail))
-
- # shift_interline is the line containing the non-vertical
- # edges between this entry and the next
- shift_interline = ["|", " "] * idx
- if coldiff == -1:
- n_spaces = 1
- edge_ch = "/"
- elif coldiff == 0:
- n_spaces = 2
- edge_ch = "|"
- else:
- n_spaces = 3
- edge_ch = "\\"
- shift_interline.extend(n_spaces * [" "])
- shift_interline.extend([edge_ch, " "] * (ncols - idx - 1))
-
- # draw edges from the current node to its parents
- draw_edges(edges, nodeline, shift_interline)
-
- # lines is the list of all graph lines to print
- lines = [nodeline]
- if add_padding_line:
- lines.append(get_padding_line(idx, ncols, edges))
- lines.append(shift_interline)
-
- # make sure that there are as many graph lines as there are
- # log strings
- while len(text) < len(lines):
- text.append("")
- if len(lines) < len(text):
- extra_interline = ["|", " "] * (ncols + coldiff)
- while len(lines) < len(text):
- lines.append(extra_interline)
-
- # print lines
- indentation_level = max(ncols, ncols + coldiff)
- for (line, logstr) in zip(lines, text):
- ln = "%-*s %s" % (2 * indentation_level, "".join(line), logstr)
- ui.write(ln.rstrip() + '\n')
-
- # ... and start over
- state[0] = coldiff
- state[1] = idx
-
-def get_revs(repo, rev_opt):
- if rev_opt:
- revs = revrange(repo, rev_opt)
- if len(revs) == 0:
- return (nullrev, nullrev)
- return (max(revs), min(revs))
- else:
- return (len(repo) - 1, 0)
-
-def check_unsupported_flags(opts):
- for op in ["follow", "follow_first", "date", "copies", "keyword", "remove",
- "only_merges", "user", "branch", "only_branch", "prune",
- "newest_first", "no_merges", "include", "exclude"]:
- if op in opts and opts[op]:
- raise util.Abort(_("--graph option is incompatible with --%s")
- % op.replace("_", "-"))
-
-def generate(ui, dag, displayer, showparents, edgefn):
- seen, state = [], asciistate()
- for rev, type, ctx, parents in dag:
- char = ctx.node() in showparents and '@' or 'o'
- displayer.show(ctx)
- lines = displayer.hunk.pop(rev).split('\n')[:-1]
- displayer.flush(rev)
- ascii(ui, state, type, char, lines, edgefn(seen, rev, parents))
- displayer.close()
-
-def graphlog(ui, repo, path=None, **opts):
- """show revision history alongside an ASCII revision graph
-
- Print a revision history alongside a revision graph drawn with
- ASCII characters.
-
- Nodes printed as an @ character are parents of the working
- directory.
- """
-
- check_unsupported_flags(opts)
- limit = cmdutil.loglimit(opts)
- start, stop = get_revs(repo, opts["rev"])
- if start == nullrev:
- return
-
- if path:
- path = util.canonpath(repo.root, os.getcwd(), path)
- if path: # could be reset in canonpath
- revdag = graphmod.filerevs(repo, path, start, stop, limit)
- else:
- if limit is not None:
- stop = max(stop, start - limit + 1)
- revdag = graphmod.revisions(repo, start, stop)
-
- displayer = show_changeset(ui, repo, opts, buffered=True)
- showparents = [ctx.node() for ctx in repo[None].parents()]
- generate(ui, revdag, displayer, showparents, asciiedges)
-
-def graphrevs(repo, nodes, opts):
- limit = cmdutil.loglimit(opts)
- nodes.reverse()
- if limit is not None:
- nodes = nodes[:limit]
- return graphmod.nodes(repo, nodes)
-
-def goutgoing(ui, repo, dest=None, **opts):
- """show the outgoing changesets alongside an ASCII revision graph
-
- Print the outgoing changesets alongside a revision graph drawn with
- ASCII characters.
-
- Nodes printed as an @ character are parents of the working
- directory.
- """
-
- check_unsupported_flags(opts)
- o = hg._outgoing(ui, repo, dest, opts)
- if o is None:
- return
-
- revdag = graphrevs(repo, o, opts)
- displayer = show_changeset(ui, repo, opts, buffered=True)
- showparents = [ctx.node() for ctx in repo[None].parents()]
- generate(ui, revdag, displayer, showparents, asciiedges)
-
-def gincoming(ui, repo, source="default", **opts):
- """show the incoming changesets alongside an ASCII revision graph
-
- Print the incoming changesets alongside a revision graph drawn with
- ASCII characters.
-
- Nodes printed as an @ character are parents of the working
- directory.
- """
- def subreporecurse():
- return 1
-
- check_unsupported_flags(opts)
- def display(other, chlist, displayer):
- revdag = graphrevs(other, chlist, opts)
- showparents = [ctx.node() for ctx in repo[None].parents()]
- generate(ui, revdag, displayer, showparents, asciiedges)
-
- hg._incoming(display, subreporecurse, ui, repo, source, opts, buffered=True)
-
-def uisetup(ui):
- '''Initialize the extension.'''
- _wrapcmd(ui, 'log', commands.table, graphlog)
- _wrapcmd(ui, 'incoming', commands.table, gincoming)
- _wrapcmd(ui, 'outgoing', commands.table, goutgoing)
-
-def _wrapcmd(ui, cmd, table, wrapfn):
- '''wrap the command'''
- def graph(orig, *args, **kwargs):
- if kwargs['graph']:
- return wrapfn(*args, **kwargs)
- return orig(*args, **kwargs)
- entry = extensions.wrapcommand(table, cmd, graph)
- entry[1].append(('G', 'graph', None, _("show the revision DAG")))
-
-cmdtable = {
- "glog":
- (graphlog,
- [('l', 'limit', '',
- _('limit number of changes displayed'), _('NUM')),
- ('p', 'patch', False, _('show patch')),
- ('r', 'rev', [],
- _('show the specified revision or range'), _('REV')),
- ] + templateopts,
- _('hg glog [OPTION]... [FILE]')),
-}
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/graphlog.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/graphlog.pyo
deleted file mode 100644
index 2edc5f3..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/graphlog.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgcia.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgcia.py
deleted file mode 100644
index 4e72680..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgcia.py
+++ /dev/null
@@ -1,251 +0,0 @@
-# Copyright (C) 2007-8 Brendan Cully
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-"""hooks for integrating with the CIA.vc notification service
-
-This is meant to be run as a changegroup or incoming hook. To
-configure it, set the following options in your hgrc::
-
- [cia]
- # your registered CIA user name
- user = foo
- # the name of the project in CIA
- project = foo
- # the module (subproject) (optional)
- #module = foo
- # Append a diffstat to the log message (optional)
- #diffstat = False
- # Template to use for log messages (optional)
- #template = {desc}\\n{baseurl}/rev/{node}-- {diffstat}
- # Style to use (optional)
- #style = foo
- # The URL of the CIA notification service (optional)
- # You can use mailto: URLs to send by email, eg
- # mailto:cia@cia.vc
- # Make sure to set email.from if you do this.
- #url = http://cia.vc/
- # print message instead of sending it (optional)
- #test = False
-
- [hooks]
- # one of these:
- changegroup.cia = python:hgcia.hook
- #incoming.cia = python:hgcia.hook
-
- [web]
- # If you want hyperlinks (optional)
- baseurl = http://server/path/to/repo
-"""
-
-from mercurial.i18n import _
-from mercurial.node import bin, short
-from mercurial import cmdutil, patch, templater, util, mail
-import email.Parser
-
-import xmlrpclib
-from xml.sax import saxutils
-
-socket_timeout = 30 # seconds
-try:
- # set a timeout for the socket so you don't have to wait so looooong
- # when cia.vc is having problems. requires python >= 2.3:
- import socket
- socket.setdefaulttimeout(socket_timeout)
-except:
- pass
-
-HGCIA_VERSION = '0.1'
-HGCIA_URL = 'http://hg.kublai.com/mercurial/hgcia'
-
-
-class ciamsg(object):
- """ A CIA message """
- def __init__(self, cia, ctx):
- self.cia = cia
- self.ctx = ctx
- self.url = self.cia.url
-
- def fileelem(self, path, uri, action):
- if uri:
- uri = ' uri=%s' % saxutils.quoteattr(uri)
- return '%s' % (
- uri, saxutils.quoteattr(action), saxutils.escape(path))
-
- def fileelems(self):
- n = self.ctx.node()
- f = self.cia.repo.status(self.ctx.parents()[0].node(), n)
- url = self.url or ''
- elems = []
- for path in f[0]:
- uri = '%s/diff/%s/%s' % (url, short(n), path)
- elems.append(self.fileelem(path, url and uri, 'modify'))
- for path in f[1]:
- # TODO: copy/rename ?
- uri = '%s/file/%s/%s' % (url, short(n), path)
- elems.append(self.fileelem(path, url and uri, 'add'))
- for path in f[2]:
- elems.append(self.fileelem(path, '', 'remove'))
-
- return '\n'.join(elems)
-
- def sourceelem(self, project, module=None, branch=None):
- msg = ['', '%s' % saxutils.escape(project)]
- if module:
- msg.append('%s' % saxutils.escape(module))
- if branch:
- msg.append('%s' % saxutils.escape(branch))
- msg.append('')
-
- return '\n'.join(msg)
-
- def diffstat(self):
- class patchbuf(object):
- def __init__(self):
- self.lines = []
- # diffstat is stupid
- self.name = 'cia'
- def write(self, data):
- self.lines.append(data)
- def close(self):
- pass
-
- n = self.ctx.node()
- pbuf = patchbuf()
- cmdutil.export(self.cia.repo, [n], fp=pbuf)
- return patch.diffstat(pbuf.lines) or ''
-
- def logmsg(self):
- diffstat = self.cia.diffstat and self.diffstat() or ''
- self.cia.ui.pushbuffer()
- self.cia.templater.show(self.ctx, changes=self.ctx.changeset(),
- url=self.cia.url, diffstat=diffstat)
- return self.cia.ui.popbuffer()
-
- def xml(self):
- n = short(self.ctx.node())
- src = self.sourceelem(self.cia.project, module=self.cia.module,
- branch=self.ctx.branch())
- # unix timestamp
- dt = self.ctx.date()
- timestamp = dt[0]
-
- author = saxutils.escape(self.ctx.user())
- rev = '%d:%s' % (self.ctx.rev(), n)
- log = saxutils.escape(self.logmsg())
-
- url = self.url and '%s/rev/%s' % (saxutils.escape(self.url),
- n) or ''
-
- msg = """
-
-
- Mercurial (hgcia)
- %s
- %s
- %s
-
- %s
-
-
- %s
- %s
- %s
- %s
- %s
-
-
- %d
-
-""" % \
- (HGCIA_VERSION, saxutils.escape(HGCIA_URL),
- saxutils.escape(self.cia.user), src, author, rev, log, url,
- self.fileelems(), timestamp)
-
- return msg
-
-
-class hgcia(object):
- """ CIA notification class """
-
- deftemplate = '{desc}'
- dstemplate = '{desc}\n-- \n{diffstat}'
-
- def __init__(self, ui, repo):
- self.ui = ui
- self.repo = repo
-
- self.ciaurl = self.ui.config('cia', 'url', 'http://cia.vc')
- self.user = self.ui.config('cia', 'user')
- self.project = self.ui.config('cia', 'project')
- self.module = self.ui.config('cia', 'module')
- self.diffstat = self.ui.configbool('cia', 'diffstat')
- self.emailfrom = self.ui.config('email', 'from')
- self.dryrun = self.ui.configbool('cia', 'test')
- self.url = self.ui.config('web', 'baseurl')
-
- style = self.ui.config('cia', 'style')
- template = self.ui.config('cia', 'template')
- if not template:
- template = self.diffstat and self.dstemplate or self.deftemplate
- template = templater.parsestring(template, quoted=False)
- t = cmdutil.changeset_templater(self.ui, self.repo, False, None,
- style, False)
- t.use_template(template)
- self.templater = t
-
- def sendrpc(self, msg):
- srv = xmlrpclib.Server(self.ciaurl)
- res = srv.hub.deliver(msg)
- if res is not True:
- raise util.Abort(_('%s returned an error: %s') %
- (self.ciaurl, res))
-
- def sendemail(self, address, data):
- p = email.Parser.Parser()
- msg = p.parsestr(data)
- msg['Date'] = util.datestr(format="%a, %d %b %Y %H:%M:%S %1%2")
- msg['To'] = address
- msg['From'] = self.emailfrom
- msg['Subject'] = 'DeliverXML'
- msg['Content-type'] = 'text/xml'
- msgtext = msg.as_string()
-
- self.ui.status(_('hgcia: sending update to %s\n') % address)
- mail.sendmail(self.ui, util.email(self.emailfrom),
- [address], msgtext)
-
-
-def hook(ui, repo, hooktype, node=None, url=None, **kwargs):
- """ send CIA notification """
- def sendmsg(cia, ctx):
- msg = ciamsg(cia, ctx).xml()
- if cia.dryrun:
- ui.write(msg)
- elif cia.ciaurl.startswith('mailto:'):
- if not cia.emailfrom:
- raise util.Abort(_('email.from must be defined when '
- 'sending by email'))
- cia.sendemail(cia.ciaurl[7:], msg)
- else:
- cia.sendrpc(msg)
-
- n = bin(node)
- cia = hgcia(ui, repo)
- if not cia.user:
- ui.debug('cia: no user specified')
- return
- if not cia.project:
- ui.debug('cia: no project specified')
- return
- if hooktype == 'changegroup':
- start = repo.changelog.rev(n)
- end = len(repo.changelog)
- for rev in xrange(start, end):
- n = repo.changelog.node(rev)
- ctx = repo.changectx(n)
- sendmsg(cia, ctx)
- else:
- ctx = repo.changectx(n)
- sendmsg(cia, ctx)
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgcia.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgcia.pyo
deleted file mode 100644
index 2c5a2ee..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgcia.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgk.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgk.py
deleted file mode 100644
index e8aae47..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgk.py
+++ /dev/null
@@ -1,348 +0,0 @@
-# Minimal support for git commands on an hg repository
-#
-# Copyright 2005, 2006 Chris Mason
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-'''browse the repository in a graphical way
-
-The hgk extension allows browsing the history of a repository in a
-graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not
-distributed with Mercurial.)
-
-hgk consists of two parts: a Tcl script that does the displaying and
-querying of information, and an extension to Mercurial named hgk.py,
-which provides hooks for hgk to get information. hgk can be found in
-the contrib directory, and the extension is shipped in the hgext
-repository, and needs to be enabled.
-
-The :hg:`view` command will launch the hgk Tcl script. For this command
-to work, hgk must be in your search path. Alternately, you can specify
-the path to hgk in your configuration file::
-
- [hgk]
- path=/location/of/hgk
-
-hgk can make use of the extdiff extension to visualize revisions.
-Assuming you had already configured extdiff vdiff command, just add::
-
- [hgk]
- vdiff=vdiff
-
-Revisions context menu will now display additional entries to fire
-vdiff on hovered and selected revisions.
-'''
-
-import os
-from mercurial import commands, util, patch, revlog, cmdutil
-from mercurial.node import nullid, nullrev, short
-from mercurial.i18n import _
-
-def difftree(ui, repo, node1=None, node2=None, *files, **opts):
- """diff trees from two commits"""
- def __difftree(repo, node1, node2, files=[]):
- assert node2 is not None
- mmap = repo[node1].manifest()
- mmap2 = repo[node2].manifest()
- m = cmdutil.match(repo, files)
- modified, added, removed = repo.status(node1, node2, m)[:3]
- empty = short(nullid)
-
- for f in modified:
- # TODO get file permissions
- ui.write(":100664 100664 %s %s M\t%s\t%s\n" %
- (short(mmap[f]), short(mmap2[f]), f, f))
- for f in added:
- ui.write(":000000 100664 %s %s N\t%s\t%s\n" %
- (empty, short(mmap2[f]), f, f))
- for f in removed:
- ui.write(":100664 000000 %s %s D\t%s\t%s\n" %
- (short(mmap[f]), empty, f, f))
- ##
-
- while True:
- if opts['stdin']:
- try:
- line = raw_input().split(' ')
- node1 = line[0]
- if len(line) > 1:
- node2 = line[1]
- else:
- node2 = None
- except EOFError:
- break
- node1 = repo.lookup(node1)
- if node2:
- node2 = repo.lookup(node2)
- else:
- node2 = node1
- node1 = repo.changelog.parents(node1)[0]
- if opts['patch']:
- if opts['pretty']:
- catcommit(ui, repo, node2, "")
- m = cmdutil.match(repo, files)
- chunks = patch.diff(repo, node1, node2, match=m,
- opts=patch.diffopts(ui, {'git': True}))
- for chunk in chunks:
- ui.write(chunk)
- else:
- __difftree(repo, node1, node2, files=files)
- if not opts['stdin']:
- break
-
-def catcommit(ui, repo, n, prefix, ctx=None):
- nlprefix = '\n' + prefix
- if ctx is None:
- ctx = repo[n]
- ui.write("tree %s\n" % short(ctx.changeset()[0])) # use ctx.node() instead ??
- for p in ctx.parents():
- ui.write("parent %s\n" % p)
-
- date = ctx.date()
- description = ctx.description().replace("\0", "")
- lines = description.splitlines()
- if lines and lines[-1].startswith('committer:'):
- committer = lines[-1].split(': ')[1].rstrip()
- else:
- committer = ctx.user()
-
- ui.write("author %s %s %s\n" % (ctx.user(), int(date[0]), date[1]))
- ui.write("committer %s %s %s\n" % (committer, int(date[0]), date[1]))
- ui.write("revision %d\n" % ctx.rev())
- ui.write("branch %s\n\n" % ctx.branch())
-
- if prefix != "":
- ui.write("%s%s\n" % (prefix, description.replace('\n', nlprefix).strip()))
- else:
- ui.write(description + "\n")
- if prefix:
- ui.write('\0')
-
-def base(ui, repo, node1, node2):
- """output common ancestor information"""
- node1 = repo.lookup(node1)
- node2 = repo.lookup(node2)
- n = repo.changelog.ancestor(node1, node2)
- ui.write(short(n) + "\n")
-
-def catfile(ui, repo, type=None, r=None, **opts):
- """cat a specific revision"""
- # in stdin mode, every line except the commit is prefixed with two
- # spaces. This way the our caller can find the commit without magic
- # strings
- #
- prefix = ""
- if opts['stdin']:
- try:
- (type, r) = raw_input().split(' ')
- prefix = " "
- except EOFError:
- return
-
- else:
- if not type or not r:
- ui.warn(_("cat-file: type or revision not supplied\n"))
- commands.help_(ui, 'cat-file')
-
- while r:
- if type != "commit":
- ui.warn(_("aborting hg cat-file only understands commits\n"))
- return 1
- n = repo.lookup(r)
- catcommit(ui, repo, n, prefix)
- if opts['stdin']:
- try:
- (type, r) = raw_input().split(' ')
- except EOFError:
- break
- else:
- break
-
-# git rev-tree is a confusing thing. You can supply a number of
-# commit sha1s on the command line, and it walks the commit history
-# telling you which commits are reachable from the supplied ones via
-# a bitmask based on arg position.
-# you can specify a commit to stop at by starting the sha1 with ^
-def revtree(ui, args, repo, full="tree", maxnr=0, parents=False):
- def chlogwalk():
- count = len(repo)
- i = count
- l = [0] * 100
- chunk = 100
- while True:
- if chunk > i:
- chunk = i
- i = 0
- else:
- i -= chunk
-
- for x in xrange(chunk):
- if i + x >= count:
- l[chunk - x:] = [0] * (chunk - x)
- break
- if full != None:
- l[x] = repo[i + x]
- l[x].changeset() # force reading
- else:
- l[x] = 1
- for x in xrange(chunk - 1, -1, -1):
- if l[x] != 0:
- yield (i + x, full != None and l[x] or None)
- if i == 0:
- break
-
- # calculate and return the reachability bitmask for sha
- def is_reachable(ar, reachable, sha):
- if len(ar) == 0:
- return 1
- mask = 0
- for i in xrange(len(ar)):
- if sha in reachable[i]:
- mask |= 1 << i
-
- return mask
-
- reachable = []
- stop_sha1 = []
- want_sha1 = []
- count = 0
-
- # figure out which commits they are asking for and which ones they
- # want us to stop on
- for i, arg in enumerate(args):
- if arg.startswith('^'):
- s = repo.lookup(arg[1:])
- stop_sha1.append(s)
- want_sha1.append(s)
- elif arg != 'HEAD':
- want_sha1.append(repo.lookup(arg))
-
- # calculate the graph for the supplied commits
- for i, n in enumerate(want_sha1):
- reachable.append(set())
- visit = [n]
- reachable[i].add(n)
- while visit:
- n = visit.pop(0)
- if n in stop_sha1:
- continue
- for p in repo.changelog.parents(n):
- if p not in reachable[i]:
- reachable[i].add(p)
- visit.append(p)
- if p in stop_sha1:
- continue
-
- # walk the repository looking for commits that are in our
- # reachability graph
- for i, ctx in chlogwalk():
- n = repo.changelog.node(i)
- mask = is_reachable(want_sha1, reachable, n)
- if mask:
- parentstr = ""
- if parents:
- pp = repo.changelog.parents(n)
- if pp[0] != nullid:
- parentstr += " " + short(pp[0])
- if pp[1] != nullid:
- parentstr += " " + short(pp[1])
- if not full:
- ui.write("%s%s\n" % (short(n), parentstr))
- elif full == "commit":
- ui.write("%s%s\n" % (short(n), parentstr))
- catcommit(ui, repo, n, ' ', ctx)
- else:
- (p1, p2) = repo.changelog.parents(n)
- (h, h1, h2) = map(short, (n, p1, p2))
- (i1, i2) = map(repo.changelog.rev, (p1, p2))
-
- date = ctx.date()[0]
- ui.write("%s %s:%s" % (date, h, mask))
- mask = is_reachable(want_sha1, reachable, p1)
- if i1 != nullrev and mask > 0:
- ui.write("%s:%s " % (h1, mask)),
- mask = is_reachable(want_sha1, reachable, p2)
- if i2 != nullrev and mask > 0:
- ui.write("%s:%s " % (h2, mask))
- ui.write("\n")
- if maxnr and count >= maxnr:
- break
- count += 1
-
-def revparse(ui, repo, *revs, **opts):
- """parse given revisions"""
- def revstr(rev):
- if rev == 'HEAD':
- rev = 'tip'
- return revlog.hex(repo.lookup(rev))
-
- for r in revs:
- revrange = r.split(':', 1)
- ui.write('%s\n' % revstr(revrange[0]))
- if len(revrange) == 2:
- ui.write('^%s\n' % revstr(revrange[1]))
-
-# git rev-list tries to order things by date, and has the ability to stop
-# at a given commit without walking the whole repo. TODO add the stop
-# parameter
-def revlist(ui, repo, *revs, **opts):
- """print revisions"""
- if opts['header']:
- full = "commit"
- else:
- full = None
- copy = [x for x in revs]
- revtree(ui, copy, repo, full, opts['max_count'], opts['parents'])
-
-def config(ui, repo, **opts):
- """print extension options"""
- def writeopt(name, value):
- ui.write('k=%s\nv=%s\n' % (name, value))
-
- writeopt('vdiff', ui.config('hgk', 'vdiff', ''))
-
-
-def view(ui, repo, *etc, **opts):
- "start interactive history viewer"
- os.chdir(repo.root)
- optstr = ' '.join(['--%s %s' % (k, v) for k, v in opts.iteritems() if v])
- cmd = ui.config("hgk", "path", "hgk") + " %s %s" % (optstr, " ".join(etc))
- ui.debug("running %s\n" % cmd)
- util.system(cmd)
-
-cmdtable = {
- "^view":
- (view,
- [('l', 'limit', '',
- _('limit number of changes displayed'), _('NUM'))],
- _('hg view [-l LIMIT] [REVRANGE]')),
- "debug-diff-tree":
- (difftree,
- [('p', 'patch', None, _('generate patch')),
- ('r', 'recursive', None, _('recursive')),
- ('P', 'pretty', None, _('pretty')),
- ('s', 'stdin', None, _('stdin')),
- ('C', 'copy', None, _('detect copies')),
- ('S', 'search', "", _('search'))],
- _('hg git-diff-tree [OPTION]... NODE1 NODE2 [FILE]...')),
- "debug-cat-file":
- (catfile,
- [('s', 'stdin', None, _('stdin'))],
- _('hg debug-cat-file [OPTION]... TYPE FILE')),
- "debug-config":
- (config, [], _('hg debug-config')),
- "debug-merge-base":
- (base, [], _('hg debug-merge-base REV REV')),
- "debug-rev-parse":
- (revparse,
- [('', 'default', '', _('ignored'))],
- _('hg debug-rev-parse REV')),
- "debug-rev-list":
- (revlist,
- [('H', 'header', None, _('header')),
- ('t', 'topo-order', None, _('topo-order')),
- ('p', 'parents', None, _('parents')),
- ('n', 'max-count', 0, _('max-count'))],
- _('hg debug-rev-list [OPTION]... REV...')),
-}
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgk.pyo b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgk.pyo
deleted file mode 100644
index 97aa394..0000000
Binary files a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/hgk.pyo and /dev/null differ
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/highlight/__init__.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/highlight/__init__.py
deleted file mode 100644
index 55e3c18..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/hgext/highlight/__init__.py
+++ /dev/null
@@ -1,61 +0,0 @@
-# highlight - syntax highlighting in hgweb, based on Pygments
-#
-# Copyright 2008, 2009 Patrick Mezard and others
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-#
-# The original module was split in an interface and an implementation
-# file to defer pygments loading and speedup extension setup.
-
-"""syntax highlighting for hgweb (requires Pygments)
-
-It depends on the Pygments syntax highlighting library:
-http://pygments.org/
-
-There is a single configuration option::
-
- [web]
- pygments_style =