| Commit message (Expand) | Author | Age | Files | Lines |
| * | git: update to v2.46.0•••Update to git version v2.46.0, this requires changes for these
upstream commits:
* e7da9385708accf518a80a1e17969020fb361048
global: introduce `USE_THE_REPOSITORY_VARIABLE` macro
* 9da95bda74cf10e1475384a71fd20914c3b99784
hash: require hash algorithm in `oidread()` and `oidclr()`
* 30aaff437fddd889ba429b50b96ea4c151c502c5
refs: pass repo when peeling objects
* c8f815c2083c4b340d4148a15d45c55f2fcc7d3f
refs: remove functions without ref store
Signed-off-by: Christian Hesse <mail@eworm.de>
| Christian Hesse | 2024-08-02 | 1 | -3/+8 |
| * | global: make 'char *path' const where possible•••Signed-off-by: Christian Hesse <mail@eworm.de>
| Christian Hesse | 2019-06-05 | 1 | -1/+1 |
| * | ui-refs: use shared function to print tag downloads•••cgit_compose_snapshot_prefix() is identical to print_tag_downloads(), so
remove the latter and use the function from ui-shared.c instead.
Signed-off-by: John Keeping <john@keeping.me.uk>
Reviewed-by: Christian Hesse <mail@eworm.de>
| John Keeping | 2018-06-27 | 1 | -26/+1 |
| * | ui-refs: remove unnecessary sanity check•••There is no way for refinfo::refname to be null, and Git will prevent
zero-length refs so this check is unnecessary.
Signed-off-by: John Keeping <john@keeping.me.uk>
Reviewed-by: Christian Hesse <mail@eworm.de>
| John Keeping | 2018-06-27 | 1 | -3/+0 |
| * | Add "snapshot-prefix" repo configuration•••Allow using a user-specified value for the prefix in snapshot files
instead of the repository basename. For example, files downloaded from
the linux-stable.git repository should be named linux-$VERSION and not
linux-stable-$VERSION, which can be achieved by setting:
repo.snapshot-prefix=linux
Signed-off-by: John Keeping <john@keeping.me.uk>
Reviewed-by: Christian Hesse <mail@eworm.de>
| John Keeping | 2018-06-27 | 1 | -1/+1 |
| * | Avoid ambiguities when prettifying snapshot names•••When composing snapshot file names for a tag with a prefix of the form
v[0-9] (resp. V[0-9]), the leading "v" (resp. "V") is stripped. This
leads to conflicts if a tag with the stripped name already exists or if
there are tags only differing in the capitalization of the leading "v".
Make sure we do not strip the "v" in these cases.
Reported-by: Juuso Lapinlampi <wub@partyvan.eu>
Signed-off-by: Lukas Fleischer <lfleischer@lfos.de>
| Lukas Fleischer | 2016-07-05 | 1 | -15/+9 |
| * | ui: show ages in the originator's timezone•••This affects the tooltip showing the full time and the case when a date
is sufficiently old to be shown in full rather than as an offset.
Signed-off-by: John Keeping <john@keeping.me.uk>
| John Keeping | 2016-02-08 | 1 | -3/+3 |
| * | ui-shared: remove "format" from cgit_print_age()•••We never use any format other than FMT_SHORTDATE, so move that into the
function.
Signed-off-by: John Keeping <john@keeping.me.uk>
| John Keeping | 2016-02-08 | 1 | -3/+3 |
| * | ui-refs: remove useless null check•••There is no way that "tag" can be null here.
Coverity-id: 13950
Signed-off-by: John Keeping <john@keeping.me.uk>
| John Keeping | 2015-10-09 | 1 | -1/+1 |
| * | refs: move layout to page function•••Signed-off-by: John Keeping <john@keeping.me.uk>
| John Keeping | 2015-08-14 | 1 | -1/+2 |
| * | log: allow users to follow a file•••Teach the "log" UI to behave in the same way as "git log --follow", when
given a suitable instruction by the user. The default behaviour remains
to show the log without following renames, but the follow behaviour can
be activated by following a link in the page header.
Follow is not the default because outputting merges in follow mode is
tricky ("git log --follow" will not show merges). We also disable the
graph in follow mode because the commit graph is not simplified so we
end up with frequent gaps in the graph and many lines that do not
connect with any commits we're actually showing.
We also teach the "diff" and "commit" UIs to respect the follow flag on
URLs, causing the single-file version of these UIs to detect renames.
This feature is needed only for commits that rename the path we're
interested in.
For commits before the file has been renamed (i.e. that appear later in
the log list) we change the file path in the links from the log to point
to the old name; this means that links to commits always limit by the
path known to that commit. If we didn't do this we would need to walk
down the log diff'ing every commit whenever we want to show a commit.
The drawback is that the "Log" link in the top bar of such a page links
to the log limited by the old name, so it will only show pre-rename
commits. I consider this a reasonable trade-off since the "Back" button
still works and the log matches the path displayed in the top bar.
Since following renames requires running diff on every commit we
consider, I've added a knob to the configuration file to globally
enable/disable this feature. Note that we may consider a large number
of commits the revision walking machinery no longer performs any path
limitation so we have to examine every commit until we find a page full
of commits that affect the target path or something related to it.
Suggested-by: René Neumann <necoro@necoro.eu>
Signed-off-by: John Keeping <john@keeping.me.uk>
| John Keeping | 2015-08-12 | 1 | -1/+1 |
| * | Avoid non-ANSI function declarations•••Sparse says things like:
warning: non-ANSI function declaration of function 'calc_ttl'
Signed-off-by: John Keeping <john@keeping.me.uk>
| John Keeping | 2015-03-09 | 1 | -2/+2 |
| * | tag: reference with "h" instead of "id"•••When clicking on "log" from a tag we end up showing the log of whatever
branch we used to reach the tag. If the tag doesn't point onto a branch
then the tagged commit won't appear in this output.
By linking to tags with the head parameter instead of the "id" parameter
the log link will show the log of the tag. This is clearly desirable
when the tag has been reached from the refs UI and changing the
behaviour for tag decorations makes them match branch decorations where
log -> decoration -> log shows the log of the decoration.
Reported-by: Ferry Huberts <mailings@hupie.com>
Signed-off-by: John Keeping <john@keeping.me.uk>
| John Keeping | 2015-01-19 | 1 | -1/+1 |
| * | ui-shared: remove toggle_ssdiff arg to cgit_commit_link()•••This argument is never used with a value other than zero, so remove it
and simplify the code.
Signed-off-by: John Keeping <john@keeping.me.uk>
| John Keeping | 2014-12-13 | 1 | -1/+1 |
| * | git: update for git 2.0•••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.
| Christian Hesse | 2014-06-28 | 1 | -3/+3 |
| * | ui-refs: simplify cmp_age logic•••The check in parse_user that eventually makes it into committer_date and
tagger_date is:
else if (mode == 3 && isdigit(*p)) {
*date = atol(p);
mode++;
}
Since isdigit('-') is always false, date will never be negative. Thus
the sign of this function:
static int cmp_age(int age1, int age2)
{
if (age1 != 0 && age2 != 0)
return age2 - age1;
if (age1 == 0 && age2 == 0)
return 0;
if (age1 == 0)
return +1;
return -1;
}
Will always be the same as the sign of this function:
static inline int cmp_age(int age1, int age2)
{
return age2 - age1;
}
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Idea-by: Lukas Fleischer <cgit@cryptocrack.de>
| Jason A. Donenfeld | 2014-02-26 | 1 | -11/+3 |
| * | print download link for reference string length == 1•••I have a number of repositories that start tagging with just '1' and
count up. Actually references with sting length of one are skipped, this
patch changes that.
| Christian Hesse | 2014-02-21 | 1 | -1/+1 |
| * | filter: add page source to email filter•••Since the email filter is called from lots of places, the script might
benefit from knowing the origin. That way it can modify its contents
and/or size depending.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
| Jason A. Donenfeld | 2014-01-14 | 1 | -3/+3 |
| * | filter: add support for email filter•••Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
| Jason A. Donenfeld | 2014-01-14 | 1 | -1/+8 |
| * | ui-refs: escape HTML chars in author and tagger names•••Everywhere else we use html_txt to escape any special characters in
these variables. Do so here as well.
Signed-off-by: John Keeping <john@keeping.me.uk>
| John Keeping | 2014-01-12 | 1 | -2/+2 |
| * | Replace most uses of strncmp() with prefixcmp()•••This is a preparation for replacing all prefix checks with either
strip_prefix() or starts_with() when Git 1.8.6 is released.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
| Lukas Fleischer | 2014-01-10 | 1 | -2/+2 |
| * | Update copyright information•••* Name "cgit Development Team" as copyright holder to avoid listing
every single developer.
* Update copyright ranges.
Signed-off-by: Lukas Fleischer <cgit@crytocrack.de>
| Lukas Fleischer | 2014-01-08 | 1 | -1/+1 |
| * | Add branch-sort and repo.branch-sort options.•••When set to "name", branches are sorted by name, which is the current
default. When set to "age", branches are sorted by the age of the
repository.
This feature was requested by Konstantin Ryabitsev for use on
kernel.org.
Proposed-by: Konstantin Ryabitsev <mricon@kernel.org>
| Jason A. Donenfeld | 2013-04-10 | 1 | -3/+2 |
| * | use struct strbuf instead of static buffers•••Use "struct strbuf" from Git to remove the limit on file path length.
Notes on scan-tree:
This is slightly involved since I decided to pass the strbuf into
add_repo() and modify if whenever a new file name is required, which
should avoid any extra allocations within that function. The pattern
there is to append the filename, use it and then reset the buffer to its
original length (retaining a trailing '/').
Notes on ui-snapshot:
Since write_archive modifies the argv array passed to it we
copy the argv_array values into a new array of char* and then free the
original argv_array structure and the new array without worrying about
what the values now look like.
Signed-off-by: John Keeping <john@keeping.me.uk>
| John Keeping | 2013-04-08 | 1 | -4/+6 |
| * | ui-refs.c: Refactor print_tag()•••The code snippets for OBJ_TAG and other object types are almost
equivalent. Merge them and use a couple of inline if conditions to
select proper fields.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
| Lukas Fleischer | 2013-04-08 | 1 | -29/+27 |
| * | ui-refs.c: Remove global header variable•••print_tag_header() is only called from cgit_print_tags() -- the
conditional invocation in print_tag() is never executed since
print_tag() is only called by cgit_print_tags() which already executes
print_tag_header() before (resulting in the global variable being always
set in when the condition is evaluated).
Remove the global variable and the conditional invocation.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
| Lukas Fleischer | 2013-04-08 | 1 | -6/+0 |
| * | Always #include corresponding .h in .c files•••While doing this, remove declarations from header files where the
corresponding definition is declared "static" in order to avoid build
errors.
Also re-order existing headers in ui-*.c so that the file-specific
header always comes immediately after "cgit.h", helping with future
consistency.
Signed-off-by: John Keeping <john@keeping.me.uk>
| John Keeping | 2013-04-08 | 1 | -0/+1 |
| * | Fix colspan values•••This fixes a couple of minor oversights in previous commits and adjusts
all cells using colspan to use the correct width.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
| Lukas Fleischer | 2013-03-20 | 1 | -2/+2 |
| * | print_tag_downloads(): Free ref variable•••Make sure the ref variable is freed if we build a
"$basename-$version"-style ref.
This fixes following memory leak seen with "PATH_INFO=/cgit/refs/":
==8784== 323 bytes in 29 blocks are definitely lost in loss record 41 of 53
==8784== at 0x4C2C04B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8784== by 0x56F2DF1: strdup (in /usr/lib/libc-2.17.so)
==8784== by 0x46CA28: xstrdup (wrapper.c:35)
==8784== by 0x410DA6: print_tag_downloads (ui-refs.c:115)
==8784== by 0x410F02: print_tag (ui-refs.c:141)
==8784== by 0x41128B: cgit_print_tags (ui-refs.c:230)
==8784== by 0x41134D: cgit_print_refs (ui-refs.c:250)
==8784== by 0x407C85: refs_fn (cmd.c:105)
==8784== by 0x405DDF: process_request (cgit.c:566)
==8784== by 0x407490: cache_process (cache.c:322)
==8784== by 0x406C18: main (cgit.c:864)
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
| Lukas Fleischer | 2013-03-04 | 1 | -1/+7 |
| * | Free reflists after usage•••Free reflists in cgit_print_branches() and in cgit_print_tags() before
returning reflist structures to the stack.
This fixes following memory leaks seen with "PATH_INFO=/cgit/refs/":
==5710== 1,312 (32 direct, 1,280 indirect) bytes in 1 blocks are definitely lost in loss record 63 of 71
==5710== at 0x4C2C04B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5710== by 0x4C2C2FF: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5710== by 0x46CA9B: xrealloc (wrapper.c:100)
==5710== by 0x40AAA6: cgit_add_ref (shared.c:156)
==5710== by 0x40ABC4: cgit_refs_cb (shared.c:186)
==5710== by 0x44BCBA: do_one_ref (refs.c:527)
==5710== by 0x44D240: do_for_each_ref_in_dir (refs.c:553)
==5710== by 0x44D6BA: do_for_each_ref (refs.c:1298)
==5710== by 0x410FE2: cgit_print_branches (ui-refs.c:191)
==5710== by 0x4111E9: cgit_print_refs (ui-refs.c:244)
==5710== by 0x407C85: refs_fn (cmd.c:105)
==5710== by 0x405DDF: process_request (cgit.c:566)
==5710==
==5710== 6,846 (256 direct, 6,590 indirect) bytes in 1 blocks are definitely lost in loss record 68 of 71
==5710== at 0x4C2C25E: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5710== by 0x46CA9B: xrealloc (wrapper.c:100)
==5710== by 0x40AAA6: cgit_add_ref (shared.c:156)
==5710== by 0x40ABC4: cgit_refs_cb (shared.c:186)
==5710== by 0x44BCBA: do_one_ref (refs.c:527)
==5710== by 0x44D240: do_for_each_ref_in_dir (refs.c:553)
==5710== by 0x44D6EC: do_for_each_ref (refs.c:1288)
==5710== by 0x4110D5: cgit_print_tags (ui-refs.c:218)
==5710== by 0x4111FD: cgit_print_refs (ui-refs.c:246)
==5710== by 0x407C85: refs_fn (cmd.c:105)
==5710== by 0x405DDF: process_request (cgit.c:566)
==5710== by 0x407490: cache_process (cache.c:322)
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
| Lukas Fleischer | 2013-03-04 | 1 | -0/+4 |
| * | White space around control verbs.•••Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
| Jason A. Donenfeld | 2013-03-04 | 1 | -2/+2 |
| * | Fix several whitespace errors•••* Remove whitespace at the end of lines.
* Replace space indentation by tabs.
* Add whitespace before/after several operators ("+", "-", "*", ...)
* Add whitespace to assignments ("foo = bar;").
* Fix whitespace in parameter lists ("foobar(foo, bar, 42)").
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
| Lukas Fleischer | 2013-03-04 | 1 | -2/+2 |
| * | Merge branch 'stable' | Lars Hjemli | 2010-08-03 | 1 | -12/+14 |
| |\ |
|
| | * | ui-refs.c: avoid segfault on unparsed ref objects•••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>
| Lars Hjemli | 2010-08-03 | 1 | -12/+14 |
| * | | ui-commit: Preserve path limit in links to commit page•••This includes adding a path argument to cgit_commit_link() and updating all
its callers. The callers from within the commit page (i.e. the "commit",
"unidiff"/"side-by-side diff" and "parent" links) all preserve the path
limit of the current commit page. All other callers pass NULL (i.e. no path
limit).
Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| Johan Herland | 2010-06-19 | 1 | -1/+1 |
| * | | Merge branch 'lh/remote-branches' | Lars Hjemli | 2009-12-08 | 1 | -0/+2 |
| |\ \ |
|
| | * | | Add support for remote branches•••Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| Lars Hjemli | 2009-11-07 | 1 | -0/+2 |
| | |/ |
|
| * / | Add possibility to switch between unidiff and side-by-side-diff.•••A new config option side-by-side-diffs added, defaulting to 0,
meaning unidiff. Also a query option (ss) is used toggle this.
In the commit page you can switch between the two diff formats by
clicking on the link on the "commit"-row, to the right of (patch).
In the diff page you can switch by using the link at the start
of the page.
All commit-links and diff-links will remember the choice.
Signed-off-by: Ragnar Ouchterlony <ragnar@lysator.liu.se>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| Ragnar Ouchterlony | 2009-09-16 | 1 | -1/+1 |
| |/ |
|
| * | ui-refs.c: improve handling of lightweight tags•••When a lightweight tag is referencing a commit object, cgit now uses
the commit date when comparing tag age. Also, the commitdate and author
info is printed in the refs view, making lightweight tags appear similar
to annotated tags.
Signed-off-by: Stefan Bühler <lighttpd@stbuehler.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| Stefan Bühler | 2009-08-16 | 1 | -1/+18 |
| * | Make all tags viewable•••Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| Robin Redeker | 2009-01-11 | 1 | -1/+1 |
| * | ui-refs: avoid SEGFAULT on lightweight tags•••Signed-off-by: Robin Redeker <elmex@ta-sa.org>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| Robin Redeker | 2009-01-10 | 1 | -1/+1 |
| * | Merge branch 'full-log'•••Conflicts:
cgit.c
cgit.h
| Lars Hjemli | 2008-12-06 | 1 | -1/+2 |
| |\ |
|
| | * | ui-log: add support for showing the full commit message•••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 <hjemli@gmail.com>
| Lars Hjemli | 2008-11-29 | 1 | -1/+2 |
| * | | ui-refs.c: show download links for all tags referring to commit objects•••The snapshot function has only been linked to from the commit page while
users often would want to download a certain release. With this patch,
direct download links will now be printed for each tagged release on the
repo summary page.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| Lars Hjemli | 2008-12-01 | 1 | -3/+34 |
| |/ |
|
| * | ui-refs: use cgit_tag_link()•••Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| Lars Hjemli | 2008-10-05 | 1 | -6/+2 |
| * | Make branches, tags and log play better together in the summary view•••Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| Lars Hjemli | 2008-04-14 | 1 | -13/+12 |
| * | Add ui-shared.h•••This is finally a proper headerfile for the shared ui-functions which
used to reside in cgit.h
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| Lars Hjemli | 2008-03-24 | 1 | -0/+1 |
| * | Add separate header-files for each page/view•••Yet another step towards removing cgit.h.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| Lars Hjemli | 2008-03-24 | 1 | -0/+172 |
| * | Introduce html.h•••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 <hjemli@gmail.com>
| Lars Hjemli | 2008-03-18 | 1 | -3/+1 |
| * | Introduce struct cgit_context•••This struct will hold all the cgit runtime information currently found in
a multitude of global variables.
The first cleanup removes all querystring-related variables.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| Lars Hjemli | 2008-02-16 | 1 | -2/+2 |