Changeset - e0da2c0ecee1
[Not reviewed]
beta
0 2 0
Marcin Kuzminski - 13 years ago 2012-10-29 22:26:44
marcin@python-works.com
fixes #625 Git-Tags are not displayed in Shortlog
- improved git extraction of git tags if they are associated to a commit
- added not implemented tags() function for git changesets
2 files changed with 14 insertions and 3 deletions:
0 comments (0 inline, 0 general)
rhodecode/lib/vcs/backends/git/changeset.py
Show inline comments
 
@@ -46,8 +46,7 @@ class GitChangeset(BaseChangeset):
 
        self.revision = repository.revisions.index(revision)
 

	
 
        self.message = safe_unicode(commit.message)
 
        #self.branch = None
 
        self.tags = []
 

	
 
        self.nodes = {}
 
        self._paths = {}
 

	
 
@@ -72,6 +71,14 @@ class GitChangeset(BaseChangeset):
 
        return self.changed, self.added, self.removed
 

	
 
    @LazyProperty
 
    def tags(self):
 
        _tags = []
 
        for tname, tsha in self.repository.tags.iteritems():
 
            if tsha == self.raw_id:
 
                _tags.append(tname)
 
        return _tags
 

	
 
    @LazyProperty
 
    def branch(self):
 

	
 
        heads = self.repository._heads(reverse=False)
rhodecode/lib/vcs/backends/git/repository.py
Show inline comments
 
@@ -18,7 +18,7 @@ import traceback
 
import urllib
 
import urllib2
 
from dulwich.repo import Repo, NotGitRepository
 
#from dulwich.config import ConfigFile
 
from dulwich.objects import Tag
 
from string import Template
 
from subprocess import Popen, PIPE
 
from rhodecode.lib.vcs.backends.base import BaseRepository
 
@@ -401,6 +401,10 @@ class GitRepository(BaseRepository):
 
            for k, type_ in keys:
 
                if ref.startswith(k):
 
                    _key = ref[len(k):]
 
                    if type_ == 'T':
 
                        obj = self._repo.get_object(sha)
 
                        if isinstance(obj, Tag):
 
                            sha = self._repo.get_object(sha).object[1]
 
                    _refs[_key] = [sha, type_]
 
                    break
 
        return _refs
0 comments (0 inline, 0 general)