Re: [PATCH] make check-ctypes-python fails when executed from non src build direction

2010-11-16 Thread Julian Foad
Gavin Beau Baumanis wrote:
 Ping. This thread has received no further comments.

Thanks Gavin, but in fact I did commit Noorul's patch in r1030557:
http://svn.haxx.se/dev/archive-2010-11/0059.shtml.  (The thread's
subject line no longer contained '[PATCH]' by that point.)

I am not taking any further action with the duplication between setup.py
and run_ctypesgen.sh.

- Julian


 On 01/11/2010, at 9:24 PM, Julian Foad wrote:
  On Mon, 2010-11-01, Noorul Islam K M wrote:
  * build/run_ctypesgen.sh: Use source directory as target instead of build
   directory.
  
  (cat $abs_srcdir/$cp_relpath/csvn/core/functions.py.in; \
   sed -e '/^FILE =/d' $output | \
   perl -pe 's{(\s+\w+)\.restype = POINTER\(svn_error_t\)}{\1.restype = 
  POINTER(svn_error_t)\n\1.errcheck = _svn_errcheck}' \
  - )  $abs_builddir/$cp_relpath/csvn/core/functions.py
  + )  $abs_srcdir/$cp_relpath/csvn/core/functions.py





Re: [PATCH] make check-ctypes-python fails when executed from non src build direction

2010-11-16 Thread Gavin Beau Baumanis
Thanks Julian,


Gavin Beau Baumanis



On 16/11/2010, at 9:41 PM, Julian Foad wrote:

 Gavin Beau Baumanis wrote:
 Ping. This thread has received no further comments.
 
 Thanks Gavin, but in fact I did commit Noorul's patch in r1030557:
 http://svn.haxx.se/dev/archive-2010-11/0059.shtml.  (The thread's
 subject line no longer contained '[PATCH]' by that point.)
 
 I am not taking any further action with the duplication between setup.py
 and run_ctypesgen.sh.
 
 - Julian
 
 
 On 01/11/2010, at 9:24 PM, Julian Foad wrote:
 On Mon, 2010-11-01, Noorul Islam K M wrote:
 * build/run_ctypesgen.sh: Use source directory as target instead of build
 directory.
 
 (cat $abs_srcdir/$cp_relpath/csvn/core/functions.py.in; \
 sed -e '/^FILE =/d' $output | \
 perl -pe 's{(\s+\w+)\.restype = POINTER\(svn_error_t\)}{\1.restype = 
 POINTER(svn_error_t)\n\1.errcheck = _svn_errcheck}' \
 - )  $abs_builddir/$cp_relpath/csvn/core/functions.py
 + )  $abs_srcdir/$cp_relpath/csvn/core/functions.py
 
 
 


Re: [PATCH] Indentation error in swig binding

2010-11-16 Thread Philip Martin
Gavin Beau Baumanis gav...@thespidernet.com writes:

 Just checking if there is anything left to do for this thread.

Nothing more to do, thanks!

-- 
Philip


Re: --with-ssl, --with-openssl - svn commit: r1035375 - /subversion/trunk/configure.ac

2010-11-16 Thread Julian Foad
On Mon, 2010-11-15 at 17:59 +, cmpil...@apache.org wrote:
 Author: cmpilato
 Date: Mon Nov 15 17:59:39 2010
 New Revision: 1035375
 
 URL: http://svn.apache.org/viewvc?rev=1035375view=rev
 Log:
 For issue #3301 (Cannot build without OpenSSL),

http://subversion.tigris.org/issues/show_bug.cgi?id=3301

  add some (hopefully)
 helpful info to 'configure --help' output.
 
 * configure.ac
   Add --help information about the --with-openssl parameter, which
   (like --with-ssl) isn't used by Subversion itself, but by a
   dependent library (Serf, in this case).  Also note the alternatives
   available (Serf for Neon, and vice-versa). 

Based on my understanding from this help text, I think we should rename
those options to something like

  --with-neon-openssl
  --with-serf-openssl

and deprecate the old names

  --with-openssl
  --with-ssl

Did I get them the right way around?  Ah, no - other way around.  That's
my point, you see :-)

Makes sense?

- Julian




A new 1.7 switch feature?

2010-11-16 Thread Philip Martin
We seem to have given switch a new ability in 1.7, it's possible to
switch a unversioned path:

svnadmin create repo
svn mkdir -mm file://`pwd`/repo/A
svn co file://`pwd`/repo wc
svn sw file://`pwd`/repo/A wc/X

Now I see:

svn st wc
 S   wc/X

and

sqlite wc/.svn/wc.db select * from nodes
1|A|0||1|A|1|normal|||dir|()|infinity|||1|1289910810354827|pm
1||0||1||1|normal|||dir|()|infinity|||1|1289910810354827|pm
1|X|0||1|A|1|normal|||dir|()|infinity|||1|1289910810354827|pm

In 1.6 the switch fails with an error that wc/X was not versioned.  It
is possible to make 1.6 do the switch:

svn mkdir -mm file://`pwd`/repo/X
svn co file://`pwd`/repo wc
svn sw file://`pwd`/repo/A wc/X
svn up -r1 wc

That results in a similar working copy to the one obtained by switching
a non-versioned node.

Is this something that we should be supporting?

Perhaps we should get rid of the externals code and use this instead?
Yes, it appears to work for files.

-- 
Philip


Re: [PATCH] error leak on performance branch

2010-11-16 Thread Stefan Sperling
On Tue, Nov 16, 2010 at 09:37:53AM +1100, Gavin Beau Baumanis wrote:
 Hi Stefan,
 
 Just checking if there is anything remainig with this patch?
 I haven't noticed a committed reply or any further comments.

