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

filtering reflected merges is too sensitive

From: David Glasser <glasser_at_davidglasser.net>
Date: 2007-12-21 03:44:35 CET

Hmm. What follows is the script I was using to test merge
--reintegrate, except that I took the --reintegrate off of the last
merge.

I am surprised that the normal merge command does not try to merge r6
from branch to trunk.

Why?

I note that the merge from trunk to branch marks mergeinfo
"/trunk:2-6" (6 is a commit to branch only).

Is this something that Kamesh's branch does better?

--dave

#!/bin/sh -e

BASE_DIR=$HOME/Projects/Subversion/whole-branch-merge

SVN=${BASE_DIR}/subversion/svn/svn
SVNSERVE=${BASE_DIR}/subversion/svnserve/svnserve
SVNADMIN=${BASE_DIR}/subversion/svnadmin/svnadmin

alias svn='echo "Use \$SVN." # '
alias svnserve='echo "Use \$SVNSERVE." # '
alias svnadmin='echo "Use \$SVNADMIN." # '

svnserve_port=$(($RANDOM+1024))
# URL=http://localhost/SOMETHING/repos
# URL=svn://localhost:$svnserve_port/repos
URL=file:///`pwd`/repos

rm -rf repos *-wc import-me

${SVNADMIN} create repos
echo "[general]" > repos/conf/svnserve.conf
echo "anon-access = write" >> repos/conf/svnserve.conf
echo "auth-access = write" >> repos/conf/svnserve.conf

svnserve_pid=''
clean_exit() {
  set +e
  [[ -n "$svnserve_pid" ]] && kill -9 "$svnserve_pid"
}
trap clean_exit EXIT

rm -f .svnserve_pid
${SVNSERVE} --listen-port $svnserve_port --pid-file .svnserve_pid -d -r `pwd`
while [[ ! -r .svnserve_pid ]]; do sleep 0.01; done
svnserve_pid=`cat .svnserve_pid`

echo "### Making a Greek Tree for import..."
mkdir import-me
mkdir import-me/trunk
mkdir import-me/tags
mkdir import-me/branches
mkdir import-me/trunk/A
mkdir import-me/trunk/A/B/
mkdir import-me/trunk/A/C/
mkdir import-me/trunk/A/D/
mkdir import-me/trunk/A/B/E/
mkdir import-me/trunk/A/B/F/
mkdir import-me/trunk/A/D/G/
mkdir import-me/trunk/A/D/H/
echo "This is the file 'iota'." > import-me/trunk/iota
echo "This is the file 'A/mu'." > import-me/trunk/A/mu
echo "This is the file 'A/B/lambda'." > import-me/trunk/A/B/lambda
echo "This is the file 'A/B/E/alpha'." > import-me/trunk/A/B/E/alpha
echo "This is the file 'A/B/E/beta'." > import-me/trunk/A/B/E/beta
echo "This is the file 'A/D/gamma'." > import-me/trunk/A/D/gamma
echo "This is the file 'A/D/G/pi'." > import-me/trunk/A/D/G/pi
echo "This is the file 'A/D/G/rho'." > import-me/trunk/A/D/G/rho
echo "This is the file 'A/D/G/tau'." > import-me/trunk/A/D/G/tau
echo "This is the file 'A/D/H/chi'." > import-me/trunk/A/D/H/chi
echo "This is the file 'A/D/H/omega'." > import-me/trunk/A/D/H/omega
echo "This is the file 'A/D/H/psi'." > import-me/trunk/A/D/H/psi
echo "### Done."
echo ""
echo "### Importing it..."
(cd import-me; ${SVN} import -q -m "Initial import." ${URL})
echo "### Done."
echo ""
${SVN} cp -q -m "Make branch." ${URL}/trunk ${URL}/branches/branch
${SVN} co -q ${URL}/branches/branch branch-wc
${SVN} co -q ${URL}/trunk trunk-wc

cd trunk-wc
echo "This is a change to iota." >> iota
echo "This is a change to A/D/H/chi." >> A/D/H/chi
${SVN} commit -m "Committing r3 on trunk."
echo "This is another change to iota." >> iota
${SVN} commit -m "Committing r4 on trunk."
echo "This is a change to A/D/gamma." >> A/D/gamma
${SVN} commit -m "Committing r5 on trunk."
cd ..

cd branch-wc
echo "This is a change to A/B/E/beta." >> A/B/E/beta
${SVN} commit -m "Committing r6 on branch."
${SVN} up
${SVN} merge ${URL}/trunk
${SVN} commit -m "Committing r7 on branch (the merge from trunk)."
echo "This is a change to A/mu." >> A/mu
${SVN} commit -m "Committing r8 on branch."
cd ..

cd trunk-wc
${SVN} up
${SVN} merge ${URL}/branches/branch
cd ..

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Dec 21 03:44:46 2007

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