Switch to side-by-side view

--- a/Allura/allura/tasks/repo_tasks.py
+++ b/Allura/allura/tasks/repo_tasks.py
@@ -124,9 +124,14 @@
     log = logging.getLogger(__name__)
     if revision:
         repo = c.app.repo
-        try:
-            repo.tarball(revision)
-        except:
-            log.error('Could not create tarball for repository %s:%s revision %s' % (c.project.shortname, c.app.config.options.mount_point, revision), exc_info=True)
+        status = repo.get_tarball_status(revision)
+        if status:
+            log.info('Skipping tarball for repository %s:%s rev %s because it is already %s' %
+                     (c.project.shortname, c.app.config.options.mount_point, revision, status))
+        else:
+            try:
+                repo.tarball(revision)
+            except:
+                log.error('Could not create tarball for repository %s:%s revision %s' % (c.project.shortname, c.app.config.options.mount_point, revision), exc_info=True)
     else:
         log.warn('Creation of tarball for %s:%s skipped because revision is not specified' % (c.project.shortname, c.app.config.options.mount_point))