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/10/02 18:29:45 UTC
[1/7] git commit: [#5775] ticket:433 fixed filesize after copied from
link
Updated Branches:
refs/heads/master 2080faea4 -> 4c1f101ad
[#5775] ticket:433 fixed filesize after copied from link
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/7b9db7ba
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/7b9db7ba
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/7b9db7ba
Branch: refs/heads/master
Commit: 7b9db7ba20bc48d90bb32886c200628f33d9589e
Parents: baed285
Author: Yuriy Arhipov <yu...@yandex.ru>
Authored: Tue Oct 1 13:59:04 2013 +0400
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed Oct 2 15:40:30 2013 +0000
----------------------------------------------------------------------
ForgeGit/forgegit/model/git_repo.py | 2 ++
ForgeGit/forgegit/tests/model/test_repository.py | 2 ++
2 files changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/7b9db7ba/ForgeGit/forgegit/model/git_repo.py
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/model/git_repo.py b/ForgeGit/forgegit/model/git_repo.py
index fa62c23..b1c621b 100644
--- a/ForgeGit/forgegit/model/git_repo.py
+++ b/ForgeGit/forgegit/model/git_repo.py
@@ -326,6 +326,8 @@ class GitImplementation(M.RepositoryImplementation):
size = node.size if node.type == 'blob' else None
except KeyError as e:
size = None
+ if rename_details:
+ path = rename_details['path'].strip('/')
yield {
'id': ci.hexsha,
'message': h.really_unicode(ci.message or '--none--'),
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/7b9db7ba/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 365060d..a494886 100644
--- a/ForgeGit/forgegit/tests/model/test_repository.py
+++ b/ForgeGit/forgegit/tests/model/test_repository.py
@@ -575,6 +575,8 @@ class TestGitRename(unittest.TestCase):
rename_commit['rename_details']['commit_url'],
'/p/test/src-git/ci/fbb0644603bb6ecee3ebb62efe8c86efc9b84ee6/'
)
+ self.assertEqual(rename_commit['size'], 19)
+ self.assertEqual(commits[2]['size'], 19)
def test_merge_commit(self):
merge_sha = '13951944969cf45a701bf90f83647b309815e6d5'
[2/7] git commit: [#5775] ticket:433 set the old rev for copied from
link
Posted by jo...@apache.org.
[#5775] ticket:433 set the old rev for copied from link
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/7ed43a97
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/7ed43a97
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/7ed43a97
Branch: refs/heads/master
Commit: 7ed43a970c6455f20c24d0103e64c1c1350749ab
Parents: b96a011
Author: Yuriy Arhipov <yu...@yandex.ru>
Authored: Tue Oct 1 03:33:23 2013 +0400
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed Oct 2 15:40:30 2013 +0000
----------------------------------------------------------------------
Allura/allura/templates/widgets/repo/log.html | 8 ++++++--
ForgeGit/forgegit/model/git_repo.py | 6 ++----
ForgeGit/forgegit/tests/model/test_repository.py | 4 ++--
3 files changed, 10 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/7ed43a97/Allura/allura/templates/widgets/repo/log.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/widgets/repo/log.html b/Allura/allura/templates/widgets/repo/log.html
index ec6b048..f526a07 100644
--- a/Allura/allura/templates/widgets/repo/log.html
+++ b/Allura/allura/templates/widgets/repo/log.html
@@ -18,6 +18,7 @@
-#}
{% from 'allura:templates/jinja_master/lib.html' import user_link, abbr_date with context %}
{% set app = app or c.app %}
+{% set path = request.params.get('path', '')%}
<div>
{%if is_file%}
<div class="grid-19"><input type="button" value="Compare" class="compare_revision"></div>
@@ -68,13 +69,16 @@
{% if commit.committed.date %}{{commit.committed.date|datetimeformat}}{% endif %}
</td>
<td style="text-align: left; vertical-align: text-top">
- <a class="browse" href="{{app.repo.url_for_commit(commit.id)}}tree{{request.params.get('path', '')}}">
+ <a class="browse" href="{{app.repo.url_for_commit(commit.id)}}tree{{path}}">
{{ 'View' if is_file else 'Tree' }}
</a>
{%if is_file%}
<br/>
- <a class="download" href="{{app.repo.url_for_commit(commit.id)}}tree{{request.params.get('path', '')}}?format=raw">Download</a>
+ <a class="download" href="{{app.repo.url_for_commit(commit.id)}}tree{{path}}?format=raw">Download</a>
{%endif%}
+ {% if commit.rename_details %}
+ {%set path=commit.rename_details['path']%}
+ {% endif %}
</td>
</tr>
{% endfor %}
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/7ed43a97/ForgeGit/forgegit/model/git_repo.py
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/model/git_repo.py b/ForgeGit/forgegit/model/git_repo.py
index 955c9b3..cb16763 100644
--- a/ForgeGit/forgegit/model/git_repo.py
+++ b/ForgeGit/forgegit/model/git_repo.py
@@ -313,8 +313,9 @@ class GitImplementation(M.RepositoryImplementation):
if path:
if renamed and renamed['to'] == path:
rename_details['path'] = '/' + renamed['from']
+ revisions = [revision for revision in self._git.iter_commits(revs, renamed['from'])]
rename_details['commit_url'] = self._repo.url_for_commit(
- ci.hexsha
+ revisions[1].hexsha
)
try:
@@ -340,9 +341,6 @@ class GitImplementation(M.RepositoryImplementation):
'size': size,
'rename_details': rename_details,
}
- if rename_details:
- # we do not need to show commits before rename
- break
def _iter_commits_with_refs(self, *args, **kwargs):
"""
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/7ed43a97/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 575ccba..365060d 100644
--- a/ForgeGit/forgegit/tests/model/test_repository.py
+++ b/ForgeGit/forgegit/tests/model/test_repository.py
@@ -568,12 +568,12 @@ class TestGitRename(unittest.TestCase):
def test_renamed_file(self):
# There was a file f.txt, then it was renamed to f2.txt.
commits = list(self.repo.log(id_only=False, path='/f2.txt'))
- self.assertEqual(len(commits), 2)
+ self.assertEqual(len(commits), 4)
rename_commit = commits[1]
self.assertEqual(rename_commit['rename_details']['path'], '/f.txt')
self.assertEqual(
rename_commit['rename_details']['commit_url'],
- self.repo.url_for_commit(rename_commit['id'])
+ '/p/test/src-git/ci/fbb0644603bb6ecee3ebb62efe8c86efc9b84ee6/'
)
def test_merge_commit(self):
[5/7] git commit: [#5775] ticket:433 fixed filesize for svn repo
after copied from link
Posted by jo...@apache.org.
[#5775] ticket:433 fixed filesize for svn repo after copied from link
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/b1dd28a6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/b1dd28a6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/b1dd28a6
Branch: refs/heads/master
Commit: b1dd28a6f33d0d5b5325f0cc404880d78f4198ea
Parents: 7b9db7b
Author: Yuriy Arhipov <yu...@yandex.ru>
Authored: Tue Oct 1 16:07:44 2013 +0400
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed Oct 2 15:40:31 2013 +0000
----------------------------------------------------------------------
ForgeGit/forgegit/tests/functional/test_controllers.py | 11 +++++++++++
ForgeSVN/forgesvn/model/svn.py | 7 +++++--
2 files changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/b1dd28a6/ForgeGit/forgegit/tests/functional/test_controllers.py
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/tests/functional/test_controllers.py b/ForgeGit/forgegit/tests/functional/test_controllers.py
index 919e97b..9a78579 100644
--- a/ForgeGit/forgegit/tests/functional/test_controllers.py
+++ b/ForgeGit/forgegit/tests/functional/test_controllers.py
@@ -590,3 +590,14 @@ class TestGitRename(TestController):
resp = self.app.get('/src-git/ci/259c77dd6ee0e6091d11e429b56c44ccbf1e64a3/log/?path=/f2.txt')
assert '<b>renamed from</b>' in resp
assert '/f.txt' in resp
+ assert '(27 Bytes)' in resp
+ assert '(19 Bytes)' in resp
+
+ resp = self.app.get('/src-git/ci/fbb0644603bb6ecee3ebb62efe8c86efc9b84ee6/log/?path=/f.txt')
+ assert '(19 Bytes)' in resp
+ assert '(10 Bytes)' in resp
+
+ resp = self.app.get('/src-git/ci/7c09182e61af959e4f1fb0e354bab49f14ef810d/tree/f.txt')
+ assert "2 lines (1 with data), 10 Bytes" in resp
+
+
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/b1dd28a6/ForgeSVN/forgesvn/model/svn.py
----------------------------------------------------------------------
diff --git a/ForgeSVN/forgesvn/model/svn.py b/ForgeSVN/forgesvn/model/svn.py
index ec8d991..24e8bdd 100644
--- a/ForgeSVN/forgesvn/model/svn.py
+++ b/ForgeSVN/forgesvn/model/svn.py
@@ -565,8 +565,9 @@ class SVNImplementation(M.RepositoryImplementation):
def _map_log(self, ci, url, path=None):
revno = ci.revision.number
+ rev = pysvn.Revision(pysvn.opt_revision_kind.number, revno)
try:
- size = int(self._svn.list(url)[0][0].size)
+ size = int(self._svn.list(url, revision=rev, peg_revision=rev)[0][0].size)
except pysvn.ClientError:
size = None
rename_details = {}
@@ -606,9 +607,11 @@ class SVNImplementation(M.RepositoryImplementation):
def blob_size(self, blob):
try:
+ rev = self._revision(blob.commit._id)
data = self._svn.list(
self._url + blob.path(),
- revision=self._revision(blob.commit._id),
+ revision=rev,
+ peg_revision=rev,
dirent_fields=pysvn.SVN_DIRENT_SIZE)
except pysvn.ClientError:
log.info('ClientError getting filesize %r %r, returning 0', blob.path(), self._repo, exc_info=True)
[4/7] git commit: [#5775] ticket:433 Don't traverse all commits when
just second needed
Posted by jo...@apache.org.
[#5775] ticket:433 Don't traverse all commits when just second needed
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/baed2859
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/baed2859
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/baed2859
Branch: refs/heads/master
Commit: baed28595e097eb8fc4b1ab51fdbee93065c92a4
Parents: 7ed43a9
Author: Igor Bondarenko <je...@gmail.com>
Authored: Tue Oct 1 11:30:20 2013 +0300
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed Oct 2 15:40:30 2013 +0000
----------------------------------------------------------------------
ForgeGit/forgegit/model/git_repo.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/baed2859/ForgeGit/forgegit/model/git_repo.py
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/model/git_repo.py b/ForgeGit/forgegit/model/git_repo.py
index cb16763..fa62c23 100644
--- a/ForgeGit/forgegit/model/git_repo.py
+++ b/ForgeGit/forgegit/model/git_repo.py
@@ -313,9 +313,12 @@ class GitImplementation(M.RepositoryImplementation):
if path:
if renamed and renamed['to'] == path:
rename_details['path'] = '/' + renamed['from']
- revisions = [revision for revision in self._git.iter_commits(revs, renamed['from'])]
+ # get first rev **before** rename
+ _iter = self._git.iter_commits(revs, renamed['from'])
+ prev_rev = next(_iter)
+ prev_rev = next(_iter)
rename_details['commit_url'] = self._repo.url_for_commit(
- revisions[1].hexsha
+ prev_rev.hexsha
)
try:
[6/7] git commit: [#5775] ticket:433 fixed "size" in test_log_file
Posted by jo...@apache.org.
[#5775] ticket:433 fixed "size" in test_log_file
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/4478bf39
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/4478bf39
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/4478bf39
Branch: refs/heads/master
Commit: 4478bf39844e383eee5e35eb11f4c9d54b1f7416
Parents: b1dd28a
Author: Yuriy Arhipov <yu...@yandex.ru>
Authored: Tue Oct 1 16:45:22 2013 +0400
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed Oct 2 15:40:31 2013 +0000
----------------------------------------------------------------------
ForgeSVN/forgesvn/tests/model/test_repository.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/4478bf39/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 2a69339..e7864e5 100644
--- a/ForgeSVN/forgesvn/tests/model/test_repository.py
+++ b/ForgeSVN/forgesvn/tests/model/test_repository.py
@@ -314,7 +314,7 @@ class TestSVNRepo(unittest.TestCase, RepoImplTestBase):
'message': u'Create readme',
'parents': [],
'refs': [],
- 'size': 28,
+ 'size': 15,
'rename_details': {}},
])
[7/7] git commit: [#5775] Minor change to ensure git process doesn't
do any extra work in the background
Posted by jo...@apache.org.
[#5775] Minor change to ensure git process doesn't do any extra work in the background
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/4c1f101a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/4c1f101a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/4c1f101a
Branch: refs/heads/master
Commit: 4c1f101ad028f5018d6aed31feabc7c0df5626f9
Parents: 4478bf3
Author: Cory Johns <cj...@slashdotmedia.com>
Authored: Wed Oct 2 16:29:01 2013 +0000
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed Oct 2 16:29:01 2013 +0000
----------------------------------------------------------------------
ForgeGit/forgegit/model/git_repo.py | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/4c1f101a/ForgeGit/forgegit/model/git_repo.py
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/model/git_repo.py b/ForgeGit/forgegit/model/git_repo.py
index b1c621b..3efc519 100644
--- a/ForgeGit/forgegit/model/git_repo.py
+++ b/ForgeGit/forgegit/model/git_repo.py
@@ -314,9 +314,8 @@ class GitImplementation(M.RepositoryImplementation):
if renamed and renamed['to'] == path:
rename_details['path'] = '/' + renamed['from']
# get first rev **before** rename
- _iter = self._git.iter_commits(revs, renamed['from'])
- prev_rev = next(_iter)
- prev_rev = next(_iter)
+ _iter = self._git.iter_commits(revs, renamed['from'], max_count=2)
+ prev_rev = list(_iter)[1]
rename_details['commit_url'] = self._repo.url_for_commit(
prev_rev.hexsha
)
[3/7] git commit: [#5775] ticket:433 Allura Code Viewer: "copied
from" improvements
Posted by jo...@apache.org.
[#5775] ticket:433 Allura Code Viewer: "copied from" improvements
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/b96a0110
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/b96a0110
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/b96a0110
Branch: refs/heads/master
Commit: b96a01104b954682789e4a15218541844d4c5c70
Parents: 2080fae
Author: Yuriy Arhipov <yu...@yandex.ru>
Authored: Fri Sep 27 12:32:14 2013 +0400
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed Oct 2 15:40:30 2013 +0000
----------------------------------------------------------------------
ForgeGit/forgegit/model/git_repo.py | 2 +-
ForgeSVN/forgesvn/model/svn.py | 15 +++++++++++++--
ForgeSVN/forgesvn/tests/model/test_repository.py | 6 ++++++
3 files changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/b96a0110/ForgeGit/forgegit/model/git_repo.py
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/model/git_repo.py b/ForgeGit/forgegit/model/git_repo.py
index 29af6c7..955c9b3 100644
--- a/ForgeGit/forgegit/model/git_repo.py
+++ b/ForgeGit/forgegit/model/git_repo.py
@@ -393,7 +393,7 @@ class GitImplementation(M.RepositoryImplementation):
renamed = {}
if len(commit_lines) > 1: # merge commits don't have any --name-status output
name_stat_parts = commit_lines[1].split(' ')
- if name_stat_parts[0] == 'R100':
+ if name_stat_parts[0] in ['R100', 'R096']:
renamed['from'] = name_stat_parts[1]
renamed['to'] = name_stat_parts[2]
yield (git.Commit(self._git, gitdb.util.hex_to_bin(hexsha)), refs, renamed)
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/b96a0110/ForgeSVN/forgesvn/model/svn.py
----------------------------------------------------------------------
diff --git a/ForgeSVN/forgesvn/model/svn.py b/ForgeSVN/forgesvn/model/svn.py
index 089572c..ec8d991 100644
--- a/ForgeSVN/forgesvn/model/svn.py
+++ b/ForgeSVN/forgesvn/model/svn.py
@@ -535,7 +535,7 @@ class SVNImplementation(M.RepositoryImplementation):
while revno > exclude:
rev = pysvn.Revision(pysvn.opt_revision_kind.number, revno)
try:
- logs = self._svn.log(url, revision_start=rev, limit=page_size,
+ logs = self._svn.log(url, revision_start=rev, peg_revision=rev, limit=page_size,
discover_changed_paths=True)
except pysvn.ClientError as e:
if 'Unable to connect' in e.message:
@@ -553,6 +553,16 @@ class SVNImplementation(M.RepositoryImplementation):
return # we didn't get a full page, don't bother calling SVN again
revno = ci.revision.number - 1
+ def _check_changed_path(self, changed_path, path):
+ if (changed_path['copyfrom_path'] and
+ changed_path['path'] and
+ path and
+ (len(changed_path['path']) < len(path)) and
+ path.startswith(changed_path['path'])):
+ changed_path['copyfrom_path'] = changed_path['copyfrom_path'] + path[len(changed_path['path']):]
+ changed_path['path'] = path
+ return changed_path
+
def _map_log(self, ci, url, path=None):
revno = ci.revision.number
try:
@@ -562,6 +572,7 @@ class SVNImplementation(M.RepositoryImplementation):
rename_details = {}
changed_paths = ci.get('changed_paths', [])
for changed_path in changed_paths:
+ changed_path = self._check_changed_path(changed_path, path)
if changed_path['copyfrom_path'] and changed_path['path'] == path and changed_path['action'] == 'A':
rename_details['path'] = changed_path['copyfrom_path']
rename_details['commit_url'] = self._repo.url_for_commit(
@@ -719,7 +730,7 @@ class SVNImplementation(M.RepositoryImplementation):
url = '/'.join([self._url, path.strip('/')])
rev = pysvn.Revision(pysvn.opt_revision_kind.number, self._revno(self.rev_parse(rev)))
try:
- info = self._svn.list(url, revision=rev, dirent_fields=pysvn.SVN_DIRENT_KIND)[0][0]
+ info = self._svn.list(url, revision=rev, peg_revision=rev, dirent_fields=pysvn.SVN_DIRENT_KIND)[0][0]
return info.kind == pysvn.node_kind.file
except pysvn.ClientError:
return False
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/b96a0110/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 2ed5de3..2a69339 100644
--- a/ForgeSVN/forgesvn/tests/model/test_repository.py
+++ b/ForgeSVN/forgesvn/tests/model/test_repository.py
@@ -1050,3 +1050,9 @@ class TestRename(unittest.TestCase):
entry['rename_details']['commit_url'],
self.repo.url_for_commit(2) # previous revision
)
+
+ def test_check_changed_path(self):
+ changed_path = {'copyfrom_path':'/test/path', 'path':'/test/path2'}
+ result = self.repo._impl._check_changed_path(changed_path, '/test/path2/file.txt')
+ assert_equal({'path': '/test/path2/file.txt', 'copyfrom_path': '/test/path/file.txt'}, result)
+