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

svn-mergeinfo-normalizer aborted(core dump)

From: Quan Liang <quan.liang_at_wandisco.com>
Date: Mon, 7 Nov 2016 14:14:09 +0800

Hello,

We hit an issue when running svn-mergeinfo-normalizer with the following
error:

svn-mergeinfo-normalizer: subversion/libsvn_subr/dirent_uri.c:2541:
svn_fspath_dirname: Assertion `svn_fspath_is_canonical(fspath)' failed.

According to my testing, this happens when all the following are fulfilled:

1) a file or folder has space in its name

2) its mergeinfo has a merged revision x from a branch

3) the parent path has mergeinfo from the same branch but revision x is not
merged

Below is the reproduced case with the test repository(attached). The
~/test_wc2/trunk is checked out from the /trunk of the test repo.

The binaries are built on Ubuntu 14.04 64 bit from the nightly tar ball.

==================

root_at_ubuntu:~/test_wc2/trunk# svn --version

svn, version 1.10.0 (r1729520)

   compiled Sep 20 2016, 13:15:35 on x86_64-unknown-linux-gnu

Copyright (C) 2015 The Apache Software Foundation.

This software consists of contributions made by many people;

see the NOTICE file for more information.

Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.

  - with Cyrus SASL authentication

  - handles 'svn' scheme

* ra_local : Module for accessing a repository on local disk.

  - handles 'file' scheme

* ra_serf : Module for accessing a repository via WebDAV protocol using
serf.

  - using serf 1.3.7 (compiled with 1.3.7)

  - handles 'http' scheme

  - handles 'https' scheme

The following authentication credential caches are available:

* Plaintext cache in /root/.subversion

* Gnome Keyring

* GPG-Agent

* KWallet (KDE)

root_at_ubuntu:~/test_wc2/trunk# ll

total 24

drwxr-xr-x 4 root root 4096 Oct 15 23:36 ./

drwxr-xr-x 5 root root 4096 Oct 15 23:30 ../

drwxr-xr-x 2 root root 4096 Oct 15 23:34 a/

drwxr-xr-x 2 root root 4096 Oct 15 23:35 b b/

-rw-r--r-- 1 root root 58 Oct 15 23:36 c

-rw-r--r-- 1 root root 29 Oct 15 23:35 d d

root_at_ubuntu:~/test_wc2/trunk# svn pg -R svn:mergeinfo

. - /branches/br01:4,6

a - /branches/br01/a:5

b b - /branches/br01/b b:5

c - /branches/br01/c:4-6

d d - /branches/br01/d d:5

root_at_ubuntu:~/test_wc2/trunk# svn-mergeinfo-normalizer analyze

Scanning working copy /root/test_wc2/trunk ...

    Found mergeinfo on 5 nodes.

    Found 5 branch entries.

    Found 6 merged revision ranges.

Fetching log for file:///root/test ...

    Received 8 revisions from 1 to 8.

    Received 22 path changes.

    Pool has 13 different paths.

Removing obsolete branches and redundant mergeinfo, combining revision
ranges ...

Trying to elide mergeinfo at path /root/test_wc2/trunk/d d

svn-mergeinfo-normalizer: subversion/libsvn_subr/dirent_uri.c:2541:
svn_fspath__dirname: Assertion `svn_fspath__is_canonical(fspath)' failed.

Aborted (core dumped)

root_at_ubuntu:~/test_wc2/trunk# svn pd svn:mergeinfo d\ d

property 'svn:mergeinfo' deleted from 'd d'.

root_at_ubuntu:~/test_wc2/trunk# svn-mergeinfo-normalizer analyze

Scanning working copy /root/test_wc2/trunk ...

    Found mergeinfo on 4 nodes.

    Found 4 branch entries.

    Found 5 merged revision ranges.

Fetching log for file:///root/test ...

    Received 8 revisions from 1 to 8.

    Received 22 path changes.

    Pool has 13 different paths.

Removing obsolete branches and redundant mergeinfo, combining revision
ranges ...

Trying to elide mergeinfo at path /root/test_wc2/trunk/c

    CANNOT elide branch /branches/br01/c

        revisions not movable to parent: 5

Trying to elide mergeinfo at path /root/test_wc2/trunk/b b

svn-mergeinfo-normalizer: subversion/libsvn_subr/dirent_uri.c:2541:
svn_fspath__dirname: Assertion `svn_fspath__is_canonical(fspath)' failed.

Aborted (core dumped)

root_at_ubuntu:~/test_wc2/trunk# svn pd svn:mergeinfo b\ b/

property 'svn:mergeinfo' deleted from 'b b'.

root_at_ubuntu:~/test_wc2/trunk# svn-mergeinfo-normalizer analyze

Scanning working copy /root/test_wc2/trunk ...

    Found mergeinfo on 3 nodes.

    Found 3 branch entries.

    Found 4 merged revision ranges.

Fetching log for file:///root/test ...

    Received 8 revisions from 1 to 8.

    Received 22 path changes.

    Pool has 13 different paths.

Removing obsolete branches and redundant mergeinfo, combining revision
ranges ...

Trying to elide mergeinfo at path /root/test_wc2/trunk/c

    CANNOT elide branch /branches/br01/c

        revisions not movable to parent: 5

Trying to elide mergeinfo at path /root/test_wc2/trunk/a

    CANNOT elide branch /branches/br01/a

        revisions not movable to parent: 5

Trying to elide mergeinfo at path /root/test_wc2/trunk

    Keeping top-level mergeinfo.

No missing branches were detected.

Remaining mergeinfo:

    Found mergeinfo on 3 nodes.

    Found 3 branch entries.

    Found 4 merged revision ranges.

root_at_ubuntu:~/test_wc2/trunk#

==================

One possible way to workaround the issue would be skipping the file/folder
with space in the name (get a list of all the files/folders, remove the
problem paths, fed the list to the command with --depth empty). Is there
any better method?

--
Regards,
Quan Liang
-- 
Learn how WANdisco Fusion solves Hadoop data protection and scalability 
challenges <http://www.wandisco.com/hadoop/wd-fusion>
Listed on the London Stock Exchange: WAND 
<http://www.bloomberg.com/quote/WAND:LN>
THIS MESSAGE AND ANY ATTACHMENTS ARE CONFIDENTIAL, PROPRIETARY, AND MAY BE 
PRIVILEGED.  If this message was misdirected, WANdisco, Inc. and its 
subsidiaries, ("WANdisco") does not waive any confidentiality or privilege. 
 If you are not the intended recipient, please notify us immediately and 
destroy the message without disclosing its contents to anyone.  Any 
distribution, use or copying of this e-mail or the information it contains 
by other than an intended recipient is unauthorized.  The views and 
opinions expressed in this e-mail message are the author's own and may not 
reflect the views and opinions of WANdisco, unless the author is authorized 
by WANdisco to express such views or opinions on its behalf.  All email 
sent to or from this address is subject to electronic storage and review by 
WANdisco.  Although WANdisco operates anti-virus programs, it does not 
accept responsibility for any damage whatsoever caused by viruses being 
passed.

Received on 2016-11-07 07:14:26 CET

This is an archived mail posted to the Subversion Users mailing list.

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