summary refs log tree commit diff
path: root/Makefile (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Bump version v1.2.2Jason A. Donenfeld2020-01-131-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* git: update to v2.25.0Christian Hesse2020-01-131-1/+1
| | | | | | | | | | Update to git version v2.25.0. Upstream renamed 'init_display_notes()' to 'load_display_notes()' in commit 1e6ed5441a61b5085978e0429691e2e2425f6846 ("notes: rename to load_display_notes()"). Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.24.1Christian Hesse2019-12-101-1/+1
| | | | | | | | Update to git version v2.24.1. No changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.24.0Christian Hesse2019-11-081-1/+1
| | | | | | | | | | | Update to git version v2.24.0. Never use get_cached_commit_buffer() directly, use repo_get_commit_buffer() instead. The latter calls the former anyway. This fixes segmentation fault when commit-graph is enabled and get_cached_commit_buffer() does not return the expected result. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.23.0Christian Hesse2019-10-251-1/+1
| | | | | | | | Update to git version v2.23.0. No changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.22.0Christian Hesse2019-10-251-1/+1
| | | | | | | | | | Update to git version v2.22.0. Upstream commit bce9db6d ("trace2: use system/global config for default trace2 settings") caused a regression. We have to unset HOME and XDG_CONFIG_HOME before early loading of config from trace2 code kicks in. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.21.0Christian Hesse2019-06-051-1/+1
| | | | | | | | | | | | | | Update to git version v2.21.0. Required changes follow upstream commits: * 6a7895fd8a3bd409f2b71ffc355d5142172cc2a0 (commit: prepare free_commit_buffer and release_commit_memory for any repo) * e092073d643b17c82d72cf692fbfaea9c9796f11 (tree.c: make read_tree*() take 'struct repository *') Signed-off-by: Christian Hesse <mail@eworm.de> Reviewed-by: John Keeping <john@keeping.me.uk>
* git: update to v2.20.0Christian Hesse2018-12-091-1/+1
| | | | | | | | | | | | Update to git version v2.20.0. Required changes follow upstream commits: * 00436bf1b1c2a8fe6cf5d2c2457d419d683042f4 (archive: initialize archivers earlier) * 611e42a5980a3a9f8bb3b1b49c1abde63c7a191e (xdiff: provide a separate emit callback for hunks) Signed-off-by: Christian Hesse <mail@eworm.de>
* git: use xz compressed archive for downloadChristian Hesse2018-11-211-2/+2
| | | | | | | | | Upstream will stop providing gz compressed source tarballs [0], so stop using them. [0] https://lists.zx2c4.com/pipermail/cgit/2018-November/004254.html Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.19.1Christian Hesse2018-10-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update to git version v2.19.1. Required changes follow upstream commits: * commit: add repository argument to get_cached_commit_buffer (3ce85f7e5a41116145179f0fae2ce6d86558d099) * commit: add repository argument to lookup_commit_reference (2122f6754c93be8f02bfb5704ed96c88fc9837a8) * object: add repository argument to parse_object (109cd76dd3467bd05f8d2145b857006649741d5c) * tag: add repository argument to deref_tag (a74093da5ed601a09fa158e5ba6f6f14c1142a3e) * tag: add repository argument to lookup_tag (ce71efb713f97f476a2d2ab541a0c73f684a5db3) * tree: add repository argument to lookup_tree (f86bcc7b2ce6cad68ba1a48a528e380c6126705e) * archive.c: avoid access to the_index (b612ee202a48f129f81f8f6a5af6cf71d1a9caef) * for_each_*_object: move declarations to object-store.h (0889aae1cd18c1804ba01c1a4229e516dfb9fe9b) Signed-off-by: Christian Hesse <mail@eworm.de>
* Bump version. v1.2.1Jason A. Donenfeld2018-08-031-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Bump version. v1.2Jason A. Donenfeld2018-07-131-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* git: update to v2.18.0Christian Hesse2018-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update to git version v2.18.0. Required changes follow upstream commits: * Convert find_unique_abbrev* to struct object_id (aab9583f7b5ea5463eb3f653a0b4ecac7539dc94) * sha1_file: convert read_sha1_file to struct object_id (b4f5aca40e6f77cbabcbf4ff003c3cf30a1830c8) * sha1_file: convert sha1_object_info* to object_id (abef9020e3df87c441c9a3a95f592fce5fa49bb9) * object-store: move packed_git and packed_git_mru to object store (a80d72db2a73174b3f22142eb2014b33696fd795) * treewide: rename tree to maybe_tree (891435d55da80ca3654b19834481205be6bdfe33) The changed data types required some of our own functions to be converted to struct object_id: ls_item print_dir print_dir_entry print_object single_tree_cb walk_tree write_tree_link And finally we use new upstream functions that were added for struct object_id: hashcpy -> oidcpy sha1_to_hex -> oid_to_hex Signed-off-by: Christian Hesse <mail@eworm.de> Reviewed-by: John Keeping <john@keeping.me.uk>
* git: update to v2.17.1Christian Hesse2018-06-271-1/+1
| | | | | | | | | Update to git version v2.17.1. Required changes: * The function 'typename' has been renamed to 'type_name' (upstream commit debca9d2fe784193dc2d9f98b5edac605ddfefbb) Signed-off-by: Christian Hesse <mail@eworm.de>
* Makefile: drive asciidoc directly for HTML outputJohn Keeping2018-06-161-1/+8
| | | | | | | | | | | | | | This is mostly taken from Git's doc/Makefile, although simplified for our use. The output now uses Asciidoc's default CSS which I think looks a bit nicer than the Docbook formatting; as a result of this we no longer need our custom .css file. A side effect of this change is that temporary files generated from the HTML output no longer conflict with the manpage output format (because any temporary HTML output files use names derived from the output filename which includes .html). Signed-off-by: John Keeping <john@keeping.me.uk>
* doc: use consistent id's when generating html filesTodd Zullinger2018-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | | The html documentation is generated using a2x which calls docbook tools to do the work. The generate.consistent.ids parameter ensures that when the docbook stylesheet assigns an id value to an output element it is consistent as long as the document structure has not changed. Having consistent html files reduces frivolous changes between builds. Distributions can more easily deploy multiple architecture builds and compare changes between package versions. End-users avoid needless changes in files deployed or backed up. The generate.consistent.ids parameter was added in docbook-xsl-1.77.0. Older versions gracefully ignore the parameter, so we can pass the parameter unconditionally. Most distributions contain docbook-xsl newer than 1.77.0. This includes Fedora, Debian, Ubuntu, and RHEL/CentOS 7. RHEL/CentOS 6 and Debian Wheezy (old stable) ship with an older version, unsurprisingly. Signed-off-by: Todd Zullinger <tmz@pobox.com>
* git: update to v2.16.0Christian Hesse2018-01-191-1/+1
| | | | | | | | | | | | | | | Update to git version v2.16.0: * refs: convert resolve_ref_unsafe to struct object_id (49e61479be913f67e66bb3fdf8de9475c41b58bd) * diff: remove DIFF_OPT_SET macro (23dcf77f48feb49c54bad09210f093a799816334) * log: add option to choose which refs to decorate (65516f586b69307f977cd67cc45513a296cabc25) * diff: convert flags to be stored in bitfields (02f2f56bc377c287c411947d0e1482aac888f8db) Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.15.1Christian Hesse2017-12-061-1/+1
| | | | | | | | Update to git version v2.15.1: With commit 0abe14f6 prepare_packed_git() moved to packfile.[ch]. Signed-off-by: Christian Hesse <mail@eworm.de> Reviewed-by: John Keeping <john@keeping.me.uk>
* git: update to v2.14Jeff Smith2017-08-101-1/+1
| | | | | | | | | | | | | | | | Numerous changes were made to git functions to use an object_id structure rather than sending sha1 hashes as raw unsigned character arrays. The functions that affect cgit are: parse_object, lookup_commit_reference, lookup_tag, lookup_tree, parse_tree_indirect, diff_root_tree_sha1, diff_tree_sha1, and format_display_notes. Commit b2141fc (config: don't include config.h by default) made it necessary to that config.h be explicitly included when needed. Commit 07a3d41 (grep: remove regflags from the public grep_opt API) removed one way of specifying the ignore-case grep option. Signed-off-by: Jeff Smith <whydoubt@gmail.com>
* git: update to v2.13.4Christian Hesse2017-08-101-1/+1
| | | | | | | | | | Update to git version v2.13.4: With commit 8aee769f (pathspec: copy and free owned memory) the definition of struct pathspec_item has changed with the expectation that pathspecs will be managed dynamically. We work around this a bit by setting up a static structure, but let's allocate the match string to avoid needing to cast away const. Updated a patch from John Keeping <john@keeping.me.uk> for git v2.12.1.
* git: update to v2.11.0Christian Hesse2016-11-301-1/+1
| | | | | Update to git version v2.11.0. Function write_archive() dropped argument (int setup_prefix).
* Bump version. v1.1Jason A. Donenfeld2016-11-231-1/+1
|
* git: update to v2.10.2Christian Hesse2016-11-061-1/+1
| | | | Update to git version v2.10.2, no changes required.
* git: update to v2.10.1Christian Hesse2016-10-041-1/+1
| | | | Update to git version v2.10.1, no changes required.
* Makefile: remove extra spaceJason A. Donenfeld2016-10-011-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* git: update to v2.10.0Christian Hesse2016-09-041-1/+1
| | | | | | | | Upstream continues to replace unsigned char *sha1 with struct object_id old_oid. This makes the required changes. The git lib has its own main function now. Rename our main function to cmd_main, it is called from main then.
* git: update to v2.9.1Christian Hesse2016-07-121-1/+1
| | | | | | Update to git version v2.9.1, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.9.0Christian Hesse2016-06-171-1/+1
| | | | | | Update to git version v2.9.0, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* Bump version. v1.0Jason A. Donenfeld2016-06-071-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* git: update to v2.8.3Christian Hesse2016-05-201-1/+1
| | | | | | Update to git version v2.8.3, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.8.2Christian Hesse2016-05-121-1/+1
| | | | | | | | | Update to git version v2.8.2. * Upstream commit 1a0c8dfd89475d6bb09ddee8c019cf0ae5b3bdc2 (strbuf: give strbuf_getline() to the "most text friendly" variant) changed API. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.7.2Christian Hesse2016-02-231-1/+1
| | | | | | Update to git version v2.7.2, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.7.1Christian Hesse2016-02-081-1/+1
| | | | | | Update to git version v2.7.1, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* Bump version v0.12Jason A. Donenfeld2016-01-141-1/+1
|
* git: update to v2.7.0Christian Hesse2016-01-131-1/+1
| | | | | | | | | | | | | | Update to git version v2.7.0. * Upstream commit ed1c9977cb1b63e4270ad8bdf967a2d02580aa08 (Remove get_object_hash.) changed API: Convert all instances of get_object_hash to use an appropriate reference to the hash member of the oid member of struct object. This provides no functional change, as it is essentially a macro substitution. Signed-off-by: Christian Hesse <mail@eworm.de>
* Makefile: fix MAKEFLAGS tests with multiple flagsJohn Keeping2015-10-091-1/+1
| | | | | | | | findstring is defined as $(findstring FIND,IN) so if multiple flags are set these tests do the wrong thing unless $(MAKEFLAGS) is the second argument. Signed-off-by: John Keeping <john@keeping.me.uk>
* git: update to v2.6.1Christian Hesse2015-10-061-1/+1
| | | | | | Update to git version v2.6.1, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* Makefile: make "git/config.mak.uname" inclusion optionalJohn Keeping2015-08-131-1/+1
| | | | | | | If we haven't got a "git" directory, it should still be possible to run "make get-git", so we cannot include this file unconditionally. Signed-off-by: John Keeping <john@keeping.me.uk>
* Makefile: include Git's config.mak.unameJohn Keeping2015-08-131-0/+1
| | | | | | | This pulls in the correct value of $(INSTALL) on a wide variety of systems. Signed-off-by: John Keeping <john@keeping.me.uk>
* git: update to v2.5.0Christian Hesse2015-08-121-1/+1
| | | | | | | | | | | | | | | Update to git version v2.5.0. * Upstream commit 5455ee0573a22bb793a7083d593ae1ace909cd4c (Merge branch 'bc/object-id') changed API: for_each_ref() callback functions were taught to name the objects not with "unsigned char sha1[20]" but with "struct object_id". * Upstream commit dcf692625ac569fefbe52269061230f4fde10e47 (path.c: make get_pathname() call sites return const char *) Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.4.1Christian Hesse2015-05-141-1/+1
| | | | | | Update to git version v2.4.1, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.3.3Christian Hesse2015-03-141-1/+1
| | | | | | Update to git version v2.3.3, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* Bump version v0.11.2Jason A. Donenfeld2015-03-131-1/+1
|
* Makefile: add a target to run CGit through sparseJohn Keeping2015-03-091-0/+3
| | | | Signed-off-by: John Keeping <john@keeping.me.uk>
* git: update to v2.3.2Christian Hesse2015-03-071-1/+1
| | | | | | Update to git version v2.3.2, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* Bump version v0.11.1Jason A. Donenfeld2015-03-051-1/+1
|
* git: update to v2.3.1Christian Hesse2015-03-031-1/+1
| | | | | | Update to git version v2.3.1, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* Bump verison v0.11.0Jason A. Donenfeld2015-02-151-1/+1
|
* git: update for v2.3.0Christian Hesse2015-02-081-1/+1
| | | | | | | | | * sort_string_list(): rename to string_list_sort() (upstream commit 3383e199) * update read_tree_recursive callback to pass strbuf as base (upstream commit 6a0b0b6d) Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.2.2Christian Hesse2015-01-131-1/+1
| | | | | | Update to git version v2.2.2, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* Revert "git: use xz compressed archive for download"Jason A. Donenfeld2014-12-241-2/+2
| | | | | | This reverts commit a87c9d8a9779eab0499efd3c44e090a28c7d1cdf. We want to make OpenBSD people happy.
* git: use xz compressed archive for downloadChristian Hesse2014-12-231-2/+2
|
* git: update to v2.2.1Christian Hesse2014-12-231-1/+1
| | | | | | Update to git version v2.2.1, including API changes. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.0.4John Keeping2014-08-071-1/+1
| | | | | | No CGit changes required. Signed-off-by: John Keeping <john@keeping.me.uk>
* git: update to v2.0.3John Keeping2014-07-281-1/+1
| | | | | | | | | | This is slightly more involved than just bumping the version number because it pulls in a change to convert the commit buffer to a slab, removing the "buffer" field from "struct commit". All sites that access "commit->buffer" have been changed to use the new functions provided for this purpose. Signed-off-by: John Keeping <john@keeping.me.uk>
* Bump version. v0.10.2Jason A. Donenfeld2014-06-301-1/+1
|
* git: update to 2.0.1Christian Hesse2014-06-281-1/+1
| | | | | Everything works just bumping the version in Makefile and commit hash in submodule. No code changes required.
* git: update for git 2.0Christian Hesse2014-06-281-1/+1
| | | | | | | prefixcmp() and suffixcmp() have been remove, functionality is now provided by starts_with() and ends_with(). Retrurn values have been changed, so instead of just renaming we have to fix logic. Everything else looks just fine.
* git: update to 1.9.2Christian Hesse2014-04-121-1/+1
| | | | | Everything works just bumping the version in Makefile and commit hash in submodule. No code changes required.
* Makefile: use more reliable git tarball mirrorJason A. Donenfeld2014-03-201-1/+1
|
* git: update to 1.9.1Christian Hesse2014-03-201-1/+1
| | | | | Everything works just bumping the version in Makefile and commit hash in submodule. No code changes required.
* Bump version. v0.10.1Jason A. Donenfeld2014-02-281-1/+1
|
* git: Update to 1.9.0Lukas Fleischer2014-02-211-1/+1
| | | | | | No code changes required, just bump the submodule and Makefile versions. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
* cache: use sendfile() instead of a pair of read() + write()Sebastian Andrzej Siewior2014-01-191-0/+1
| | | | | | | | | | | sendfile() does the same job and avoids to copy the content into userland and back. One has to define NO_SENDFILE in case the OS (kernel / libc) does not supported. It is disabled by default on non-linux environemnts. According to the glibc, sendfile64() was added in Linux 2.4 (so it has been there for a while) but after browsing over the mapage of FreeBSD's I noticed that the prototype is little different. Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
* makefile: bump version v0.10Jason A. Donenfeld2014-01-171-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* git: update to 1.8.5Christian Hesse2014-01-081-1/+1
| | | | | | | Everything works just bumping the version in Makefile and commit hash in submodule. No code changes required. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
* git: update to 1.8.4John Keeping2013-08-261-1/+1
| | | | | | No code changes required, just bump the submodule and makefile versions. Signed-off-by: John Keeping <john@keeping.me.uk>
* Makefile: Change default prefix to "/usr/local"Lukas Fleischer2013-08-121-1/+1
| | | | | | | Locally installed packages are usually installed to /usr/local. Packagers can use `make prefix=/usr` to get back the old behavior. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
* robots.txt: disallow access to snapshotsJason A. Donenfeld2013-08-121-0/+1
| | | | | | | | | | | | My dmesg is filled with the oom killer bringing down processes while the Bingbot downloads every snapshot for every commit of the Linux kernel in tar.xz format. Sure, I should be running with memory limits, and now I'm using cgroups, but a more general solution is to prevent crawlers from wasting resources like that in the first place. Suggested-by: Natanael Copa <ncopa@alpinelinux.org> Suggested-by: Julius Plenz <plenz@cis.fu-berlin.de> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Add faviconChristian Hesse2013-05-311-0/+2
| | | | | This adds a favicon to cgit. It is not enabled by default, though. The file contains two icons, 16x16 and 32x32 pixels, optimized for size.
* CGIT-0.9.2 v0.9.2Jason A. Donenfeld2013-05-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Features: - update to git v1.8.3. - expanded set of default filters to include markdown, restructuredtext, and man pages. - better sample configuration file in man page. - "readme" may now be specified multiple times, and cgit will choose the first one it finds. - "readme" no longer needs a branch name. If prefixed with simply ":" it will use the default branch. - "branch-sort" allowing branches to be sorted either by "age" or "name", for kernel.org. - "enable-index-owner" allowing the owner column to be disabled in the index page. - print submodule revision next to submodule link. - integrate more closely with git apis, such as strbuf. - rely on git test harness and git makefiles. - more robust test suite. - more rebust makefile dependency accounting. - pager navigation is now unordered list. - span tag wraps commit directions. Behavior changes: - HOME is no longer passed as an environment variable to any filter api scripts. - "about-filter" now receives the filename being filtered as argv[1]. This may disrupt existing scripts, so adjust accordingly. - gitconfig and gitattributes are no longer loaded from any system directories or home directories. Security: - CVE-2013-2117: disallow directory traversal when readme is set to filesystem path. Bug fixes: - ssdiff now correctly manages tab expansion. - support unannotated tags in http git clone. - lots of cleanups of global variables and memory leaks. - do not rely on gettext/libintl. - better C standard compliance. - make several functions and variables static. - improved constification. - remove unused functions. - fix colspan values to correct width. - fix out-of-bounds memory accesses with virtual_root="". - cache repo config more precisely. - die when write fails. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* filters: import more modern scriptsJason A. Donenfeld2013-05-271-1/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* git: update to 1.8.3John Keeping2013-05-251-1/+1
| | | | | | No changes required, just bump the submodule and Makefile versions. Signed-off-by: John Keeping <john@keeping.me.uk>
* Makefile: fix parallel "make test"John Keeping2013-05-221-5/+3
| | | | | | | | | | | | | When building the "test" target we depend on both cgit and building the Git tools. By doing this with two targets we end up running make in the git/ directory twice, concurrently if using parallel make, which causes us to build more than we need and potentially builds incorrectly if multi-step build-then-move operations overlap. Fix this by instead calling back into the makefile so that we alter the "cgit" target to also build the Git tools. Signed-off-by: John Keeping <john@keeping.me.uk>
* git: update to 1.8.2.2John Keeping2013-04-271-1/+1
| | | | | | No changes required, just bump the submodule and Makefile version. Signed-off-by: John Keeping <john@keeping.me.uk>
* tests: use Git's test frameworkJohn Keeping2013-04-081-2/+5
| | | | | | | | | | | | This allows tests to run in parallel as well as letting us use "prove" or another TAP harness to run the tests. Git's test framework requires Git to be fully built before letting any tests run, so add a new target to the top-level Makefile which builds all of Git instead of just libgit.a and make the "test" target depend on that. Signed-off-by: John Keeping <john@keeping.me.uk>
* Update git to v1.8.2.1John Keeping2013-04-081-1/+1
| | | | | | | | | | | This requires a small change to how we handle notes, but otherwise just works. Note that we can't use anything from v1.8.0 until v1.8.2.1 because some of the symbols that we need for graph drawing were made private in v1.8.0 and this was not reverted until v1.8.2.1. Signed-off-by: John Keeping <john@keeping.me.uk>
* Makefile: remove CGIT-CFLAGS files in clean stageJason A. Donenfeld2013-03-201-1/+1
|
* Makefile: re-use Git's Makefile where possibleJohn Keeping2013-03-201-119/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Git does quite a lot of platform-specific detection in its Makefile, which can result in it defining preprocessor variables that are used in its header files. If CGit does not define the same variables it can result in different sizes of some structures in different places in the same application. For example, on Solaris Git uses it's "compat" regex library which has a different sized regex_t structure than that available in the platform regex.h. This has a knock-on effect on the size of "struct rev_info" and leads to hard to diagnose runtime issues. In order to avoid all of this, introduce a "cgit.mk" file that includes Git's Makefile and make all of the existing logic apply to CGit's objects as well. This is slightly complicated because Git's Makefile must run in Git's directory, so all references to CGit files need to be prefixed with "../". In addition, OBJECTS is a simply expanded variable in Git's Makefile so we cannot just add our objects to it. Instead we must copy the two applicable rules into "cgit.mk". This has the advantage that we can split CGit-specific CFLAGS from Git's CFLAGS and hence avoid rebuilding all of Git whenever a CGit-specific value changes. Signed-off-by: John Keeping <john@keeping.me.uk> Acked-by: Jamie Couture <jamie.couture@gmail.com>
* Makefile: Disable gettext in the Git submoduleLukas Fleischer2013-03-041-1/+1
| | | | | | | | | | | | | | | Newer libgit versions depend on the libintl library. However, we currently do not link against libintl which breaks compilation under OpenBSD: git/libgit.a(commit.o)(.text+0x1d1b): In function `lookup_commit_or_die': git/gettext.h:47: undefined reference to `libintl_gettext' [...] Since we do not support i18n in cgit, just disable gettext in the Git submodule to fix this. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
* Makefile: improve dependency generationJamie Couture2013-03-041-70/+82
| | | | | | | | | | | | | | | | | | | | Makefile target generation would always be included for any makefile target that was not clean. Only care to include the '.deps' directory when building cgit, rather than generating and including dependencies when calling other makefile targets. Heavily borrowed from git's Makefile, but without definitions to test for the compiler's header dependency feature. Previous Makefile implementation never checked for this compiler feature anyway. - Removed makecmdgoal 'clean' check - Grouped like .PHONY target definitions - Place build dependency targets under .SUFFIXES - Re-arranged location of library inclusion definitions - Use google code mirror instead of github Signed-off-by: Jamie Couture <jamie.couture@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* CGIT-0.9.1 v0.9.1Jason A. Donenfeld2012-11-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enhancements: - path-selected submodule links - intelligent default branch guessing - /etc/mime.types lookup - gitweb.* and cgit.* git-config support - case insensitive sorting and age sorting - commit, repository, and section sorting - bold currently viewed page in pagination - support BSDs in makefile Security: - CVE-2012-4465: heap-buffer overflow in parsing.c - CVE-2012-4548: syntax highlighting command injection Bug Fixes: - transition maintainer to Jason Donenfeld (zx2c4) - download git snapshot from github instead of Lars' old server - css fixes - stablization of tests - more compatible default highlight script - suppress gzip timestamp so that tarballs only use tar timestamps - treat ctags as target in makefile - do not let global variables override certain local repo settings - print ampersand as proper html entity - use placeholder for empty commit subject - format diff view for addition and removal of files - point links at correct blob from ssdiff Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Makefile: get snapshots from githubFerry Huberts2012-11-041-2/+2
| | | | Github will have more bandwidth than Lars' server.
* Makefile: remove tags fileJamie Couture2012-10-311-1/+1
| | | | | | Remove tags file from working directory. Signed-off-by: Jamie Couture <jamie.couture@gmail.com>
* Makefile: Support OpenBSD just like FreeBSDJason A. Donenfeld2012-10-171-2/+2
|
* Makefile: support FreeBSD libiconv pathsJason A. Donenfeld2012-10-171-0/+7
| | | | | According to Dan Rue <drue@therub.org>, FreeBSD requires the lib paths to get libiconv from /usr/local.
* Makefile: add tag target to generate ctagsJamie Couture2012-10-081-1/+5
| | | | Signed-off-by: Jamie Couture <jamie.couture@gmail.com>
* Merge branch 'stable'Lars Hjemli2012-03-181-1/+1
|\
| * CGIT-0.9.0.3 v0.9.0.3Lars Hjemli2012-03-181-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2012-01-031-1/+1
|\|
| * Makefile: fetch git tarballs from http://hjemli.net/git/git/Lars Hjemli2012-01-031-1/+1
| | | | | | | | | | | | | | The git tarballs are currently not available from kernel.org, so for now the makefile will download autogenerated tarballs from cgit. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2011-07-211-1/+1
|\|
| * CGIT 0.9.0.2 v0.9.0.2Lars Hjemli2011-07-211-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Makefile: fix oversight of not using $(DESTDIR) in uninstallFerry Huberts2011-07-191-3/+3
|/ | | | | Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* CGIT 0.9.0.1 v0.9.0.1Lars Hjemli2011-06-131-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* CGIT 0.9 v0.9Lars Hjemli2011-03-051-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'stable'Lars Hjemli2011-03-051-2/+2
|\
| * CGIT 0.8.3.5 v0.8.3.5Lars Hjemli2011-03-051-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Makefile: Make `make get-git` work under OpenBSD.Lukas Fleischer2011-02-191-1/+1
| | | | | | | | | | | | | | | | OpenBSD tar(1) defaults to read from "/dev/rst0" when not specifying an filename and thus fails to extract the Git sourcecode when not passing stdin as input file descriptor explicitly. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/improve-range-search'Lars Hjemli2011-02-191-0/+1
|\ \ | | | | | | | | | | | | | | | | | | * lh/improve-range-search: html.c: use '+' to escape spaces in urls ui-log.c: improve handling of range-search argument Add vector utility functions
| * | Add vector utility functionsLars Hjemli2010-11-101-0/+1
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Use GIT-1.7.4Lars Hjemli2011-02-191-1/+1
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'tz/make-improvements'Lars Hjemli2010-11-101-7/+57
|\ \ \ | |/ / |/| |
| * | Install filter scriptsTodd Zullinger2010-09-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | The syntax-highlighting.sh script is quite useful without any changes. Installing it by default makes it easier to use and package. Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add Makefile targets to install/uninstall docsTodd Zullinger2010-09-191-1/+38
| | | | | | | | | | | | | | | Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Generalize doc generationTodd Zullinger2010-09-191-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | This borrows from the git Documentation/Makefile. The goal is to make it easier to add new man pages and other documentation as well as to prevent make from re-generating the documentation needlessly. Signed-off-by: Todd Zullinger <tmz@pobox.com> 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>
* | | 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.4 v0.8.3.4Lars Hjemli2010-09-271-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Use GIT-1.7.3Lars Hjemli2010-09-271-2/+2
| | | | | | | | | | | | | | 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 'ml/bugfix'Lars Hjemli2010-09-191-0/+8
|\ \
| * | fix errors in printf-style format stringsMark Lodato2010-09-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 GIT-1.7.3Lars Hjemli2010-09-191-1/+1
|/ / | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Use GIT-1.7.2.2Lars Hjemli2010-08-221-2/+2
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2010-08-031-1/+1
|\|
| * CGIT 0.8.3.3 v0.8.3.3Lars Hjemli2010-08-031-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | 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 'stable'Lars Hjemli2010-06-191-1/+1
|\|
| * CGIT 0.8.3.2 v0.8.3.2Lars Hjemli2010-06-191-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Use GIT-1.7.0Lars Hjemli2010-02-271-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2009-12-121-1/+1
|\|
| * CGIT 0.8.3.1 v0.8.3.1Lars Hjemli2009-12-121-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'ro/ssdiff'Lars Hjemli2009-12-081-0/+1
|\ \
| * | First version of side-by-side diff.Ragnar Ouchterlony2009-09-161-0/+1
| |/ | | | | | | | | | | | | | | | | This constitutes the first prototype of a side-by-side diff. It is not possible to switch between unidiff and side-by-side diff at all at this stage. Signed-off-by: Ragnar Ouchterlony <ragnar@lysator.liu.se> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* / Add NO_OPENSSL optionMikhail Gusarov2009-11-071-3/+12
|/ | | | | | | Linking with OpenSSL is not always desirable. Add NO_OPENSSL option to use SHA-1 code bundled with Git. Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
* CGIT 0.8.3 v0.8.3Lars Hjemli2009-09-131-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'stable'Lars Hjemli2009-09-131-1/+1
|\
| * CGIT 0.8.2.2 v0.8.2.2Lars Hjemli2009-09-131-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Use GIT-1.6.4.3Lars Hjemli2009-09-131-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <larsh@slackbox.hjemli.net>
* | Use GIT-1.6.3.4Lars Hjemli2009-08-161-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2009-03-151-1/+1
|\|
| * CGIT 0.8.2.1 v0.8.2.1Lars Hjemli2009-03-151-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Fix doc-related glitches in Makefile and .gitignoreLars Hjemli2009-03-151-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Makefile: add doc-related targetsLars Hjemli2009-02-121-2/+17
|/ | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* CGIT 0.8.2 v0.8.2Lars Hjemli2009-02-011-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use GIT-1.6.1.1Lars Hjemli2009-02-011-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'stable'Lars Hjemli2009-01-271-1/+1
|\
| * CGIT 0.8.1.1 v0.8.1.1Lars Hjemli2009-01-271-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/stats'Lars Hjemli2009-01-271-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: cgit.c cgit.css cgit.h ui-tree.c Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add a 'stats' page to each repoLars Hjemli2008-12-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new page, which is disabled by default, can be used to print some statistics about the number of commits per period in the repository, where period can be either weeks, months, quarters or years. The function can be activated globally by setting 'enable-stats=1' in cgitrc and disabled for individual repos by setting 'repo.enable-stats=0'. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2009-01-121-6/+9
|\ \ \ | | |/ | |/|
| * | Makefile: install cgit.{css,png} in CGIT_DATA_PATHTodd Zullinger2009-01-121-4/+6
| | | | | | | | | | | | | | | | | | | | | CGIT_DATA_PATH defaults to CGIT_SCRIPT_PATH, but allows users to install the cgi and the data files in different locations. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Makefile: add INSTALL var to set install commandTodd Zullinger2009-01-121-4/+5
| | | | | | | | | | | | | | | | | | | | | This also explicitly sets the modes for installed files (755 for the .cgi, 644 for the .css and .png). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2009-01-111-2/+2
|\| |
| * | Makefile: avoid libcurl when building gitLars Hjemli2009-01-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | We don't need support for fetching/pushing in libgit.a, hence we don't need to link with libcurl. Noticed-by: Robin Redeker <elmex@ta-sa.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Use GIT-1.6.1Lars Hjemli2008-12-261-1/+1
|/ / | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Makefile: allow cgit.conf to override platform-specific tweaksLars Hjemli2008-12-051-5/+5
| | | | | | | | | | | | | | If the makefile doesn't automatically define the correct build variables it is nice to be able to define them explicitly. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Extra cygwin-specific changesRamsay Jones2008-12-031-0/+23
| | | | | | | | | | Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Use mode 0644 for non-executable filesKarl Chen2008-11-061-2/+2
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Use GIT-1.6.0.3Lars Hjemli2008-11-061-1/+1
|/ | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* CGIT 0.8.1 v0.8.1Lars Hjemli2008-10-111-1/+1
|
* Makefile: enable compilation on uclibcLars Hjemli2008-10-111-0/+3
| | | | | Original-patch-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* CGIT 0.8 v0.8Lars Hjemli2008-10-051-1/+1
|
* Use GIT-1.6.0.2Lars Hjemli2008-10-051-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add LDFLAGS to makefile.Harley Laue2008-09-201-1/+1
| | | | | | | | This will allow for creating static builds which is useful for chrooted environments. Signed-off-by: Harley Laue <losinggeneration@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add support for --scan-tree=<path> option to cgitLars Hjemli2008-09-151-0/+1
| | | | | | | This option makes cgit scan a directory tree looking for git repositories, generating suitable definitions for a cgitrc file on stdout. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Update Makefile to use GIT-1.6.0.1Lars Hjemli2008-09-031-1/+1
| | | | | | | When updating the git submodule to 1.6.0.1 (and 1.6.0), the Makefile was left behind. This fixes it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'lh/plain'Lars Hjemli2008-09-011-0/+1
|\ | | | | | | | | | | | | * lh/plain: Supply status description to html_status() ui-tree: link to plain view instead of blob view Implement plain view
| * Implement plain viewLars Hjemli2008-08-061-0/+1
| | | | | | | | | | | | | | This implements a way to access plain blobs by path (similar to the tree view) instead of by sha1. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/clone'Lars Hjemli2008-09-011-0/+1
|\| | | | | | | | | | | | | | | * lh/clone: Add support for cloning over http Conflicts: cmd.c
| * Add support for cloning over httpLars Hjemli2008-08-061-0/+1
| | | | | | | | | | | | | | This patch implements basic support for cloning over http, based on the work on git-http-backend by Shawn O. Pearce. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Use GIT-1.6.0.rc1Lars Hjemli2008-08-061-1/+1
| | | | | | | | | | | | | | Now that rc1 is released as a tarball `make get-git` should start working again. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Makefile: Git dependency, take 3Lars Hjemli2008-08-061-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | In commit a1266edfe the build instructions for the git libs where moved to their real targets, which in turn depended on the phony target `git`. But since `git` is an actual directory in cgit the git libs wouldn't be recompiled when needed. So with this patch (third time lucky), cgit is declared to depend on the really phony target `libgit` and the build instructions for `libgit` is to unconditionally rebuild git/libgit.a and git/xdiff/lib.a. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add atom-supportLars Hjemli2008-08-011-0/+1
|/ | | | | | | This enables a page which generates atom feeds for the current branch and path, heavily inspired by the atom-support in gitweb. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: another take on git dependency rulesLars Hjemli2008-08-011-7/+5
| | | | | | | | | | | | | | | When building cgit we depend on xdiff/lib.a and libgit.a in the git directory, but the previous attempt on describing this dependency failed since the build instructions for the libs was placed under the phony `git` target. This patch fixes the issue by moving the build instructions to their real targets. It also makes it clear that only the `cgit` target depends on the git binaries (since they're only used during linking). And while at it, the patch also cleans up the list of phony targets. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: remove the `distclean` and `emptycache` targetsLars Hjemli2008-07-221-7/+0
| | | | | | The `distclean` was hardly useful while the `emptycache` was actively harmful. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: do not touch the git objects with `make clean`Lars Hjemli2008-07-221-1/+0
| | | | | | | I've been avoiding `make clean` for a long time due to its eagerness to kill all the git objectfiles. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: fix git dependency rulesLars Hjemli2008-07-221-5/+3
| | | | | | | | The objectfiles depends unconditionally on some specific git binaries while those git binaries depends on the phony `git` target and this patch seems to get these dependencies spelled out correctly. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use GIT-1.5.6Lars Hjemli2008-06-251-1/+1
|
* Use GIT-1.5.5.1Lars Hjemli2008-05-181-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use GIT-1.5.5Lars Hjemli2008-04-091-1/+1
|
* Merge branch 'lh/cleanup'Lars Hjemli2008-04-081-11/+64
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lh/cleanup: (21 commits) Reset ctx.repo to NULL when the config parser is finished Move cgit_parse_query() from parsing.c to html.c as http_parse_querystring() Move function for configfile parsing into configfile.[ch] Add cache.h Remove global and obsolete cgit_cmd Makefile: copy the QUIET constructs from the Makefile in git.git Move cgit_version from shared.c to cgit.c Makefile: autobuild dependency rules Initial Makefile cleanup Move non-generic functions from shared.c to cgit.c Add ui-shared.h Add separate header-files for each page/view Refactor snapshot support Add command dispatcher Remove obsolete cacheitem parameter to ui-functions Add struct cgit_page to cgit_context Introduce html.h Improve initialization of git directory Move cgit_repo into cgit_context Add all config variables into struct cgit_context ...
| * Move function for configfile parsing into configfile.[ch]Lars Hjemli2008-03-281-0/+1
| | | | | | | | | | | | This is a generic function which wanted its own little object file. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Makefile: copy the QUIET constructs from the Makefile in git.gitLars Hjemli2008-03-251-5/+31
| | | | | | | | | | | | | | These constructs were introduced by Shawn O. Pearce in commit 74f2b2a8d006a49e1be7e30731c2f7365d2741d1. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Move cgit_version from shared.c to cgit.cLars Hjemli2008-03-241-1/+3
| | | | | | | | | | | | | | With the matching Makefile change, this makes sure that only cgit.o and cgit proper needs to be rebuildt when VERSION has been modified. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Makefile: autobuild dependency rulesLars Hjemli2008-03-241-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This uses gcc to generate dependency rules for each `.o` file, based on the corresponding `.c` file, into a new set of `.d` files (which are also defined to depend on the same set of source files as their `.o` files). Result: * all objectfile dependencies are correctly calculated * only the necessary dependencies are recalculated when a sourcefile is updated Inspiration for the build rules: * http://www.gnu.org/software/make/manual/make.html#Automatic-Prerequisites * http://make.paulandlesley.org/autodep.html Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Initial Makefile cleanupLars Hjemli2008-03-241-7/+22
| | | | | | | | | | | | | | Sort the list of object files to improve readability/mergeability and remove manual dependency information which will soon be generated automatically. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Add command dispatcherLars Hjemli2008-03-241-1/+1
| | | | | | | | | | | | | | This simplifies the code in cgit.c and makes it easier to extend cgit with new pages/commands. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Use GIT-1.5.5.rc1Lars Hjemli2008-03-231-1/+1
| |
* | Use GIT-1.5.4.4Lars Hjemli2008-03-171-1/+1
|/
* Use GIT-1.5.4.1Lars Hjemli2008-02-161-1/+1
|
* Use GIT-1.5.4Lars Hjemli2008-02-021-1/+1
|
* Use GIT-1.5.4.rc5Lars Hjemli2008-01-281-1/+1
|
* Use GIT-1.5.4.rc4Lars Hjemli2008-01-211-1/+1
|
* Merge branch 'stable'Lars Hjemli2008-01-131-2/+2
|\ | | | | | | | | | | | | | | * stable: CGIT 0.7.2 Use GIT-1.5.3.8 Compare string lengths when parsing the snapshot mask Default repo description to "[no description]"
| * CGIT 0.7.2 v0.7.2Lars Hjemli2008-01-101-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Use GIT-1.5.3.8Lars Hjemli2008-01-101-1/+1
| |
* | Add plain patch viewLars Hjemli2007-12-111-1/+1
| | | | | | | | | | | | | | | | | | | | The new view mimics the output from `git format-patch`, making it possible to cherry-pick directly from cgit with something like `curl $url | git am`. Inspired by a patch to `git-apply` by Mike Hommey: http://thread.gmane.org/gmane.comp.version-control.git/67611/focus=67610 Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Create initial testsuiteLars Hjemli2007-11-111-1/+4
| | | | | | | | | | | | This creates a simple testsuite, heavily inspired by the testsuite in git. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2007-11-091-4/+7
|\| | | | | | | | | | | | | | | | | | | * stable: CGIT 0.7.1 Makefile install: include cgit.png, do not empty cache Conflicts: Makefile
| * CGIT 0.7.1 v0.7.1Lars Hjemli2007-11-091-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Makefile install: include cgit.png, do not empty cacheLars Hjemli2007-11-091-3/+6
| | | | | | | | | | | | | | The cache-cleaning is potentially dangerous, so lets move it away from the install target. A special emptycache target can be used to run the rm -rf. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Makefile: link with libiconv if NEEDS_LIBICONV is definedLars Hjemli2007-11-061-0/+5
|/ | | | | | This seems to be needed to compile on cygwin. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* CGIT 0.7 v0.7Lars Hjemli2007-11-031-1/+1
|
* Use GIT-1.5.3.5Lars Hjemli2007-11-031-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add support for refs viewLars Hjemli2007-10-271-1/+1
| | | | | | | This enables the new urls $repo/refs, $repo/refs/heads and $repo/refs/tags, which can be used to print _all_ branches and/or tags. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use git-1.5.3.3Lars Hjemli2007-10-011-1/+1
|
* cgit v0.6.3 v0.6.3Lars Hjemli2007-09-201-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Upgrade to GIT 1.5.3.2Lars Hjemli2007-09-201-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit v0.6.2 v0.6.2Lars Hjemli2007-09-081-1/+1
|
* Revert part of "Makefile: add support for DESTDIR"Lars Hjemli2007-09-081-3/+3
| | | | | | | | This removes my editing on the patch received by Chris Pickel, as I didn't understand the purpose of DESTDIR. Noticed-by: Chris Pickel <sfiera@macports.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Revert "Makefile: add missing references to DESTDIR"Lars Hjemli2007-09-081-2/+2
| | | | | | | | This reverts commit fa31c5ed4839575c3ef3f6f0823fc2b4af47dbfd, as I totally misunderstood the purpose of DESTDIR. Noticed-by: Chris Pickel <sfiera@macports.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit v0.6.1 v0.6.1Lars Hjemli2007-09-081-2/+2
|
* Makefile: add missing references to DESTDIRLars Hjemli2007-09-081-2/+2
| | | | | | | When cgit is built it needs to get CGIT_CONFIG and CGIT_CACHE_ROOT prefix with DESTDIR. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Make cgit honor CACHE_ROOT as defined in MakefileChris Pickel2007-09-081-0/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: add support for DESTDIRChris Pickel2007-09-081-7/+7
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit v0.6 v0.6Lars Hjemli2007-09-041-2/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: add target "get-git"Lars Hjemli2007-09-031-1/+6
| | | | | | | The new target downloads a suitable git.git tarball from kernel.org and unpacks it in the git directory. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Rewrite the makefile + gen-version.shLars Hjemli2007-09-031-63/+35
| | | | | | | The old files were simply broken, hopefully the new ones will work out somewhat better. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add ui-tag.cLars Hjemli2007-07-221-1/+1
| | | | | | | This file implements the tag-command, i.e. printing of annotated tags. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* make gen-version.sh run even if . is not in PATHMichael Krelin2007-07-031-1/+1
| | | | | Signed-off-by: Michael Krelin <hacker@klever.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add version info from git-describeLars Hjemli2007-06-181-11/+18
| | | | | | | | A new script, gen-version.sh, is now invoked from 'make version' to generate the file VERSION. This file contains a version identifier generated by git-describe and is included in the Makefile. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-tree: unify with ui-view, use path to select tree/blobLars Hjemli2007-06-161-1/+1
| | | | | | This teaches ui-tree to show both trees and blobs, thereby making ui-view superfluous. At the same time, ui-tree is extended to honour the specified path instead of requiering a tree/blob sha1.
* cgit v0.5 v0.5Lars Hjemli2007-05-241-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use git-1.5.2Lars Hjemli2007-05-201-5/+3
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Include cgit.conf in MakefileLars Hjemli2007-05-151-0/+5
| | | | | | | | | This allows persistent overrides of Makefile settings without touching the Makefile. Suggested in a patch by Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use tables and css to create the diffstat graph, fix scalingLars Hjemli2007-05-151-1/+0
| | | | | | | | There was no need to use image-files for the graphs, so lets drop them. At the same time, fix scaling of the graphs so that the full width is used only if atleast 100 LOC are changed in one of the files. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Don't hardcode urls when SCRIPT_NAME is availableLars Hjemli2007-05-151-1/+3
| | | | | | | Also, let the makefile define the name of the installed cgi and use that definition as a default value for cgit_script_name variable. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Let makefile override the configfile locationLars Hjemli2007-05-141-4/+7
| | | | | | | | | | Pass CGIT_CONFIG from makefile during build, to enable stuff like make CGIT_CONFIG=/var/cgit/cgit.conf Noticed by Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit v0.4 v0.4Lars Hjemli2007-05-131-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add graphical diffstat to commit viewLars Hjemli2007-05-131-0/+1
| | | | | | | | The diffstat is calculated against the leftmost parent of the commit. This gives nice information for "normal" merges while octopus merges are less than optimal, so the diffstat isn't calculated for those merges. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: add support for building w.o. preinstalled gitLars Hjemli2007-05-111-1/+13
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Tag release v0.3 v0.3Lars Hjemli2007-05-111-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add submodules.sh and use it during buildsLars Hjemli2007-05-111-13/+36
| | | | | | | | | | | | This adds a shell script which can be be used to initialize, list and update submodules in a git repository. It reads the file .gitmodules to find a mapping between submodule path and repository url for the initial clone of all submodules. The script is used during cgit builds to enable automatic download and checkout of the git git repository. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Added git as a submoduleLars Hjemli2007-05-111-1/+1
| | | | | | | | This commit adds the subdirectory 'git' as a submodule containing the git git repository, but doesn't add support for automatically cloning the submodule. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add support for downloading single blobsLars Hjemli2007-05-091-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Update to libgit 1.5.2-rc2Lars Hjemli2007-05-081-5/+7
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add support for snapshotsLars Hjemli2007-02-081-1/+2
| | | | | | | | Make a link from the commit viewer to a snapshot of the corresponding tree. Currently only zip-format is supported. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit v0.2 v0.2Lars Hjemli2007-02-051-1/+1
| | | | | | | | | Main changes since v0.1: -list tags in repo summary -allow search in log-view -read repository paths from cgitrc Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add support for prefix and gitsrc arguments to 'make'Lars Hjemli2007-02-051-6/+12
| | | | | | | | This should improve the installation a little, especially since the new options are mentioned in the README. Also, add a make-rule to build the git binaries if necessary + a dependency between cgit and libgit.a. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Unified install pathLars Hjemli2007-01-281-4/+3
| | | | | | Install all files into single directory Signed-off-by: Lars Hjemli <larsh@slaptop.hjemli.net>
* Enable building with debuginfoLars Hjemli2007-01-171-0/+4
| | | | | | Add -g to CFLAGS when running make with DEBUG=1 Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit 0.1 v0.1Lars Hjemli2006-12-211-1/+1
| | | | | | | | With a working diff, it really has all the basics. Next steps will be to make it more usable and less ugly :) Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Let make know that ui-diff.c depends on xdiff.hLars Hjemli2006-12-211-0/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add basic diff viewLars Hjemli2006-12-201-1/+1
| | | | | | Finally, xdiff is used to show per-file diffs via commit view. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add ui-commit.c + misc ui cleanupsLars Hjemli2006-12-161-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add separate makefile-rule to clear current cacheLars Hjemli2006-12-131-2/+4
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add display of tree content w/ui-tree.cLars Hjemli2006-12-131-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move global variables + callback functions into shared.cLars Hjemli2006-12-111-2/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move functions for generic object output into ui-view.cLars Hjemli2006-12-111-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move log-functions into ui-log.cLars Hjemli2006-12-111-1/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move repo summary functions into ui-summary.cLars Hjemli2006-12-111-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move functions for repolist output into ui-repolist.cLars Hjemli2006-12-111-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move common output-functions into ui-shared.cLars Hjemli2006-12-111-1/+1
| | | | | | While at it, replace the cgit_[lib_]error constants with a proper function Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Rename config.c to parsing.c + move cgit_parse_query from cgit.c to parsing.cLars Hjemli2006-12-111-2/+3
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Let 'make install' clear all cachefilesLars Hjemli2006-12-111-0/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add version identifier in generated filesLars Hjemli2006-12-101-6/+8
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add caching infrastructureLars Hjemli2006-12-101-2/+4
| | | | | | | | | | | | | | | | | | | | | | This enables internal caching of page output. Page requests are split into four groups: 1) repo listing (front page) 2) repo summary 3) repo pages w/symbolic references in query string 4) repo pages w/constant sha1's in query string Each group has a TTL specified in minutes. When a page is requested, a cached filename is stat(2)'ed and st_mtime is compared to time(2). If TTL has expired (or the file didn't exist), the cached file is regenerated. When generating a cached file, locking is used to avoid parallell processing of the request. If multiple processes tries to aquire the same lock, the ones who fail to get the lock serves the (expired) cached file. If the cached file don't exist, the process instead calls sched_yield(2) before restarting the request processing. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Replace useless make rules with generic $(OBJECTS) dependencyLars Hjemli2006-12-091-5/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>