svn log: --search and --limit interaction

2013-11-21 Thread Андрей Парамонов

Hello!

I've noticed that Subversion 1.8 introduces very useful --search 
parameter. However, currently (version 1.8.4-SlikSvn-1.8.4-X64) --search 
is applied after --limit, sometimes effectively returning less entries 
than specified by --limit, even if more entries are available.


I believe it's a bug. Your opinions?

Best wishes,
Andrey Paramonov

--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



Re: servers ssl-authority-files with svn lib

2013-11-21 Thread Kai-Uwe . Schieser
Hi Stefan!

Thanks for your response.
You are right. Code would make things much clearer ;-). Sorry for that.

OK. So here is the constructor of my simple client.

CODE START:

SimpleSVNClient::SimpleSVNClient(const string configDir)
{
if(!aprPoolInitFlag)
{
apr_initialize();
apr_pool_initialize();
aprPoolInitFlag = true;
}
 
m_pool = svn_pool_create(0);
 
if(0 == m_pool)
{
...error handling...
}
 
const char* configDir_temp = 0;
m_configDir = configDir;
if(configDir.length()  0)
{
configDir_temp = configDir.c_str();
}
 
svn_config_ensure(configDir_temp, m_pool);
 
apr_array_header_t* providers = apr_array_make(m_pool, 8, 
sizeof(svn_auth_provider_object_t *));
svn_auth_provider_object_t *provider;

svn_client_get_simple_provider(provider, m_pool);
*(svn_auth_provider_object_t **)apr_array_push(providers) = provider;

svn_client_get_username_provider(provider, m_pool);
*(svn_auth_provider_object_t **)apr_array_push(providers) = provider;
 
// add ssl providers
// file first then prompt providers
svn_client_get_ssl_server_trust_file_provider(provider, m_pool);
*(svn_auth_provider_object_t **)apr_array_push(providers) = provider;

svn_client_get_ssl_client_cert_file_provider(provider, m_pool);
*(svn_auth_provider_object_t **)apr_array_push(providers) = provider;

svn_client_get_ssl_client_cert_pw_file_provider(provider, m_pool);
*(svn_auth_provider_object_t **)apr_array_push(providers) = provider;

svn_auth_baton_t* ab;
svn_auth_open(ab, providers, m_pool);
 
if(0 == ab)
{
...error handling...
}
 
// initialize m_ctx structure
svn_client_create_context(m_ctx, m_pool);
// get the config based on the configDir passed in
svn_config_get_config(m_ctx-config, configDir_temp, m_pool);
// tell the auth functions where the config is
svn_auth_set_parameter(ab, SVN_AUTH_PARAM_CONFIG_DIR, configDir_temp);
m_ctx-auth_baton = ab;
}

CODE END


And here is the checkout method of the class (SVNRevision is a wrapper for 
the svn_revision):

CODE START:

long int SimpleSVNClient::checkout(const string url, const string 
destPath, const BMSVNRevision revision, 
const bool recursive, const bool 
ignoreExt, const SVNRevision pegRevision)
{
int ret;
apr_pool_t* pool = svn_pool_create(0);
if(0 == pool)
{
...error handling...
}
 
const char* int_path = svn_path_internal_style(destPath.c_str(), 
pool);

svn_revnum_t revnum = 0;
svn_error_t* err = svn_client_checkout2(revnum, url.c_str(), 
destPath.c_str(), pegRevision.getSVNRevision(), 
revision.getSVNRevision(), 
recursive, ignoreExt, m_ctx, pool);
 
ret = revnum;
if(err)
   {
...error handling...
}
 
svn_pool_destroy(pool);
 
return ret;
}

CODE END

The whole thing crashes when svn_client_checkout2 is called.
In between I set the login of course:

CODE START

void SimpleSVNClient::setLogin(const string username, const string 
password)
{
m_username = username;
m_password = password;
 
svn_auth_baton_t* ab = m_ctx-auth_baton;
svn_auth_set_parameter(ab, SVN_AUTH_PARAM_DEFAULT_USERNAME, 
m_username.c_str());
svn_auth_set_parameter(ab, SVN_AUTH_PARAM_DEFAULT_PASSWORD, 
m_password.c_str());
}

CODE END

Bye, Kai


