Greetings all,
I'm trying to figure out a way to have binary files in the repository
which do NOT story any revision history. One might ask what the point is
to this, as it's esentially the same as just copying the file directly.
My reason for needing this feature is that I have recently convinced my
company to try switching over to CVS (from Visual Sourcesafe) for a while,
and they are used to being able to store all files (including huge binary
audio files) within the repository by just turning off revision history on
large binaries. In particular, there are some 200MB files which actually
crash the server if you try to commit them, since it actually overruns the
real memory + swap.
Browsing through the docs (and code) I haven't found anything that
would allow this. As I'd *really* like my company to make the switch
permenantly, I'm considering adding this feature myself. I have been
glancing through the code and debugging some sample sessions to get a feel
for it, but I don't know if this will get me up to speed quickly enough.
I wonder if there is a "code overview" document somewhere that describes
the relationship between the server and the client, the basic organization
of the code, and so forth?
Lastly, if anyone has any ideas about the best way to implement this
feature, I'd like to hear them. My thought was to add another command
line switch, -S, for "store without revision". I guess that this switch
would just go into the CVS/Entries file in the same spot that -kb goes,
and on a commit the client would just transmit the file directly and the
server would store it, possibly even without the ",v" extension (although
I'm not sure what the role of this extension is, yet). On checkouts or
updates, the server would just take the file directly, rather than doing
any version processing.
Thanks for any input.