Dave Love <[email protected]> added the comment: I don't know what this is in response to. I haven't seen the material quoted in the article.
Juliusz Chroboczek <[email protected]> writes: > Juliusz Chroboczek <[email protected]> added the comment: > >> As you note in your source comments, there is a competing implementation >> by Juliusz. Why are there two versions? Is it solely because Juliusz >> (presumably) won't assign copy rights to the FSF? > > I sent the papers to the FSF. I never received a reply. They're not noted in the list of papers on file. That mode is based on someone else's work and, as I understood it, no assignment would be forthcoming for that. (All significant contributions need to be covered by legal papers, and I don't know who else had contributed -- possibly not Juliusz at that time.) >> Does Juliusz' vc-darcs.el includes features that yours doesn't? >> Does your (Dave's) vc-darcs.el include features that Juliusz' doesn't? > > First, we use different implementation techniques. My version parses > Darcs' XML output, and so remains reliable with funky patch names. I'm not convinced that there's any advantage to the XML stuff, especially as its structure isn't defined (as far as I can tell) and it isn't even necessarily valid XML. [That's a conclusion I've also reached elsewhere.] What is the precise technical advantage? darcs should be capable of printing a human-readable hash of a change, but I haven't got round to contributing that, and I'm not sure now how helpful it would be. > Dave's version, on the other hand, appears to do complex regex-munging > over Darcs' human-readable output. Where it needs patch names it typically uses what I normally do by hand with `--patch' to select, but you can also use `--match' selection. VC still fundamentally doesn't deal well with patch-based VCSs as far as I can tell, but I don't claim to understand properly how the Emacs 23 stuff is supposed to work. > At a quick glance, the functionality differences are the following, in > roughly decreasing order of importance: > > - unless I don't understand Dave's code, my version has a better > - grokking of Darcs revision numbers; How so, especially since darcs doesn't actually have the revision numbers Emacs assumes (which is part of the problem, along with darcs' flexibility)? > - my version uses the Emacs 23 support for Git-style revision-control > systems, which makes it work better with Darcs; however, this means > that it doesn't work on older Emacsen; I've tracked Emacs and darcs versions, though it's a good deal easier to keep up with darcs than with the backwards-incompatibilities/bugs in Emacs, unfortunately. Modulo bugs and a few possible omissions noted, mine supports the VC in Emacs 21-23 and darcs versions ~1 upwards. However, I haven't tested older darcsen recently, and I don't know what versions are significant in the wild; old ones may not be such a problem since, fr instance, it's not in RedHat and SuSE 10. > - Dave's version has an implementation of a log-browsing mode for > Darcs, which mine doesn't (it just uses Emacs' generic log-browsing > mode, which doesn't work very well); the proper solution is of course > to fix Emacs' generic mode to work with Darcs; I can't remember what the state of the latest log-view mode is, but I don't think it should have backend-specific features. It should have hooks for the backend, but that was rejected when I tried to get the VC support generalized on the basis of experience with darcs and I could no longer install changes. > - my version has much nicer vc-annotate. How so? It provides less information as far as I can tell. >> If so, and we can't use Juliusz' work (due to copyright), are you >> prepared to reimplement those features in a novel way (i.e. without >> copying)? > > Gosh, no -- as far as I'm concerned, the whole point of Free Software is > that we're free to copy each other's ideas (with proper attribution). Ideas aren't the issue -- copyright (detailed expression) is. Anyone's free to use my code under the terms of the licence, but as a maintainer I wasn't free to use work in Emacs that wasn't either trivial or covered by an assignment/disclaimer. I've often re-implemented stuff for that reason, and it's typically easier than chasing legal papers, though I'd rather not, and I want to avoid possible future need for that. > If there's interest, I can try to go through the FSF's bureaucracy again. Has someone said it would be included, if so, why mine was rejected? However, from experience I'm not convinced it's maintained in Emacs, since the maintenance typically won't be done for the Emacs versions people are actually using or by someone who uses darcs. __________________________________ Darcs bug tracker <[email protected]> <http://bugs.darcs.net/patch111> __________________________________ _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