Stefan Sperling s...@elego.de schrieb am 21.11.2013 13:59:49:

 Von: Stefan Sperling s...@elego.de
 An: kai-uwe.schie...@hydrometer.de
 Kopie: users@subversion.apache.org
 Datum: 21.11.2013 13:59
 Betreff: Re: servers ssl-authority-files with svn lib
 
 On Wed, Nov 20, 2013 at 06:53:48PM +0100, Kai-
 uwe.schie...@hydrometer.de wrote:
  Please add me to the answer list, cause I am not subscribed.
  
  
  Hi there!
  
  I am using the binary package of Subversion library version 1.7.9 in 
my 
  software project.
  I have written a simple client that I use in an other software to 
simply 
  checkout from a repository and update it to a specified revision 
  automatically.
  
  Due to the certificate of  the server, that must be accepted by the 
  client, I set the ssl-authority-files to a local certificate file.in 
the 
  servers file of subversion.
  I tested if it works right with the Tortoise svn-client and it does 
the 
  job. The entry is something like ssl-authority-files=
  C:/svn.hostname.de.crt
  
  If I try to checkout with the library the whole software crashes 
without 
  any error messages. 
  
  It seems the entry in the servers file ,makes my simple client 
crashing. 
  As I mentioned the Tortoise works fine with the entry 
ssl-authority-files. 
  
  The simple client library works fine, when I accepted the certificate 
  permenantly in the Tortoise before I checkout with the lib.
  
  Do I need to activate something in my library to ensure the proper 
usage 
  of the servers file entry 

Re: svn log: --search and --limit interaction

2013-11-21 Thread Stefan Sperling
On Thu, Nov 21, 2013 at 04:21:05PM +0400, Андрей Парамонов wrote:
 Hello!
 
 I've noticed that Subversion 1.8 introduces very useful --search parameter.
 However, currently (version 1.8.4-SlikSvn-1.8.4-X64) --search is applied
 after --limit, sometimes effectively returning less entries than specified
 by --limit, even if more entries are available.
 
 I believe it's a bug. Your opinions?

Hello Андрей,

This is because there is no server-side support for --search yet.

--search filtering is done within the client. However, --limit does
have server-side support, so the server sends log entries only up to
the specified limit. The client can apply its --search filter only to
entries sent by the server.

Protocol and server-side changes would need to be made to improve
this situation. This is possible, but so far, nobody has done the
necessary work. As usual, we welcome patches.


MOD_DAV_SVN + SVNSERVE_WRAPPER + file system rights

2013-11-21 Thread sbremal
Hello

I know this topic has been discussed many times but...

I am very happy with the SSH + 'svnserve' access to my repositories, however 
due to firewall issues I need access through HTTP as well. What I do not want 
is to set up a 2nd authentication / authorization database.

Here is my current config HTTP config:

[
    ...
    LoadModule authz_unixgroup_module libexec/apache22/mod_authz_unixgroup.so
    ...
    AddExternalAuth pwauth /usr/local/bin/pwauth
    SetExternalAuthMethod pwauth pipe
    ...
    Location /subversion/
        AuthBasicProvider external
        AuthExternal pwauth
        AuthName Subversion
        AuthType Basic
        AuthzUnixgroup on
        Dav svn
        Require file-group
        SSLRequireSSL
        SVNParentPath /usr/local/svn/
    /Location
]

1. Any user accessing Subversion has to be authenticated against the Unix 
password database. Works.
2. Before we hit the Subversion module I would like to authorize the user 
against the file system. Does not work.

I have repositories laid out on the file system under '/usr/local/svn/' like 
this:

drwxrwx---  6 root  backup    512 Feb  9  2012 backup
drwxrwx---  6 root  common    512 Feb  9  2012 common
drwxrwx---  6 root  news_alert    512 Jun 14  2012 news_alert
...

Each repository's group is the collection of users who should be able to read 
and write it, plus the Apache's 'www' user. This works fine with 'svnserve', 
enforced by Unix.

How could I convince Apache to check the directory access rights before it hits 
MOD_DAV_SVN? There are 2 flaws at the moment:

1. 'Require file-group' checks against 
'/usr/local/www/apache22/data/subversion/common' and not 
'/usr/local/svn/common'.
2. It also checks each path components of, for example, 
'/subversion/ppt/!svn/ver/48/trunk' and not only '/subversion/ppt/'.

Any idea how to fix this? Any other approach to the problem?


Cheers
B.

Contingency Planning

2013-11-21 Thread João Bosco Jares
Hi Friends,

