On Wed, Apr 10, 2013 at 11:30 PM, Pavel Sanda <[email protected]> wrote: > Nico Williams wrote: >> But standalone RCS or SCCS is (should be!) a rarity now -- so early >> 90s! no, so 70s! :) I'd encourage you to encourage your users to >> switch to a modern VCS and drop the RCS code. > > On contrary! :) I still use it and for single lyx documents of pure text and > it's > far better option than any of other VCS for the utter simplicity, no servers > no hidden directory structures!
I see the smiley. I hope to convince you to stop the use of RCS :) Simple for one file. Not simple for more than one. Utterly useless for any project with more than a handful of files, or more than a handful of people editing the same files, or when you can't use NFS/whateverFS. I've worked on enormous code bases (tens of millions of lines of code) using Teamware, which was based on SCCS, then later Mercurial and git. Before that I did use RCS (and PRCS). I cannot imagine going back to RCS; even before working use enormous code bases I'd switched to PRCS and CVS. Whenever I find projects versioned with RCS I immediately convert them to git. For my personal project (e.g., Internet-Drafts) I put them all in git and backup, as appropriate, on sites like github. Getting back on topic, LyX can't really support every VCS. There are many. I can name half a dozen right now that are in widespread use: git, Mercurial, Fossil, Bazaar, SVN, CVS, arch, and probably several more. And that's just the open-source ones. There's quite a few proprietary ones too! http://en.wikipedia.org/wiki/Revision_control lists 6 proprietary ones in the past decade or so, and many more altogether. For the types of VCSes where there's a concept of "changeset" or "commit", and a "workspace", it's not worth making LyX aware of them: the user will likely have more than a .lyx file or three to manage in the VCS, and there's really nothing for LyX to do that some other GUI/CLI doesn't already do *much* better. The one valuable thing for LyX to do would be to show VCS status, and that could be easily be made pluggable via external scripts -- that's what I recommend. Nico --
