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