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

Using Links For WC -- Will This Work?

From: Hal Vaughan <hal_at_thresholddigital.com>
Date: 2005-12-26 18:09:27 CET

A few weeks ago I posted a problem I was having with Subversion. Due to a
unique setup, until I have an extra $1,000 or so, all the work I do on my
project has to be done on the live copy (let's not get into this -- it's
worked for me for 4 years, I've got less than 6 months less work on it, and I
can't spend a grand to add a development environment so close to the end and
without the extra funds).

When I set up Subversion on my system, I imported the entire system into
Subversion, then found I could not check a single file or directory the way I
needed to and could not commit changes from the original directories -- I had
to check out files into a working copy, then commit the changes. I have what
may be a round-about solution, which is a bit odd, but which seems like it'll
work. I wanted to make sure I wasn't doing something that has effects I'm
unaware of on Subversion and the repository.

My project is in /thresh/threshNet -- a full directory tree. There was one
section, /thresh/threshNet/Agent, that I was working on. So I
created /thresh/threshNet/work, checked out the Agent directory into an Agent
directory in work. That gave me a working copy which, at the time, was
identical to the imported /thresh/threshNet/Agent I had imported. Then I did
all I needed to do in the files in /thresh/threshNet/Agent, then did this:

rsync -avz /thresh/threshNet/Agent/ /thresh/threshNet/work/Agent

which copied all my new files to the new "working copy" directory. Once those
files were updated to match my system, I committed the working copy (which I
had not touched, other than to update with rsync) to Subversion, and it
committed without incident. It seems I can commit this working copy over and
over, each time I update it.

Since this system is in production, it'll be a massive feat to halt it and
checkout the source to /thresh/threshNet. I think, though, I have a way to
do this so I can create a working copy, then use either rsync or a soft link
to keep my WC as current mirror to my code, and commit the mirror (or link)
to Subversion when I'm ready to commit a new version.

This lets me use Subversion without significantly changing the setup I have
now. I do have a few questions:

1) Is this going to have any effects on Subversion or the repository that I
won't see until later?

2) Is there any problem with committing the same WC over and over and over?

3) If I do this:
        - Checkout to /thresh/threshNet/work/Agent
        - Delete /thresh/threshNet/work/Agent
        - Create a soft link from /thresh/threshNet/Agent
                to /thresh/threshNet/work/Agent
Will Subversion still see the link as the original WC directory, allowing me
to continually commit my changes by "fooling" Subversion into seeing the link
as the WC directory?

I know this is not the normal way of doing things, but, as I said, the system
is in place and needs to be left in place. What I do need is a way to keep
track of system versions as they are changed.

Thank you for any help on this!

Hal

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Dec 26 18:11:48 2005

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