merge, --reintegrate, --record-only, near infinite regress in --use-merge-history

2010-06-02 Thread B Smith-Mannschott
Bah!! (I'm a just a wee bit frustrated as I write this, please forgive
any roughness in tone.)

After waiting patiently for $JOB to finally move our server to
Subversion 1.6, I'm finding Subversion's merge tracking to be rather
less help than I'd hoped. (I guess git/hg/bzr have spoiled me during
my two year wait.)

What's really, really, really biting me at this point is a
modification of the --reintegrate workflow that I've seen described on
this list a few times:

usual way:

- create topic branch from trunk
- svn merge trunk topic
  regularly during development to keep topic branch up-to-date with trunk
- svn merge --reintegrate topic trunk
  merges the topic back to trunk
- svn rm topic
  get rid of the topic branch. recreate if necessary.
  as the next sync merge would cause it to try to pull
  in its own reintegration leading to much gnashing
  of teeth.

A few clever people suggested a way around the delete-and-recreate the
branch problem. Just use a record-only merge to make the topic branch
aware of the reintegration revision on trunk without actually enduring
the resulting conflicts.

It sounded like a great idea when I read it. Very clever.

Unfortunately, it's also *very* *broken*.

This technique interacts badly with "svn log -g". After a few repetitions of
merge, merge --record-only, merge --reintegrate, I'm finding the same
revisions showing up over and over again in my trunk when using svn log -g.

svn log -q | wc -l
2299

svn log -q -g | wc -l
14167

$ svn log -q -g | egrep -o -e "^r[0-9]+" | sort | uniq -c | sort -n | tail
131 r42278
135 r42171
135 r42251
135 r42252
136 r42196
136 r42205
136 r42219
136 r42223
191 r42282 <-- these two revisions appear 191 times in the log -g of trunk!
191 r42292 <--