Thanks for the reminder!
stefan2 committed a very similar patch in r1033040.

Stefan


RE: Translation help

2010-11-16 Thread Bolstridge, Andrew
 -Original Message-
 From: hy...@hyrumwright.org [mailto:hy...@hyrumwright.org] On Behalf
 Of Hyrum K. Wright
 Sent: 15 November 2010 18:17
 To: Subversion Development
 Subject: Translation help
 
 To any current and/or interested translators:
 
 In an effort to make translation of Subversion easier, and more
complete,
 I've installed an instance of Pootle, a web-based translation tool.
You can
 access it here:
 http://translate.hyrumwright.org/projects/svn/
 
 -Hyrum

Nice find, we're thinking of investigating it to see if it would help
our internal translation efforts! 

My colleague Kim might help with a Danish translation, but he is busy so
wouldn't be able to commit fully to it - so, would it make sense to put
a translation project for Danish on that site so he could dip in as he
has time. (no doubt when he sees a target to aim for, he'll be more
encouraged to finish them all :) )

Obviously it wouldn't be released until complete, but - if an empty
translation is visible, people might contribute more than if they had to
commit themselves, so as a tool to assist translation - it's can only
help.






Re: Translation help

2010-11-16 Thread Hyrum K. Wright
On Tue, Nov 16, 2010 at 8:34 AM, Bolstridge, Andrew
andy.bolstri...@intergraph.com wrote:
 -Original Message-
 From: hy...@hyrumwright.org [mailto:hy...@hyrumwright.org] On Behalf
 Of Hyrum K. Wright
 Sent: 15 November 2010 18:17
 To: Subversion Development
 Subject: Translation help

 To any current and/or interested translators:

 In an effort to make translation of Subversion easier, and more
 complete,
 I've installed an instance of Pootle, a web-based translation tool.
 You can
 access it here:
 http://translate.hyrumwright.org/projects/svn/

 -Hyrum

 Nice find, we're thinking of investigating it to see if it would help
 our internal translation efforts!

 My colleague Kim might help with a Danish translation, but he is busy so
 wouldn't be able to commit fully to it - so, would it make sense to put
 a translation project for Danish on that site so he could dip in as he
 has time. (no doubt when he sees a target to aim for, he'll be more
 encouraged to finish them all :) )

That would be great.  Kim actually contacted me privately (perhaps
just a Reply instead of Reply-All), and I've encouraged him to contact
this list to state his intentions if he wants to contribute to the
Danish translation.

There are *so* many languages, that it seems overkill to list them
all, without knowing someone is going to pick up the translation.  By
having folks mail this list, it not only gets me to add it to the
translation page, but also let's others in the community know somebody
is working on it.

My sense is that people who are contributing meaningful translations,
even if only through the Pootle site, would be made committers,
following the normal process.  That's something for the PMC to
discuss, however.

 Obviously it wouldn't be released until complete, but - if an empty
 translation is visible, people might contribute more than if they had to
 commit themselves, so as a tool to assist translation - it's can only
 help.

Actually, we've got several translations which are far from complete,
but which still ship.  There's probably some minimal threshold
translations should meet, but I've got to think it's *very* low. :)

-Hyrum


Re: A new 1.7 switch feature?

2010-11-16 Thread C. Michael Pilato
On 11/16/2010 07:43 AM, Philip Martin wrote:
 Is this something that we should be supporting?
 
 Perhaps we should get rid of the externals code and use this instead?
 Yes, it appears to work for files.

Eek.  The file externals feature came about because it just so happened that
we supported switches of schedule-add files.  I really, *really* don't want
us making those kinds of feature decisions in the future on the basis of,
Well, gosh, it sorta seems to work.  Let's try to be more intentional
about such things, shall we?

-1, but let's revisit the idea in some post-1.7 release!

-- 
C. Michael Pilato cmpil...@collab.net
CollabNet  www.collab.net  Distributed Development On Demand



signature.asc
Description: OpenPGP digital signature


scan_deletion - why?

2010-11-16 Thread Julian Foad
I'm auditing the uses of scan_deletion() and its semi-public wrapper
svn_wc__db_scan_deletion(): what do its callers really want?  My goals:
to be able to understand the callers, and then adapt them to op-depth
semantics and also simplify them.  It seems to me there's far too much
obfuscation going on in these callers at present, with lots of
near-but-not-quite-duplication.

Here are all the uses and what I can understand about them:

1. adm_crawler.c:find_base_rev()
  - work_del_abspath
  This code path is unused in a test suite run.

2. entries.c:get_base_info_for_deleted() (first occurrence)
  - work_del_abspath
  Use of result:
read_info(dirname(work_del_abspath))+scan_add - repo+relpath
  Ultimate need:
Copyfrom repo+relpath of the deleted node.
(The repo+relpath that this path belonged to before it was
deleted; if this deletion is inside a move/copy, then the repo
location within the copy source.)

3. entries.c:get_base_info_for_deleted() (second occurrence)
  - base_replaced, work_del_abspath
  Use of result:
base_replaced,
read_info(dirname(work_del_abspath))+scan_add - status
  Ultimate need:
Status indications for constructing an entry_t.

4. node.c:svn_wc__node_get_working_rev_info()
  - base_del_abspath, work_del_abspath
  This function is only used for back-compat in status reporting.

5. node.c:svn_wc__node_get_commit_base_rev()
  - work_del_abspath
  Use of result:
read_info(dirname(work_del_abspath))+scan_add - original_rev
assert(status is some kind of 'added')
  Ultimate need:
