Attached is a script to reproduce the error.

I also have a packed rr debugger session that I can provide (I highly recommend the rr reversible debugger).  Its ~30meg

--
Joshua Kordani
Senior Engineer
Robotic Research, LLC
jkord...@roboticresearch.com


CONFIDENTIALITY NOTICE: This communication may contain private, confidential 
and privileged material for the sole use of the intended recipient. If you are 
not the intended recipient, please delete this e-mail and any attachments 
permanently.

#!/bin/bash

repo=$(mktemp -d)
wc=$(mktemp -d)

pushd /tmp/

svnadmin create $repo
svn co file:///$repo $wc
cd $wc
mkdir -p {trunk,branches/feature}/module{1,2}/
touch trunk/module1/m1file{1,2}
touch trunk/module2/m2file{1,2}
svn add trunk branches
svn commit -m "initial state" 
svn copy -m "created feature" ^/trunk ^/branches/feature1
svn up
cd branches/feature1/module1
svn move m1file1 ../module2/m1file1-from-module1
cd ../
svn commit -m "Moved file to other module"
cd ../../trunk/
cd module1
svn up
svn merge -c3 ^/branches/feature1/module1 .
svn commit -m "cherry picked deletion into module folder"
touch mfile3
rm mfile3 
touch m1file3
svn add m1file3 
svn revert m1file3
rm m1file3 
cd ../../branches/feature1/module1
touch m1file3
svn add m1file3
svn commit -m "created a new file in module1 of feature branch"
svn copy -m "made test branch of feature" ^/branches/feature{1,2}
svn up
cd ../../feature2
cd ../../feature2/
svn up
cd ../../
svn up
cd feature2
cd module1
touch m1file4
svn add m1file4
svn commit -m "meant to do this in the accidental branch I created called 
feature (not feature1)"
echo meaningless1>m1file2
svn add m1file2
svn st
svn commit -m "meaningless change to module1 in test branch"
echo meaningless2 > m1file2
svn commit -m "meaningless change to module1 in test branch"
cd ../../feature1
svn merge ^/branches/feature2 .
svn commit -m "merged test into feature1 after file was created on test"
cd module1
svn move m1file4 m1file4new
svn commit -m "moved file4 in feature1 branch"
svn move m1file4new ../module2/
cd ../
svn commit -m "moved file4 from module1 to module2 in feature"
ls module1
ls module2
cd ../../
ls
cd branches/
cd ../trunk/
svn merge -c12 ^/branches/feature1/ .
svn up
svn merge -c12 ^/branches/feature1/ .

popd

#output below

# jkordani@host:~/Code/svncrash$ svnadmin create repo-1
# jkordani@host:~/Code/svncrash$ svn co file:///$(pwd)/repo-1 wc1.2
# Checked out revision 0.
# jkordani@host:~/Code/svncrash$ cd wc1.2
# jkordani@host:~/Code/svncrash/wc1.2$ mkdir -p 
{trunk,branches/feature}/module{1,2}/
# jkordani@host:~/Code/svncrash/wc1.2$ touch trunk/module1/m1file{1,2}
# jkordani@host:~/Code/svncrash/wc1.2$ touch trunk/module2/m2file{1,2}
# jkordani@host:~/Code/svncrash/wc1.2$ svn add trunk branches
# A         trunk
# A         trunk/module1
# A         trunk/module1/m1file1
# A         trunk/module1/m1file2
# A         trunk/module2
# A         trunk/module2/m2file1
# A         trunk/module2/m2file2
# A         branches
# A         branches/feature
# A         branches/feature/module1
# A         branches/feature/module2
# jkordani@host:~/Code/svncrash/wc1.2$ svn commit -m "initial state" 
# Adding         branches
# Adding         branches/feature
# Adding         branches/feature/module1
# Adding         branches/feature/module2
# Adding         trunk
# Adding         trunk/module1
# Adding         trunk/module1/m1file1
# Adding         trunk/module1/m1file2
# Adding         trunk/module2
# Adding         trunk/module2/m2file1
# Adding         trunk/module2/m2file2
# Transmitting file data ....done
# Committing transaction...
# Committed revision 1.
# jkordani@host:~/Code/svncrash/wc1.2$ svn copy ^/trunk ^/branches/feature1
# Waiting for Emacs...

