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/04/04 00:20:02 UTC
[3/6] git commit: [#5120] ticket:297 Change default urls for the repo
[#5120] ticket:297 Change default urls for the repo
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/a07f13a2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/a07f13a2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/a07f13a2
Branch: refs/heads/master
Commit: a07f13a27bc1cdb6e09fcbda0be81ae8a9ab774d
Parents: f81ebb3
Author: Yuriy Arhipov <yu...@yandex.ru>
Authored: Wed Mar 20 01:24:08 2013 +0400
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed Apr 3 22:16:57 2013 +0000
----------------------------------------------------------------------
Allura/allura/model/repository.py | 19 +++++++++++++++++
ForgeGit/forgegit/tests/model/test_repository.py | 8 +++---
ForgeSVN/forgesvn/model/svn.py | 2 +
ForgeSVN/forgesvn/tests/model/test_repository.py | 5 ++-
4 files changed, 28 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/a07f13a2/Allura/allura/model/repository.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/repository.py b/Allura/allura/model/repository.py
index 9019375..0c4dcbf 100644
--- a/Allura/allura/model/repository.py
+++ b/Allura/allura/model/repository.py
@@ -163,6 +163,25 @@ class RepositoryImplementation(object):
object_id = commit
else:
object_id = commit._id
+
+ if self._repo.commit(object_id).symbolic_ids:
+ rev = None
+ branches, tags = self._repo.commit(object_id).symbolic_ids
+ for branch in branches:
+ last_commit = self._repo.latest(branch)
+ if last_commit and (object_id == last_commit._id):
+ rev = branch
+ break
+
+ for tag in tags:
+ last_commit = self._repo.latest(tag)
+ if last_commit and (object_id == last_commit._id):
+ rev = tag
+ break
+
+ if rev:
+ object_id = rev
+
return '%sci/%s/' % (self._repo.url(), object_id)
def _setup_paths(self, create_repo_dir=True):
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/a07f13a2/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 bce1a4f..26c952f 100644
--- a/ForgeGit/forgegit/tests/model/test_repository.py
+++ b/ForgeGit/forgegit/tests/model/test_repository.py
@@ -59,7 +59,7 @@ class TestNewGit(unittest.TestCase):
assert self.rev.symbolic_ids == (['master', 'zz'], [])
assert self.rev.url() == (
'/p/test/src-git/ci/'
- '1e146e67985dcd71c74de79613719bef7bddca4a/')
+ 'master/')
all_cis = self.repo.log(self.rev._id, 0, 1000)
assert len(all_cis) == 4
assert_equal(self.repo.log(self.rev._id, 1,1000), all_cis[1:])
@@ -74,7 +74,7 @@ class TestNewGit(unittest.TestCase):
assert self.rev.tree.path() == '/'
assert self.rev.tree.url() == (
'/p/test/src-git/ci/'
- '1e146e67985dcd71c74de79613719bef7bddca4a/'
+ 'master/'
'tree/')
self.rev.tree.by_name['README']
assert self.rev.tree.is_blob('README') == True
@@ -91,7 +91,7 @@ class TestNewGit(unittest.TestCase):
assert ci.shorthand_id() == '[1e146e]', ci.shorthand_id()
assert ci.url() == (
'/p/test/src-git/ci/'
- '1e146e67985dcd71c74de79613719bef7bddca4a/')
+ 'master/')
class TestGitRepo(unittest.TestCase, RepoImplTestBase):
@@ -315,7 +315,7 @@ class TestGitCommit(unittest.TestCase):
ThreadLocalORMSession.close_all()
def test_url(self):
- assert self.rev.url().endswith('ca4a/')
+ assert self.rev.url().endswith('master/'), self.rev.url()
def test_committer_url(self):
assert self.rev.committer_url is None
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/a07f13a2/ForgeSVN/forgesvn/model/svn.py
----------------------------------------------------------------------
diff --git a/ForgeSVN/forgesvn/model/svn.py b/ForgeSVN/forgesvn/model/svn.py
index 4d09534..30fb655 100644
--- a/ForgeSVN/forgesvn/model/svn.py
+++ b/ForgeSVN/forgesvn/model/svn.py
@@ -167,6 +167,8 @@ class SVNImplementation(M.RepositoryImplementation):
object_id = commit
else:
object_id = commit._id
+ if self._repo.latest()._id == object_id:
+ return '%sHEAD/' % self._repo.url()
return '%s%d/' % (
self._repo.url(), self._revno(object_id))
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/a07f13a2/ForgeSVN/forgesvn/tests/model/test_repository.py
----------------------------------------------------------------------
diff --git a/ForgeSVN/forgesvn/tests/model/test_repository.py b/ForgeSVN/forgesvn/tests/model/test_repository.py
index 89964a7..077c50a 100644
--- a/ForgeSVN/forgesvn/tests/model/test_repository.py
+++ b/ForgeSVN/forgesvn/tests/model/test_repository.py
@@ -63,7 +63,7 @@ class TestNewRepo(unittest.TestCase):
assert self.rev.shorthand_id() == '[r5]'
assert self.rev.symbolic_ids == ([], [])
assert self.rev.url() == (
- '/p/test/src/5/')
+ '/p/test/src/HEAD/')
all_cis = self.repo.log(self.rev._id, 0, 1000)
assert len(all_cis) == 5
assert self.repo.log(self.rev._id, 1,1000) == all_cis[1:]
@@ -76,7 +76,7 @@ class TestNewRepo(unittest.TestCase):
'README', 'This is readme\nAnother Line\n')
assert self.rev.tree.path() == '/'
assert self.rev.tree.url() == (
- '/p/test/src/5/tree/')
+ '/p/test/src/HEAD/tree/')
self.rev.tree.by_name['README']
assert self.rev.tree.is_blob('README') == True
assert self.rev.tree['a']['b']['c'].ls() == []
@@ -420,6 +420,7 @@ class _TestWithRepo(_Test):
self.repo._impl.log = lambda *a,**kw:(['foo'], [])
self.repo._impl._repo = self.repo
self.repo._impl.all_commit_ids = lambda *a,**kw: []
+ self.repo._impl.commit().symbolic_ids = None
ThreadLocalORMSession.flush_all()
# ThreadLocalORMSession.close_all()