I want a help to implement a contingency plannning, for SVN running on
Apache and supposing my configuration is simple as possible on an vm
machine, what is the best advice to strat the job?

Best Regards


Re: Continuous Integration

2013-11-21 Thread T.J. Perovich
 I wish to create a web app and share it on SVN. I wish to use this SVN
url for Jenkins Integration.


I use Jenkins with SVN and it works just fine.  You'll need the SVN plugin
which is easily obtained through Jenkins.

 Do I need to take any precautions.

For SVN, make sure it's configured for https:// and not http, unless it's
internal.  For Jenkins, make sure you enable security.  By default it
allows for anonymous read/write.  You should also configure it for https
rather than http, unless it's internal.

Let me know if you have any specific questions.


On Tue, Nov 19, 2013 at 9:14 PM, Ryan Schmidt 
subversion-20...@ryandesign.com wrote:


 On Nov 18, 2013, at 06:37, Navindian wrote:

  I wish to create a web app and share it on SVN. I wish to use this SVN
 url for Jenkins Integration.
 
  Do I need to take any precautions.

 I don’t understand the question.

 I use Subversion and I’ve develop web sites whose code I’ve stored in a
 Subversion repository, but I haven’t used Jenkins. Perhaps you could
 explain what role you want Jenkins to play, and why you think it will be a
 problem.





compressed Subversion dump files are larger than uncompressed file

2013-11-21 Thread sakthivel chandrasekaran
We are using SVN 1.7 and running in Solaris 10. Recently we've introduced
incremental backup and the dump files will be compressed after the dump
operation.

The following are the commands that are used,

svnadmin dump -q --incremental -r0:30700 /path/to/repos  /path/to/dmp

gzip -1 /path/to/dump

But the issue here is the .gz file is double the size of dump file. Means,
the dump file size is 500MB whereas the .gz file is of 850 MB size.

I tried gzip -9 as well but that doesnt solve the purpose either as it
compresses to an 650 MB file.

Can anyone tell me what could be the issue here?

Thanks,

Sakthi


Re: Contingency Planning

2013-11-21 Thread Mauricio Tavares
  I think it depends exactly on what you are trying to do. For
starters, you could be backing up the db you are using with svn. But
you are probably doing that anyway. Then you could have the backup
server (vm/iron) ready to go. If the production svn server dies, you
can apply the dump in the warm spare and be back in business. You will
loose all commits up to the time of the last backup, but that is it.

IMHO that would be the easiest procedure. Implementation is of course
specific to your setup, requirements, and policies.

On Thu, Nov 21, 2013 at 7:53 AM, João Bosco Jares jbja...@gmail.com wrote:
 Hi Friends,

 I want a help to implement a contingency plannning, for SVN running on
 Apache and supposing my configuration is simple as possible on an vm
 machine, what is the best advice to strat the job?

 Best Regards


Re: servers ssl-authority-files with svn lib

2013-11-21 Thread Stefan Sperling
On Wed, Nov 20, 2013 at 06:53:48PM +0100, kai-uwe.schie...@hydrometer.de wrote:
 Please add me to the answer list, cause I am not subscribed.
 
 
 Hi there!
 
 I am using the binary package of Subversion library version 1.7.9 in my 
 software project.
 I have written a simple client that I use in an other software to simply 
 checkout from a repository and update it to a specified revision 
 automatically.
 
 Due to the certificate of  the server, that must be accepted by the 
 client, I set the ssl-authority-files to a local certificate file.in the 
 servers file of subversion.
 I tested if it works right with the Tortoise svn-client and it does the 
 job. The entry is something like ssl-authority-files=
 C:/svn.hostname.de.crt
 
 If I try to checkout with the library the whole software crashes without 
 any error messages. 
 
 It seems the entry in the servers file ,makes my simple client crashing. 
 As I mentioned the Tortoise works fine with the entry ssl-authority-files. 
 
 The simple client library works fine, when I accepted the certificate 
 permenantly in the Tortoise before I checkout with the lib.
 
 Do I need to activate something in my library to ensure the proper usage 
 of the servers file entry ssl-authority-files ?
 I am sure the entry is evaluated, because I get an error nmessage, when I 
 enter a wrong file name.
 
 
 I hope you hava an idea. Thanks,
 Kai 

It is hard to tell where the problem could be without seeing the
source code of your client.

But here's a guess: Are you seeting up authentication providers properly?
See the function svn_cmdline_create_auth_baton() in this file:
https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_subr/cmdline.c