diff --git a/docs/changelog.rst b/docs/changelog.rst --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -27,7 +27,7 @@ fixes - fixed file browser bug, when switching into given form revision the url was not changing - fixed propagation to error controller on simplehg and simplegit middlewares - +- fixed error when trying to make a download on empty repository 1.1.2 (**2011-01-12**) diff --git a/rhodecode/controllers/files.py b/rhodecode/controllers/files.py --- a/rhodecode/controllers/files.py +++ b/rhodecode/controllers/files.py @@ -154,16 +154,16 @@ class FilesController(BaseController): '.tar.gz': ('application/x-tar', 'tgz'), '.zip': ('application/zip', 'zip'), } - + fileformat = None revision = None - + for ext in archive_specs.keys(): archive_spec = fname.split(ext) if len(archive_spec) == 2: fileformat = archive_spec[1] or ext revision = archive_spec[0] - + if not archive_specs.has_key(fileformat): return _('Unknown archive type') @@ -173,6 +173,8 @@ class FilesController(BaseController): repo.get_changeset(revision) except ChangesetDoesNotExistError: return _('Unknown revision %s') % revision + except EmptyRepositoryError: + return _('Empty repository') archive = tempfile.TemporaryFile() localrepo = repo.repo diff --git a/rhodecode/templates/summary/summary.html b/rhodecode/templates/summary/summary.html --- a/rhodecode/templates/summary/summary.html +++ b/rhodecode/templates/summary/summary.html @@ -128,17 +128,20 @@ <label>${_('Download')}:</label> </div> <div class="input-short"> - - ${h.select('download_options',c.repo_info.get_changeset().raw_id,c.download_options)} - %for cnt,archive in enumerate(c.repo_info._get_archives()): - %if cnt >=1: - | - %endif - <span class="tooltip" title="${_('Download %s as %s') %('tip',archive['type'])}" - id="${archive['type']+'_link'}">${h.link_to(archive['type'], - h.url('files_archive_home',repo_name=c.repo_info.name, - fname='tip'+archive['extension']),class_="archive_icon")}</span> - %endfor + %if len(c.repo_info.revisions) == 0: + ${_('There are no downloads yet')} + %else: + ${h.select('download_options',c.repo_info.get_changeset().raw_id,c.download_options)} + %for cnt,archive in enumerate(c.repo_info._get_archives()): + %if cnt >=1: + | + %endif + <span class="tooltip" title="${_('Download %s as %s') %('tip',archive['type'])}" + id="${archive['type']+'_link'}">${h.link_to(archive['type'], + h.url('files_archive_home',repo_name=c.repo_info.name, + fname='tip'+archive['extension']),class_="archive_icon")}</span> + %endfor + %endif </div> </div> @@ -268,12 +271,11 @@ </div> <div class="table"> - %if c.no_data: <div style="padding:0 10px 10px 15px;font-size: 1.2em;">${c.no_data_msg} %if h.HasPermissionAll('hg.admin')('enable stats on from summary'): [${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name))}] - %endif + %endif </div> %endif: <div id="commit_history" style="width:460px;height:300px;float:left"></div>