# HG changeset patch # User Marcin Kuzminski # Date 1342285775 -7200 # Node ID 370ed78291687255b90d7f88353e3a0646f0be57 # Parent 17083006a33d20f5125cadbe0d407a314f1be45e Readme renderer now uses landing_rev parameter to render the readme based on given revision, rather than tip diff -r 17083006a33d -r 370ed7829168 rhodecode/controllers/admin/repos.py --- a/rhodecode/controllers/admin/repos.py Sat Jul 14 18:53:39 2012 +0200 +++ b/rhodecode/controllers/admin/repos.py Sat Jul 14 19:09:35 2012 +0200 @@ -211,6 +211,10 @@ self.__load_defaults() repo_model = RepoModel() changed_name = repo_name + #override the choices with extracted revisions ! + choices, c.landing_revs = ScmModel().get_repo_landing_revs(repo_name) + c.landing_revs_choices = choices + _form = RepoForm(edit=True, old_data={'repo_name': repo_name}, repo_groups=c.repo_groups_choices, landing_revs=c.landing_revs_choices)() diff -r 17083006a33d -r 370ed7829168 rhodecode/controllers/summary.py --- a/rhodecode/controllers/summary.py Sat Jul 14 18:53:39 2012 +0200 +++ b/rhodecode/controllers/summary.py Sat Jul 14 19:09:35 2012 +0200 @@ -180,12 +180,12 @@ if c.enable_downloads: c.download_options = self._get_download_links(c.rhodecode_repo) - c.readme_data, c.readme_file = self.__get_readme_data( - c.rhodecode_db_repo.repo_name, c.rhodecode_repo - ) + c.readme_data, c.readme_file = \ + self.__get_readme_data(c.rhodecode_db_repo) return render('summary/summary.html') - def __get_readme_data(self, repo_name, repo): + def __get_readme_data(self, db_repo): + repo_name = db_repo.repo_name @cache_region('long_term') def _get_readme_from_cache(key): @@ -193,7 +193,8 @@ readme_file = None log.debug('Fetching readme file') try: - cs = repo.get_changeset() # fetches TIP + # get's the landing revision! or tip if fails + cs = db_repo.get_landing_changeset() renderer = MarkupRenderer() for f in README_FILES: try: diff -r 17083006a33d -r 370ed7829168 rhodecode/model/db.py --- a/rhodecode/model/db.py Sat Jul 14 18:53:39 2012 +0200 +++ b/rhodecode/model/db.py Sat Jul 14 19:09:35 2012 +0200 @@ -777,6 +777,13 @@ def get_changeset(self, rev=None): return get_changeset_safe(self.scm_instance, rev) + def get_landing_changeset(self): + """ + Returns landing changeset, or if that doesn't exist returns the tip + """ + cs = self.get_changeset(self.landing_rev) or self.get_changeset() + return cs + @property def tip(self): return self.get_changeset('tip') diff -r 17083006a33d -r 370ed7829168 rhodecode/templates/summary/summary.html --- a/rhodecode/templates/summary/summary.html Sat Jul 14 18:53:39 2012 +0200 +++ b/rhodecode/templates/summary/summary.html Sat Jul 14 19:09:35 2012 +0200 @@ -226,7 +226,7 @@ %if c.readme_data:
-