I am having trouble deciding whether I am looking at a bug or a personal
misunderstanding regarding the visibility of deleted branches. Here is
a little test script which reveals my dilemma.
In the Collins-Sussman Book Chapter 4 - Data Lifetimes we read:
"And now your branch is gone. Of course it's not really gone: the
directory is simply missing from the HEAD revision, no longer
distracting anyone. If you use svn checkout, svn switch, or svn list to
examine an earlier revision, you'll still be able to see your old
branch."
When I run this script against my Subversion 1.4.2 server (which is
using Apache 2.2.3) it appears that the statement that svn list will
reveal the old branch is not correct!
Where am I going wrong?
Skip
------- BEGIN TEST SCRIPT -----
#! /bin/sh
# some working space
start=/tmp
# Our instance of a Subversion Repository
base=http://localhost/svn/skip_project
# Clean up before we start testing
svn delete $base/myjunk -m "x"
rm -rf $start/project
cd $start
mkdir project
cd project
mkdir myjunk
mkdir myjunk/trunk
mkdir myjunk/branches
mkdir myjunk/tags
echo hello > myjunk/trunk/testing
echo initializing project
svn import $start/project $base -m "testing delete"
rm -rf $start/project
echo Latest text is:
svn cat -r HEAD $base/myjunk/trunk/testing
svn copy $base/myjunk/trunk $base/myjunk/branches/v2 -m "x2"
latest=`svn info $base/myjunk |grep Revision|awk '{print $2}'`
echo latest Revision is $latest and contains:
svn list -r $latest $base/myjunk/branches/v2
svn cat -r $latest $base/myjunk/branches/v2/testing
echo Now deleting branch/v2
svn delete $base/myjunk/branches/v2 -m "x3"
# Here we try to print out the old revision of the file we have deleted
# svn will fail to find the old revision
echo Try printing out the deleted revision - number $latest
svn list -r $latest $base/myjunk/branches/v2
svn cat -r $latest $base/myjunk/branches/v2/testing
# It is not really gone though because we can restore a copy of it!!
echo Restore a copy
svn copy -r $latest $base/myjunk/branches/v2 $base/myjunk/branches/v2 -m
"x4"
# Even though the restored copy has a different revision number - now we
can see the previously invisible revision
echo Try printing out revision $latest
svn list -r $latest $base/myjunk/branches/v2
svn cat -r $latest $base/myjunk/branches/v2/testing
----END TEST SCRIPT------
**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.
This footnote also confirms that this email message has been virus
scanned and although no viruses were detected by the system, St Vincents &
Mater Health Sydney accepts no liability for any consequential damage
resulting from email containing any computer viruses.
**********************************************************************
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Jan 30 08:32:58 2007