Roadmap
This is a high-level overview of the major objectives behind the upcoming releases of darcs.
See HowToHelp if you'd like to help us to reach our goals faster :-)
The big picture
- make darcs faster for its current users <-- we are here (moving to #2 soon)
- build it on solid foundations (clean up library)
- (maybe) Seamless Git Integration
- darcs3
Current objectives
darcs 2.8.0 (2011-05)
improve hashed repo behaviour to make up for (only) read-only support for old-fashioned repositories
infrastructure
- TODO a Windows installer (issue1687)
- TODO run darcs-benchmark with graphs
code quality
- TODO improved separation of user IO from darcs business (issue1483)
- TODO separation of library into core/repo/commands?
- TODO type witnesses enabled everywhere
performance enhancements
- TODO filecache (issue1566)
- DONE (in 2.5?) local: cache overhaul
- high priority TODO thisrepo bug
getting the basics right
- TODO sort out XML and encodings issues (issue 1692, issue 1693, issue33)
- DONE darcs record: make --no-test default, ask to record anyway when tests fail (issue332)
- TODO darcs test
new features
- high priority TODO darcs rebase (issue938) (see Ideas/RebaseStatus)
- high priority TODO nicer darcs annotate output (issue25)
- conflict marking improvements:
- DONE (in 2.5.1) include old text in conflict marking patch402
- TODO (probably) reduce the number of alternatives presented when there are complicated conflicts
- optimize --http
- DONE implementation
- high priority TODO benchmarking, documentation and "marketing"
For 2.8 we want to have packs and rebase, but we will still commit to a time-based release. The release process will be slightly changed: there will be no soft freeze since we feel it does not really help us focus, making us basically lose 2 weeks of attention.
Schedule: - May 31st: decide whether rebase goes into 2.8 - June 15th: first beta - June 30th: hard freeze - July 14th: tentative release
Here is a list of changes since 2.5, as a starting point for release notes.
Future objectives
Medium term:
- a plugin system (issue1504)
- library cleanup: witnesses mandatory
- improved conflict marking [THIS IS REALLY IMPORTANT] (issue833)
- merge refactors and issue1014 fix from David's fork
- in-repo branches (issue555)
- make darcs really non-interactive if user desires so
- record huge patches (issue80)
Long term:
Old-fashioned phase-out
We decided to phase out old-fashioned repository support for the version 2.8, see: http://blog.darcs.net/2010/11/coming-in-darcs-28-read-only-support.html
Getting an old-fashioned repository is always going to be possible. However, getting getting partial repositories (with the --partial flag) is no longer supported.