The commit base rev of the deleted node, which probably
really means the repository revision of the parent dir of the
deletion root.  See doc string - should go away.

6. node.c:svn_wc__internal_node_get_schedule()
  - work_del_abspath
  Use of result:
work_del_abspath == NULL?
  Ultimate need:
To know whether this deletion is inside a copy/move.

7. wc_db.c:get_info_for_copy()
  - work_del_relpath
  Use of result:
scan_add(dirname(work_del_relpath)) - original_repos_*, op_root
  Ultimate aim:
Copyfrom repos+relpath+rev of the deleted node.
### Relpath of this node, or of root of the copy?

8. wc_db.c:svn_wc__db_global_relocate()
  - work_del_relpath
  Use of result:
dirname(work_del_relpath)
  Ultimate aim:
Repos+relpath and local path of the parent of the root of the
deletion.

9. db-test.c:test_scan_deletion()
  Several calls, each checking all the output parameters.


So what to do with this?  Work out what semantics the callers really
want, and provide them through one or more APIs.  In each case, return
the wanted data in a single call instead of providing a path.  Then
we'll be in a position where we can optimize the queries inside each
such function if we need to.

1. Seems unused, so ignore for now.  I'm not confident that it can't be
triggered.  I hope this whole private function can be removed and some
(semi-public) API used instead.

2, 5, 7, 8. These are all similar and want to know the repos location of
where the deleted node would have been.  Need to check carefully what
relpath these want: the relpath of the given path, or of the deletion
root, or of the parent of the deletion root.  Also the revnum - should
it be the revnum that the node was at before it was deleted, or the
revnum that its parent is at?  They can differ in a mixed-rev base or in
a copy of a mixed-rev base.

3. Wants status of parent of deletion root.

4. The function for back-compatibility in status reporting.  The old,
deprecated version of the public status API should retrieve the
back-compat fields natively, rather than having the client make a
separate call.  The newer, revved status API can be non-compatible and
avoid that overhead.

6. Is this deletion inside a copy/move?  This usage is not a problem
and can continue to use scan_deletion or one of the functions that may
replace it.

9. Tests: amend as appropriate.

The moved_to_abspath output is never used.  Ditch it?

The base_replaced output is only used in case 3.  Ditch it from the
main API and use something else in this case?

The base_del_abspath output is only used in case 4.  Ditch it from the
main API and use something else in this case?

- Julian






Re: [PATCH] Bug in svn_fs_paths_changed2() Python bindings?

