Hello, I'd like to bring up again the discussion on old-fashionned (OF) repositories support in darcs. We discussed this topic two months ago, in late August. Towards the end of the discussion, Eric wrote:
http://lists.osuosl.org/pipermail/darcs-users/2010-August/025063.html The discussion happened when Darcs 2.5 was not out yet, so as of now we still don't have a clear roadmap for Darcs 2.8 (May 2011) on that topic. We are not clear about: * to what extent OF repositories are going to be supported in Darcs 2.8 * what kind of changes should we do to the codebase to reach that proposed support Possible options for OF support in 2.8 are: 1) Keeping full OF support 2) Keeping all read-only support 3) Keeping only darcs optimize --upgrade support So here's my stance on the topic (more motivated than my previous post): keeping full support for OF repositories is bad because it makes us focus on problems of the past while we should better think about the place of darcs in a git-filled world. The code base is of spaghetti-like. We do not want our users to use a repository format that is subject to more data corruption than hashed repos. Moreover, the darcs UI looks much better after removing writing support for OF repos: for instance removing the ability to make ``darcs init --old`` yields more symmetry to this command: we only choose between initializing a repo with darcs-1 semantics or darcs-2 semantics (currently the flags for that are --hashed and --darcs-2, the first one could be renamed --darcs-1). However I now think OF repositories should be supported for read-only operations. As Simon said on IRC: "I don't think I'd want future darcs to stop reading random darcs repos around the net". So darcs should continue being able to get and pull from OF repos. But that's fine code-wise, it already does it and in the future we could just consider OF repositories as repositories that have broken hashed pristine and we should be able to have a good failback behaviour for these ( http://bugs.darcs.net/issue1976 ). My proposal on how we hack our way towards this objective is to make a series of easily reviewable patches, that remove features associated to OF repositories one after another. The following commands can be successively removed: optimize --relink-pristine, get --old, put --old, init --old, and then (one by one) all commands that write into repositories. Whatsnew and diff should be deprecated for OF also: although they are read-only, they require a pristine. Lastly, I do not think we should commit to the contract "if, by 2.8, hashed repos are not as fast as OF repos we should put back full OF support in the code". We are a volunteer project, so this would be a bummer to arrive at such a move. We do not know now if someone is really going to fix the performance regressions. I feel that we are burdened by this promise. People need to understand that we are not going to delete all darcs sources and binaries of version < 2.8 from the Internet and their computers, and during the time lapse between OF deprecation in the codebase and them being forced to switch to the hashed format, great things will most probably happen to darcs! Guillaume ps :I've put on the wiki a page to keep track of the discussions happening: http://wiki.darcs.net/Ideas/OFsupport When a consensus is reached on that discussion, the page http://wiki.darcs.net/Roadmap should also be updated. _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