# Log message unchanged or not specified
# (a)bort, (c)ontinue, (e)dit:
# a
# jkordani@host:~/Code/svncrash/wc1.2$ svn copy -m "created feature" ^/trunk 
^/branches/feature1
# Committing transaction...
# Committed revision 2.
# jkordani@host:~/Code/svncrash/wc1.2$ svn up
# Updating '.':
# A    branches/feature1
# A    branches/feature1/module1
# A    branches/feature1/module1/m1file1
# A    branches/feature1/module1/m1file2
# A    branches/feature1/module2
# A    branches/feature1/module2/m2file1
# A    branches/feature1/module2/m2file2
# Updated to revision 2.
# jkordani@host:~/Code/svncrash/wc1.2$ cd branches/feature1/module1
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ svn move 
m1file1 ../module2/m1file1-from-module1
# A         
/home/jkordani/Code/svncrash/wc1.2/branches/feature1/module2/m1file1-from-module1
# D         m1file1
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ #svn commit -m 
"Moved file to other module"
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ cd ../
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1$ svn commit -m "Moved 
file to other module"
# Deleting       module1/m1file1
# Adding         module2/m1file1-from-module1
# Committing transaction...
# Committed revision 3.
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1$ cd ../../trunk/
# jkordani@host:~/Code/svncrash/wc1.2/trunk$ cd module1
# jkordani@host:~/Code/svncrash/wc1.2/trunk/module1$ svn up
# Updating '.':
# At revision 3.
# jkordani@host:~/Code/svncrash/wc1.2/trunk/module1$ svn merge -c3 
^/branches/feature1/module1 .
# --- Merging r3 into '.':
# D    m1file1
# --- Recording mergeinfo for merge of r3 into '.':
#  U   .
# jkordani@host:~/Code/svncrash/wc1.2/trunk/module1$ svn commit -m "cherry 
picked deletion into module folder"
# Sending        .
# Deleting       m1file1
# Committing transaction...
# Committed revision 4.
# jkordani@host:~/Code/svncrash/wc1.2/trunk/module1$ touch mfile3
# jkordani@host:~/Code/svncrash/wc1.2/trunk/module1$ rm mfile3 
# jkordani@host:~/Code/svncrash/wc1.2/trunk/module1$ touch m1file3
# jkordani@host:~/Code/svncrash/wc1.2/trunk/module1$ svn add m1file3 
# A         m1file3
# jkordani@host:~/Code/svncrash/wc1.2/trunk/module1$ svn revert m1file3
# Reverted 'm1file3'
# jkordani@host:~/Code/svncrash/wc1.2/trunk/module1$ rm m1file3 
# jkordani@host:~/Code/svncrash/wc1.2/trunk/module1$ cd 
../../branches/feature1/module1
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ touch m1file3
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ svn add m1file3
# A         m1file3
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ svn commit -m 
"created a new file in module1 of feature branch"
# Adding         m1file3
# Transmitting file data .done
# Committing transaction...
# Committed revision 5.
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ svn copy 
^/branches/feature{1,2}
# Waiting for Emacs...

