##// END OF EJS Templates
updated setup for all newest versions...
marcink -
r643:9dc1d92d beta
parent child Browse files
Show More
@@ -3,15 +3,14 b' RhodeCode (RhodiumCode)'
3 3 =======================
4 4
5 5 ``RhodeCode`` (formerly hg-app) is Pylons based repository management and
6 serving for mercurial_. It's similar to github or bitbucket, but it's suppose to run
7 as standalone app, it's open source and focuses more on restricted access to repositories
8 There's no default free access to RhodeCode You have to create an account in order
9 to use the application. It's powered by vcs_ library that we created to handle
10 many various version control systems.
6 serving for mercurial_ and git_. It's similar to github or bitbucket, but
7 it's suppose to run as standalone app, it's open source and focuses more on
8 restricted access to repositories. There's no default free access to RhodeCode
9 You have to create an account in order to use the application. It's powered
10 by vcs_ library that we created to handle many various version control systems.
11 11
12 12 RhodeCode uses `Semantic Versioning <http://semver.org/>`_
13 13
14
15 14 RhodeCode demo
16 15 --------------
17 16
@@ -23,9 +23,10 b' summary controller for pylons'
23 23 @author: marcink
24 24 """
25 25 from pylons import tmpl_context as c, request, url
26 from vcs.exceptions import ChangesetError
26 27 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
27 28 from rhodecode.lib.base import BaseController, render
28 from rhodecode.lib.utils import OrderedDict
29 from rhodecode.lib.utils import OrderedDict, EmptyChangeset
29 30 from rhodecode.model.hg import HgModel
30 31 from rhodecode.model.db import Statistics
31 32 from webhelpers.paginate import Page
@@ -70,11 +71,17 b' class SummaryController(BaseController):'
70 71 c.clone_repo_url = uri
71 72 c.repo_tags = OrderedDict()
72 73 for name, hash in c.repo_info.tags.items()[:10]:
73 c.repo_tags[name] = c.repo_info.get_changeset(hash)
74 try:
75 c.repo_tags[name] = c.repo_info.get_changeset(hash)
76 except ChangesetError:
77 c.repo_tags[name] = EmptyChangeset(hash)
74 78
75 79 c.repo_branches = OrderedDict()
76 80 for name, hash in c.repo_info.branches.items()[:10]:
77 c.repo_branches[name] = c.repo_info.get_changeset(hash)
81 try:
82 c.repo_branches[name] = c.repo_info.get_changeset(hash)
83 except ChangesetError:
84 c.repo_branches[name] = EmptyChangeset(hash)
78 85
79 86 td = datetime.today() + timedelta(days=1)
80 87 y, m, d = td.year, td.month, td.day
@@ -328,8 +328,11 b' from mercurial.templatefilters import pe'
328 328
329 329 def _age(curdate):
330 330 """turns a datetime into an age string."""
331 if not curdate:
332 return ''
331 333
332 334 from datetime import timedelta, datetime
335
333 336 agescales = [("year", 3600 * 24 * 365),
334 337 ("month", 3600 * 24 * 30),
335 338 #("week", 3600 * 24 * 7),
@@ -151,7 +151,7 b' class SimpleGit(object):'
151 151 return HTTPNotFound()(environ, start_response)
152 152 try:
153 153 app = self.__make_app()
154 except Exception:
154 except:
155 155 log.error(traceback.format_exc())
156 156 return HTTPInternalServerError()(environ, start_response)
157 157
@@ -296,13 +296,16 b' def invalidate_cache(name, *args):'
296 296
297 297 class EmptyChangeset(BaseChangeset):
298 298 """
299 An dummy empty changeset.
299 An dummy empty changeset. It's possible to pass hash when creating
300 an EmptyChangeset
300 301 """
301 302
302 revision = -1
303 message = ''
304 author = ''
305 date = ''
303 def __init__(self, cs='0' * 40):
304 self._empty_cs = cs
305 self.revision = -1
306 self.message = ''
307 self.author = ''
308 self.date = ''
306 309
307 310 @LazyProperty
308 311 def raw_id(self):
@@ -310,7 +313,7 b' class EmptyChangeset(BaseChangeset):'
310 313 Returns raw string identifying this changeset, useful for web
311 314 representation.
312 315 """
313 return '0' * 40
316 return self._empty_cs
314 317
315 318 @LazyProperty
316 319 def short_id(self):
@@ -6,11 +6,11 b' requirements = ['
6 6 "Pylons>=1.0.0",
7 7 "SQLAlchemy>=0.6.4",
8 8 "Mako>=0.3.5",
9 "vcs==0.1.10",
9 "vcs>=0.1.10",
10 10 "pygments>=1.3.0",
11 11 "mercurial==1.6.4",
12 "whoosh==1.1.1",
13 "celery==2.1.1",
12 "whoosh>=1.2.5",
13 "celery>=2.1.2",
14 14 "py-bcrypt",
15 15 "babel",
16 16 ]
General Comments 0
You need to be logged in to leave comments. Login now