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

Re: svn import of working directory

From: Derek Scherger <derek_at_echologic.com>
Date: 2004-03-23 04:39:22 CET

Steve Karg wrote:
> Jeff Bowden wrote:
>>>> There's a cute trick you can do, however, in the FAQ. It exactly
>>>> answers your question about '/etc':
>>>> http://subversion.tigris.org/project_faq.html#in-place-import
>> If you want to do this with an existing repository the steps are more
>> like
>> svn mkdir url/of/repository/sompath/etc -m ''
>> svn co url/of/repository/somepath/etc
>> cd etc
>> ...
>> I wrote that FAQ entry before I knew much about subversion. Now I
>> know better.
> And that works *exactly* as I needed it to work.

So what will you do when you want to check out your /etc config to a second machine? I'm
currently struggling to set up svn with common and unique configurations from a small
(i.e. home) network and it isn't so clean.

There's a bunch of places in the code that have problems if the target directory or file
already exist. I'm looking into the idea of checking out only the admin (i.e. .svn)
directories over top of an existing "working copy" that just isn't associated with any
particular repository.

I have had some negative reactions to this idea a long time ago when cvs was the topic,
but I really can't see any significant problems myself. There won't be any "damage" to the
existing tree if no directories or files are touched (i.e. create only .svn directories
where their parent directory already exists). If a directory is "in the way" that's
perfect, just go into it and keep going. If a file is in the way, just leave it alone and
create the associated admin info. If a directory is missing, do not create it but do
create the associated admin info. Once this is all done, an svn diff should show the state
of the current "working copy" verses the HEAD and anything that was different should show
up as changed.

This isn't a problem that's particularly unique to svn though, I can't seem to find any vc
  system that does what I want, which makes me wonder if what I want is crazy...

There is a hint that handling the "sysadmin/many machines" case that I'm talking about
might be sensible on the arch wiki at
http://wiki.gnuarch.org/moin.cgi/Versioning_20strategies but the page has yet to be
created which is unfortunate.

The basic problem is that machines will share some common config (internal machines mta
config in /etc/postfix) and also have some unique config (/etc/fstab). At the moment I
have an svn repository with /config/common, /config/foo and /config/bar where foo and bar
are the machine specific things. With this I can switch parts of the working copy trees to
their machine specific repository locations and it works ok. The problem comes in when I
decide that some new config files should be in svn, I can add them on one machine just
fine, but there are other machines that also already have these files/directories and an
update is blocked because they already exist.

Any thoughts, solutions, ideas?

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Mar 23 04:45:46 2004

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