# Log message unchanged or not specified
# (a)bort, (c)ontinue, (e)dit:
# a
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ svn copy -m 
"made test branch of feature" ^/branches/feature{1,2}
# Committing transaction...
# Committed revision 6.
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ svn up
# Updating '.':
# At revision 6.
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ #fucked up my 
log. doing similar but not identical thing
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ cd 
../../feature2
# bash: cd: ../../feature2: No such file or directory
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ cd 
../../feature2/
# bash: cd: ../../feature2/: No such file or directory
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ svn up
# Updating '.':
# At revision 6.
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ cd ../../
# jkordani@host:~/Code/svncrash/wc1.2/branches$ svn up
# Updating '.':
# A    feature2
# A    feature2/module1
# A    feature2/module1/m1file2
# A    feature2/module1/m1file3
# A    feature2/module2
# A    feature2/module2/m1file1-from-module1
# A    feature2/module2/m2file1
# A    feature2/module2/m2file2
# Updated to revision 6.
# jkordani@host:~/Code/svncrash/wc1.2/branches$ cd feature2
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature2$ cd module1
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature2/module1$ touch m1file4
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature2/module1$ svn add m1file4
# A         m1file4
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature2/module1$ svn commit -m 
"meant to do this in the accidental branch I created called feature (not 
feature1)"
# Adding         m1file4
# Transmitting file data .done
# Committing transaction...
# Committed revision 7.
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature2/module1$ echo 
meaningless1>m1file2
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature2/module1$ svn add m1file2
# svn: warning: apr_err=SVN_ERR_ENTRY_EXISTS
# svn: warning: W150002: 
'/home/jkordani/Code/svncrash/wc1.2/branches/feature2/module1/m1file2' is 
already under version control
# subversion/svn/add-cmd.c:109,
# subversion/svn/add-cmd.c:104: (apr_err=SVN_ERR_ILLEGAL_TARGET)
# svn: E200009: Could not add all targets because some targets are already 
versioned
# subversion/svn/add-cmd.c:95: (apr_err=SVN_ERR_ILLEGAL_TARGET)
# svn: E200009: Illegal target for the requested operation
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature2/module1$ svn st
# M       m1file2
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature2/module1$ svn commit -m 
"meaningless change to module1 in test branch"
# Sending        m1file2
# Transmitting file data .done
# Committing transaction...
# Committed revision 8.
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature2/module1$ echo 
meaningless2 > m1file2
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature2/module1$ svn commit -m 
"meaningless change to module1 in test branch"
# Sending        m1file2
# Transmitting file data .done
# Committing transaction...
# Committed revision 9.
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature2/module1$ cd 
../../feature1
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1$ svn merge 
^/branches/feature2 .
# --- Merging r6 through r9 into '.':
# U    module1/m1file2
# A    module1/m1file4
# --- Recording mergeinfo for merge of r6 through r9 into '.':
#  U   .
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1$ svn commit -m "merged 
test into feature1 after file was created on test"
# Sending        .
# Sending        module1/m1file2
# Adding         module1/m1file4
# Transmitting file data .done
# Committing transaction...
# Committed revision 10.
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1$ cd module1
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ svn move 
m1file4 m1file4new
# A         m1file4new
# D         m1file4
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ svn commit -m 
"moved file4 in feature1 branch"
# Deleting       m1file4
# Adding         m1file4new
# Committing transaction...
# Committed revision 11.
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ svn move 
m1file4new ../module2/
# A         
/home/jkordani/Code/svncrash/wc1.2/branches/feature1/module2/m1file4new
# D         m1file4new
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1/module1$ cd ../
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1$ svn commit -m "moved 
file4 from module1 to module2 in feature"
# Deleting       module1/m1file4new
# Adding         module2/m1file4new
# Committing transaction...
# Committed revision 12.
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1$ ls module1
# m1file2  m1file3
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1$ ls module2
# m1file1-from-module1  m1file4new  m2file1  m2file2
# jkordani@host:~/Code/svncrash/wc1.2/branches/feature1$ cd ../../
# jkordani@host:~/Code/svncrash/wc1.2$ ls
# branches  trunk
# jkordani@host:~/Code/svncrash/wc1.2$ cd branches/
# jkordani@host:~/Code/svncrash/wc1.2/branches$ cd ../trunk/
# jkordani@host:~/Code/svncrash/wc1.2/trunk$ svn merge -c12 
^/branches/feature1/ .
# subversion/svn/util.c:557,
# subversion/libsvn_client/merge.c:12035,
# subversion/libsvn_client/merge.c:11875,
# subversion/libsvn_client/merge.c:10442,
# subversion/libsvn_client/merge.c:10314: 
(apr_err=SVN_ERR_CLIENT_MERGE_UPDATE_REQUIRED)
# svn: E195020: Cannot merge into mixed-revision working copy [2:4]; try 
updating first
# jkordani@host:~/Code/svncrash/wc1.2/trunk$ svn up
# Updating '.':
# At revision 12.
# jkordani@host:~/Code/svncrash/wc1.2/trunk$ svn merge -c12 
^/branches/feature1/ .
# --- Merging r12 into '.':
#    C module1/m1file4new
# A    module2/m1file4new
# --- Recording mergeinfo for merge of r12 into '.':
#  U   .
# --- Recording mergeinfo for merge of r12 into 'module1':
#  U   module1
# Summary of conflicts:
#   Tree conflicts: 1
# Searching tree conflict details for 'module1/m1file4new' in repository:
# Checking r7...subversion/libsvn_subr/token.c:40: 
(apr_err=SVN_ERR_ASSERTION_FAIL)
# svn: E235000: In file 'subversion/libsvn_subr/token.c' line 40: internal 
malfunction
# Aborted (core dumped)
# jkordani@host:~/Code/svncrash/wc1.2/trunk$ 

Reply via email to