When this has made svn log -g useless for me. ("Include merged
revisions" in TortoiseSVN is similarly useless). This is unfortunate,
because I had hoped that this feature would free me from having to
painstakingly protocol which revisions were merged in the log message
as I used to do in 1.4 days.

What's worse is that log -g uses historical information from the
repository (not just HEAD), so it's impossible to undo this error by
just deleting svn:merge-info properties and starting over. It appears
only dump, remove svn:merge-info properties, load of the whole
repository could fix things.

Is that my only way to correct this idiocy?

Does the Subversion Book include a big red warning label that I overlooked?

As a work-around, is there a way to limit the recursive depth of log -g?

// Ben


Re: merge, --reintegrate, --record-only, near infinite regress in --use-merge-history

2010-06-02 Thread Stefan Sperling
On Wed, Jun 02, 2010 at 11:33:21AM +0200, B Smith-Mannschott wrote:
> A few clever people suggested a way around the delete-and-recreate the
> branch problem. Just use a record-only merge to make the topic branch
> aware of the reintegration revision on trunk without actually enduring
> the resulting conflicts.
> 
> It sounded like a great idea when I read it. Very clever.
> 
> Unfortunately, it's also *very* *broken*.
> 
> This technique interacts badly with "svn log -g". After a few repetitions of
> merge, merge --record-only, merge --reintegrate, I'm finding the same
> revisions showing up over and over again in my trunk when using svn log -g.
> 
> svn log -q | wc -l
> 2299
> 
> svn log -q -g | wc -l
> 14167
> 
> $ svn log -q -g | egrep -o -e "^r[0-9]+" | sort | uniq -c | sort -n | tail
> 131 r42278
> 135 r42171
> 135 r42251
> 135 r42252
> 136 r42196
> 136 r42205
> 136 r42219
> 136 r42223
> 191 r42282 <-- these two revisions appear 191 times in the log -g of 
> trunk!
> 191 r42292 <--
> 
> When this has made svn log -g useless for me. ("Include merged
> revisions" in TortoiseSVN is similarly useless). This is unfortunate,
> because I had hoped that this feature would free me from having to
> painstakingly protocol which revisions were merged in the log message
> as I used to do in 1.4 days.

On the surface, this doesn't look like a merge-tracking problem.
It smells more like a presentation-layer bug (in log -g).
We should figure out how log -g should behave in this case (the behaviour 
you're seeing clearly isn't desirable) and then fix it.
Please file an issue.

BTW, there's another known problem with the --reintegrate/--record-only trick,
with 2-URL merges: http://subversion.tigris.org/issues/show_bug.cgi?id=3648

Thanks,
Stefan


Re: merge, --reintegrate, --record-only, near infinite regress in --use-merge-history

2010-06-02 Thread Stefan Sperling
On Wed, Jun 02, 2010 at 12:37:13PM +0200, Stefan Sperling wrote:
> We should figure out how log -g should behave in this case (the behaviour 
> you're seeing clearly isn't desirable) and then fix it.
> Please file an issue.

Oh, and if you can, please write a small script (attached to the issue)
or test case (patch for our test suite) that shows the problem,
by triggering a single revision to appear too many times in log -g output.
That would help people who would like to investigate get started.

Thanks,
Stefan


[ANN] Artifacts for Web - free Subversion-style bug tracker

2010-06-02 Thread Fyodor Sheremetyev
Dear Subversion users,

We are pleased to announce the public availability of "Artifacts for
Web" BETA - free web-based bug tracker.

http://www.versioned.com/artifacts/web/

There is no need to install server software to use Artifacts. If you
have a Subversion repository then you can start using a bug tracker in
a matter of seconds.

Artifacts for Web introduces a new approach to separation of logic and
data. Data is stored and properly versioned in your Subversion
repository. Logic to display and manage the data is loaded from our
server and constantly updated with latest improvements and fixes.

We would be happy to know your opinion about Artifacts.

Thanks,
Fyodor Sheremetyev
Versioned Team


subversion-1.6.11 can not be compiled: dav_new_error incompatible

2010-06-02 Thread szukw000
--
httpd-2.2.14/modules/dav/main/mod_dav.h :

DAV_DECLARE(dav_error*) dav_new_error(apr_pool_t *p, int status,
  int error_id, const char *desc);
--
httpd-2.3.5-alpha

DAV_DECLARE(dav_error*) dav_new_error(apr_pool_t *p, int status,
  int error_id, apr_status_t aprerr,
  const char *desc);
--
subversion-1.6.11:

return dav_new_error(pool, HTTP_BAD_REQUEST,
 DAV_ERR_LOCK_SAVE_LOCK,
 "Only 'write' locks are supported.");
  return dav_new_error(repos->pool, HTTP_NOT_FOUND, 0,
   "could not find activity.");
--

I use httpd-2.3.5-alpha :-(

winfried

Und was machen Sie heute abend? Alles Events Ihrer Gegend auf einen Blick im 
Arcor.de-Veranstaltungskalender: http://www.arcor.de/rd/footer.events


RE: Merging branch back to trunk omits dirs and files that were added in the branch

2010-06-02 Thread Dean Schulze
 
The new directories did not exist in the trunk.
 
I eventually "merged" my changes from the branch to the trunk by doing a diff 
between the working copies of the branch and trunk.  The svn merge did get some 
of the changed files, but the tree conflicts seem random.
 
I tried again this morning to reintegrate the branch to the trunk after 
mofifying four files.  No additions or deletions, just 4 modified files.  The 
svn merge created a few dozen tree conflicts.  It marked as tree tree conflicts 
several of my top level build*.xml files that were not changed at all.  It did 
pick up two of the changed files and merge them to the trunk.  I used diff 
again and it showed the other two files unmerged - even though according to svn 
they had been merged.
 
svn merging is completely broken.  Tree conflicts are simply out of control.
 


--- On Tue, 6/1/10, Jeremy Mordkoff  wrote:


From: Jeremy Mordkoff 
Subject: RE: Merging branch back to trunk omits dirs and files that were added 
in the branch
To: "Dean Schulze" , users@subversion.apache.org
Date: Tuesday, June 1, 2010, 1:35 PM








Sounds like the target directories already existed in trunk. How did they get 
created? 
 
JLM
 
 
Jeremy Mordkoff
Director, QA, IT & Release
ZeeVee, Inc.
One Monarch Drive | Littleton, MA 01460
Office: 978.467.1395 x233 | Fax: 978.467.1404
Mobile: 978-257-2183
j...@zeevee.com 
www.zeevee.com 
 



From: Dean Schulze [mailto:dean_w_schu...@yahoo.com] 
Sent: Tuesday, June 01, 2010 2:48 PM
To: users@subversion.apache.org
Subject: Merging branch back to trunk omits dirs and files that were added in 
the branch
 





I've tried this with both TortoiseSVN and the merge tool that comes with 
Subclipse.

 

I've added subdirectories with files under several directories on the branch 
(along with many other changes).  When I merge back to the trunk the top level 
directories under which I added the subdirectories and files show up as tree 
conflicts.  None of the sub-directories or files show up.  I mark the tree 
conflicts as resolved (I mark all tree conflicts as resolved choosing the 
repository / branch file whenever asked to resolve manually).

 

In the merged trunk the new subdirectories and files are missing all together.  
The trunk svn:mergeinfo shows the correct range of revisions.

 

What do I have to do to simply merge the branch back to the trunk?

 

Firstly, this is not a conflict of any kind.  I added those directories and 
files intentionally.  

 

Secondly, ever since tree conflicts were added to svn I've found svn to be 
completely unreliable when it comes to merging.  How do I turn off tree 
conflicts (eliminate them all together)?

 

What do I have to do to get back to reliable merging, switch to git?

 
 


  

Re: How to build with http/https: access via serf, and not neon?

2010-06-02 Thread Campbell Allan

On Tuesday 01 Jun 2010, yary wrote:
> Neon is required? The INSTALL that comes with 1.6.11 says that either
> neon or serf will give http access:
>
>   * libneon or libserf  (OPTIONAL for client)
>
>  The Neon and Serf libraries both allow the Subversion client
>  to send HTTP requests. ... Your client can be compiled against
> either libneon or libserf (or both), as they offer competing
>  implementations.
>
> -y

It's possible the configure script isn't detecting either library on your 
system and so isn't including the necessary commands in the makefiles. I have 
two examples of configure lines, one with neon specified and one without and 
both create working binaries. I think I needed to specify it because I was 
building a static binary or needed a specific version. At the very simplest 
though the following commands work on my machine:

tar xfvj subversion-1.6.11.tar.bz2
tar xfvj subversion-deps-1.6.11.tar.bz2
cd subversion-1.6.11/
./configure --with-ssl
make

however your mileage may vary depending on the libraries installed. I can 
confirm I have packages for libneon and neon installed on my opensuse 
desktop. Neon and serf are provided in the dependencies because they must be 
needed at some point and I had the impression at least some of the 
dependencies were picked up automatically if necessary but I guess this isn't 
always the case.

Campbell

__
Sword Ciboodle is the trading name of ciboodle Limited (a company 
registered in Scotland with registered number SC143434 and whose 
registered office is at India of Inchinnan, Renfrewshire, UK, 
PA4 9LH) which is part of the Sword Group of companies.

This email (and any attachments) is intended for the named
recipient(s) and is private and confidential. If it is not for you, 
please inform us and then delete it. If you are not the intended 
recipient(s), the use, disclosure, copying or distribution of any 
information contained within this email is prohibited. Messages to 
and from us may be monitored. If the content is not about the 
business of the Sword Group then the message is neither from nor 
sanctioned by us.

Internet communications are not secure. You should scan this
message and any attachments for viruses. Under no circumstances
do we accept liability for any loss or damage which may result from
your receipt of this email or any attachment.
__



Re: How to build with http/https: access via serf, and not neon?

2010-06-02 Thread yary
Hi Campbell,

I can build a working binary as well, it's just that the client
doesn't have the http: method when built with only serf and
"--without-neon". It sounds like you're building it with neon in each
cases, just not using the "--with-neon" flag; omitting the flag makes
configure look for it in the default places. Have you tried building
using "without-neon", if so can you verify that yours shows http when
you run "svn --version"?

I'm wondering if this is simply a documentation bug, that neon is
always required in some respect.

-y


Unexpected tree conflict when deleting directory

2010-06-02 Thread Brian Pitts
Hi,

I'm experiencing a tree conflict in a situation where there should be no
conflict. Basically, after removing the contents of a directory I'm
unable to commit deleting the directory even though no one has modified
it. The client is 1.6.6. I've tried with server versions 1.4.3 and
1.6.9. Below is a simple demonstration

$ mkdir foo
$ svn add foo/
A foo
$ svn commit -m "Add dir foo"
Adding foo

Committed revision 1738.
$ echo 'Hello World' > foo/bar
$ svn add foo/bar
A foo/bar
$ svn commit -m "Add file bar in dir foo"
Adding foo/bar
Transmitting file data .
Committed revision 1739.
$ svn rm foo/bar
D foo/bar
$ svn commit -m "Remove file bar from dir foo"
Deleting   foo/bar

Committed revision 1740.
$ svn rm foo/
D foo
$ svn commit -m "Remove directory foo"
Deleting   foo
svn: Commit failed (details follow):
svn: Item '/puppet/foo' is out of date
$ svn update
   C foo
At revision 1740.
Summary of conflicts:
  Tree conflicts: 1

At this point, I have to use 'svn resolve --accept working foo/' to
accept the deletion. Afterwards, I can successfully commit it. Can
anyone explain this behavior?

-- 
Brian Pitts
Systems Administrator | EuPathDB Bioinformatics Resource Center
706-542-1447 | b...@uga.edu | http://eupathdb.org


Re: How to build with http/https: access via serf, and not neon?

2010-06-02 Thread Campbell Allan

On Wednesday 02 Jun 2010, yary wrote:
> Hi Campbell,
>
> I can build a working binary as well, it's just that the client
> doesn't have the http: method when built with only serf and
> "--without-neon". It sounds like you're building it with neon in each
> cases, just not using the "--with-neon" flag; omitting the flag makes
> configure look for it in the default places. Have you tried building
> using "without-neon", if so can you verify that yours shows http when
> you run "svn --version"?
>
> I'm wondering if this is simply a documentation bug, that neon is
> always required in some respect.
>
> -y

I feel there's been a bit of confusion, by working I was meaning with http 
support. I understand now. Same instructions but with a --without-neon still 
works with http:

svn, version 1.6.11 (r934486)
   compiled Jun  2 2010, 17:44:52
...
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - handles 'http' scheme
  - handles 'https' scheme

In the configure output I also get the bit about not having neon. Just below 
it is the section configuring serf. This sounds like it is different because 
you have it already. In that case I'm wondering if you need to add explicit 
references to the directories to include the library. I had to do this on my 
server build script to pick up openssl. Something like?

LDFLAGS=-L/usr/local/serf/lib
CPPFLAGS=-I/usr/local/serv/include
export LDFLAGS CPPFLAGS



Here's the output from my configure in case it sheds some light on the 
differences.


apr-util configured properly
checking APR-UTIL version... 1.3.9
checking for pkg-config... /usr/bin/pkg-config
configure: checking neon library

An appropriate version of neon could not be found, so libsvn_ra_neon
will not be built.  If you want to build libsvn_ra_neon, please either
install neon 0.29.0 on this system

or

get neon 0.29.0 from:
http://www.webdav.org/neon/neon-0.29.0.tar.gz
unpack the archive using tar/gunzip and rename the resulting
directory from ./neon-0.29.0/ to ./neon/

no suitable neon found
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
configure: configuring package in serf now
checking for chosen layout... Serf
checking for working mkdir -p... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu

Configuring Apache Portable Runtime library...

checking for APR... yes
  setting CC to "gcc"
  setting CPP to "gcc -E"
  setting APR_LIBTOOL 
to "/export/home/campa/Download/new/subversion-1.6.11/apr/libtool"
  setting CFLAGS to " -g -O2 -pthread"
  setting CPPFLAGS 
to " -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE"
  setting LDFLAGS to " "
  setting LTFLAGS to "--silent"

Configuring Apache Portable Runtime Utility library...

checking for APR-util... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /usr/bin/install -c
Configuring Serf...

checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking openssl/opensslv.h usability... yes
checking openssl/opensslv.h presence... yes
checking for openssl/opensslv.h... yes
checking for library containing fabs... -lm
  setting SERF_LIBS 
to " /export/home/campa/Download/new/subversion-1.6.11/apr-util/libaprutil-1.la 

/export/home/campa/Download/new/subversion-1.6.11/apr-util/xml/expat/lib/libexpat.la
  /export/home/campa/Download/new/subversion-1.6.11/apr/libapr-1.la -lrt 
-lcrypt  -lpthread -ldl -lm "
configure: creating ./config.status
config.status: creating Makefile
config.status: executing mkdir-vpath commands
serf configured properly

-- 

__
Sword Ciboodle is the trading name of ciboodle Limited (a company 
registered in Scotland with registered number SC143434 and whose 
registered office is at India of Inchinnan, Renfrewshire, UK, 
PA4 9LH) which is part of the Sword Group of companies.

T

Vague error with subversion + apache22 + freebsd

2010-06-02 Thread Michael Zatopek

Hi,

I'm getting a vague error. I have subversion set up through apache on  
freebsd(all installed through ports). I'm working with a large  
repository containing lots of large files which I've migrated over  
from an older similar install on another machine using svnadmin dump/ 
restore.


I can navigate to the repository in firefox, see, and download files  
(including large binary files) without any problem. I can check out  
portions of the repository from the command line using http on the  
machine running the server (svn checkout http://my.host.name/vault)  
without a problem.


However, when doing a checkout onto any other remote system (windows  
or unix, using command line, or tortoisesvn), it grabs the first few  
folders but on hitting the first file(happens to be about 14mb) it  
gives this error:


svn: REPORT of '/vault/!svn/vcc/default': 200 OK (http://my.host.name)

On the server side I get the following errors from apache:

[Wed Jun 02 13:43:10 2010] [info] [client X.X.X.X] (32)Broken pipe:  
core_output_filter: writing data to the network
[Wed Jun 02 13:43:10 2010] [error] [client X.X.X.X] Provider  
encountered an error while streaming a REPORT response.  [500, #0]
[Wed Jun 02 13:43:10 2010] [error] [client X.X.X.X] A failure  
occurred while driving the update report editor  [500, #53]
[Wed Jun 02 13:43:10 2010] [error] [client X.X.X.X] Error writing  
base64 data: Software caused connection abort  [500, #53]


I'm running:
svn, version 1.6.11 (r934486)
Server version: Apache/2.2.15 (FreeBSD)
FreeBSD 8.0-RELEASE

I've dug around and seen people with similar messages, either related  
to problems not applicable to my setup or bugs fixed in earlier  
versions of subversion.


Any ideas for things to try would be greatly appreciated.

Thanks,

Michael


Re: proposed export option

2010-06-02 Thread Paul Breen
Hello,

I previously inquired about adding a –skipfilesmatchingsize option to the 
export subcommand.  I have implemented that feature, and I was wondering if it 
has any chance of making it into the trunk directory for svn.  It currently has 
performance issues, and I don't want to spend a lot of time optimizing the code 
if it's never going to be incorporated into the main development line.

If the feature is not acceptable as described in my previous message, could it 
be made acceptable if it were expanded somehow to make it of more general use?  
Maybe by using checksums instead of file size or, more ambitiously, I was 
thinking something like a rsync subcommand that allows a person to synchronize 
an unversioned folder with an svn repository.

Any comments or suggestions would be greatly appreciated.

--Paul Breen

--- On Mon, 4/26/10, Paul Breen  wrote:

> From: Paul Breen 
> Subject: proposed export option
> To: users@subversion.apache.org
> Date: Monday, April 26, 2010, 11:07 PM
> Hello,
> 
> I'd like to add a new option to the export command that
> allows the user
> to export files only if the file size has
> changed--something like
> 
>  svn export --skipfilesmatchingsize
> 
> The idea is to do a quick-and-easy, traffic-minimizing
> deployment of
> files that are unlikely to remain the same size when
> modified.  I'm
> doing this as a project for a client who would like the
> change to be
> incorporated into a release version on Collabnet's
> website.  I'm new
> to subversion development, and I'm looking for any advice
> or
> suggestions the developers here may have regarding the
> proposition.
> 
> Thanks,
> 
> Paul Breen
>


Re: Unexpected tree conflict when deleting directory

2010-06-02 Thread Stefan Sperling
On Wed, Jun 02, 2010 at 01:04:38PM -0400, Brian Pitts wrote:
> Hi,
> 
> I'm experiencing a tree conflict in a situation where there should be no
> conflict. Basically, after removing the contents of a directory I'm
> unable to commit deleting the directory even though no one has modified
> it. The client is 1.6.6. I've tried with server versions 1.4.3 and
> 1.6.9. Below is a simple demonstration
> 
> $ mkdir foo
> $ svn add foo/
> A foo
> $ svn commit -m "Add dir foo"
> Adding foo
> 
> Committed revision 1738.
> $ echo 'Hello World' > foo/bar
> $ svn add foo/bar
> A foo/bar
> $ svn commit -m "Add file bar in dir foo"
> Adding foo/bar
> Transmitting file data .
> Committed revision 1739.
> $ svn rm foo/bar
> D foo/bar
> $ svn commit -m "Remove file bar from dir foo"
> Deleting   foo/bar
> 
> Committed revision 1740.

Look at the output of
  svn info foo
at this point. You'll see that foo is not at the HEAD revision,
i.e. something older than 1740.
foo/bar was bumped to the HEAD revision because it was a commit target.
But foo was not a commit target so it is left at whichever revision
it was before you started the commit. This is called a "mixed-revision"
working copy. See
http://svnbook.red-bean.com/nightly/en/svn.basic.in-action.html#svn.basic.in-action.mixedrevs
So foo is now out of date. You need to update now, *before* removing
the directory. But you didn't do so.

> $ svn rm foo/
> D foo

Because you did not update, you have just deleted a directory which
is based on an outdated revision (i.e. not HEAD).

In general, deleting or moving or copying things in a mixed-revision
working copy is a bad idea. Try to avoid doing so. Copy, move, and
delete can operate on URLs directly, without needing a working copy.
Using URLs avoids problems arising from mixed-revision working copies.

> $ svn commit -m "Remove directory foo"
> Deleting   foo
> svn: Commit failed (details follow):
> svn: Item '/puppet/foo' is out of date
> $ svn update
>C foo
> At revision 1740.
> Summary of conflicts:
>   Tree conflicts: 1

svn status now says the tree conflict is "local delete, incoming
edit upon update"

The incoming edit in this case is the delete of the child foo/bar.
Subversion cannot tell whether the incoming change was committed from
your own working copy or not. Nor should it care. It simply wants to
update the directory foo from an older revision to HEAD. To do this it
needs to change something inside of foo (delete foo/bar).
But you have locally deleted foo, so Subversion cannot apply the
incoming change! So there's a conflict.

> At this point, I have to use 'svn resolve --accept working foo/' to
> accept the deletion. Afterwards, I can successfully commit it. Can
> anyone explain this behavior?

This is called a "self-inflicted" tree conflict.
This has been discussed a few times, for example here:
http://old.nabble.com/Cannot-commit-moved-directory-after-adding-%28and-committing%29-a-child-td25191764.html
http://svn.haxx.se/dev/archive-2010-03/0496.shtml

Hope this helped,
Stefan


Re: merge, --reintegrate, --record-only, near infinite regress in --use-merge-history

2010-06-02 Thread B Smith-Mannschott
On Wed, Jun 2, 2010 at 12:46, Stefan Sperling  wrote:
> On Wed, Jun 02, 2010 at 12:37:13PM +0200, Stefan Sperling wrote:
>> We should figure out how log -g should behave in this case (the behaviour
>> you're seeing clearly isn't desirable) and then fix it.
>> Please file an issue.
>
> Oh, and if you can, please write a small script (attached to the issue)
> or test case (patch for our test suite) that shows the problem,
> by triggering a single revision to appear too many times in log -g output.
> That would help people who would like to investigate get started.
>
> Thanks,
> Stefan
>

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


Re: Unexpected tree conflict when deleting directory

2010-06-02 Thread Brian Pitts

On 06/02/2010 04:04 PM, Stefan Sperling wrote:


Look at the output of
   svn info foo
at this point. You'll see that foo is not at the HEAD revision,
i.e. something older than 1740.
foo/bar was bumped to the HEAD revision because it was a commit target.
But foo was not a commit target so it is left at whichever revision
it was before you started the commit. This is called a "mixed-revision"
working copy. See
http://svnbook.red-bean.com/nightly/en/svn.basic.in-action.html#svn.basic.in-action.mixedrevs
So foo is now out of date. You need to update now, *before* removing
the directory. But you didn't do so.

Because you did not update, you have just deleted a directory which
is based on an outdated revision (i.e. not HEAD).

In general, deleting or moving or copying things in a mixed-revision
working copy is a bad idea. Try to avoid doing so. Copy, move, and
delete can operate on URLs directly, without needing a working copy.
Using URLs avoids problems arising from mixed-revision working copies.


svn status now says the tree conflict is "local delete, incoming
edit upon update"

The incoming edit in this case is the delete of the child foo/bar.
Subversion cannot tell whether the incoming change was committed from
your own working copy or not. Nor should it care. It simply wants to
update the directory foo from an older revision to HEAD. To do this it
needs to change something inside of foo (delete foo/bar).
But you have locally deleted foo, so Subversion cannot apply the
incoming change! So there's a conflict.



Thanks you for the detailed explanation.

It is a little hard to wrap my head around the idea that although I 
committed the change deleting foo/bar, I now have to update foo/ for my 
working copy to truly reflect that foo/bar is deleted. To paraphrase 
Johan from #3256, 'what "incoming edit"? Bumping the

revision number? The deleted file is already gone'.

I understand if this counter intuitive behavior is the natural 
consequence of the way subversion is designed and is difficult to 
change. However, perhaps there is a way to make this situation easier fo 
users to understand or avoid? My first thought is that performing 
deletes/moves/copies on an item that is not at HEAD could display a 
warning message.


--
Brian Pitts
Systems Administrator | EuPathDB Bioinformatics Resource Center
706-542-1447 | b...@uga.edu | http://eupathdb.org


Re: Unexpected tree conflict when deleting directory

2010-06-02 Thread Stefan Sperling
On Wed, Jun 02, 2010 at 05:45:53PM -0400, Brian Pitts wrote:
> It is a little hard to wrap my head around the idea that although I
> committed the change deleting foo/bar, I now have to update foo/ for
> my working copy to truly reflect that foo/bar is deleted. To
> paraphrase Johan from #3256, 'what "incoming edit"? Bumping the
> revision number? The deleted file is already gone'.

Well... it's gone in *HEAD* :)

The item is still present in past revisions.
If you checked out the parent as of before you deleted the file,
you'd rightly expect the file to show up in your working copy.

A parent dir that is out-of-date has no way of knowing what happened to
its children in the future. At the time the tree conflict check is made,
we don't even know what changes the server wants to send for the directory.
All we know is that it wants to change something inside the directory.
And it does not matter what changes will be sent, because if the directory
isn't there (locally deleted), we cannot apply any changes anyway.

You happen to know that the incoming change is no-op, that it comes from
the very same working copy, and that no other commit happened in-between.
So the present state happens to semantically not conflict with the incoming
change. But Subversion doesn't know that. Any kinds of changes could have
happened between the directory's current revision and HEAD. For all we know
the child you deleted could have been re-added already, in which case
deleting the parent directory conflicts with the re-addition of the child.

Maybe svn could be a bit smarter about this, that would be nice.
But trying to be smarter can get really complicated very quickly.

> I understand if this counter intuitive behavior is the natural
> consequence of the way subversion is designed and is difficult to
> change.

Absolutely. But I'd argue that it's only counter-intuitive if you
haven't understood how Subversion works. At least the parts where
you have one new revision of the entire repository tree for every
commit, and where your working copy is usually a hodgepodge of many
of those revisions. The rest follows from there.

> However, perhaps there is a way to make this situation
> easier fo users to understand or avoid? My first thought is that
> performing deletes/moves/copies on an item that is not at HEAD could
> display a warning message.

I don't think such a warning would help much.
The moved item could be outdated a split-second after the move
completes, because a commit can happen any time.

A warning that triggers if an item is moved within a mixed-revision
working copy might help. Then again, people would probably see this
warning a lot, so it would be an annoyance (e.g. one extra click for every
delete/move/copy operation in TortoiseSVN). And it would make the situation
seem a lot more dramatic than it really is. After all, you already knew
how to resolve the conflict before you understood why it even happened.

Stefan


Re: proposed export option

2010-06-02 Thread Ryan Schmidt
On Jun 2, 2010, at 13:48, Paul Breen wrote:

> I previously inquired about adding a –skipfilesmatchingsize option to the 
> export subcommand.  I have implemented that feature, and I was wondering if 
> it has any chance of making it into the trunk directory for svn.  It 
> currently has performance issues, and I don't want to spend a lot of time 
> optimizing the code if it's never going to be incorporated into the main 
> development line.
> 
> If the feature is not acceptable as described in my previous message, could 
> it be made acceptable if it were expanded somehow to make it of more general 
> use?  Maybe by using checksums instead of file size or, more ambitiously, I 
> was thinking something like a rsync subcommand that allows a person to 
> synchronize an unversioned folder with an svn repository.
> 
> Any comments or suggestions would be greatly appreciated.

You recall that there was already a discussion in April when you initially 
suggested this feature?

http://svn.haxx.se/users/archive-2010-04/index.shtml#405

There were objections by myself and others that what you proposed was already 
fairly easily accomplished using Subversion's existing commands, and you were 
going to inquire with your client as to why those existing methods weren't 
suitable.



Re: Vague error with subversion + apache22 + freebsd

2010-06-02 Thread Johan Corveleyn
On Wed, Jun 2, 2010 at 8:46 PM, Michael Zatopek  wrote:
> Hi,
>
> I'm getting a vague error. I have subversion set up through apache on
> freebsd(all installed through ports). I'm working with a large repository
> containing lots of large files which I've migrated over from an older
> similar install on another machine using svnadmin dump/restore.
>
> I can navigate to the repository in firefox, see, and download files
> (including large binary files) without any problem. I can check out portions
> of the repository from the command line using http on the machine running
> the server (svn checkout http://my.host.name/vault) without a problem.
>
> However, when doing a checkout onto any other remote system (windows or
> unix, using command line, or tortoisesvn), it grabs the first few folders
> but on hitting the first file(happens to be about 14mb) it gives this error:
>
> svn: REPORT of '/vault/!svn/vcc/default': 200 OK (http://my.host.name)
>
> On the server side I get the following errors from apache:
>
> [Wed Jun 02 13:43:10 2010] [info] [client X.X.X.X] (32)Broken pipe:
> core_output_filter: writing data to the network
> [Wed Jun 02 13:43:10 2010] [error] [client X.X.X.X] Provider encountered an
> error while streaming a REPORT response.  [500, #0]
> [Wed Jun 02 13:43:10 2010] [error] [client X.X.X.X] A failure occurred while
> driving the update report editor  [500, #53]
> [Wed Jun 02 13:43:10 2010] [error] [client X.X.X.X] Error writing base64
> data: Software caused connection abort  [500, #53]
>
> I'm running:
> svn, version 1.6.11 (r934486)
> Server version: Apache/2.2.15 (FreeBSD)
> FreeBSD 8.0-RELEASE
>
> I've dug around and seen people with similar messages, either related to
> problems not applicable to my setup or bugs fixed in earlier versions of
> subversion.
>
> Any ideas for things to try would be greatly appreciated.

Just a quick drive-by shot: take a look at networking components
between client and server (firewalls, proxies, ...). My prime suspect
would be a proxy (or proxy settings). Some proxies don't interoperate
well with svn (more particularly, some proxies have trouble with some
of the WebDAV methods that svn uses).

If there's no proxy and no firewall involved, I have no idea ...

Cheers,
-- 
Johan


Re: post-commit script sends a void message

2010-06-02 Thread Daniel Shahaf
Ryan Schmidt wrote on Tue, 1 Jun 2010 at 16:23 -0500:
> On Jun 1, 2010, at 06:52, Mauro Gatti wrote:
> > [ ... about post-commit hooks ... ]
> 
> Hmm. I wasn't aware it was possible for $1 to not contain the full
> absolute path to the repository. I wonder why in your case it isn't.

The code doesn't make svn_repos_t.path absolute anywhere.  I guess
it'll be relative path if the user gives the repository path as
a relative path (possibly in svnserve/httpd's configuration).


Re: proposed export option

2010-06-02 Thread Daniel Shahaf
Ryan Schmidt wrote on Wed, 2 Jun 2010 at 17:35 -0500:
> On Jun 2, 2010, at 13:48, Paul Breen wrote:
> 
> > I previously inquired about adding a –skipfilesmatchingsize option
> > to the export subcommand.  I have implemented that feature, and
> > I was wondering if it has any chance of making it into the trunk
> > directory for svn.  It currently has performance issues, and I don't
> > want to spend a lot of time optimizing the code if it's never going
> > to be incorporated into the main development line.
> > 
> > If the feature is not acceptable as described in my previous
> > message, could it be made acceptable if it were expanded somehow to
> > make it of more general use?  Maybe by using checksums instead of
> > file size or, more ambitiously, I was thinking something like
> > a rsync subcommand that allows a person to synchronize an
> > unversioned folder with an svn repository.
> > 

svn checkout --force

(will convert a .svn-less tree into a working copy)

> > Any comments or suggestions would be greatly appreciated.
> 
> You recall that there was already a discussion in April when you
> initially suggested this feature?
> 
> http://svn.haxx.se/users/archive-2010-04/index.shtml#405
> 
> There were objections by myself and others that what you proposed was
> already fairly easily accomplished using Subversion's existing
> commands, and you were going to inquire with your client as to why
> those existing methods weren't suitable.
> 
> 
> 

Re: [ANN] Artifacts for Web - free Subversion-style bug tracker

2010-06-02 Thread Rob Brandt
This is very interesting.  But it looks to me like it links to 
javascript on your server in order to function?  In other words, if I 
need access to my bug tracker and your server is - for some reason - 
offline, I'm SOL?


Thanks

Rob

Fyodor Sheremetyev wrote:

Dear Subversion users,

We are pleased to announce the public availability of "Artifacts for
Web" BETA - free web-based bug tracker.

http://www.versioned.com/artifacts/web/

There is no need to install server software to use Artifacts. If you
have a Subversion repository then you can start using a bug tracker in
a matter of seconds.

Artifacts for Web introduces a new approach to separation of logic and
data. Data is stored and properly versioned in your Subversion
repository. Logic to display and manage the data is loaded from our
server and constantly updated with latest improvements and fixes.

We would be happy to know your opinion about Artifacts.

Thanks,
Fyodor Sheremetyev
Versioned Team




make error

2010-06-02 Thread 刘国庆
I use all the subversion version, all the error, how are make not the past, 
please help us to see what it is.


[r...@localhost subversion-1.6.11]# make
/bin/sh /opt/src/subversion-1.6.11/libtool --tag=CC --silent --mode=compile gcc 
-DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE  -g -O2  -g -O2 
-pthread  -D_LARGEFILE64_SOURCE -DNE_LFS  -I/usr/local/apache2/include 
-I./subversion/include -I./subversion -I/usr/local/subversion/apr/include/apr-1 
  -I/usr/local/subversion/apr-util/include/apr-1 
-I/usr/local/subversion/neon/include/neon
-I/usr/local/subversion/serf/include/serf-0 
-I/usr/local/subversion/sqlite/include -I/usr/local/subversion/zlib/include -o 
subversion/mod_dav_svn/activity.lo -c subversion/mod_dav_svn/activity.c
subversion/mod_dav_svn/activity.c: In function `dav_svn__delete_activity':
subversion/mod_dav_svn/activity.c:163: warning: passing arg 4 of 
`dav_new_error' makes integer from pointer without a cast
subversion/mod_dav_svn/activity.c:163: error: too few arguments to function 
`dav_new_error'
make: *** [subversion/mod_dav_svn/activity.lo] Error 1



[r...@localhost subversion-1.6.11]# ls
aclocal.m4  BUGS  CHANGES  config.status  COPYING
HACKING  Makefile notes sqlite-amalgamation  TRANSLATING
apr build COMMITTERS   configure  doc
INSTALL  Makefile.in  packages  subversion   win-tests.py
apr-utilbuild.confconfig.log   configure.ac   gen-make.opts  
libtool  mkmf.log READMEtemp www
autogen.sh  build-outputs.mk  config.nice  contribgen-make.py
libtool.old  neon serf  toolszlib



  $ ./configure --prefix=/usr/local/subversion 
--with-apr=/usr/local/subversion/apr 
--with-apr-util=/usr/local/subversion/apr-util 
--with-neon=/usr/local/subversion/ne
on --with-serf=/usr/local/subversion/serf 
--with-sqlite=/usr/local/subversion/sqlite 
--with-zlib=/usr/local/subversion/zlib


2010-06-03 



 北京华拓信通科技有限公司 
―― 
北京.海淀.紫竹院路116号嘉豪国际中心C座1115室 
邮编:100097 
电话:010-51709655-813
传真:010-51709657 
手机:13581952339 
E-mail:gq...@hwatop.com 
Web:www.hwatop.com 
――


Re: make error

2010-06-02 Thread Ryan Schmidt
On Jun 2, 2010, at 21:56, 刘国庆 wrote:

> I use all the subversion version, all the error, how are make not the past, 
> please help us to see what it is.
>  
>  
> [r...@localhost subversion-1.6.11]# make
> /bin/sh /opt/src/subversion-1.6.11/libtool --tag=CC --silent --mode=compile 
> gcc -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE  -g -O2  -g 
> -O2 -pthread  -D_LARGEFILE64_SOURCE -DNE_LFS  -I/usr/local/apache2/include 
> -I./subversion/include -I./subversion 
> -I/usr/local/subversion/apr/include/apr-1   
> -I/usr/local/subversion/apr-util/include/apr-1 
> -I/usr/local/subversion/neon/include/neon
> -I/usr/local/subversion/serf/include/serf-0 
> -I/usr/local/subversion/sqlite/include -I/usr/local/subversion/zlib/include 
> -o subversion/mod_dav_svn/activity.lo -c subversion/mod_dav_svn/activity.c
> subversion/mod_dav_svn/activity.c: In function `dav_svn__delete_activity':
> subversion/mod_dav_svn/activity.c:163: warning: passing arg 4 of 
> `dav_new_error' makes integer from pointer without a cast
> subversion/mod_dav_svn/activity.c:163: error: too few arguments to function 
> `dav_new_error'
> make: *** [subversion/mod_dav_svn/activity.lo] Error 1
>  
>  
> [r...@localhost subversion-1.6.11]# ls
> aclocal.m4  BUGS  CHANGES  config.status  COPYING
> HACKING  Makefile notes sqlite-amalgamation  TRANSLATING
> apr build COMMITTERS   configure  doc
> INSTALL  Makefile.in  packages  subversion   win-tests.py
> apr-utilbuild.confconfig.log   configure.ac   gen-make.opts  
> libtool  mkmf.log READMEtemp www
> autogen.sh  build-outputs.mk  config.nice  contribgen-make.py
> libtool.old  neon serf  toolszlib
>  
>  
>   $ ./configure --prefix=/usr/local/subversion 
> --with-apr=/usr/local/subversion/apr 
> --with-apr-util=/usr/local/subversion/apr-util 
> --with-neon=/usr/local/subversion/ne
> on --with-serf=/usr/local/subversion/serf 
> --with-sqlite=/usr/local/subversion/sqlite 
> --with-zlib=/usr/local/subversion/zlib

You seem to be describing the same problem Winfried did earlier today: that 
mod_dav_svn appears to be incompatible with Apache 2.3.x at this time:

http://svn.haxx.se/users/archive-2010-06/0025.shtml

I assume you are using Apache 2.3.x?