| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
| |
Signed-off-by: Geoff Johnstone <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
| |
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
| |
When no sorting is requested by the client, cgit will now sort by
section name followed by repo name. This allows repos to be registered/
discovered independently of their display order.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
| |
The 'repo.' prefix should be reserved for repo-specific options, but
the option 'repo.group' must still be honored to stay backwards
compatible.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function is used to read the full content of a textfile into a
newly allocated buffer (with zerotermination).
It replaces the earlier readfile() in scan-tree.c (which was rather
error-prone[1]), and is reused by read_agefile() in ui-repolist.c.
1: No checks for EINTR and EAGAIN, fixed-size buffer
Signed-off-by: Lars Hjemli <[email protected]>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If readfile() reads an empty file, fgets() won't truncate the buffer
and it'll still contain the contents of the previously read file.
[lh: fixed similar issue in ui-repolist.c]
Signed-off-by: Simon Arlott <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
|/
|
|
|
|
|
|
| |
These options can be used to execute a filter command on each about-page,
both top-level and for each repository (repo.about-filter can be used
to override the current about-filter).
Signed-off-by: Lars Hjemli <[email protected]>
|
|\
| |
| |
| |
| |
| | |
Conflicts:
cgit.c
cgit.h
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some users prefer to see the full message, so to make these users happy
the new querystring parameter "showmsg" can be used to print the full
commit message per log entry.
A link is provided in the log heading to make this function accessible,
and all links and forms tries to preserve the users preference.
Note: the new link is not displayed on the summary page since the point
of the summary page is to be a summary, but it is still obeyed if specified
manually.
Signed-off-by: Lars Hjemli <[email protected]>
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When sorting the list of repositories by their last modification time,
cgit would (in the worst case) invoke fstat(3) four times and open(3)
twice for each callback from qsort(3). This obviously scales very badly.
Now, the calculated modtime for each repo is saved in repo->mtime, thus
keeping the number of stat/open invocations identical for sorted and
unsorted repo-listings.
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When sorting on e.g. owner, it's not interesting to get all repos
without owner at the top of the list.
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Lars Hjemli <[email protected]>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The new function is then used by both print_modtime() and
cgit_reposort_modtime().
Signed-off-by: Lars Hjemli <[email protected]>
|
| |/
| |
| |
| | |
Signed-off-by: Lars Hjemli <[email protected]>
|
|/
|
|
|
|
|
| |
The non-standard function strcasestr is only defined if _GNU_SOURCE has
also been defined.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
| |
When the agefile was empty the old code would happily reuse the static
buffer filled by a previous call to read_agefile().
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
| |
This makes is possible to use cgit with repository urls containing special
url characters like '#' and '?'.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
| |
If a repo url is specified but no exact match is found in the list of
repos the url will now be used as a prefix-filter.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
| |
This enables a pager on the repolist which restricts the number of entries
displayed per page, controlled by the new option `max-repo-count` (default
value 50).
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
| |
The new option names a file which will be included on a new page, next
to the current 'index' page.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
|
| |
When the 'index-header' option is specified in cgitrc we used to print
the included file content inside the repolist table, which is bad style.
This commit makes the included file be printed before the table.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
| |
Less mouse movement is nice.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
| |
This reuses the strcasestr() compiled or linked by libgit.a to implement a
case insensitive variation of the repository search.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
| |
This makes the repolist much more usable when there's a lot of repositories
registered in cgitrc.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
| |
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
| |
This is finally a proper headerfile for the shared ui-functions which
used to reside in cgit.h
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
| |
This parameter hasn't been used for a very long time...
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
| |
This struct is used when generating http headers, and as such is another
small step towards the goal of the whole cleanup series; to invoke each
page/view function with a function pointer.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
| |
All html-functions can be quite easily separated from the rest of cgit, so
lets do it; the only issue was html_filemode which uses some git-defined
macros so the function is moved into ui-shared.c::cgit_print_filemode().
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
| |
This removes the global variable which is used to keep track of the
currently selected repository, and adds a new variable in the cgit_context
structure.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
| |
This removes another big set of global variables, and introduces the
cgit_prepare_context() function which populates a context-variable with
compile-time default values.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
| |
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
| |
This makes the [prev] and [next] links work correctly on search results.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
| |
This fixes a bug in the prev/next links on the log page: when on the default
branch the links to prev/next page would contain h=(null).
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
The summary/log/tree links displayed for each repository on the index
page lost some of their purpose when the header menu was added, so this
commit introduces the parameter 'enable-index-links' which must be set
to 1 to enable these links.
Suggested-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
| |
In yet another attempt at better usability, the cryptic S/L/T links are
changed to show their full name.
Suggested-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
| |
This renames the menu link and the shortcut on the repo index page from
the strange "files" to the more gittish "tree".
Suggested-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
The generic repolink function compared head with cgit_query_head, which
almost always would be the same pointer. The test now compares with
repo.defbranch, which is the wanted behavour.
Bug discovered while adding cgit_log_link(), so this commit also contain
that change.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
| |
This creates a new function used to generate links to 'tree' page and uses
the function everywhere a link to the 'tree' page is generated.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
| |
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When creating the index page, an optional file can be scanned per repository
to obtain a timestamp for last modification within the repo. If such a file
cannot be found, st_mtime for repo.defbranch is used instead.
This information is then printed in a new column, "Idle", using the new
function cgit_print_age().
The new parameter "repo.agefile" can be used to specify (globally) a relative
path to scan (default value is "info/web/last-modified").
The content of the "last-modified" file can be generated by the post-receive
hook with a command like this:
git-for-each-ref --format="%(committerdate)" --sort=-committerdate \
--count=1 > $GIT_DIR/info/web/last-modified
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
| |
This is an attempt to make the index page more usable by changing how
repo groups and repo links are displayed.
Signed-off-by: Lars Hjemli <[email protected]>
|
|\
| |
| |
| |
| |
| |
| | |
* repogroups:
Adjust apperance of repogroup headers
Don't highlight repogroup headings
Teach cgit how to group repositories by category
|
| |
| |
| |
| |
| |
| | |
Specify class='nohover' to avoid highlighting this row.
Signed-off-by: Lars Hjemli <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The new parameter 'repo.group' is used to set the repository group
for the following repositores. Whenever this parameter changes value,
a subheading is generated in the index page (printing the current value
of repo.group).
Signed-off-by: Lars Hjemli <[email protected]>
|
|/
|
|
|
|
|
| |
The new parameter index-header can be used to name an external file
which will be included verbatim at the top of the index page.
Signed-off-by: Lars Hjemli <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
If any repo has a very long description, all repos suffer since the
repo-links in the right-most column gets pushed out of sight.
Fix it by introducing max-repodesc-length parameter in cgitrc, and default
to 60 chars.
Signed-off-by: Lars Hjemli <[email protected]>
|