# HG changeset patch # User Marcin Kuzminski # Date 2012-02-27 03:08:31 # Node ID 79a95f338fd0115b2cdb77118f39e17d22ff505c # Parent fa74e91695a06cf167e2aae461e2f1f7b298c846 # Parent 092080cd96ba9c8543d4b43e8fdbcf4d2a614575 merge beta fixes into stable diff --git a/docs/changelog.rst b/docs/changelog.rst --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -4,6 +4,20 @@ Changelog ========= +1.3.1 (**2012-02-27**) +---------------------- + +news +++++ + + +fixes ++++++ + +- redirection loop occurs when remember-me wasn't checked during login +- fixes issues with git blob history generation +- don't fetch branch for git in file history dropdown. Causes unneeded slowness + 1.3.0 (**2012-02-26**) ---------------------- diff --git a/rhodecode/controllers/files.py b/rhodecode/controllers/files.py --- a/rhodecode/controllers/files.py +++ b/rhodecode/controllers/files.py @@ -464,9 +464,10 @@ class FilesController(BaseRepoController changesets_group = ([], _("Changesets")) branches_group = ([], _("Branches")) tags_group = ([], _("Tags")) - + _hg = cs.repository.alias == 'hg' for chs in changesets: - n_desc = 'r%s:%s (%s)' % (chs.revision, chs.short_id, chs.branch) + _branch = '(%s)' % chs.branch if _hg else '' + n_desc = 'r%s:%s %s' % (chs.revision, chs.short_id, _branch) changesets_group[0].append((chs.raw_id, n_desc,)) hist_l.append(changesets_group) diff --git a/rhodecode/controllers/login.py b/rhodecode/controllers/login.py --- a/rhodecode/controllers/login.py +++ b/rhodecode/controllers/login.py @@ -73,7 +73,7 @@ class LoginController(BaseController): # If they want to be remembered, update the cookie if c.form_result['remember'] is not False: session.cookie_expires = False - session._set_cookie_values() + session._set_cookie_values() session._update_cookie_out() session.save() diff --git a/rhodecode/lib/auth.py b/rhodecode/lib/auth.py --- a/rhodecode/lib/auth.py +++ b/rhodecode/lib/auth.py @@ -355,6 +355,8 @@ class AuthUser(object): setattr(self, k, v) self.set_authenticated() is_user_loaded = True + else: + log.debug('No data in %s that could been used to log in' % self) if not is_user_loaded: # if we cannot authenticate user try anonymous @@ -661,12 +663,13 @@ class PermsFunction(object): def __call__(self, check_Location=''): user = request.user + log.debug('checking %s %s %s', self.__class__.__name__, + self.required_perms, user) if not user: + log.debug('Empty request user') return False self.user_perms = user.permissions self.granted_for = user - log.debug('checking %s %s %s', self.__class__.__name__, - self.required_perms, user) if self.check_permissions(): log.debug('Permission granted %s @ %s', self.granted_for, diff --git a/rhodecode/lib/base.py b/rhodecode/lib/base.py --- a/rhodecode/lib/base.py +++ b/rhodecode/lib/base.py @@ -136,7 +136,6 @@ class BaseController(WSGIController): cookie_store = CookieStoreWrapper(session.get('rhodecode_user')) user_id = cookie_store.get('user_id', None) username = get_container_username(environ, config) - auth_user = AuthUser(user_id, api_key, username) request.user = auth_user self.rhodecode_user = c.rhodecode_user = auth_user diff --git a/rhodecode/lib/vcs/backends/git/changeset.py b/rhodecode/lib/vcs/backends/git/changeset.py --- a/rhodecode/lib/vcs/backends/git/changeset.py +++ b/rhodecode/lib/vcs/backends/git/changeset.py @@ -246,8 +246,9 @@ class GitChangeset(BaseChangeset): which is generally not good. Should be replaced with algorithm iterating commits. """ - cmd = 'log --name-status -p %s -- "%s" | grep "^commit"' \ - % (self.id, path) + cmd = 'log --pretty="format: %%H" --name-status -p %s -- "%s"' % ( + '', path + ) so, se = self.repository.run_git_command(cmd) ids = re.findall(r'\w{40}', so) return [self.repository.get_changeset(id) for id in ids] diff --git a/rhodecode/lib/vcs/backends/git/repository.py b/rhodecode/lib/vcs/backends/git/repository.py --- a/rhodecode/lib/vcs/backends/git/repository.py +++ b/rhodecode/lib/vcs/backends/git/repository.py @@ -242,8 +242,7 @@ class GitRepository(BaseRepository): sortkey = lambda ctx: ctx[0] _branches = [('/'.join(ref.split('/')[2:]), head) for ref, head in refs.items() - if ref.startswith('refs/heads/') or - ref.startswith('refs/remotes/') and not ref.endswith('/HEAD')] + if ref.startswith('refs/heads/') and not ref.endswith('/HEAD')] return OrderedDict(sorted(_branches, key=sortkey, reverse=False)) def _get_tags(self):