summaryrefslogtreecommitdiffstats
path: root/gitweb
AgeCommit message (Collapse)AuthorLines
2006-10-27gitweb: Fix up bogus $stylesheet declarationsPetr Baudis-6/+2
This seems to be a pre-++ residual declaration and it wasn't good for anything at all besides flooding the webserver errorlog with "omg, our in the same scope!!" warnings. [jc: the patch was bogus by defining the variable which defeated a later test that checked it with "defined", which I fixed up.] Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-27Merge branch 'maint'Junio C Hamano-1/+1
* maint: gitweb: Check git base URLs before generating URL from it Documentation: add git in /etc/services. Documentation: add upload-archive service to git-daemon. git-cherry: document limit and add diagram diff-format.txt: Correct information about pathnames quoting in patch format
2006-10-27gitweb: Check git base URLs before generating URL from itJakub Narebski-1/+1
Check if each of git base URLs in @git_base_url_list is true before appending "/$project" to it to generate project URL. This fixes the error that for default configuration for gitweb in Makefile, with GITWEB_BASE_URL empty (and "++GITWEB_BASE_URL++" being "" in gitweb.cgi), we had URL of "/$project" in the summary view. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-26gitweb: Use --no-commit-id in git_commit and git_commitdiffJakub Narebski-7/+4
Use --no-commit-id option to git-diff-tree command in git_commit and git_commitdiff to filter out commit ID output that git-diff-tree adds when called with only one <tree-ish> (not only for --stdin). Remove filtering commit IDs from git-diff-tree output. This option is in git since at least v1.0.0, so make use of it. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-25gitweb: Support for 'forks'Petr Baudis-82/+174
On repo.or.cz, I want to support project 'forks', which are meant for repositories which are spinoffs of a given project and share its objects database through the alternates mechanism. But another (and perhaps even greater) incentive for that is that those 'forked projects' do not clutter the main project index but are completely grouped inside of the project view. A forked project is just like a normal project, but given project $projectroot/$projname.git, the forked project resides in directory $projectroot/$projname/$forkname.git. This is a somewhat arbitrary naming rule, but I think that for now it's fine; if someone will need something wildly different, let them submit a patch. The 'forked' mode is by default off and can be turned on in runtime gitweb configuration just like other features. A project having forks is marked by a '+' (pointing to the list of forks) in the project list (this could become some cutesy AJAXy DHTML in the future), there is a forks section in the project summary similar to the heads and tags sections, and of course a forks view which looks the same as the root project list. Forks can be recursive. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-25Merge branch 'jc/web'Junio C Hamano-50/+117
* jc/web: gitweb: Print commit message without title in commitdiff only if there is any gitweb: Filter out commit ID from @difftree in git_commit and git_commitdiff gitweb: Get rid of git_print_simplified_log gitweb: Show project's README.html if available gitweb: Do not automatically append " git" to custom site name gitweb: Make search type a popup menu gitweb: Restore object-named links in item lists gitweb: use for-each-ref to show the latest activity across branches
2006-10-25Merge branch 'jc/web-blame'Junio C Hamano-27/+105
* jc/web-blame: gitweb: spell "blame --porcelain" with -p blame: Document and add help text for -f, -n, and -p gitweb: blame porcelain: lineno and orig lineno swapped Remove git-annotate.perl and create a builtin-alias for git-blame gitweb: use blame --porcelain git-blame --porcelain blame.c: move code to output metainfo into a separate function. git-blame: --show-number (and -n) git-blame: --show-name (and -f) blame.c: whitespace and formatting clean-up. Gitweb - provide site headers and footers gitweb: blame: Mouse-over commit-8 shows author and date gitweb: blame: print commit-8 on the leading row of a commit-block Revert 954a6183756a073723a7c9fd8d2feb13132876b0 gitweb: prepare for repositories with packed refs. gitweb: make leftmost column of blame less cluttered.
2006-10-24gitweb: Print commit message without title in commitdiff only if there is anyJakub Narebski-3/+5
Print the rest of commit message (title, i.e. first line of commit message, is printed separately) only if there is any. In repository which uses signoffs this shouldn't happen, because commit message should consist of at least title and signoff. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-24gitweb: Filter out commit ID from @difftree in git_commit and git_commitdiffJakub Narebski-1/+6
Filter out commit ID output that git-diff-tree adds when called with only one <tree-ish> (not only for --stdin) in git_commit and git_commitdiff. This also works with older git versions, which doesn't have --no-commit-id option to git-diff-tree. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-24gitweb: Get rid of git_print_simplified_logJakub Narebski-11/+2
Replace calls to git_print_simplified_log with its expansion, i.e. with calling git_print_log with appropriate options. Remove no longer used git_print_simplified_log subroutine. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-23gitweb: Show project's README.html if availablePetr Baudis-0/+8
If the repository includes a README.html file, show it in the summary page. The usual "this should be in the config file" argument does not apply here since this can be larger and having such a big string in the config file would be impractical. I don't know if this is suitable upstream, but it's one of the repo.or.cz custom modifications that I've thought could be interesting for others as well. Compared to the previous patch, this adds the '.html' extension to the filename, so that it's clear it is, well, HTML. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-23gitweb: Do not automatically append " git" to custom site namePetr Baudis-3/+4
If you customized the site name, you probably do not want the " git" appended so that the page title is not bastardized; I want repo.or.cz pages titled "Public Git Hosting", not "Public Git Hosting git" (what's hosting what?). This slightly changes the $site_name semantics but only very insignificantly. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-23gitweb: Make search type a popup menuPetr Baudis-16/+47
This makes the multiple search types actually usable by the user; if you don't read the gitweb source, you don't even have an idea that you can write things like that there. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-23gitweb: Restore object-named links in item listsPetr Baudis-6/+22
This restores the redundant links removed earlier. It supersedes my patch to stick slashes to tree entries. Sorry about the previous version of the patch, an unrelated snapshot link addition to tree entries slipped through (and it it didn't even compile); I've dropped the idea of snapshot links in tree entries in the meantime anyway. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-23Merge branch 'master' into jc/webJunio C Hamano-87/+213
* master: (114 commits) gitweb: Fix setting $/ in parse_commit() daemon: do not die on older clients. xdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header. git-clone: honor --quiet Documentation for the [remote] config prune-packed: Fix uninitialized variable. ignore-errors requires cl git-send-email: do not pass custom Date: header Use column indexes in git-cvsserver where necessary. gitweb: Add '..' (up directory) to tree view if applicable gitweb: Improve git_print_page_path pager: default to LESS=FRSX not LESS=FRS Make prune also run prune-packed git-vc: better installation instructions gitweb: Do not esc_html $basedir argument to git_print_tree_entry gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2) Fix usagestring for git-branch git-merge: show usage if run without arguments add the capability for index-pack to read from a stream git-clone: define die() and use it. ...
2006-10-23Merge branch 'maint'Junio C Hamano-2/+1
* maint: gitweb: Fix setting $/ in parse_commit() daemon: do not die on older clients. xdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header. git-clone: honor --quiet Documentation for the [remote] config prune-packed: Fix uninitialized variable.
2006-10-23gitweb: Fix setting $/ in parse_commit()v1.4.3.2Petr Baudis-2/+1
If the commit couldn't have been read, $/ wasn't restored to \n properly, causing random havoc like git_get_ref_list() returning the ref names with trailing \n. Aside of potential confusion in the body of git_search(), no other $/ surprises are hopefully hidden in the code. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-22gitweb: Add '..' (up directory) to tree view if applicableJakub Narebski-0/+24
Adds '..' (up directory) link at the top of "tree" view listing, if both $hash_base and $file_name are provided, and $file_name is not empty string. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-22gitweb: Improve git_print_page_pathJakub Narebski-8/+8
Add link to "tree root" (root directory) also for not defined name, for example for "tree" action without defined "file_name" which means "tree root". Add " / " at the end of path when $type eq "tree". Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-22Merge branch 'maint'Junio C Hamano-33/+36
* maint: pager: default to LESS=FRSX not LESS=FRS Make prune also run prune-packed git-vc: better installation instructions gitweb: Do not esc_html $basedir argument to git_print_tree_entry gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2) Fix usagestring for git-branch git-merge: show usage if run without arguments
2006-10-22gitweb: Do not esc_html $basedir argument to git_print_tree_entryJakub Narebski-3/+6
In git_tree, rename $base variable (which is passed as $basedir argument to git_print_tree_entry) to $basedir. Do not esc_html $basedir, as it is part of file_name ('f') argument in link and not printed. Add '/' at the end only if $basedir is not empty (it is empty for top directory) and doesn't end in '/' already. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-22gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2)Jakub Narebski-30/+30
Code should be aligned the same way, regardless of tab size. Use tabs for indent, but spaces for align. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-18Merge branch 'mw/pathinfo'Junio C Hamano-20/+85
* mw/pathinfo: gitweb: Fix search form when PATH_INFO is enabled gitweb: Document features better gitweb: warn if feature cannot be overridden. gitweb: start to generate PATH_INFO URLs. Conflicts: gitweb/README
2006-10-15gitweb: use for-each-ref to show the latest activity across branchesJunio C Hamano-11/+24
The project list page shows last change from the HEAD branch but often people would want to view activity on any branch. Unfortunately that is fairly expensive without the core-side support. for-each-ref was invented exactly for that. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-12gitweb: spell "blame --porcelain" with -pJunio C Hamano-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-11gitweb: Fix search form when PATH_INFO is enabledPetr Baudis-0/+4
Currently that was broken. Ideal fix would make the search form use PATH_INFO too, but it's just one insignificant place so it's no big deal if we don't for now... This at least makes it work. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-11gitweb: blame porcelain: lineno and orig lineno swappedLuben Tuikov-1/+1
Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-08gitweb: Cleanup Git logo and Git logo target generationJakub Narebski-8/+14
Rename $githelp_url and $githelp_label to $logo_url and $logo_label to be more obvious what they refer to; while at it add commented out previous contents (git documentation at kernel.org). Add comment about logo size. Use $cgi->a(...) to generate Git logo link; it automatically escapes attribute values when it is needed. Escape href attribute using esc_url instead of (incorrect!) esc_html. Move styling of git logo <img> element from "style" attribute to CSS via setting class to "logo". Perhaps we should set it by id rather than by class. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-07gitweb: Document features betterPetr Baudis-19/+56
This expands gitweb/README to talk some more about GITWEB_CONFIG, moves feature-specific documentation in gitweb.cgi to the inside of the %features array, and adds some short description of all the features. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-07gitweb: [commit view] Do not suppress commitdiff link in root commitPetr Baudis-1/+1
There's no reason for that, the commitdiff view is meaningful for the root commit as well and we link to it everywhere else. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-07gitweb: Handle commits with empty commit messages more reasonablyPetr Baudis-0/+3
Currently those look very weird, you can't get easily at the commit view etc. This patch makes their title '(no commit message)'. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-07gitweb: Separate (new) and (deleted) in commitdiff by a spacePetr Baudis-2/+2
Currently it's pasted to the sha1 of the blob and looks ugly. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-07Show snapshot link in shortlog only if have_snapshoPetr Baudis-2/+4
Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-06gitweb: refactor decode() for utf8 conversionYasushi SHOJI-7/+13
we already had a few place using decode() to convert perl internal encode to utf8. added a new thin wrapper to do just that. Signed-off-by: Yasushi SHOJI <yashi@atmark-techno.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-06gitweb: use blame --porcelainJunio C Hamano-21/+44
This makes gitweb (git_blame2) use "blame --porcelain", which lets the caller to figure out which line in the original version each line comes from. Using this information, change the behaviour of clicking the line number to go to the line of the blame output for the original commit. Before, clicking the line number meant "scoll up to show this line at the beginning of the page", which was not all that useful. The new behaviour lets you click on the line you are interested in to view the line in the context it was introduced, and keep digging deeper as you examine it. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-06Merge branch 'jc/blame' into jc/web-blameJunio C Hamano-9/+25
* jc/blame: git-blame --porcelain blame.c: move code to output metainfo into a separate function. git-blame: --show-number (and -n) git-blame: --show-name (and -f) blame.c: whitespace and formatting clean-up. gitweb: Make the Git logo link target to point to the homepage gitweb: blame: Minimize vertical table row padding gitweb: Do not print "log" and "shortlog" redundantly in commit view vc-git.el: Switch to using git-blame instead of git-annotate. git.el: Fixed inverted "renamed from/to" message. tar-tree deprecation: we eat our own dog food. Add git-upload-archive to the main git man page git-commit: cleanup unused function. Fix usage string to match that given in the man page Update the gitweb/README file to include setting the GITWEB_CONFIG environment Conflicts: gitweb/gitweb.perl
2006-10-05gitweb: Make the Git logo link target to point to the homepageJunio C Hamano-1/+6
It provides more useful information for causual Git users than the Git docs (especially about where to get Git and such). People can override with GITWEB_CONFIG if they want to. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net> Acked-by: Petr Baudis <pasky@suse.cz>
2006-10-05gitweb: blame: Minimize vertical table row paddingLuben Tuikov-0/+6
Minimize vertical table row padding for blame only. I discovered this while having the browser's blame output right next to my editor's window, only to notice how much vertically stretched the blame output was. Blame most likely shows source code and is in this way more "spartan" than the rest of the tables gitweb shows. This patch makes the blame table more vertically compact, thus being closer to what you'd see in your editor's window, as well as reusing more window estate to show more information (which in turn minimizes scrolling). Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-05gitweb: Do not print "log" and "shortlog" redundantly in commit viewLuben Tuikov-5/+0
Do not print "log" and "shortlog" redundantly in commit view. This is passed into the $extra argument of git_print_page_nav from git_commit, but git_print_page_nav prints "log" and "shortlog" already with the same head. Noticed by Junio. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-05tar-tree deprecation: we eat our own dog food.Junio C Hamano-3/+6
It is silly to keep using git-tar-tree in dist target when the command gives a big deprecation warning when called. Instead, use "git-archive --format=tar" which we recommend to our users. Update gitweb's snapshot feature to use git-archive for the same reason. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-04gitweb: warn if feature cannot be overridden.Martin Waitz-0/+4
If the administrator configures pathinfo to be overrideable by the local repository a warning is shown. Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-04Gitweb - provide site headers and footersAlan Chandler-7/+38
This allows web sites with a header and footer standard for each page to add them to the pages produced by gitweb. Two new variables $site_header and $site_footer are defined (default to null) each of which can specify a file containing the header and footer html. In addition, if the $stylesheet variable is undefined, a new array @stylesheets (which defaults to a single element of gitweb.css) can be used to specify more than one style sheet. This allows the clasical gitweb.css styles to be retained, but a site wide style sheet used within the header and footer areas. Signed-off-by: Alan Chandler <alan@chandlerfamily.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-04gitweb: blame: Mouse-over commit-8 shows author and dateLuben Tuikov-5/+7
Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-04gitweb: blame: print commit-8 on the leading row of a commit-blockLuben Tuikov-3/+9
Print commit-8 only on the first, leading row of a commit block, to complement the per-commit block coloring. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-04Revert 954a6183756a073723a7c9fd8d2feb13132876b0Junio C Hamano-86/+13
Luben makes a good argument against it, and I agree with him in general. The clickable handle that appear at seemingly random places makes them look as if they are separating groups when it is not. This also restores the executable bit I lost by mistake. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-03Update the gitweb/README file to include setting the GITWEB_CONFIG environmentAlan Chandler-0/+7
Signed-off-by: Alan Chandler <alan@chandlerfamily.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-03gitweb: prepare for repositories with packed refs.Junio C Hamano-6/+20
When a repository is initialized long time ago with symbolic HEAD, and "git-pack-refs --prune" is run, HEAD will be a dangling symlink to refs/heads/ somewhere. Running -e "$dir/HEAD" to guess if $dir is a git repository does not give us the right answer anymore in such a case. Also factor out two places that checked if the repository can be exported with similar code into a call to a new function, check_export_ok. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-03gitweb: make leftmost column of blame less cluttered.Junio C Hamano-13/+86
Instead of labelling each and every line with clickable commit object name, this makes the blame output to show them only on the first line of each group of lines from the same revision. Placing too many lines in one group would make the commit object name to appear too widely separated and also makes it consume more memory, the number of lines in one group is capped to 20 lines or so. Also it makes mouse-over to show the minimum authorship and authordate information for extra cuteness ;-). Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-03gitweb: document webserver configuration for common gitweb/repo URLs.Martin Waitz-1/+25
Add a small apache configuration which shows how to use apache to put gitweb and GIT repositories at the same URL. Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-03gitweb: Escape ESCAPE (\e) characterLuben Tuikov-0/+1
Take a look at commit 20a3847d8a5032ce41f90dcc68abfb36e6fee9b1 using gitweb before this patch. This patch fixes this. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>