If I use a date-based tag format like AUTOMATED-BUILD_{DATE}
I end up writing scripts that figure out which tag is the
most recent tag
for every module.
If I use a general tagname like AUTOMATED-BUILD I think I need
to remove such a tag before a new one is created ? Or does
cvs
I was wondering what strategies do CVS gurus use to manage their
personal collection of dotfiles. We all a favorite .vimrc, .exrc,
.muttrc, ~/.w3m/bookmarks.html, etc. The problem is keeping
them in sync
on all the machines we use. CVS seems like a nice tool for that.
How would you go
Motivation: schema changes in most existing relational databases are
onerous.
For very good reason.
And what is that reason?
OK, I admit that some RDBMS applications in production
need stability - just like some systems software applications
(the kind Greg seems to work on, the kind I
[Greg Woods]:
... conversations about XML and DTDs ...
...
well formed by definition should mean in conformance to a
pre-existing DTD!
...
Do you build relational databases without defining a schema?
Well, I wrote Perl-SQL, a relational database system that
is self-schematizing - where
That would be a very good start. However it doesn't tell us how the
picture would change if you'd done ideal, or even just
better, planning
of your modules and file structure before you first checked them into
CVS. I don't know how we could independently measure that part.
(0) Basic: the
I've been practicing XP, to a greater or lesser degree,
for 4 years using C/C++ and CVS.
Yes, XP with CVS can be done.
Yes, CVS makes renaming files a pain. You inevitably corrupt
history, whether you cvs remove oldname / cvs add newname
(losing history) or whether you copy the ,v file in the
Hmmm... but in an eXtreme Pogramming environment you won't be checking
things into CVS until they bloody well work now will you!
If you're using XP methods for maintenance of existing code then you'd
damn well better skip the refactoring step or you'll only
cause yourself
(and your
By the way, responding to those who say
CVS is broken for XP.
Many people, myself included, think that
Large-Scale C++ Software Design
by Lakos is a good book.
Lakos highly advocates strict filenaming:
a class lives in a .cc/.hh file, and nowhere else.
And, similarly, that classes should be
How nice I've been trying to get actual metrics about this for
years, and nobody but myself seems to care about making actual
measurements -- y'all just want to argue for the feature because you
seem to imagine that it would be very nice to have!
I can go through my own CVS repository,
Adapt your tree structure. Do *not* mix files from teams A
and B in a single directory, CVS won't handle that well.
Hi Pierre,
Thanks very much for your detailed suggestions. It seems
that in order to
use CVS, the directory structure of my project must be driven
by short-term,
(The best way I can see to do this without accessing
CVS/{Root,Repository,Entries}
is to run find -type f -print | xargs -n 1, passing a
script to xargs that runs
cvs status on the filename it is given, printing the filename
if cvs status works.
Klugey, but workable. Is there a better
I would like to have a way of listing the pathnames of files
in the workspace that are checked into CVS.
E.g. in my repository is in
:ext:plxc2039:/foo/bar/my-cvs-repository
submodule project
and I am on machine linnb007
with my files checked out as
I often find myself in the position of having a single source file
that logically belongs to several repositories.
For example, I have a lot of personal library files
- headers debug.h, test.h, plus things like my number recognition
library. I keep these on my own personal CVS server[*].
But, I
now thats over .. does anyone have any REAL advice on how
they deal with the
module file? has anyone written any scripts to automatically
update the
modules file?
So far as I can tell, modules are a CVS concept that never took
off. I avoid using them - I don't use them at all for
I just encountered a minor problem with
file permissions in CVS apparently caused
by cvs ci and keyword expansion.
I worked around it, but wonder if there
is a better way. I have looked in the manual
and FAQs, but see nothing pertinent.
BRIEF:
cvs ci seems to change the file permissions,
I am looking for assistance on what you think is the best method of
determining the differences in the directory structure between two CVS
branches.
If a 1 time only thing, just check out both branches
into different trees and diff -R. Actually, use cvs export
to avoid the CVS files
Title: synchronizing cvs repositories in realtime
I mean the following scenario: - 2 servers running cvs in
pserver mode - a user commits his changes to one of them - the change
is automagically commited to the other server - another user commits
changes to the second server -
I've got lots of symlinks in a directory.
I want to version control them.
CVS doesn't handle that.
So, I want to roll my own:
A script that takes a file of
(name,symlink-text) pairs,
and
(a) checks
(a.1) warns if any filename
in the file
has a different
Sharing a repository with NFS is a recipe for disaster. We've had
numerous reports of file corruption due to NFS interoperability bugs.
Q: when did this start happening?
Did it originate when the RCS functionality
was incorporated inside CVS?
Surely, people had been using RCS and SCCS
for
Surely, people had been using RCS and SCCS
for years on NFS systems.
I'm not so sure of that -- NFS has aways had a reputation of
being a bit
dicey; I'm not sure how many people would trust it for RCS or SCCS,
either.
At Gould we were using RCS and SCCS
as soon as we started doing
But how is someone supposed to know on an
import whether the case of their files is messed up? Do the import,
check it out somewhere, notice the error, do a bunch of "cvs remove"
commands, ...? Is there any way "cvs import" could check if
there are similarly-named files already
How do people use CVS in a large organization? How do you isolate the
baseline from developers checkins?
Yes.
Use task branches. Create a new branch for a task.
Make changes to that branch. Update from the main
branch to the task branch as necessary. Then,
when finished, merge back.
As
Subject: RE: CVS'ing home directory files; CVS in place
Actually, I will happily use a build procedure,
if it is reversible.
Hmmm reversible...
Do you mean like combining these options to the "install" program with
something in your build system that'll rename the (most recent)
Subject: RE: CVS'ing home directory files; CVS in place
No. I mean "modify the production system in place, and then have
those changes automatically checked into the repository".
Like I said, that's backwards. It's also not really safe. Changes
should be made, tested, and only then
Half of the people here are talking about doing this stuff
on their LINUX laptops, or on their personal home directories.
LINUX has meant that thousands of people are now sysadmins.
Bull. Just because you happen to run a Linux box or two does
not make you a sysadmin. If that was true,
Last week I asked about issues CVS'ing one's home directory.
Here's a minor one.
directory/.cvsignore files usually apply locally.
from the manual:
As CVS traverses through your directories,
the contents of any `.cvsignore' will be
appended to the list. The patterns
Why don't you create a subdirectory that you checkout
everything into.
Then from your home directory create symlinks into the subdirectory.
Not all of the OSes/filesystems I use my common dot-files on have symlinks.
E.g. I have already learned that it is not a good idea
to have the cvs co flag that creates a CVS directory in the
parent of the directory that holds your workspace.
(Unfortunately, I can't remember what/where
that flag is/was, to remove it.)
That's in CVSROOT/config
By the way, are there any funky issues with intermixing
of checked out directories from different repositories
in the same directory tree?
Same tree no problem, same directory now that would require
some thinking. How would you get CVS directory to point to two
repositories?
I've
If you just use 'su' properly and plain old SCCS or RCS in the actual
directories where you modify configuration files then you'll have good
solid CM without the ability to "loose" changes. This is especially
easy and even trivial if you use a wrapper script on your editor that
does all the
Not true. if there is a subdirectory that contains files
from a different repository than its parent and a recursive
cvs command is executed from the parent, the client will
not switch repositories during the command
execution. I havent tried this, but I would guess that the
best you
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
What was hard about it Greg? I've been using CVS to manage system
configuration files for two years now. I use a unique repository
that only root can read/write. The only draw back is that I have CVS
directories all over my OS. I use Red Hat 6.2 Linux 2.2.14-5.0 and
CVS 1.10.7.
By the
PVCS (apparently?) provides security on a file by file basis.
Or, at least an 'object by object' basis (or, in my CVS world, a
"directory by directory" or, "module by module" basis )
on a user by user basis. Where
user A can check
out a directory, but not check in changes. User B can
34 matches
Mail list logo