summaryrefslogtreecommitdiffabout
AgeCommit message (Collapse)AuthorFilesLines
2010-11-16ui-log: Colorize commit graphJohan Herland2-0/+43
Use the existing coloring logic in Git's graph code to color the lines between commits in the commit graph. Whereas Git normally uses ANSI color escapes to produce colors, we here use graph_set_column_colors() to replace those with HTML color escapes, that embed the graph lines in <span> tags that apply the desired color using CSS. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-16ui-log: Implement support for commit graphsJohan Herland6-23/+112
Teach CGit to print an ASCII art commit graph to the left of the commit message, similar to 'git log --graph'. The graph adds extra lines (table rows) to the log when needed to add/remove/shuffle edges in the graph. When 'showmsg' is enabled, the graph is automatically padded to account for the extra lines added by the commit message/notes. This feature is controlled by a new config variable: "enable-commit-graph" (disabled by default), and individual repos can control it by setting "repo.enable-commit-graph". Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-16ui-log: Change display of full commit messages (and notes)Johan Herland2-25/+18
When showmsg is enabled, ui-log (in addition to the table row containing the details of the current commit) adds a second table row containing the remainder of the commit message, and yet another table row containing the commit notes (if any). The vertical margins between commit subject, commit message and commit notes are controlled by CSS. In preparation for the commit graph (which will be printed to the left of the commit message/notes) we need to eliminate these vertical margins (as they would produce ugly gaps in the commit graph) and instead achieve them by adding newlines to the commit message/notes. Furthermore, we can no longer print the "Notes:" header in the "Age" column, since the graph will be drawn between the "Age" column and the "Commit message" column. This patch therefore prepares the commit message and commit notes in a single buffer (properly formatting the notes using the NOTES_SHOW_HEADER and NOTES_INDENT flags to format_note()), and then prints the entire buffer into a single table row. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-09html.c: use '+' to escape spaces in urlsLars Hjemli1-2/+2
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-09ui-log.c: improve handling of range-search argumentLars Hjemli1-11/+60
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-09Add vector utility functionsLars Hjemli3-0/+56
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-09ui-log: Prevent crash when given empty range searchJohan Herland1-1/+1
Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-09Makefile: avoid spurious rebuilds of git sources due to `sudo make`Lars Hjemli1-0/+2
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-09ui-log: Fix filecount/linecount when path limit is in effectJohan Herland3-4/+5
When using ui-log with path limits, the listing of commits enables parent rewriting in Git's internal log machinery. This did not work well together with cgit_diff_commit() which is used to generate the filecount and linecount numbers for each commit in the log view. cgit_diff_commit() would operate without any path limits, and would therefore process the full diff between the commits shown (which, because of parent rewriting, is not the same as processing the diff for the commit itself). Additionally, the bottom commit in the log view would (again, because of parent rewriting) have zero parents, causing us to process the entire diff between the empty tree and that commit. Since path limits were not in effect, this would (in large projects) reports thousands of files and millions of lines changed in that bottom commit. This patch fixes the issue by applying the same path limit to cgit_diff_commit() as is applied to the rest of the log view. The result is that the filecount/linecount now only reflects the diff as it pertains to the given path limit. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-08Add `strict-export` optionFelix Hanley4-0/+14
This option is used to specify a filename which needs to be present in the repositories found during `scan-path` processing. By setting this option to 'git-daemon-export-ok', only repositories explicitly marked for git daemon export will be included in the cgit configuration. Signed-off-by: Felix Hanley <felix@seconddrawer.com.au> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-08Fix a typo in README, s/ExecCGI/+ExecCGIKamil Kaminski1-1/+1
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-07Append path and branch to atom feed titleLars Hjemli1-0/+8
Currently all atom feeds for a repository get the same title but they are actually unique per path and per branch. Signed-off-by: Chris Mayo <aklhfex@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-07Use committer date for atom feed entry updated elementChris Mayo1-1/+1
Committer date reflects the most recent change and is used for ordering the log page (author date is still available in published element of the feed entry). Signed-off-by: Chris Mayo <aklhfex@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-07Merge branch 'stable'Lars Hjemli0-0/+0
Conflicts: scan-tree.c Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-07Use absolute path for scanned repo readmeDean Scarff1-1/+1
repo.readme is transformed to an absolute path when read from the config, so add_repo needs to add "README.html" with the repository path too. Signed-off-by: Dean Scarff <dos@scarff.id.au> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-07Makefile: add -MP optionLars Hjemli1-1/+1
Work around errors `make` gives when header files are removed without the Makefile being updated. Signed-off-by: Lynn Lin <Lynn.Lin@emc.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-09-27Merge branch 'stable'Lars Hjemli1-1/+1
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-09-27CGIT 0.8.3.4v0.8.3.4Lars Hjemli1-1/+1
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-09-27Use GIT-1.7.3Lars Hjemli5-8/+8
This fixes http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-2542. Noticed-by: Silvio Cesare <silvio.cesare@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-09-19Merge branch 'stable'Lars Hjemli1-2/+2
2010-09-19RSS items should always use UTC timesAaron Griffin1-2/+2
The format uses a 'Z' suffix, which indicates no TZ offset. Thus we should not respect the local-time config setting here. Signed-off-by: Aaron Griffin <agriffin@datalogics.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-09-19Merge branch 'ml/bugfix'Lars Hjemli12-30/+42
2010-09-19Merge branch 'lh/section-from-path'Lars Hjemli4-6/+45
Conflicts: scan-tree.c
2010-09-19Merge branch 'lh/readme'Lars Hjemli6-24/+43
2010-09-19Use GIT-1.7.3Lars Hjemli2-1/+1
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-09-04prefer html_raw() to write()Mark Lodato3-12/+12
To make the code more consistent, and to not rely on the implementation of html(), always use html_raw(...) instead of write(htmlfd, ...). Signed-off-by: Mark Lodato <lodatom@gmail.com>
2010-09-04ui-repolist: fix redefinition of _XOPEN_SOURCEMark Lodato1-6/+0
Previously, ui-repolist.c set _GNU_SOURCE and then included a standard library before including <git-compat-util.h>. This was a problem, because <git-compat-util.h> redefined _XOPEN_SOURCE, which is set automatically by glibc when _GNU_SOURCE is set. However, <git-compat-util.h> already sets _GNU_SOURCE and includes both <string.h> and <time.h>, so there is no need to define _GNU_SOURCE or include either header within ui-repolist.c. Signed-off-by: Mark Lodato <lodatom@gmail.com>
2010-09-04fix errors in printf-style format stringsMark Lodato6-12/+25
There were many places where the arguments to a printf-like function did not match the format string. Mostly, these were a missing 'l' flag, but there were three exceptions: - In ui-stats.c, a size_t argument must be printed. C99 has the "%zu" flag for this purpose, but not all compilers support this. Therefore, we mimic what git does - use a NO_C99_FORMAT Makefile variable. - In ui-stats.c, cgit_print_error() was called with a pointer instead of a character. - In ui-log.c, the "columns" argument was never used. Signed-off-by: Mark Lodato <lodatom@gmail.com>
2010-09-04use __attribute__ to catch printf format mistakesMark Lodato3-0/+5
Use "__attribute__((format (printf,N,M)))", as is done in git, do catch mistakes in printf-style format strings. Signed-off-by: Mark Lodato <lodatom@gmail.com>
2010-09-01Merge branch 'stable'Lars Hjemli1-0/+1
2010-09-01ui-snapshot: actually compress zip archivesLars Hjemli1-0/+1
Since cgit linked with git-1.6.0 all zip archives has been uncompressed. This patch fixes the issue by specifying Z_DEFAULT_COMPRESSION. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-29Merge branch 'stable'Lars Hjemli2-4/+7
2010-08-29html: fix strcpy bug in convert_query_hexcharMark Lodato1-4/+5
The source and destination strings in strcpy() may not overlap. Instead, use memmove(), which allows overlap. This fixes test t0104, where 'url=foo%2bbar/tree' was being parsed improperly. Signed-off-by: Mark Lodato <lodatom@gmail.com>
2010-08-29t0108-patch: add 'tests_done' to endMark Lodato1-0/+2
Signed-off-by: Mark Lodato <lodatom@gmail.com>
2010-08-22Add support for 'section-from-path' optionLars Hjemli4-6/+45
This option can be used to autogenerate section names during scan-path processing. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-22Add support for "readme" optionLars Hjemli6-24/+43
The value of this option is used as the default value for repo.readme. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-22Use GIT-1.7.2.2Lars Hjemli7-10/+10
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-20Support refspecs in about-filter.Jason A. Donenfeld5-7/+63
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-04Merge branch 'jd/gitolite'Lars Hjemli5-17/+116
2010-08-04Merge branch 'js/notes'Lars Hjemli4-0/+57
2010-08-04ui-log: Display git notes when presentJeff Smith2-0/+23
Signed-off-by: Jeff Smith <whydoubt@yahoo.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-04ui-commit: Display git notes when presentJeff Smith3-0/+34
Signed-off-by: Jeff Smith <whydoubt@yahoo.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-04Add support for 'enable-gitweb-owner' optionJason A. Donenfeld4-9/+33
When this option is enabled (which it is by default), cgit will lookup the 'gitweb.owner' setting in each git config file found when processing the 'scan-path' option. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-04Add support for 'remove-suffix' optionJason A. Donenfeld4-0/+13
When this option is enabled, the '.git' suffix of repository directories found while processing the 'scan-path' option will be removed. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-04Add support for 'project-list' optionJason A. Donenfeld5-8/+70
This option specifies the location of a projectlist file as used by gitweb - when 'scan-tree' is later specified, only the projects listed in the projectlist file will be added. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-03Merge branch 'stable'Lars Hjemli2-13/+15
2010-08-03CGIT 0.8.3.3v0.8.3.3Lars Hjemli1-1/+1
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-03ui-refs.c: avoid segfault on unparsed ref objectsLars Hjemli1-12/+14
When a ref refers to something other then a commit or tag object, cgit could segfault when trying to display the tag info. Noticed-by: Eugene Sajine <euguess@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-07-22commit-links.sh: Seperate the expressions for filtering commit messages.Jeff Smith1-7/+9
This allows for putting descriptions closer to their expressions. It should also make it clearer how to apply an expression conditionally.
2010-07-22Makefile: do not include dependency-file on `make clean`Lynn Lin1-1/+3
When envoking clean target, make should not perform the dependency file generation triggered by include.