aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ui-log: Implement support for commit graphsJohan Herland2010-11-166-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>
* ui-log: Change display of full commit messages (and notes)Johan Herland2010-11-162-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>
* html.c: use '+' to escape spaces in urlsLars Hjemli2010-11-101-2/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-log.c: improve handling of range-search argumentLars Hjemli2010-11-101-11/+60
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add vector utility functionsLars Hjemli2010-11-103-0/+56
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-log: Prevent crash when given empty range searchJohan Herland2010-11-101-1/+1
| | | | | Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: avoid spurious rebuilds of git sources due to `sudo make`Lars Hjemli2010-11-101-0/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-log: Fix filecount/linecount when path limit is in effectJohan Herland2010-11-093-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>
* Add `strict-export` optionFelix Hanley2010-11-084-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>
* Fix a typo in README, s/ExecCGI/+ExecCGIKamil Kaminski2010-11-081-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Append path and branch to atom feed titleLars Hjemli2010-11-071-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>
* Use committer date for atom feed entry updated elementChris Mayo2010-11-071-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>
* Merge branch 'stable'Lars Hjemli2010-11-070-0/+0
|\ | | | | | | | | | | | | Conflicts: scan-tree.c Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Use absolute path for scanned repo readmeDean Scarff2010-11-071-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>
* | Makefile: add -MP optionLars Hjemli2010-11-071-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>
* | Merge branch 'stable'Lars Hjemli2010-09-271-1/+1
|\| | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * CGIT 0.8.3.4v0.8.3.4Lars Hjemli2010-09-271-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Use GIT-1.7.3Lars Hjemli2010-09-275-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>
* | Merge branch 'stable'Lars Hjemli2010-09-191-2/+2
|\|
| * RSS items should always use UTC timesAaron Griffin2010-09-191-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>
* | Merge branch 'ml/bugfix'Lars Hjemli2010-09-1912-30/+42
|\ \
| * | prefer html_raw() to write()Mark Lodato2010-09-043-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>
| * | ui-repolist: fix redefinition of _XOPEN_SOURCEMark Lodato2010-09-041-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>
| * | fix errors in printf-style format stringsMark Lodato2010-09-046-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>
| * | use __attribute__ to catch printf format mistakesMark Lodato2010-09-043-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>
* | | Merge branch 'lh/section-from-path'Lars Hjemli2010-09-194-6/+45
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: scan-tree.c
| * | | Add support for 'section-from-path' optionLars Hjemli2010-08-224-6/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This option can be used to autogenerate section names during scan-path processing. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'lh/readme'Lars Hjemli2010-09-196-24/+43
|\ \ \ \
| * | | | Add support for "readme" optionLars Hjemli2010-08-226-24/+43
| |/ / / | | | | | | | | | | | | | | | | | | | | The value of this option is used as the default value for repo.readme. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | / / Use GIT-1.7.3Lars Hjemli2010-09-192-1/+1
| |/ / |/| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2010-09-011-0/+1
|\ \ \ | | |/ | |/|
| * | ui-snapshot: actually compress zip archivesLars Hjemli2010-09-011-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>
* | | Merge branch 'stable'Lars Hjemli2010-08-292-4/+7
|\| | | |/ |/|
| * html: fix strcpy bug in convert_query_hexcharMark Lodato2010-08-291-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>
| * t0108-patch: add 'tests_done' to endMark Lodato2010-08-291-0/+2
| | | | | | | | Signed-off-by: Mark Lodato <lodatom@gmail.com>
* | Use GIT-1.7.2.2Lars Hjemli2010-08-227-10/+10
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Support refspecs in about-filter.Jason A. Donenfeld2010-08-205-7/+63
| | | | | | | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'jd/gitolite'Lars Hjemli2010-08-045-17/+116
|\ \
| * | Add support for 'enable-gitweb-owner' optionJason A. Donenfeld2010-08-044-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>
| * | Add support for 'remove-suffix' optionJason A. Donenfeld2010-08-044-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>
| * | Add support for 'project-list' optionJason A. Donenfeld2010-08-045-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>
* | | Merge branch 'js/notes'Lars Hjemli2010-08-044-0/+57
|\ \ \
| * | | ui-log: Display git notes when presentJeff Smith2010-08-042-0/+23
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Jeff Smith <whydoubt@yahoo.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-commit: Display git notes when presentJeff Smith2010-08-043-0/+34
| |/ / | | | | | | | | | | | | Signed-off-by: Jeff Smith <whydoubt@yahoo.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2010-08-032-13/+15
|\ \ \ | |/ / |/| / | |/
| * CGIT 0.8.3.3v0.8.3.3Lars Hjemli2010-08-031-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * ui-refs.c: avoid segfault on unparsed ref objectsLars Hjemli2010-08-031-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>
* | commit-links.sh: Seperate the expressions for filtering commit messages.Jeff Smith2010-07-221-7/+9
| | | | | | | | | | This allows for putting descriptions closer to their expressions. It should also make it clearer how to apply an expression conditionally.
* | Makefile: do not include dependency-file on `make clean`Lynn Lin2010-07-221-1/+3
| | | | | | | | | | When envoking clean target, make should not perform the dependency file generation triggered by include.
* | Merge branch 'jh/ignorews'Lars Hjemli2010-07-187-12/+40
|\ \