Edgewall Software
Modify

Opened 19 years ago

Closed 19 years ago

Last modified 18 years ago

#3116 closed defect (fixed)

Bug number not shown as resolved in changset view

Reported by: anonymous Owned by: Christian Boos
Priority: normal Milestone: 0.10
Component: version control/changeset view Version: 0.9.4
Severity: minor Keywords: changeset bug number
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description

When I commit my code to SVN, I include the bug number in the log message. When browsing the source, my log message shows the bug as resolved (strike-through formatting)

But, when I view the changeset, it appears to still be open: (no strike-through)

Attachments (1)

3116.patch (2.4 KB ) - added by Christian Boos 19 years ago.
2nd iteration of the patch for fixing this issue

Download all attachments as: .zip

Change History (6)

comment:1 by Christian Boos, 19 years ago

Keywords: changeset added; changset removed
Milestone: 0.10
Owner: changed from Jonas Borgström to Christian Boos
Severity: normalminor
Status: newassigned

That's a cacheing issue.

The content of the commit message does participate to the computation of the ETag value (the unique identifier used for detecting a content change), but only the raw content.

That would be quite easy to fix, though.

  • changeset.py

     
    194194                                 new_path=new_path, new_rev=new)
    195195        if chgset:
    196196            chgset = repos.get_changeset(new)
     197            message = chgset.message or '--'
     198            if self.wiki_format_messages:
     199                chgset.message = wiki_to_html(message, self.env, req,
     200                                              escape_newlines=True)
     201            else:
     202                chgset.message = html.PRE(message)
    197203            req.check_modified(chgset.date, [
    198204                diff_options[0],
    199205                ''.join(diff_options[1]),
     
    299305                properties.append({'name': name, 'value': value,
    300306                                   'htmlclass': htmlclass})
    301307
    302             message = chgset.message or '--'
    303             if self.wiki_format_messages:
    304                 message = wiki_to_html(message, self.env, req,
    305                                        escape_newlines=True)
    306             else:
    307                 message = html.PRE(message)
    308308            req.hdf['changeset'] = {
    309309                'revision': chgset.rev,
    310310                'time': util.format_datetime(chgset.date),
    311311                'age': util.pretty_timedelta(chgset.date, None, 3600),
    312312                'author': chgset.author or 'anonymous',
    313                 'message': message, 'properties': properties
     313                'message': chgset.message, 'properties': properties
    314314            }
    315315            oldest_rev = repos.oldest_rev
    316316            if chgset.rev != oldest_rev:

Any comment on this one, Christopher?

comment:2 by Christopher Lenz, 19 years ago

The idea is good, but I don't think we should be changing the "message" member of the Changeset object, though. That kind of stuff can be very confusing IMHO.

comment:3 by Christian Boos, 19 years ago

Well, it was for avoiding either to format the message twice or to give an extra arg to the _render_html method. But I see your point, there's no need to abuse the encapsulation of the Changeset object, even if Python makes this tempting :)

by Christian Boos, 19 years ago

Attachment: 3116.patch added

2nd iteration of the patch for fixing this issue

comment:4 by Christian Boos, 19 years ago

I was about to commit the attachment:3116.patch, then I realized that without the patch, the changeset was also reloaded!

This prompted me to have a closer look, and it seems that my browsers (Firefox 1.5.3/windows, IE 6 something) don't set the expected If-None-Match: header anymore.

This is with trunk, dumped using Firefox/LiveHTTPHeaders (it's not the first load, of course):

http://localhost:8000/devel/changeset/70

GET /devel/changeset/70 HTTP/1.1
Host: localhost:8000
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: trac_session=b3177286e05a9d0cfa15c5b7; trac_session=ca6b49eb53d04be055b54d53; trac_session=ca6b49eb53d04be055b54d53

HTTP/1.x 200 OK
Server: tracd/0.10dev Python/2.4.2
Date: Fri, 05 May 2006 09:21:19 GMT
Etag: W"anonymous/1130747279/701fdea080309adad112b3d3705f27d3"
Cache-Control: must-revalidate
Expires: Fri, 01 Jan 1999 00:00:00 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 8712
----------------------------------------------------------

Same with 0.9.6dev:

http://localhost:8000/stable/changeset/70

GET /stable/changeset/70 HTTP/1.1
Host: localhost:8000
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: trac_session=ca6b49eb53d04be055b54d53

HTTP/1.x 200 OK
Server: tracd/0.9.6dev Python/2.4.2
Date: Fri, 05 May 2006 09:40:38 GMT
Cache-Control: must-revalidate
Expires: Fri, 01 Jan 1999 00:00:00 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 8609
Etag: W"anonymous/1130747279/inline-U2"
----------------------------------------------------------

I also verified that the If-None-Match is not sent when I don't use LiveHTTPHeaders, by adding a check in the request_modified method What's going on, is it just me?

comment:5 by Christian Boos, 19 years ago

Resolution: fixed
Status: assignedclosed

Patch integrated in r3310.

My ETag issues were due to the following reasons:

  • IE doesn't seem to support the ETag we generate
  • Firefox had the cache disable. That was not apparent in the options, though, and I had to do a Reset of the browser.cache.disk.enable and browser.cache.memory.enable settings in the about:config page…

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Christian Boos.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Christian Boos to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.