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

Re: svn commit: r18544 - trunk/src/SVN

From: Stefan Fuhrmann <stefanfuhrmann_at_alice-dsl.de>
Date: Tue, 09 Feb 2010 06:26:18 +0100

Spam detection software, running on the system "ismx03ftc.vodafone.co.nz", has
identified this incoming email as possible spam. The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email. If you have any questions, see
root_at_ismx03ftc.vodafone.co.nz for details.

Content preview: On Mon, 08 Feb 2010 18:58:46 , Stefan Küng
  <tortoisesvn_at_gmail.com
  
  <mailto:tortoisesvn_at_gmail.com?Subject=Re:%20svn%20commit:%20r18544%20-%20trunk/src/SVN>>
  wrote: > On 08.02.2010 07:22, Stefan Fuhrmann wrote: > > /> Author: sf
  / > /> Date: 2010-02-07 22:22:14-0800 / > /> New Revision: 18544 / >
  /> / > /> Modified: / > /> trunk/src/SVN/SVNProperties.cpp / > />
  trunk/src/SVN/SVNProperties.h / > /> / > /> Log: / > /> add
  serialization and deserialization facilities to SVNProperties / > /> /
> /> Modified: trunk/src/SVN/SVNProperties.cpp / > /> Url: >
  
  http://tortoisesvn.tigris.org/source/browse/tortoisesvn/trunk/src/SVN/SVNProperties.cpp?view=diff&pathrev=18544&r1=18543&r2=18544
>
  
  <http://tortoisesvn.tigris.org/source/browse/tortoisesvn/trunk/src/SVN/SVNProperties.cpp?view=diff&pathrev=18544&r1=18543&r2=18544>
> / > /> >
  
  ==============================================================================
> / > /> --- trunk/src/SVN/SVNProperties.cpp (original) / > /> +++
  trunk/src/SVN/SVNProperties.cpp 2010-02-07 22:22:14-0800 / > /> @@ -1,
  6 +1,6 @@ / > /> // TortoiseSVN - a Windows shell extension for easy
  version control / > /> / > /> -// Copyright (C) 2003-2009 -
  TortoiseSVN / > /> +// Copyright (C) 2003-2010 - TortoiseSVN / > /> /
