todo: ideas about checkout.
[viewgit.git] / doc / TODO
blobc908feb887b0ef0e675dd40f495ea2c5dfea9ec8
1 - tree
2         - pass OPTIONAL commit_id in 'hb' parameter (should be kept in next links)
3                 -> pagenav commit/commitdiff will link to the commit related 
4         - a given tree may be related to multiple commits
5         - further directory/file viewing links should retain full path from commit in 'f'
6         - main nav bar should show path "fragments" if present, and link to each
8 - commitdiff: after log, show changed files with section link to diff
9 - shortlog: accept branch/tag name as 'h'
10         - or in validate_hash()
12 - research whether git checkout can be made to work through viewgit
13         - If repos use git-update-server-info, could perhaps use internal rewrite to send requests to the .git directories
14                 - ^.*\.git$ -> redirect to .git dir
15         - alternatively, could generate the needed info on fly when client request comes
16         - should be configurable whether checkout can be done, and whether to show the checkout command on pages
18 - make sure stuff works when a commit has multiple parents (merge/octopus)
20 [Milestones]
21 - Public Launch (0.0.1?)
22         - a public demo
23         - must have a minimalistic but useful interface
24         - must have features planned as mandatory
25         - should be at least able to rival other similar projects (the PHP ones at least)
26         - validate generated pages
28         - sourceforge project
29         - website, tracked with Google Analytics
30         - freshmeat project page
31         - post link to <http://git.or.cz/gitwiki/Gitweb>
32         - announce on git list
33         - announce on viewsvn's news section
34         - link from viewsvn's page
35 - First fixes & new features based on feedback (0.0.2)
37 [features]
38 - ideas in nutshell
39         - free git repository viewer that is easy to install and does not have many dependencies
40         - depends: PHP5, git
41 - mandatory features (0.0.1)
42         - project list (configurable or from a root, using globs perhaps?)
43                 - DONE name, description (.git/description), action links
44         - DONE tar.gz snapshots of trees
45         - DONE shortlog
46         - root dir, under which all directories are shown on viewgit
47         - DONE tree browsing / downloading of individual files
48         - documentation: README/INSTALL, LICENSE, example config
49 - optional
50         - RSS feeds: projects, shortlog
51         - branches list?
52         - tag list
53 - don't mimic gitweb interface as it's a tad clunky
55 [misc]
56 - name?
57         - ViewGit
58                 - 3 google hits, none of a project
59                 - Not registered at: SourceForge, Freshmeat, BerliOS
61 - license?
62         - GPLv2 vs. GPLv3 vs. AGPLv3
63         - add clarification that linking to the original homepage is enough to provide source, as long as it's around
64         - when decided, state in the commit log that it holds retroactively for earlier commits?
65         - contributions should be licensed under aforementioned license "or any later version approved by" me (to allow upgrading to GPLv4 or whatever later?)
67 - bundle about page that says what the software is and where to download it
69 - other projects?
70         - <http://git.or.cz/gitwiki/Gitweb>
72 [low priority]
73 - full log page
74 - summary: show [MASTER] and so on if the given commit is a tag or a head
75 - commit: option to hide/scramble the e-mail
76 - archive: use ob_start/ob_length/ob_flush for creating archives so that Content-Length can be sent