For what it's worth, this is Makefile I use in my CVS controlled dir to
populate the 'dot' files (does not overwrite writable files and allows you
to see the diffs):
HOMEFILES := .login .aliases .cshrc .ssenv .profile .bashrc .cvsrc \
.Xdefaults .pinerc .exrc
DTFILES := dtwmrc
all: $(patsubst %,$(HOME)/%, $(HOMEFILES)) \
$(patsubst %,$(HOME)/.dt/%, $(DTFILES))
$(HOME)/% $(HOME)/.dt/%: %
@echo Installing '$<' ;\
if [ -w $@ ]; then \
exit 1 ;\
fi ;\
chmod +w '$@' >/dev/null 2>&1 ; cp -p $< '$@' ; chmod 500 '$@'
diff:
@for f in $(HOMEFILES); do \
echo $$f ==================================== ;\
diff $$f $(HOME)/$$f ;\
done ;\
for f in $(DTFILES); do \
echo $$f ==================================== ;\
diff $$f $(HOME)/.dt/$$f ;\
done
-----Original Message-----
From: Donald Sharp [mailto:[EMAIL PROTECTED]]
Sent: Thursday, August 03, 2000 2:49 PM
To: Glew, Andy
Cc: [EMAIL PROTECTED]
Subject: Re: CVS'ing home directory files; CVS in place
Why don't you create a subdirectory that you checkout
everything into.
Then from your home directory create symlinks into the subdirectory.
for instance:
cd
mkdir .real_home
cd .real_home
cvs co -d glew glew-home
cd ..
ln -s .real_home/glew-home/.cshrc .cschrc
I would actually write a script that goes through and creates
all the symlinks correctly.
donald
On Thu, Aug 03, 2000 at 01:03:06PM -0700, Glew, Andy wrote:
> This is probably a dumb question, but:
>
> I want to use CVS to version control files in my home
> directory, such as ~glew-home/.cshrc.
>
> I have created a module, $CVSROOT/glew-home, and populated
> it with my historic RCS files.
>
> I can check out this module as follows
>
> cvs co -d HOME glew-home
>
> However, how do I check it out over/on-top-of
> my existing home directory? Since I do not have
> root, I cannot do
>
> cd ~glew/..
> rm -rf glew
> cvs co -d glew glew-home
>
> And the following attempt to accomplish it in place
> gives an error
>
> cd ~/glew
> cvs co -d . glew-home
>
>