[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: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Wed, 06 Feb 2008 19:07:39 +0100

Sean Leonard wrote:
> Greetings,
>
> I have been using TortoiseSVN for over a year now and really like it. I
> came across this bug (maybe it should be called an "anomaly", since it
> is not an earth-shattering problem), and wanted to know if someone would
> be able to take a look. I think that the fix should be pretty easy, and
> would make the TortoiseSVN behavior identical to the SVN behavior.
>
> Bug Summary: Revision 0 is not listed in the TortoiseSVN log dialog.
> Why It Matters: This behavior is inconsistent with svn log. Furthermore,
> setting the revision 0 log entry can associate additional metadata with
> "the repository itself" rather than any specific revision of the
> repository.
> Request Summary: Display Revision 0 in log dialog when revprop svn:log
> is present, and start/end from revision 0, not revision 1, by default.
> Versions Tested: TortoiseSVN 1.4.7 Build 11792 32-bit, English
> Versions Examined: Latest TortoiseSVN trunk (2008-02-06)
>
> Steps to Reproduce:
> 1. Create or get full access to an SVN repository.
> 2. Add pre-revprop-change hook to permit write access to all revprops.
> 3. Add svn:log to revision 0. This may be accomplished by:
> svn propset --revprop -r 0 svn:log "Log entry here"
>
> Now when you go to look at the Log Messages window for a checked out
> copy, TortoiseSVN will not report Revision 0. It always starts at
> Revision 1, even if you click "Show All" or other options. Furthermore,
> clicking "Show Range..." pretty clearly shows Start Revision [latest
> rev] End Revision [1]. If you try to enter 0 for either start or end,
> the error "Invalid revision number!" pops up in a balloon tip.
>
> Expected behavior:
> TortoiseSVN should display Revision 0 in the log entries, especially
> when instructed to display all log entries.
>
> Compare with svn log. If you perform the steps above (adding svn:log)
> and then run svn log, you will see output like:
> svn log
> ------------------------------------------------------------------------
> r1 | author1 | 2008-02-06{...} | 2 lines
>
> Some text line 1.
> Here is a log entry.
> ------------------------------------------------------------------------
> r0 | seantek | 2008-02-05{...} | 1 line
>
> Log entry here
> ------------------------------------------------------------------------
>
> This even works when rev 0 svn:log is present but an empty string "" (as
> opposed to null/not present). The behavior of svn log appears to be that
> if and only if svn:log is present on rev 0, then rev 0 displays, even if
> svn:author or svn:date are not set for rev 0. This is probably because
> rev 0 svn:date does not indicate the presence of any particular
> intention of setting a log message, as svnadmin create usually sets rev
> 0 svn:date to the creation date of the repository.
>
> Suggested code sections to examine:
> I do not know the TortoiseSVN source code very well, but I took a quick
> look. To whomever would be willing to help, take a look at:
> src/TortoiseProc/LogDlg.h
> src/TortoiseProc/LogDlg.cpp
>
> Particularly in LogDlg.cpp:
> m_startrev
> m_endrev
> tests such as line 624: dlg.SetEndRevision( (m_endrev>0) ? m_endrev : 1);
>
> Commentary: Revision 0 appears to be the base revision in every
> repository, and is created on svnadmin create.

Fixed in revision 12046.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net

Received on 2008-02-06 19:08:01 CET

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