You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by jo...@apache.org on 2013/03/29 19:16:41 UTC

[2/2] git commit: [#5963] Minor fixups to code-snapshots

[#5963] Minor fixups to code-snapshots

Signed-off-by: Cory Johns <cj...@slashdotmedia.com>


Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/9dc95933
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/9dc95933
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/9dc95933

Branch: refs/heads/cj/5963
Commit: 9dc95933076afcc1c34ce468a07f3f9846517ad7
Parents: ba609ec
Author: Cory Johns <cj...@slashdotmedia.com>
Authored: Fri Mar 29 15:15:42 2013 +0000
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Fri Mar 29 15:38:15 2013 +0000

----------------------------------------------------------------------
 Allura/allura/model/repository.py                |    6 ++--
 ForgeGit/forgegit/model/git_repo.py              |   10 +++++--
 ForgeGit/forgegit/tests/model/test_repository.py |    2 +-
 ForgeSVN/forgesvn/model/svn.py                   |   22 ++++++++++-------
 4 files changed, 24 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/9dc95933/Allura/allura/model/repository.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/repository.py b/Allura/allura/model/repository.py
index 82f3cf2..110d410 100644
--- a/Allura/allura/model/repository.py
+++ b/Allura/allura/model/repository.py
@@ -240,8 +240,8 @@ class Repository(Artifact, ActivityObject):
                             self.name)
 
     def tarball_filename(self, revision):
-        shortname = c.app.repo.project.shortname.replace('/', '-')
-        mount_point = c.app.repo.app.config.options.mount_point
+        shortname = c.project.shortname.replace('/', '-')
+        mount_point = c.app.config.options.mount_point
         filename = '%s-%s-%s' % (shortname, mount_point, revision)
         return filename
 
@@ -262,7 +262,7 @@ class Repository(Artifact, ActivityObject):
 
         if os.path.isfile(filename):
             return 'ready'
-        elif os.path.isfile(tmpfilename) or os.path.isdir(pathname):
+        elif os.path.isfile(tmpfilename):
             return 'busy'
 
     def __repr__(self): # pragma no cover

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/9dc95933/ForgeGit/forgegit/model/git_repo.py
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/model/git_repo.py b/ForgeGit/forgegit/model/git_repo.py
index 27fc8e4..d7c9d49 100644
--- a/ForgeGit/forgegit/model/git_repo.py
+++ b/ForgeGit/forgegit/model/git_repo.py
@@ -329,9 +329,13 @@ class GitImplementation(M.RepositoryImplementation):
         archive_name = self._repo.tarball_filename(commit)
         filename = os.path.join(self._repo.tarball_path, '%s%s' % (archive_name, '.tar.gz'))
         tmpfilename = os.path.join(self._repo.tarball_path, '%s%s' % (archive_name, '.tmp'))
-        with gzip.open(tmpfilename, 'w') as fp:
-            self._git.archive(fp, format='tar', treeish=commit, prefix=archive_name + '/')
-        os.rename(tmpfilename, filename)
+        try:
+            with gzip.open(tmpfilename, 'w') as fp:
+                self._git.archive(fp, format='tar', treeish=commit, prefix=archive_name + '/')
+            os.rename(tmpfilename, filename)
+        finally:
+            if os.path.exists(tmpfilename):
+                os.remove(tmpfilename)
 
 
 class _OpenedGitBlob(object):

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/9dc95933/ForgeGit/forgegit/tests/model/test_repository.py
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/tests/model/test_repository.py b/ForgeGit/forgegit/tests/model/test_repository.py
index ba52de5..08de37b 100644
--- a/ForgeGit/forgegit/tests/model/test_repository.py
+++ b/ForgeGit/forgegit/tests/model/test_repository.py
@@ -261,7 +261,7 @@ class TestGitRepo(unittest.TestCase, RepoImplTestBase):
         os.remove("/tmp/tarball/git/t/te/test/testgit.git/test-src-git-HEAD.tmp")
         assert_equal(self.repo.get_tarball_status('HEAD'), None)
         os.makedirs("/tmp/tarball/git/t/te/test/testgit.git/test-src-git-HEAD")
-        assert_equal(self.repo.get_tarball_status('HEAD'), 'busy')
+        assert_equal(self.repo.get_tarball_status('HEAD'), None)
 
 
 class TestGitCommit(unittest.TestCase):

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/9dc95933/ForgeSVN/forgesvn/model/svn.py
----------------------------------------------------------------------
diff --git a/ForgeSVN/forgesvn/model/svn.py b/ForgeSVN/forgesvn/model/svn.py
index 902c829..171c709 100644
--- a/ForgeSVN/forgesvn/model/svn.py
+++ b/ForgeSVN/forgesvn/model/svn.py
@@ -614,18 +614,22 @@ class SVNImplementation(M.RepositoryImplementation):
         if not os.path.exists(self._repo.tarball_path):
             os.makedirs(self._repo.tarball_path)
         path = os.path.join(self._repo.tarball_path, commit)
-        if os.path.exists(path):
-            rmtree(path)
-        self._svn.export(self._url,
-                         path,
-                         revision=pysvn.Revision(pysvn.opt_revision_kind.number, commit))
         archive_name = self._repo.tarball_filename(commit)
         filename = os.path.join(self._repo.tarball_path, '%s%s' % (archive_name, '.tar.gz'))
         tmpfilename = os.path.join(self._repo.tarball_path, '%s%s' % (archive_name, '.tmp'))
-        with tarfile.open(tmpfilename, "w:gz") as tar:
-            tar.add(path, arcname=archive_name)
-        rmtree(path)
-        os.rename(tmpfilename, filename)
+        if os.path.exists(path):
+            rmtree(path)
+        try:
+            self._svn.export(self._url,
+                             path,
+                             revision=pysvn.Revision(pysvn.opt_revision_kind.number, commit))
+            with tarfile.open(tmpfilename, "w:gz") as tar:
+                tar.add(path, arcname=archive_name)
+            os.rename(tmpfilename, filename)
+        finally:
+            rmtree(path)
+            if os.path.exists(tmpfilename):
+                os.remove(tmpfilename)
 
 
 Mapper.compile_all()