info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CVS Update Behaviour


From: Noel Yap
Subject: Re: CVS Update Behaviour
Date: Sat, 23 Feb 2002 06:00:52 -0800 (PST)

--- "Greg A. Woods" <address@hidden> wrote:
> Perhaps what I can now do intuitively is hard for
> someone else, but if I
> learned to do it intuitively then pretty much anyone
> can learn it too.
> I'm no superman and I don't believe I have a
> photographic memory or
> anything fancy like that either.

You need to get out and work with a broader set of
people.  From my experience, script-proficient
developers are a rarity.  Taking into account the
reality, you and probably most on this list are
supermen.

> Perhaps someone who doesn't understand the basics of
> what's going on
> with version control might have more trouble, but
> they're basically lost
> on even the most simple commands until they get some
> fundamental
> understanding anyway.  Once they get the basics
> under control then
> tracking history across renames is only a tiny step,
> not anything
> "difficult"!

You're defining version control to be CVS, again.  You
need to remember that there are tools that version
control renames transparently to the user.  But I
understand how you can forget such a thing given that
you don't use such tools.

> It seems perfectly simple and very quick when I do
> it.  Perhaps you
> should try it:
> 
>       cvs log newfile.c | less
> 
>       [[ read along until you get to the end and see: -
> moved
>       oldfile.c to newfile.c]]
> 
>       cvs log oldfile.c | less
> 
>       [[ and so on.... ]] 

1. This doesn't work in the general case (eg when
resurrections occur).
2. This is hardly transparent to the user.

> Maybe someone with difficulty typing commands would
> find this
> "difficult" because of the extra typing, but they
> would presumably find
> using any part of the command-line interface to be
> similarly "difficult"
> and should probably be using a mouse-driven
> front-end or some such.

No, the "difficult" part is parsing the log output to
find the move comments (assuming the comments are
correct to begin with).

> So automate the process with a wrapper that doesn't
> make mistakes!!!!!!
> 
> Said wrapper is already quoted below!

And be sure to break the CVS model by serializing
development while you're at it.

> > If being able to deal transparently with file
> renames and moves is
> > important to one, then CVS is not the proper tool.
> 
> Well we do agree on that for sure -- but I assert
> it's never going to be
> a terribly important requirement in any usage domain
> where CVS is
> otherwise the proper tool.

Good, so we're in agreement, "CVS isn't ideal under
refactoring or when using XP."

> > That's actually kind of sad. Why don't you put the
> script(s) in the
> > contrib directory, and point people at it when the
> topic comes up,
> > rather than expending the effort arguing and
> re-writing the script?
> 
> Because they're too simple and too lame to ever
> worry about remembering!  

And it's much simpler to argue continuously about it?

> Yup, that's pretty much it.  It sure is easy isn't
> it!  You need some
> more mechanism around it if you want to use it as a
> general wrapper
> (i.e. to enforce its usage), and of course there are
> the other bits that
> should be self obvious if you want "log" and "diff"
> and such to work
> across renames.

Since anyone can always call CVS directly, how can you
possibly enforce its usage (other than through
policies)?

>  Such a feature could trivially be
> built into the many
> front-ends too (which are usually literally
> "wrappers"), such as PCL-CVS
> (which is the one I use), or WinCVS, etc.

What if some valid comments happen to have the move
comments in them and the file wasn't really moved? 
Using comments for this is a hack at best.

> I've never actually written a script to do it
> because it's brain-dead
> easy and obvious how to do it manually, and like I
> said I can only
> remember having to do a diff manually across a
> rename once in 8 yrs!

If it's so obvious, why on Earth do you think this
subject comes up so often?  Obviously, it's not
obvious.

> I did think briefly of writing rename support for
> PCL-CVS, but it's just
> too infrequently used to be worth the effort.

Whereas if CVS directly supported this, one wouldn't
have to add this functionality to each wrapper out
there.

> If/when someone goes to the effort of produceing
> working code regardless
> of how needed it is then perhaps it'll be added to
> the appropriate
> public shared version of wherever it best fits (eg.
> a script in contrib
> or a new lisp function in PCL-CVS, or whatever). 
> Until that time the
> manual way is trivial, and quick, and it works 100%.

No, it doesn't.  It's not robust.  A robust way
wouldn't use comments, but use something completely
internal to CVS (eg filename mapping).

Noel

__________________________________________________
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]