You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Pat Wenke <pw...@uhlig.com> on 2004/10/21 14:16:21 UTC
Subversion, TortoiseSVN, and Windows
I am in the process of evaluating SCM software and wondered if someone
could help me out.
All of our developers code in CFML. The box that hosts our development
code is a Windows 2000 server that runs both CFMX 6.1 and IIS 5.
The IIS and CF roots both point to the same directory on the server,
C:\www.
Currently we use no SCM software, so all developers map a drive to
C:\www on this server, and hence have no "working copy" directories,
other than their mappings to C:\www itself.
I have configured VSS in the past, where your "working copy" for
development can be the actual directory that is under source control, so
I'm
having a bit of a hard time wrapping my head around the newer SCM
concepts presented by Subversion and TortoiseSVN.
I can create a repository and connect to it with absolutely no problems.
I can then use TortoiseSVN to connect to the repository and import all
of our code from C:\www. My questions are as follows:
Can our developers somehow "share" a working copy, so that none of us
actually have to keep a local working copy?
Once I commit a changed file to the repository, how do I get the updated
version back into C:\www so it can be tested?
This particular phrase from the book is what I do not understand:
Now the repository contains this tree of data. Note that the original
/tmp/project directory is unchanged; Subversion is unaware of it. (In
fact,
you can even delete that directory if you wish.) In order to start
manipulating repository data, you need to create a new "working copy" of
the
data, a sort of private workspace. Ask Subversion to "check out" a
working copy of the repository's trunk directory.
What this tells me is that after I import C:\www into the repository, I
don't need it anymore. I understand that, and I understand creating a
working
copy, perhaps on my local machine, so that I can check out files and
make changes, and that the changes get committed back to the repository.
What I
do not understand is to which directory should I point my IIS and CF
roots, since C:\www is no longer needed.
I have given all the docs a thorough read and have Googled my eyeballs
out looking for answers, to no avail.
I am certain it's just a configuration problem somewhere. Any help is
greatly appreciated.
Thanks in advance,
Pat Wenke
Re: Subversion, TortoiseSVN, and Windows
Posted by Hakan Koseoglu <ha...@gmail.com>.
On Thu, 21 Oct 2004 16:16:04 +0100, Simon Large <sl...@blazepoint.co.uk> wrote:
> VSS works a little differently in that when you import a directory into
> the VSS database, that same directory automatically becomes your working
> copy. In SVN it is a 2-stage process. You import a directory into the
> SVN repository, but the directory you import is not made up into a
> working copy - it does not have any of the .svn control directories. To
> get a controlled WC you need to checkout from the repository, and the
> checkout has to be into an empty folder. So it is a 2-stage process.
Actually a trick that was taught to me goes like this and works pretty
well, especially if you are starting with an old project and a new
repository:
After creating the repository (svnadmin create /path/to/repos), check
out the revision 0 to your disk:
svn co svn://repos .
Then when svn status is executed, everything will come as unknown and
these can be added to the project or ignored using svn properties.
This way you don't have to import or throw away stuff. I work with a
large number of files (around 100k per repository/branch) so I don't
want to delete files. :-) It is just too time consuming but this
method works fine.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Subversion, TortoiseSVN, and Windows
Posted by Simon Large <sl...@blazepoint.co.uk>.
"Pat Wenke" wrote
> I have configured VSS in the past, where your "working copy"
> for development can be the actual directory that is under
> source control.
VSS works a little differently in that when you import a directory into
the VSS database, that same directory automatically becomes your working
copy. In SVN it is a 2-stage process. You import a directory into the
SVN repository, but the directory you import is not made up into a
working copy - it does not have any of the .svn control directories. To
get a controlled WC you need to checkout from the repository, and the
checkout has to be into an empty folder. So it is a 2-stage process.
Maybe a bit wasteful on bandwidth, but you don't import very often -
usually when you have a major project which was not previously
controlled. Once you are using SVN, and you have a WC for your project,
you can just add files and folders from within your WC. In that case, it
behaves more like VSS and the new files are added to the repo and
version-controlled in your WC in one step.
Simon
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Subversion, TortoiseSVN, and Windows
Posted by Damien McKenna <dm...@thelimucompany.com>.
Pat Wenke wrote:
> Can our developers somehow "share" a working copy, so that none of us
> actually have to keep a local working copy?
>
This would, in part, defeat the purpose of using a revision management
system as your users would be sharing the login information, you
couldn't have multiple logins if they're sharing the same local copy.
If you want revision management control then your users will have to
adjust to having separate local copies. If each user adjusts to having
to work in a cleaner fashion (testing changes before committing, merging
changes as needed, planning what changes to make and communicating with
others regarding their intentions) then you won't have any problems.
> Once I commit a changed file to the repository, how do I get the
> updated version back into C:\www so it can be tested?
>
There are several ways, the best IMHO being to have another login for
the web server itself, then just checkout the files to the server as
needed. When code is known to be working just update the web server's
working copy.
> Now the repository contains this tree of data. Note that the original
> /tmp/project directory is unchanged; Subversion is unaware of it. (In
> fact,
> you can even delete that directory if you wish.) In order to start
> manipulating repository data, you need to create a new "working copy"
> of the data, a sort of private workspace. Ask Subversion to "check
> out" a working copy of the repository's trunk directory.
>
When you initially import a directory you do not have a Subversion
working copy and need to create one. Simply rename the old directory
(for a backup, helps beginners feel more assured that they're not going
to mess anything up) then checkout the project you want and start
working on /that/ working copy and not the original that you imported.
Test it with some random files until you feel comfortable with what is
going on.
> What this tells me is that after I import C:\www into the repository,
> I don't need it anymore. I understand that, and I understand creating
> a working copy, perhaps on my local machine, so that I can check out
> files and make changes, and that the changes get committed back to the
> repository. What I do not understand is to which directory should I
> point my IIS and CF roots, since C:\www is no longer needed.
>
The *files* in C:\www are no longer needed by Subversion so delete them
and then checkout your code to that directory.
--
*Damien McKenna* - Web Developer - dmckenna@thelimucompany.com
<ma...@thelimucompany.com>
The Limu Company - http://www.thelimucompany.com/ - 407-804-1014
"Nothing endures but change." - Heraclitus
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Subversion, TortoiseSVN, and Windows
Posted by Will Senn <wi...@comcast.net>.
Simon,
'available to all', definitely - durn english... I wouldn't recommend
windows file sharing for the repository - period. Apache, for sure.
Will
Simon Large wrote:
> "Will Senn" wrote
>
>>* The subversion repository is shared and holds the master copy of the
>>codebase (by design) and may have a trunk (main line of development)
>
> and
>
>>branches (deltas).
>
>
> 'Shared' as in 'available to all', or as in 'shared folder'? If you want
> to use a Windows network share to hold your repository, and access it as
> file:///, you *must* use the fsfs repository backend, *not* BDB, which
> is almost guaranteed to corrupt if used in this way on a network share.
>
> Better still, use apache or svnserve to provide access to the
> repository.
>
> Simon
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Subversion, TortoiseSVN, and Windows
Posted by Simon Large <sl...@blazepoint.co.uk>.
"Will Senn" wrote
> * The subversion repository is shared and holds the master copy of the
> codebase (by design) and may have a trunk (main line of development)
and
> branches (deltas).
'Shared' as in 'available to all', or as in 'shared folder'? If you want
to use a Windows network share to hold your repository, and access it as
file:///, you *must* use the fsfs repository backend, *not* BDB, which
is almost guaranteed to corrupt if used in this way on a network share.
Better still, use apache or svnserve to provide access to the
repository.
Simon
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Subversion, TortoiseSVN, and Windows
Posted by Will Senn <wi...@comcast.net>.
Pat,
I would recommend against a 'shared' working copy. The purpose of the
working copy is to insulate the production code from code mucking.
Everyone who's interested in staying up to date with the repository as
they are working simply run svn update in their working directory before
making changes. When they are done editing, they svn commit their
changes back to the repository (simplest case) and when the release
manager is satisfied with the state of the code - pushes the change to
production (ideally integration test, then QA, then prod - maybe code
nirvana, but prudent nonetheless).
Here's a snapshot of a workable situation:
* The subversion repository is shared and holds the master copy of the
codebase (by design) and may have a trunk (main line of development) and
branches (deltas).
* The www directory is shared to allow any 'developer' of sufficient
stature to deploy code to.
* The working copy (location where the code is 'svn co' checked out
to)is specific to each developer and allows concurrent changes to be
managed.
A developer will be able to make changes to his/her own copy of a file -
say, index.html:
svn update
edit index.html
save index.html
svn commit
possibly merge changes if more than one developer made changes to the
same file
check with release manager and push the code to the www directory
Hope this makes sense to you...
Later,
Will
Pat Wenke wrote:
> I am in the process of evaluating SCM software and wondered if someone
> could help me out.
>
> All of our developers code in CFML. The box that hosts our development
> code is a Windows 2000 server that runs both CFMX 6.1 and IIS 5.
>
> The IIS and CF roots both point to the same directory on the server, C:\www.
>
> Currently we use no SCM software, so all developers map a drive to
> C:\www on this server, and hence have no "working copy" directories,
> other than their mappings to C:\www itself.
>
> I have configured VSS in the past, where your "working copy" for
> development can be the actual directory that is under source control, so I'm
> having a bit of a hard time wrapping my head around the newer SCM
> concepts presented by Subversion and TortoiseSVN.
>
> I can create a repository and connect to it with absolutely no problems.
>
> I can then use TortoiseSVN to connect to the repository and import all
> of our code from C:\www. My questions are as follows:
>
> Can our developers somehow "share" a working copy, so that none of us
> actually have to keep a local working copy?
> Once I commit a changed file to the repository, how do I get the updated
> version back into C:\www so it can be tested?
>
> This particular phrase from the book is what I do not understand:
>
> Now the repository contains this tree of data. Note that the original
> /tmp/project directory is unchanged; Subversion is unaware of it. (In fact,
> you can even delete that directory if you wish.) In order to start
> manipulating repository data, you need to create a new "working copy" of the
> data, a sort of private workspace. Ask Subversion to "check out" a
> working copy of the repository's trunk directory.
>
> What this tells me is that after I import C:\www into the repository, I
> don't need it anymore. I understand that, and I understand creating a
> working
> copy, perhaps on my local machine, so that I can check out files and
> make changes, and that the changes get committed back to the
> repository. What I
> do not understand is to which directory should I point my IIS and CF
> roots, since C:\www is no longer needed.
>
> I have given all the docs a thorough read and have Googled my eyeballs
> out looking for answers, to no avail.
>
> I am certain it’s just a configuration problem somewhere. Any help is
> greatly appreciated.
>
> Thanks in advance,
>
> Pat Wenke
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Subversion, TortoiseSVN, and Windows
Posted by Jeroen Leenarts <le...@tiscali.nl>.
Pat Wenke wrote:
> I am in the process of evaluating SCM software and wondered if someone
> could help me out.
>
> All of our developers code in CFML. The box that hosts our development
> code is a Windows 2000 server that runs both CFMX 6.1 and IIS 5.
>
> The IIS and CF roots both point to the same directory on the server,
> C:\www.
>
> Currently we use no SCM software, so all developers map a drive to
> C:\www on this server, and hence have no "working copy" directories,
> other than their mappings to C:\www itself.
>
> I have configured VSS in the past, where your "working copy" for
> development can be the actual directory that is under source control,
> so I'm
> having a bit of a hard time wrapping my head around the newer SCM
> concepts presented by Subversion and TortoiseSVN.
>
> I can create a repository and connect to it with absolutely no problems.
>
> I can then use TortoiseSVN to connect to the repository and import all
> of our code from C:\www. My questions are as follows:
>
> Can our developers somehow "share" a working copy, so that none of us
> actually have to keep a local working copy?
> Once I commit a changed file to the repository, how do I get the
> updated version back into C:\www so it can be tested?
>
> This particular phrase from the book is what I do not understand:
>
> Now the repository contains this tree of data. Note that the original
> /tmp/project directory is unchanged; Subversion is unaware of it. (In
> fact,
> you can even delete that directory if you wish.) In order to start
> manipulating repository data, you need to create a new "working copy"
> of the
> data, a sort of private workspace. Ask Subversion to "check out" a
> working copy of the repository's trunk directory.
>
> What this tells me is that after I import C:\www into the repository,
> I don't need it anymore. I understand that, and I understand creating
> a working
> copy, perhaps on my local machine, so that I can check out files and
> make changes, and that the changes get committed back to the
> repository. What I
> do not understand is to which directory should I point my IIS and CF
> roots, since C:\www is no longer needed.
>
> I have given all the docs a thorough read and have Googled my eyeballs
> out looking for answers, to no avail.
>
> I am certain it’s just a configuration problem somewhere. Any help is
> greatly appreciated.
>
> Thanks in advance,
>
> Pat Wenke
>
Your statement about not needing the directory is correct when you are
only taking the svn repository in account. All your data is stored
there. But to be able to serve the data contained in your repository,
your web environment still needs a plain file version. Since the
repository is itself a collections database files your web environment
can not read these files. Therefor making the repository contents
available to your web environment is a separate step you need to take.
To automate this a tool like cruiscontrol
*(http://cruisecontrol*.sourceforge.net) could be usefull in a
development environment. Cruisecontrol monitors your repository and runs
an ant or maven script which can deploy the contents of the repository
to your web servers content directory.
Just my 2 cents...
Jeroen Leenarts
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org