[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Bug Report: Revision 0 not listed in TortoiseSVN log dialog

From: Sean Leonard <sean_at_seantek.com>
Date: Thu, 07 Feb 2008 00:38:51 -0600

Stefan Küng wrote:
> Fixed in revision 12046.
>
> Stefan
>
Hi Stefan,

Thanks very much for patching this so quickly. I took a look at the
revised code, and it seems accurate. Unfortunately however, I just
downloaded the latest nightly build (r12047) and found some problems. I
used my test repository and saw Revision 0 flash by on the first display
of the log, complete with the svn:author and svn:log entries. However,
once I clicked "Show Range..." Revision 0 disappeared, and refused to
appear again! I tried setting the ranges appropriately (0 through HEAD,
HEAD through 0, etc.) and also clicking the Refresh button, but Revision
0 will not appear again. Furthermore, if I dismiss the log window and
come back to the log window (via the context menu on either a file in
the working copy or the root of the working copy), Revision 0 refuses to
appear again.

I also tried creating a new repository (using version 1.5 tools), then
attempted to display revision 0 after setting --revprop -r 0 svn:log. At
first (after checkout before anything was checked in), I received this
error message in the log window, in a popup:
No such revision 1

Maybe that is a clue to something. Anyway, I added a file, checked in
revision 1, and then viewed the log. Once again, I was able to see
Revision 0 the first time. Upon clicking Refresh, however, the Revision
0 log entry disappeared and simply will not come back.

I tried logging out and back in again, but to no avail. Revision 0 still
does not show. Furthermore, I tried checking out a new working copy of
the new repository, but Revision 0 does not show.

Any ideas on what could be the problem? Maybe there is a check in the
code that was missed or something.

On a related note, I was playing around with "empty changesets" in
Subversion 1.4.x, which are not officially supported but can be created
by dumping, editing, and reloading a repository. Subversion 1.4.x (and
1.5 beta) handle this empty changeset revision fine. TortoiseSVN 1.4.7
also handles an empty changeset revision fine as well. But the latest
nightly build of TortoiseSVN (r12047) does not: the empty changeset
revision is missing in the Log window. Could it be that there is some
code that is detecting and removing "empty changesets" (where no files
are added, modified, or deleted) in the latest build, and is removing
that line item in the displayed list? If so that could be an explanation
for why Revision 0 disappears--maybe that check is not called the very
first time that you request the log?

Consider for example this excerpt from svn log -v:
------------------------------------------------------------------------
r3 | author | 2008-02-07{...} | 3 lines
Changed paths:
   M /file1.txt
   M /file2.txt
   M /file3.txt

{...}
------------------------------------------------------------------------
r2 | (no author) | (no date) | 1 line
Changed paths:

------------------------------------------------------------------------
r1 | author | 2008-02-06{...} | 4 lines
Changed paths:
{...}

As can be seen, rev 2 (which has been edited to remove any changes, and
also has no svn:log, svn:author, or svn:date--so it's a purely empty
revision) displays as being empty. TortoiseSVN 1.4.7 also shows the same
thing in the log window: you see rev 3, rev 2, and rev 1. Rev 2 shows
nothing in particular except the date says "(no date)". That seems to be
pretty expected behavior. In r12047, however, you see rev 3 and then rev
1. rev 2 is missing, when in fact it is there (just empty).

Thanks,

Sean

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_tortoisesvn.tigris.org
For additional commands, e-mail: dev-help_at_tortoisesvn.tigris.org
Received on 2008-02-07 07:42:37 CET

This is an archived mail posted to the TortoiseSVN Dev mailing list.