watch: add 'watch' support
[girocco/ztw.git] / TODO
blobedc7ad143f4588fbc95f30c7a281671f536d6519
1 * Web Site:
2   * Provide a Login button, instead of using simplistic HTTP auth.
3     - Bonus: support for OpenID standard
4   * Integrate Web 2.0 magic without compromising accessibility.
6 * User Management:
7   * Upload SSH key as a file instead of pasting it to textarea
8   * Add means for users to update their profile (i.e. e-mail address).
9   * Display list of projects that grant authorization:
10     - Provide links for managing their own project's permissions.
11     - Allow users to drop their permissions from unwanted projects.
13 * Project Management:
14   * Allow users to flag unused (or unwanted) projects for recycling.
15     - More forks may be more create if users know they can be short-lived.
16   * Add the ability to rename forks:
17     - Allows users to create forks with placeholder names.
18     - Permits users to fix their own dumb registration mistakes.
19     - Bonus: forward the old URLs to the new location.
21 * Personal mob branches:
22   * Rename mob to mob/mob.
23   * Allow anyone to create and push to 'mob/<login>.*' branches.
24     - It is enough to add push perms to the mob user to activate this.
26 * Project Forking:
27   * Provide "server-side tracking branch" management service:
28     - Propogate changes in "tracking branches" to other forks that want them.
29     - Users pull their fork and know those tracking branches are current.
30   * Permit a project to establish "aggregate" branches:
31     - Pull a set of branches specified on a per-project basis.
32     - Periodically merge them into a specified testing branch.
33   * Provide transparent aggregation for graphiclog and diff between forks.
34     - Could use a 'mob' approach: all projects get a (hidden) mob fork, 
35       which houses temporary branches used by the underlying processes.
37 * Mirroring:
38   * Support CVS pserver URLs as mirror sources, subject to manual approval.
39   * Support mirroring using 'git svn' magic.
40   * Provide mechanism to enable 'push' mirrors to remote branches:
41     - Allows mirroring to sites that lack cron facilities (e.g. SF.net)
43 * Watchdogs:
44   * Let random strangers register watchdogs on certain project[#branch]:path
45     - Send emails to watchers whenever the specified path gets updated.
46   * Provide projects with means of viewing/contacting all watchers.
47     - Bonus: Allow the contact point to serve as fork-focused mailing list.
48   * Provide users with means of viewing/modifying/deleting their watchdogs.