Show More
@@ -4,6 +4,20 b' Changelog' | |||||
4 | ========= |
|
4 | ========= | |
5 |
|
5 | |||
6 |
|
6 | |||
|
7 | 1.3.1 (**2012-02-27**) | |||
|
8 | ---------------------- | |||
|
9 | ||||
|
10 | news | |||
|
11 | ++++ | |||
|
12 | ||||
|
13 | ||||
|
14 | fixes | |||
|
15 | +++++ | |||
|
16 | ||||
|
17 | - redirection loop occurs when remember-me wasn't checked during login | |||
|
18 | - fixes issues with git blob history generation | |||
|
19 | - don't fetch branch for git in file history dropdown. Causes unneeded slowness | |||
|
20 | ||||
7 | 1.3.0 (**2012-02-26**) |
|
21 | 1.3.0 (**2012-02-26**) | |
8 | ---------------------- |
|
22 | ---------------------- | |
9 |
|
23 |
@@ -464,9 +464,10 b' class FilesController(BaseRepoController' | |||||
464 | changesets_group = ([], _("Changesets")) |
|
464 | changesets_group = ([], _("Changesets")) | |
465 | branches_group = ([], _("Branches")) |
|
465 | branches_group = ([], _("Branches")) | |
466 | tags_group = ([], _("Tags")) |
|
466 | tags_group = ([], _("Tags")) | |
467 |
|
467 | _hg = cs.repository.alias == 'hg' | ||
468 | for chs in changesets: |
|
468 | for chs in changesets: | |
469 | n_desc = 'r%s:%s (%s)' % (chs.revision, chs.short_id, chs.branch) |
|
469 | _branch = '(%s)' % chs.branch if _hg else '' | |
|
470 | n_desc = 'r%s:%s %s' % (chs.revision, chs.short_id, _branch) | |||
470 | changesets_group[0].append((chs.raw_id, n_desc,)) |
|
471 | changesets_group[0].append((chs.raw_id, n_desc,)) | |
471 |
|
472 | |||
472 | hist_l.append(changesets_group) |
|
473 | hist_l.append(changesets_group) |
@@ -73,7 +73,7 b' class LoginController(BaseController):' | |||||
73 | # If they want to be remembered, update the cookie |
|
73 | # If they want to be remembered, update the cookie | |
74 | if c.form_result['remember'] is not False: |
|
74 | if c.form_result['remember'] is not False: | |
75 | session.cookie_expires = False |
|
75 | session.cookie_expires = False | |
76 |
|
|
76 | session._set_cookie_values() | |
77 | session._update_cookie_out() |
|
77 | session._update_cookie_out() | |
78 | session.save() |
|
78 | session.save() | |
79 |
|
79 |
@@ -355,6 +355,8 b' class AuthUser(object):' | |||||
355 | setattr(self, k, v) |
|
355 | setattr(self, k, v) | |
356 | self.set_authenticated() |
|
356 | self.set_authenticated() | |
357 | is_user_loaded = True |
|
357 | is_user_loaded = True | |
|
358 | else: | |||
|
359 | log.debug('No data in %s that could been used to log in' % self) | |||
358 |
|
360 | |||
359 | if not is_user_loaded: |
|
361 | if not is_user_loaded: | |
360 | # if we cannot authenticate user try anonymous |
|
362 | # if we cannot authenticate user try anonymous | |
@@ -661,12 +663,13 b' class PermsFunction(object):' | |||||
661 |
|
663 | |||
662 | def __call__(self, check_Location=''): |
|
664 | def __call__(self, check_Location=''): | |
663 | user = request.user |
|
665 | user = request.user | |
|
666 | log.debug('checking %s %s %s', self.__class__.__name__, | |||
|
667 | self.required_perms, user) | |||
664 | if not user: |
|
668 | if not user: | |
|
669 | log.debug('Empty request user') | |||
665 | return False |
|
670 | return False | |
666 | self.user_perms = user.permissions |
|
671 | self.user_perms = user.permissions | |
667 | self.granted_for = user |
|
672 | self.granted_for = user | |
668 | log.debug('checking %s %s %s', self.__class__.__name__, |
|
|||
669 | self.required_perms, user) |
|
|||
670 |
|
673 | |||
671 | if self.check_permissions(): |
|
674 | if self.check_permissions(): | |
672 | log.debug('Permission granted %s @ %s', self.granted_for, |
|
675 | log.debug('Permission granted %s @ %s', self.granted_for, |
@@ -136,7 +136,6 b' class BaseController(WSGIController):' | |||||
136 | cookie_store = CookieStoreWrapper(session.get('rhodecode_user')) |
|
136 | cookie_store = CookieStoreWrapper(session.get('rhodecode_user')) | |
137 | user_id = cookie_store.get('user_id', None) |
|
137 | user_id = cookie_store.get('user_id', None) | |
138 | username = get_container_username(environ, config) |
|
138 | username = get_container_username(environ, config) | |
139 |
|
||||
140 | auth_user = AuthUser(user_id, api_key, username) |
|
139 | auth_user = AuthUser(user_id, api_key, username) | |
141 | request.user = auth_user |
|
140 | request.user = auth_user | |
142 | self.rhodecode_user = c.rhodecode_user = auth_user |
|
141 | self.rhodecode_user = c.rhodecode_user = auth_user |
@@ -246,8 +246,9 b' class GitChangeset(BaseChangeset):' | |||||
246 | which is generally not good. Should be replaced with algorithm |
|
246 | which is generally not good. Should be replaced with algorithm | |
247 | iterating commits. |
|
247 | iterating commits. | |
248 | """ |
|
248 | """ | |
249 |
cmd = 'log --name-status -p %s -- "%s" |
|
249 | cmd = 'log --pretty="format: %%H" --name-status -p %s -- "%s"' % ( | |
250 |
|
|
250 | '', path | |
|
251 | ) | |||
251 | so, se = self.repository.run_git_command(cmd) |
|
252 | so, se = self.repository.run_git_command(cmd) | |
252 | ids = re.findall(r'\w{40}', so) |
|
253 | ids = re.findall(r'\w{40}', so) | |
253 | return [self.repository.get_changeset(id) for id in ids] |
|
254 | return [self.repository.get_changeset(id) for id in ids] |
@@ -242,8 +242,7 b' class GitRepository(BaseRepository):' | |||||
242 | sortkey = lambda ctx: ctx[0] |
|
242 | sortkey = lambda ctx: ctx[0] | |
243 | _branches = [('/'.join(ref.split('/')[2:]), head) |
|
243 | _branches = [('/'.join(ref.split('/')[2:]), head) | |
244 | for ref, head in refs.items() |
|
244 | for ref, head in refs.items() | |
245 | if ref.startswith('refs/heads/') or |
|
245 | if ref.startswith('refs/heads/') and not ref.endswith('/HEAD')] | |
246 | ref.startswith('refs/remotes/') and not ref.endswith('/HEAD')] |
|
|||
247 | return OrderedDict(sorted(_branches, key=sortkey, reverse=False)) |
|
246 | return OrderedDict(sorted(_branches, key=sortkey, reverse=False)) | |
248 |
|
247 | |||
249 | def _get_tags(self): |
|
248 | def _get_tags(self): |
General Comments 0
You need to be logged in to leave comments.
Login now