Page 1 of 1
Problems commiting large project
Posted: Wed Jul 11, 2007 10:03 am
I set up a new project on my SVN server and tried to do the initial commit (10000 files, 9500 folders).
This takes a very long time (about 15 minutes) with high cpu usage and fails in the end with the following error.
I use Subversive 1.1.2 on Eclipse 3.3 (Europa) with SVNKIT 1.1.1 and Subversion 1.4.2 server.
Posted: Wed Jul 11, 2007 12:20 pm
This happens only when using SVNKIT 1.1.1 as client.
The reason for this is that, when using SVNKIT, the authentication on the server fails (apache2 reports: "passwords mismatch").
When using JavaSVN as client, the problen does not occur, so the reason for the problemmust be connected to the client library.
Posted: Thu Jul 12, 2007 1:35 pm
I first thought the source of the MKACTIVITY http method problem may be the proxy server, but the svn host is included in the "non-proxy" list in the Eclipse preferences.
SVN is accessed through apache2 module.
As said, the problem does not occur when using JavaSVN 1.0.4 client. Any idea?
Posted: Thu Jul 12, 2007 1:36 pm
Thank you for your opinion.
First of all next Subversive version will contains SVN Kit 1.1.2 with lot of fixes. Also now we works with SVN Kit authors on improving of the next SVN Kit version and one of future Subversive builds will contains SVN Kit 1.1.4 with additional fixes which improves client stability in multithreaded environment.
About the "error updating hyperlink to console": this well known issue will be fixed with Subversive 1.1.3 version.
As I remember, commit performance issue relates to Synchronize View. Commits from the package explorer haven't performance restrictions if no resources are excluded from the commit set. So, definitely we will optimize commits from the Synch View, but commits from the Package Explorer could be used as workaround for the problem.
Posted: Thu Jul 12, 2007 2:29 pm
Great news, I am looking forwars to the next version!
When do you expect it to be released?
Posted: Mon Jul 16, 2007 10:07 am
I updated to the new version 1.1.3 and tried to commit a file. I always get the MKACTIVITY error shown in the first post (see above).
Right now, we are unable to use Subversive 1.1.3 due to the MKACTIVITY problem when commiting resources.
When we used Subversive 1.1.2 with JAVASVN 1.0.4 client, we were able to commit resources, so the problem is related to the new SVNKit versions. did the older client not use MKACTIVITY?
We have proxy disabled in Eclipse.
Posted: Mon Jul 16, 2007 11:53 am
I noticed that somehow Subversive sends all request through our proxy, but proxy is disabled in Eclipse network options.
Any other ways to tell Subversive wich proxy to use/not to use?
Posted: Mon Jul 16, 2007 12:19 pm
Ok I found the solution.
1. The source of the MKACTIVITY problem was that the request was passed through our proxy, wich does filter the MKACTIVITY http method out.
2. Because we were aware of this problem, we disabled http proxy in Eclipse (Window > Preferences > General> Network Connections and thought Subversive would no longer send requests though the proxy. I analyzed network packages and realized that nevertheless we disabled the proxy in Eclipse, the request still went though the proxy, causing the MKACTIVITY problem.
3. In my "Aplication Data" directory of my profile (Win XP), there is a "Subversion" directory with a file inside called "servers". This file contained entries describing our proxy server (see here
). We created there entries long time ago to access a SVN repository in the internet via the command line SVN client.
4. After disabling the proxy entry in that file, Subversive no longer sends request though out proxy. Problem solved.
Subversive (or the unterlying client library) analyzes the Subversion configuration directory of your local profile and applies those settings. When you enter a proxy server there, it will be used, no matter if you disable proxy server in the Eclipse settings.
I am not sure if the Subversive developers are aware of this, but I think maybe it should be included in the Subversive FAQ.
Posted: Tue Jul 17, 2007 1:07 pm
Thank you very much! I think we will discuss this moment together with SVN Kit developers and if this is not a bug include proposed notice into the Subversive FAQ page.
Posted: Wed Jul 18, 2007 2:52 pm
great news, glad if I was able to help a bit.
On more info on this:
I deleted the whole "Subversion" config directory in %APPDATA% and noticed it was re-created
when using Subversive. I guess this was done by the client library (JavaHL in this case).
Below is the content of the readme file of this directory, it explains a bit. It also says that in addition to the Subversion config directory, configuration can also be stored in the Windows registry. So this might be an additional place for "hidden" proxy configuration. Argh!
Code: Select all
This directory holds run-time configuration information for Subversion
clients. The configuration files all share the same syntax, but you
should examine a particular file to learn what configuration
directives are valid for that file.
The syntax is standard INI format:
- Empty lines, and lines starting with '#', are ignored.
The first significant line in a file must be a section header.
- A section starts with a section header, which must start in
the first column:
- An option, which must always appear within a section, is a pair
(name, value). There are two valid forms for defining an
option, both of which must start in the first column:
name = value
Whitespace around the separator (:, =) is optional.
- Section and option names are case-insensitive, but case is
- An option's value may be broken into several lines. The value
continuation lines must start with at least one whitespace.
Trailing whitespace in the previous line, the newline character
and the leading whitespace in the continuation line is compressed
into a single space character.
- All leading and trailing whitespace around a value is trimmed,
but the whitespace within a value is preserved, with the
exception of whitespace around line continuations, as
- When a value is a boolean, any of the following strings are
recognised as truth values (case does not matter):
- When a value is a list, it is comma-separated. Again, the
whitespace around each element of the list is trimmed.
- Option values may be expanded within a value by enclosing the
option name in parentheses, preceded by a percent sign and
followed by an 's':
The expansion is performed recursively and on demand, during
svn_option_get. The name is first searched for in the same
section, then in the special [DEFAULT] section. If the name
is not found, the whole '%(name)s' placeholder is left
Any modifications to the configuration data invalidate all
previously expanded values, so that the next svn_option_get
will take the modifications into account.
The syntax of the configuration files is a subset of the one used by
Python's ConfigParser module; see
Configuration data in the Windows registry
On Windows, configuration data may also be stored in the registry. The
functions svn_config_read and svn_config_merge will read from the
registry when passed file names of the form:
The REGISTRY: prefix must be in upper case. The <hive> part must be
HKLM for HKEY_LOCAL_MACHINE
HKCU for HKEY_CURRENT_USER
The values in config-key represent the options in the [DEFAULT] section.
The keys below config-key represent other sections, and their values
represent the options. Only values of type REG_SZ whose name doesn't
start with a '#' will be used; other values, as well as the keys'
default values, will be ignored.
Typically, Subversion uses two config directories, one for site-wide
and one for per-user configuration: