[Top][All Lists]

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

Re: CVS and Jar files: Should you import Jar into the Repository? Why or

From: Richard Caley
Subject: Re: CVS and Jar files: Should you import Jar into the Repository? Why or why not
Date: Tue, 05 Mar 2002 23:22:10 GMT
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/20.4 (Emerald)

In article <address@hidden>, Greg A Woods (gaw) writes:

gaw> Versioning _is_ diffs!  

No, versioning is the ability to go back. Diffing the ability to
compare. One can use diffing to optimise versioning, but either can be 
done independently.

gaw> There's no point to keeping every revision of every file unless
gaw> you can calculate a _meaningful_ delta between them!

Rubbish. As I said in the other message, I would use CVS even if it
treated source files as it treats gifs. Versioning alone is worth the
effort of using it.

gaw> CVS really Really REALLY MUST use text-based diff deltas to work even
gaw> marginally succussfully, 

Rubbish again, I have been sucessfully using it for things like audo
and images for years. 

gaw> partly because it uses RCS, and partly because it practically
gaw> (and by design) forces you to allow concurrent edits and thus
gaw> forces you to do merges with 'patch'.

The RCS thing is just an internal storage optimiation issue and so
irrelevent. The concurrent edit problem has to be coped with, but has
never been a major issue in my experience. 

The same factors which makes (sane) files formats undiffable make them
the data stored in them unlikely to be edited in parallel. This is a
generalisation of the normal argument that parallel edits in fact work
much better than people who come from a locked-edit style system
imagine. Non diffable data tends to be a unitary chunk, and so there
is little reason for two people to be doing different things on
it. The only exceptions I remember are a couple of times when people
were, due to confusion in responsibility, doing the same task (making
conflict resolution trivial, pick either).

To go back to the original question, if the JAR files isn't from your
POV  an atomic chunk, say individual classes get updated, then you
should check in the class files. 

Put another way, what diffing does is make the minimum unit of version
control the line, which is a not bad compromise for source code and
bearable for text. Lack of diffing means the unit becomes the file,
which is fine for small media files and black box libraries. For text
it would be nice to have the word or something at that level as the
minimum unit, but we make do because line based versioning is better
than no versioning.

There is a bigger issue for non-sane formats. Notably Word documents
which can't be diffed but logically should be. The solution here is to 
shoot anyone who brings one near your project:-).

Mail me as address@hidden        _O_

reply via email to

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