TODO - larger features
-
- merge-through-conflict code (necessary in rare cases for revert and resurrection)
- revert (for name operations, this already works for file contents)
- resurrecting deleted files
- access control lists on repository paths in the server
- support for binaries
- metadata (the execute bit, for instance)
- internationalization
- deal with case-insensitive file systems
- blame/annotate
- more polish
- cherry picking individual changes
- rollback of individual changes
TODO - smaller stuff
-
- Security audit of networking code
- Shared secrets are stored encrypted against the users password, should also include a salt to protect against precomputed dictionary attacks
- Move authentication-related info out of the tree.
- Graphical history browsing tool.
- Graphical conflict resolution tool, something like dirdiff which can read the inline conflict info.
- Code cleanup - there are places in the code (sync_history(), gen_changeset(), handle_contents_at_point()) which should be using DFS.py to do a topological sort instead of being ad-hoc about it. This is a good way to become more familiar with the code.
- Replace the stop-and-wait changeset fetching over the network with something better. Ask on the mailing list for more details.
- Better parallelize the delta fetching and history replaying by moving one of the 2 into a separate thread.
- Documentation. Some HowTo guides would be especially useful for things like history browsing.
- Fix the file ignore pattern stuff. Should probably work more like CVS.
- Remember which files had conflicts after an update and have the status command display them.
- Force users to resolve name conflicts before allowing relevent files to be committed.
Additional resources
- BSD manpages
- Writing UNIX Documentation
- Documentation library
- BSDwatch
- DamnSmallBSD
BSDforge repos
- BSDforge on Codeberg
Also listed on
- FreeBSD
- FreshPorts
Popular BSD forks
- FreeBSD
- NetBSD
- OpenBSD
- GhostBSD
- PC-BSD
- MidnightBSD
- DesktopBSD