> /> // This program is free software; you can redistribute it and/or
  / > /> // modify it under the terms of the GNU General Public License
  / > /> @@ -580,6 +580,142 @@ / > /> return IndexOf (name) != -1; / >
  /> } / > /> / > /> +namespace / > /> +{ / > > * Why the anonymous
  namespace? > To my knowledge, all definitions within an anonymous
  namespace are only visible to the current compilation unit. Otherwise,
  these functions would be accessible everywhere in TSVN. In other words,
   this reduces the pollution of the global namespace. > > * Why not
  part of the class? If there's a reason for why not part of the > class,
   then why not in a separate file? > There is no compelling reason for
  either option (private method or free function). But my reasoning was
  as follows: [...]

Content analysis details: (6.1 points, 5.0 required)

 pts rule name description
---- ---------------------- --------------------------------------------------
-3.3 ALL_TRUSTED Did not pass through any untrusted hosts
-2.0 BAYES_20 BODY: Bayesian spam probability is 5 to 20%
                            [score: 0.1100]
 2.0 URIBL_PH_SURBL Contains an URL listed in the PH SURBL blocklist
                            [URIs: tortoisesvn_at_gmail.com]
 0.4 URIBL_AB_SURBL Contains an URL listed in the AB SURBL blocklist
                            [URIs: tortoisesvn_at_gmail.com]
 1.5 URIBL_WS_SURBL Contains an URL listed in the WS SURBL blocklist
                            [URIs: tortoisesvn_at_gmail.com]
 3.2 URIBL_OB_SURBL Contains an URL listed in the OB SURBL blocklist
                            [URIs: tortoisesvn_at_gmail.com]
 4.3 URIBL_SC_SURBL Contains an URL listed in the SC SURBL blocklist
                            [URIs: tortoisesvn_at_gmail.com]

Received: from unknown (HELO ?121.90.246.167?) (121.90.246.167)
  by ismx03ftc.vodafone.co.nz with SMTP; 9 Feb 2010 05:26:29 -0000
Message-ID: <4B70F1FA.6040806_at_alice-dsl.de>
Date: Tue, 09 Feb 2010 06:26:18 +0100
From: Stefan Fuhrman <stefanfuhrmann_at_alice-dsl.de>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: dev_at_tortoisesvn.tigris.org
Subject: Re: svn commit: r18544 - trunk/src/SVN
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

On Mon, 08 Feb 2010 18:58:46 , Stefan Küng <tortoisesvn_at_gmail.com
<mailto:tortoisesvn_at_gmail.com?Subject=Re:%20svn%20commit:%20r18544%20-%20trunk/src/SVN>>
wrote:

> On 08.02.2010 07:22, Stefan Fuhrmann wrote:
>
> /> Author: sf /
> /> Date: 2010-02-07 22:22:14-0800 /
> /> New Revision: 18544 /
> /> /
> /> Modified: /
> /> trunk/src/SVN/SVNProperties.cpp /
> /> trunk/src/SVN/SVNProperties.h /
> /> /
> /> Log: /
> /> add serialization and deserialization facilities to SVNProperties /
> /> /
> /> Modified: trunk/src/SVN/SVNProperties.cpp /
> /> Url:
> http://tortoisesvn.tigris.org/source/browse/tortoisesvn/trunk/src/SVN/SVNProperties.cpp?view=diff&pathrev=18544&r1=18543&r2=18544
> <http://tortoisesvn.tigris.org/source/browse/tortoisesvn/trunk/src/SVN/SVNProperties.cpp?view=diff&pathrev=18544&r1=18543&r2=18544>
> /
> />
> ==============================================================================
> /
> /> --- trunk/src/SVN/SVNProperties.cpp (original) /
> /> +++ trunk/src/SVN/SVNProperties.cpp 2010-02-07 22:22:14-0800 /
> /> @@ -1,6 +1,6 @@ /
> /> // TortoiseSVN - a Windows shell extension for easy version control /
> /> /
> /> -// Copyright (C) 2003-2009 - TortoiseSVN /
> /> +// Copyright (C) 2003-2010 - TortoiseSVN /
> /> /
> /> // This program is free software; you can redistribute it and/or /
> /> // modify it under the terms of the GNU General Public License /
> /> @@ -580,6 +580,142 @@ /
> /> return IndexOf (name) != -1; /
> /> } /
> /> /
> /> +namespace /
> /> +{ /
>
> * Why the anonymous namespace?
>
To my knowledge, all definitions within an anonymous namespace
are only visible to the current compilation unit. Otherwise, these
functions would be accessible everywhere in TSVN. In other words,
this reduces the pollution of the global namespace.
>
> * Why not part of the class? If there's a reason for why not part of the
> class, then why not in a separate file?
>
There is no compelling reason for either option (private method or
free function). But my reasoning was as follows:

* Since these functions don't access any implementation detail of
  that class, they should not be part of it (free functions *increase*
  encapsulation).
* The visibility should be limited to the context they are used in,
  i.e. same compilation unit. They should be moved to a separate
  file as soon as they are needed in other contexts as well.
* Nested function definitions are not supported in C++, therefore
  free functions in an anonymous namespace.
>
> /> + keyHeader.Format ("K %d\n", static_cast<int>(keyLength)); /
> /> + target.append ((const char*)keyHeader, keyHeader.GetLength()); /
>
> You might want to document the format you're introducing here.
>
It is the standard format used by SVN for dump files, property files
etc. See
https://svn.apache.org/repos/asf/subversion/trunk/notes/dump-load-format.txt
RFC822 seems to describe that format. I will add a comment as soon
as I get commit access (https access to the TSVN repo would help
in these cases ;) ).
>
> Also, what will the de/serialization in a custom format be used for?
>
I'm working on a prototypic "commit queue" feature. The functional
spec along with other feature proposals will be committed asap.

-- Stefan^2.
Received on 2010-02-09 06:26:49 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.