2010-11-16 Thread C. Michael Pilato
On 11/15/2010 03:05 PM, Alexey Neyman wrote:
 Hi all,
 
 On Wednesday, August 11, 2010 01:09:50 pm C. Michael Pilato wrote:
 On 08/11/2010 03:10 PM, C. Michael Pilato wrote:
 On 08/10/2010 09:22 PM, Alexey Neyman wrote:
 Okay, try again:

 [[[
 Fix the type of structures returned in bindings from
 svn_fs_paths_changed2().

 * subversion/include/svn_fs.h

   (svn_fs_paths_changed2): Rename the argument from changed_paths_p to
   changed_paths_p2, so that it's different from argument to
   svn_fs_paths_changed().

 Minor nit -- I think 'changed_paths2_p' would be a better name.  To me, a
 number at the very end of a parameter name says differentiator (as in
 'strcmp(str1, str2)') whereas having that '2' closer to the
 'changed_paths' name says version iterator.  But like I said, it's a
 minor nit.

 Otherwise, +1 on the patch.

 Committed with the aforementioned tweaks in r984565.  Thanks, Alexey.
 
 Could this patch be picked up in 1.6.14?
 
 Regards,
 Alexey.

I've made the proposal.  Now, we just need votes.

-- 
C. Michael Pilato cmpil...@collab.net
CollabNet  www.collab.net  Distributed Development On Demand



signature.asc
Description: OpenPGP digital signature


Re: [PATCH] Fix Perl bindings for svn_auth_get_platform_specific_client_providers

2010-11-16 Thread Hyrum K. Wright
Committed to trunk in r1035745.

On Mon, Nov 15, 2010 at 4:24 PM, Gavin Beau Baumanis
gav...@thespidernet.com wrote:
 Ping. This patch submission has received no comments.

 Gavin Beau Baumanis
 E: gav...@thespidernet.com


 On 02/11/2010, at 1:42 AM, Matthijs Kooijman wrote:

 Hi folks,

 this is a resubmit of a patch that got lost in the list earlier.

 The patch is a trivial patch, which adds perl bindings for the
 apr_array_header_t **providers type, which fixes the
 svn_auth_get_platform_specific_client_providers function.

 The patch also includes a basic test case.

 Gr.

 Matthijs
 swig-provider-array.patch



Re: [PATCH] Use svn_fs_fs__id_unparse() to construct the noderev cache key

2010-11-16 Thread Hyrum K. Wright
Since Daniel is a committer, I suspect he will track this change
(relieving you of the burden of doing so).

-Hyrum

On Mon, Nov 15, 2010 at 4:22 PM, Gavin Beau Baumanis
gav...@thespidernet.com wrote:
 Ping. This has received no further comments.



 Gavin Beau Baumanis
 E: gav...@thespidernet.com


 On 31/10/2010, at 12:42 PM, Daniel Shahaf wrote:

 Is there a reason not to apply this let's not reinvent the wheel patch?

 [[[
 Index: subversion/libsvn_fs_fs/fs_fs.c
 ===
 --- subversion/libsvn_fs_fs/fs_fs.c   (revision 1029231)
 +++ subversion/libsvn_fs_fs/fs_fs.c   (working copy)
 @@ -2205,15 +2205,14 @@ read_rep_offsets(representation_t **rep_p,
  return SVN_NO_ERROR;
 }

 -/* Combine the revision and offset of the ID to a string that will
 - * be used as a cache key. Allocations will be made from POOL.
 +/* Return a string that uniquely identifies the noderev with the
 + * given ID, for use as a cache key.
 */
 static const char *
 get_noderev_cache_key(const svn_fs_id_t *id, apr_pool_t *pool)
 {
 -  return svn_fs_fs__combine_two_numbers(svn_fs_fs__id_rev(id),
 -                                        svn_fs_fs__id_offset(id),
 -                                        pool);
 +  const svn_string_t *id_unparsed = svn_fs_fs__id_unparse(id, pool);
 +  return id_unparsed-data;
 }

 /* Look up the NODEREV_P for ID in FS' node revsion cache. If noderev
 ]]]

 (It does not resolve my test failures.)

 Daniel



Re: [PATCH] Fix Perl bindings for svn_auth_get_platform_specific_client_providers

2010-11-16 Thread Matthijs Kooijman
Hi Hyrum,

 Committed to trunk in r1035745.
Awesome, thanks!

Now it's time to bugger the git maintainers again for the other end of
this patch :-)

Gr.

Matthijs


signature.asc
Description: Digital signature


Re: [PATCH] Fix Perl bindings for svn_auth_get_platform_specific_client_providers

2010-11-16 Thread Hyrum K. Wright
I guess I also should have asked if this something which should go
into the 1.6.x line (I imagine so).

-Hyrum

On Tue, Nov 16, 2010 at 1:02 PM, Matthijs Kooijman matth...@stdin.nl wrote:
 Hi Hyrum,

 Committed to trunk in r1035745.
 Awesome, thanks!

 Now it's time to bugger the git maintainers again for the other end of
 this patch :-)

 Gr.

 Matthijs

 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.9 (GNU/Linux)

 iEYEARECAAYFAkzi1UwACgkQz0nQ5oovr7zwngCg1trovvA+Gwhyx/m1kiI0MXUL
 VeIAoLeUmKq+yxwgNEbma0Ix1ouknmt/
 =ksCG
 -END PGP SIGNATURE-




Re: [PATCH] Fix Perl bindings for svn_auth_get_platform_specific_client_providers

2010-11-16 Thread Matthijs Kooijman
Hi Hyrum,

 I guess I also should have asked if this something which should go
 into the 1.6.x line (I imagine so).
The sooner the better, since that would make it more feasible to fix up
git to actually use this.

Gr.

Matthijs


signature.asc
Description: Digital signature


Re: svn commit: r1035773 - in /subversion/trunk/subversion/bindings/javahl: native/ src/org/apache/subversion/javahl/ src/org/apache/subversion/javahl/type/

2010-11-16 Thread Blair Zajac

On 11/16/10 12:06 PM, hwri...@apache.org wrote:

Author: hwright
Date: Tue Nov 16 20:06:56 2010
New Revision: 1035773

URL: http://svn.apache.org/viewvc?rev=1035773view=rev
Log:
JavaHL: Move the Tristate class into the type package.


Hyrum,

Using type as a package name will cause compile failures if the bindingds are 
used in a Scala program as type is a reserved word, so having it appear in an 
import statement will cause problems.


I suggest renaming type to to types so it's not a keyword in Scala.

Thanks,
Blair


Re: svn commit: r1035773 - in /subversion/trunk/subversion/bindings/javahl: native/ src/org/apache/subversion/javahl/ src/org/apache/subversion/javahl/type/

2010-11-16 Thread Hyrum Wright
On Tue, Nov 16, 2010 at 2:19 PM, Blair Zajac bl...@orcaware.com wrote:
 On 11/16/10 12:06 PM, hwri...@apache.org wrote:

 Author: hwright
 Date: Tue Nov 16 20:06:56 2010
 New Revision: 1035773

 URL: http://svn.apache.org/viewvc?rev=1035773view=rev
 Log:
 JavaHL: Move the Tristate class into the type package.

 Hyrum,

 Using type as a package name will cause compile failures if the bindingds
 are used in a Scala program as type is a reserved word, so having it
 appear in an import statement will cause problems.

 I suggest renaming type to to types so it's not a keyword in Scala.

Good suggestion.  I'll effect this change RSN.

-Hyrum


Windows svnsync test suite failures and a clue

2010-11-16 Thread Paul Burba
As some of you know I've recently had some strange failures with the
svnsync tests on both trunk and 1.6.x.  All the tests started failing
during setup when the stdout of svnsync init was lost, e.g.:

[[[
C:\SVN\src-branch-1.6.xrun.python.test.DEBUG.bat svnsync 1 -v

C:\SVN\src-branch-1.6.xset TESTNAME=svnsync

C:\SVN\src-branch-1.6.xset CONFIG=Debug

C:\SVN\src-branch-1.6.xif not exist Debug\subversion\tests\cmdline
mkdir Debug\subversion\tests\cmdline

C:\SVN\src-branch-1.6.xpushd Debug\subversion\tests\cmdline

C:\SVN\src-branch-1.6.x\Debug\subversion\tests\cmdlinepython
C:\SVN\src-branch-1.6.x\\subversion\tests\cmdline\svnsync_tests.py 1
-v
CMD: svnadmin.exe create svn-test-work\local_tmp\repos
--bdb-txn-nosync TIME = 0.049000
CMD: svn.exe import -m Log message for revision 1.
svn-test-work\local_tmp\greekfiles
file:///C%3A/SVN/src-branch-1.6.x/Debug/subversion/tests/cmdline/svn-
test-work/local_tmp/repos --config-dir
C:\SVN\src-branch-1.6.x\Debug\subversion\tests\cmdline\svn-test-work\local_tmp\config
--password rayjandom --no-auth-c
ache --username jrandom TIME = 0.158000
Adding svn-test-work\local_tmp\greekfiles\A
Adding svn-test-work\local_tmp\greekfiles\A\B
Adding svn-test-work\local_tmp\greekfiles\A\B\lambda
Adding svn-test-work\local_tmp\greekfiles\A\B\E
Adding svn-test-work\local_tmp\greekfiles\A\B\E\alpha
Adding svn-test-work\local_tmp\greekfiles\A\B\E\beta
Adding svn-test-work\local_tmp\greekfiles\A\B\F
Adding svn-test-work\local_tmp\greekfiles\A\mu
Adding svn-test-work\local_tmp\greekfiles\A\C
Adding svn-test-work\local_tmp\greekfiles\A\D
Adding svn-test-work\local_tmp\greekfiles\A\D\gamma
Adding svn-test-work\local_tmp\greekfiles\A\D\G
Adding svn-test-work\local_tmp\greekfiles\A\D\G\pi
Adding svn-test-work\local_tmp\greekfiles\A\D\G\rho
Adding svn-test-work\local_tmp\greekfiles\A\D\G\tau
Adding svn-test-work\local_tmp\greekfiles\A\D\H
Adding svn-test-work\local_tmp\greekfiles\A\D\H\chi
Adding svn-test-work\local_tmp\greekfiles\A\D\H\omega
Adding svn-test-work\local_tmp\greekfiles\A\D\H\psi
Adding svn-test-work\local_tmp\greekfiles\iota

Committed revision 1.
CMD: svnadmin.exe create svn-test-work\repositories\svnsync_tests-1
--bdb-txn-nosync TIME = 0.096000
CMD: svnadmin.exe load --force-uuid --quiet
svn-test-work\repositories\svnsync_tests-1 TIME = 0.168000
CMD: svnadmin.exe create
svn-test-work\repositories\svnsync_tests-1-1 --bdb-txn-nosync TIME
= 0.134000
CMD: svnlook.exe uuid svn-test-work\repositories\svnsync_tests-1
TIME = 0.026000
6ad9f820-0205-0410-94a2-c8cf366bb2b3
CMD: svnadmin.exe setuuid
svn-test-work\repositories\svnsync_tests-1-1
6ad9f820-0205-0410-94a2-c8cf366bb2b3 TIME = 0.048000
CMD: svnsync.exe initialize
file:///C%3A/SVN/src-branch-1.6.x/Debug/subversion/tests/cmdline/svn-test-work/repositories/svnsync_tests-1-1
file:///C%3A/SVN/sr
c-branch-1.6.x/Debug/subversion/tests/cmdline/svn-test-work/repositories/svnsync_tests-1
--username jrandom --password rayjandom --config-dir C:\SVN\src-branc
h-1.6.x\Debug\subversion\tests\cmdline\svn-test-work\local_tmp\config
TIME = 0.314000
EXCEPTION: SVNUnexpectedStdout: []
Traceback (most recent call last):
  File C:\SVN\src-branch-1.6.x\subversion\tests\cmdline\svntest\main.py,
line 1226, in run
rc = self.pred.run(**kw)
  File C:\SVN\src-branch-1.6.x\subversion\tests\cmdline\svntest\testcase.py,
line 121, in run
return self.func(sandbox)
  File C:\SVN\src-branch-1.6.x\\subversion\tests\cmdline\svnsync_tests.py,
line 193, in copy_and_modify
run_test(sbox, copy-and-modify.dump)
  File C:\SVN\src-branch-1.6.x\\subversion\tests\cmdline\svnsync_tests.py,
line 157, in run_test
run_init(dest_sbox.repo_url, repo_url)
  File C:\SVN\src-branch-1.6.x\\subversion\tests\cmdline\svnsync_tests.py,
line 100, in run_init
raise SVNUnexpectedStdout(output)
SVNUnexpectedStdout: []
FAIL:  svnsync_tests.py 1: copy and modify
]]]

When I first saw these failures on trunk a few weeks ago I didn't
think much of them, just figured they were due to some ongoing work.
Then the 1.6.x svnsync tests started failing.  I had tested 1.6.13
recently without problem, so I built the 1.6.13 tag and sure enough it
now failed.

My first thought was a recently changed dependency, but I've been
using this setup for several months:

PLATFORM:
-
MS Windows 7 Home Premium 6.1.7600 Build 7600
Intel Core i7 M 620 2.67GHz 4 GB RAM
Microsoft Visual Studio 2008 Version 9.0.30729.1 SP


DEPENDENCIES:
-
APR: 1.4.2
APR-UTIL: 1.3.9
Neon: 0.29.3
zlib: 1.2.3
OpenSSL: 0.9.8m
Apache: 2.2.15
BDB: 4.8.30
sqlite: 3.7.2
Python: ActivePython 2.6.5.14
Perl: 5.10.1
Ruby: ruby 1.8.7
java: 1.6.0_21
junit: 4.8.2
swig: 1.3.40
serf: 0.3.0

The only thing that I can think of that *has* changed is that I
regularly run Windows Update.

After trying to figure what was wrong and hitting a dead end, I
restored my 

Re: scan_deletion - why?

2010-11-16 Thread Greg Stein
I'm not sure that I understand the goal here. Is there a problem that
is trying to be solved? If not, then I'd recommend just marking this
down as an item to review in 1.8.

Cheers,
-g

On Tue, Nov 16, 2010 at 12:51, Julian Foad julian.f...@wandisco.com wrote:
 I'm auditing the uses of scan_deletion() and its semi-public wrapper
 svn_wc__db_scan_deletion(): what do its callers really want?  My goals:
 to be able to understand the callers, and then adapt them to op-depth
 semantics and also simplify them.  It seems to me there's far too much
 obfuscation going on in these callers at present, with lots of
 near-but-not-quite-duplication.

 Here are all the uses and what I can understand about them:

 1. adm_crawler.c:find_base_rev()
  - work_del_abspath
  This code path is unused in a test suite run.

 2. entries.c:get_base_info_for_deleted() (first occurrence)
  - work_del_abspath
  Use of result:
    read_info(dirname(work_del_abspath))+scan_add - repo+relpath
  Ultimate need:
    Copyfrom repo+relpath of the deleted node.
    (The repo+relpath that this path belonged to before it was
    deleted; if this deletion is inside a move/copy, then the repo
    location within the copy source.)

 3. entries.c:get_base_info_for_deleted() (second occurrence)
  - base_replaced, work_del_abspath
  Use of result:
    base_replaced,
    read_info(dirname(work_del_abspath))+scan_add - status
  Ultimate need:
    Status indications for constructing an entry_t.

 4. node.c:svn_wc__node_get_working_rev_info()
  - base_del_abspath, work_del_abspath
  This function is only used for back-compat in status reporting.

 5. node.c:svn_wc__node_get_commit_base_rev()
  - work_del_abspath
  Use of result:
    read_info(dirname(work_del_abspath))+scan_add - original_rev
    assert(status is some kind of 'added')
  Ultimate need:
    The commit base rev of the deleted node, which probably
    really means the repository revision of the parent dir of the
    deletion root.  See doc string - should go away.

 6. node.c:svn_wc__internal_node_get_schedule()
  - work_del_abspath
  Use of result:
    work_del_abspath == NULL?
  Ultimate need:
    To know whether this deletion is inside a copy/move.

 7. wc_db.c:get_info_for_copy()
  - work_del_relpath
  Use of result:
    scan_add(dirname(work_del_relpath)) - original_repos_*, op_root
  Ultimate aim:
    Copyfrom repos+relpath+rev of the deleted node.
    ### Relpath of this node, or of root of the copy?

 8. wc_db.c:svn_wc__db_global_relocate()
  - work_del_relpath
  Use of result:
    dirname(work_del_relpath)
  Ultimate aim:
    Repos+relpath and local path of the parent of the root of the
    deletion.

 9. db-test.c:test_scan_deletion()
  Several calls, each checking all the output parameters.


 So what to do with this?  Work out what semantics the callers really
 want, and provide them through one or more APIs.  In each case, return
 the wanted data in a single call instead of providing a path.  Then
 we'll be in a position where we can optimize the queries inside each
 such function if we need to.

 1. Seems unused, so ignore for now.  I'm not confident that it can't be
 triggered.  I hope this whole private function can be removed and some
 (semi-public) API used instead.

 2, 5, 7, 8. These are all similar and want to know the repos location of
 where the deleted node would have been.  Need to check carefully what
 relpath these want: the relpath of the given path, or of the deletion
 root, or of the parent of the deletion root.  Also the revnum - should
 it be the revnum that the node was at before it was deleted, or the
 revnum that its parent is at?  They can differ in a mixed-rev base or in
 a copy of a mixed-rev base.

 3. Wants status of parent of deletion root.

 4. The function for back-compatibility in status reporting.  The old,
 deprecated version of the public status API should retrieve the
 back-compat fields natively, rather than having the client make a
 separate call.  The newer, revved status API can be non-compatible and
 avoid that overhead.

 6. Is this deletion inside a copy/move?  This usage is not a problem
 and can continue to use scan_deletion or one of the functions that may
 replace it.

 9. Tests: amend as appropriate.

 The moved_to_abspath output is never used.  Ditch it?

 The base_replaced output is only used in case 3.  Ditch it from the
 main API and use something else in this case?

 The base_del_abspath output is only used in case 4.  Ditch it from the
 main API and use something else in this case?

 - Julian







Re: [PATCH] Use svn_fs_fs__id_unparse() to construct the noderev cache key

2010-11-16 Thread Daniel Shahaf
Hyrum K. Wright wrote on Tue, Nov 16, 2010 at 13:02:04 -0600:
 Since Daniel is a committer, I suspect he will track this change
 (relieving you of the burden of doing so).
 

That's correct.

 -Hyrum
 
 On Mon, Nov 15, 2010 at 4:22 PM, Gavin Beau Baumanis
 gav...@thespidernet.com wrote:
  Ping. This has received no further comments.
 
 
 
  Gavin Beau Baumanis
  E: gav...@thespidernet.com
 
 
  On 31/10/2010, at 12:42 PM, Daniel Shahaf wrote:
 
  Is there a reason not to apply this let's not reinvent the wheel patch?
 
  [[[
  Index: subversion/libsvn_fs_fs/fs_fs.c
  ===
  --- subversion/libsvn_fs_fs/fs_fs.c   (revision 1029231)
  +++ subversion/libsvn_fs_fs/fs_fs.c   (working copy)
  @@ -2205,15 +2205,14 @@ read_rep_offsets(representation_t **rep_p,
   return SVN_NO_ERROR;
  }
 
  -/* Combine the revision and offset of the ID to a string that will
  - * be used as a cache key. Allocations will be made from POOL.
  +/* Return a string that uniquely identifies the noderev with the
  + * given ID, for use as a cache key.
  */
  static const char *
  get_noderev_cache_key(const svn_fs_id_t *id, apr_pool_t *pool)
  {
  -  return svn_fs_fs__combine_two_numbers(svn_fs_fs__id_rev(id),
  -                                        svn_fs_fs__id_offset(id),
  -                                        pool);
  +  const svn_string_t *id_unparsed = svn_fs_fs__id_unparse(id, pool);
  +  return id_unparsed-data;
  }
 
  /* Look up the NODEREV_P for ID in FS' node revsion cache. If noderev
  ]]]
 
  (It does not resolve my test failures.)
 
  Daniel
 


Re: [PATCH] Use svn_fs_fs__id_unparse() to construct the noderev cache key

2010-11-16 Thread Stefan Fuhrmann

On 17.11.2010 00:11, Daniel Shahaf wrote:

Hyrum K. Wright wrote on Tue, Nov 16, 2010 at 13:02:04 -0600:

Since Daniel is a committer, I suspect he will track this change
(relieving you of the burden of doing so).


That's correct.
-Hyrum



I'm not decided about that patch, yet. id_unparse is
relatively slow and I basically need to do some measurement
whether that is relevant (i.e. called frequently) or not.

-- Stefan^2.

On Mon, Nov 15, 2010 at 4:22 PM, Gavin Beau Baumanis
gav...@thespidernet.com  wrote:

Ping. This has received no further comments.



Gavin Beau Baumanis
E: gav...@thespidernet.com


On 31/10/2010, at 12:42 PM, Daniel Shahaf wrote:


Is there a reason not to apply this let's not reinvent the wheel patch?

[[[
Index: subversion/libsvn_fs_fs/fs_fs.c
===
--- subversion/libsvn_fs_fs/fs_fs.c   (revision 1029231)
+++ subversion/libsvn_fs_fs/fs_fs.c   (working copy)
@@ -2205,15 +2205,14 @@ read_rep_offsets(representation_t **rep_p,
  return SVN_NO_ERROR;
}

-/* Combine the revision and offset of the ID to a string that will
- * be used as a cache key. Allocations will be made from POOL.
+/* Return a string that uniquely identifies the noderev with the
+ * given ID, for use as a cache key.
*/
static const char *
get_noderev_cache_key(const svn_fs_id_t *id, apr_pool_t *pool)
{
-  return svn_fs_fs__combine_two_numbers(svn_fs_fs__id_rev(id),
-svn_fs_fs__id_offset(id),
-pool);
+  const svn_string_t *id_unparsed = svn_fs_fs__id_unparse(id, pool);
+  return id_unparsed-data;
}

/* Look up the NODEREV_P for ID in FS' node revsion cache. If noderev
]]]

(It does not resolve my test failures.)

Daniel




Re: Issue triage: issues 3429 and 3474

2010-11-16 Thread Johan Corveleyn
On Mon, Nov 8, 2010 at 1:02 PM, Philip Martin
philip.mar...@wandisco.com wrote:
 Johan Corveleyn jcor...@gmail.com writes:

 Or, maybe the best approach: I could add a regression test for these
 issues, so we can all be sure that they are fixed (and remain fixed),
 after which they can be marked as fixed.

 Yes, please.  Are there any existing XFAIL tests that apply?  They
 sometimes don't XPASS automatically when the bug is fixed because the
 test expectation is wrong.

Doh, it seems that issue #3474 already has a test, which PASSes (added
by Bert, which he mentioned in a comment in the issue):

PASS:  copy_tests.py 81: copy of new dir with copied file keeps history

This is exactly what issue #3474 is about. Bert added the test as
XFAIL in r938071, and it was marked PASS by you, Philip, in r955334.

So, I guess this wraps up that issue: can someone mark it as resolved?

There was a slight confusion when I read the test code, because a
comment still talks about the tests as Currently this fails because
 The following patch removes that obsolete comment:

[[[
Index: subversion/tests/cmdline/copy_tests.py
===
--- subversion/tests/cmdline/copy_tests.py  (revision 1035851)
+++ subversion/tests/cmdline/copy_tests.py  (working copy)
@@ -4358,8 +4358,6 @@ def copy_added_dir_with_copy(sbox):
   'NewDir2/mu': Item(status='A ', copied='+', wc_rev='-'),
 })

-  # Currently this fails because NewDir2/mu loses its history in the copy
-  # from NewDir to NewDir2
   svntest.actions.run_and_verify_status(wc_dir, expected_status)



]]]


For issue #3429, I'll try to write a regression test myself, and post
a patch for it in a new thread.

Cheers,
-- 
Johan


[PATCH] copy_tests.py - expand move_file_back_and_forth, to verify issue #3429

2010-11-16 Thread Johan Corveleyn
The attached patch expands the test move_file_back_and_forth
(copy_tests.py 45) as a regression test for issue#3429.

[[[
Expand move_file_back_and_forth test to verify issue #3429
(svn mv A B; svn mv B A generates replace without history).

* subversion/tests/cmdline/copy_tests.py
  (move_file_back_and_forth): Check expected status before commit.
]]]

Cheers,
-- 
Johan
Index: subversion/tests/cmdline/copy_tests.py
===
--- subversion/tests/cmdline/copy_tests.py  (revision 1035851)
+++ subversion/tests/cmdline/copy_tests.py  (working copy)
@@ -2428,17 +2428,27 @@ def move_file_back_and_forth(sbox):
   svntest.actions.run_and_verify_svn(None, None, [], 'mv',
  rho_move_path, rho_path)
 
+  # Create expected status tree before commit
+  expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
+  expected_status.add({
+'A/D/G/rho' : Item(status='R ', copied='+', wc_rev='-'),
+})
+
+  # Test status before commit
+  svntest.actions.run_and_verify_status(wc_dir, expected_status)
+
   # Created expected output tree for 'svn ci':
   expected_output = svntest.wc.State(wc_dir, {
 'A/D/G/rho' : Item(verb='Replacing'),
 })
 
-  # Create expected status tree
+  # Create expected status tree after commit
   expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
   expected_status.add({
 'A/D/G/rho' : Item(status='  ', wc_rev=2),
 })
 
+  # Test commit output and status
   svntest.actions.run_and_verify_commit(wc_dir,
 expected_output,
 expected_status,


Re: [PATCH] copy_tests.py - expand move_file_back_and_forth, to verify issue #3429

2010-11-16 Thread Johan Corveleyn
On Wed, Nov 17, 2010 at 2:14 AM, Johan Corveleyn jcor...@gmail.com wrote:
 The attached patch expands the test move_file_back_and_forth
 (copy_tests.py 45) as a regression test for issue#3429.

 [[[
 Expand move_file_back_and_forth test to verify issue #3429
 (svn mv A B; svn mv B A generates replace without history).

 * subversion/tests/cmdline/copy_tests.py
  (move_file_back_and_forth): Check expected status before commit.
 ]]]

I just realized that I can add a similar check to
move_dir_back_and_forth. Here is a second patch that expands both
tests.

(note: can the if svntest.main.wc_is_singledb(wc_dir) be dropped
from move_dir_back_and_forth?)

Log message:
[[[
Expand move_file_back_and_forth and move_dir_back_and_forth tests to verify
issue #3429 (svn mv A B; svn mv B A generates replace without history).

* subversion/tests/cmdline/copy_tests.py
  (move_file_back_and_forth): Check expected status before commit.
  (move_dir_back_and_forth): Check expected status after executing the moves.
]]]

Cheers,
-- 
Johan
Index: subversion/tests/cmdline/copy_tests.py
===
--- subversion/tests/cmdline/copy_tests.py  (revision 1035851)
+++ subversion/tests/cmdline/copy_tests.py  (working copy)
@@ -2428,17 +2428,27 @@ def move_file_back_and_forth(sbox):
   svntest.actions.run_and_verify_svn(None, None, [], 'mv',
  rho_move_path, rho_path)
 
+  # Create expected status tree before commit
+  expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
+  expected_status.add({
+'A/D/G/rho' : Item(status='R ', copied='+', wc_rev='-'),
+})
+
+  # Test status before commit
+  svntest.actions.run_and_verify_status(wc_dir, expected_status)
+
   # Created expected output tree for 'svn ci':
   expected_output = svntest.wc.State(wc_dir, {
 'A/D/G/rho' : Item(verb='Replacing'),
 })
 
-  # Create expected status tree
+  # Create expected status tree after commit
   expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
   expected_status.add({
 'A/D/G/rho' : Item(status='  ', wc_rev=2),
 })
 
+  # Test commit output and status
   svntest.actions.run_and_verify_commit(wc_dir,
 expected_output,
 expected_status,
@@ -2474,6 +2484,23 @@ def move_dir_back_and_forth(sbox):
   svntest.actions.run_and_verify_svn(None, None, expected_err,
  'mv', D_move_path, D_path)
 
+  if svntest.main.wc_is_singledb(wc_dir):
+# Verify if status indicates a replace with history
+expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
+expected_status.add({
+  'A/D'   : Item(status='R ', copied='+', wc_rev='-'),
+  'A/D/G' : Item(status='  ', copied='+', wc_rev='-'),
+  'A/D/G/pi'  : Item(status='  ', copied='+', wc_rev='-'),
+  'A/D/G/rho' : Item(status='  ', copied='+', wc_rev='-'),
+  'A/D/G/tau' : Item(status='  ', copied='+', wc_rev='-'),
+  'A/D/gamma' : Item(status='  ', copied='+', wc_rev='-'),
+  'A/D/H' : Item(status='  ', copied='+', wc_rev='-'),
+  'A/D/H/chi' : Item(status='  ', copied='+', wc_rev='-'),
+  'A/D/H/omega'   : Item(status='  ', copied='+', wc_rev='-'),
+  'A/D/H/psi' : Item(status='  ', copied='+', wc_rev='-'),
+  })
+svntest.actions.run_and_verify_status(wc_dir, expected_status)
+
 def copy_move_added_paths(sbox):
   copy and move added paths without commits
 


Re: svn commit: r1035869 [1/19] - in /subversion/branches/performance: ./ build/ build/generator/ build/generator/templates/ build/win32/ subversion/bindings/javahl/native/ subversion/bindings/javahl/

2010-11-16 Thread Stefan Sperling
On Wed, Nov 17, 2010 at 12:09:55AM -, stef...@apache.org wrote:
 Author: stefan2
 Date: Wed Nov 17 00:09:50 2010
 New Revision: 1035869
 
 URL: http://svn.apache.org/viewvc?rev=1035869view=rev
 Log:
 On the performance branch:
 Bring up-to-date with trunk.
 [lots of tree conflicts due to moved files were to resolve]

Just out of curiousity:
Can you describe what kinds of conflicts you were seeing?
Were the tree conflicts within the build/generator directory?
Or elsewhere, too?
Tree conflicts should only happen if you also deleted/moved/edited the
correspponding files (or directories) on the performance branch.