| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
For browsers on low-end machines running browsers without CSS
support, the default tree view displayed "logplain" when it
should be "log plain". Stop relying on CSS and add a space
in between elements to improve accessibility.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update to git version v2.41.0, with lots of changes...
This requires changes for these upstream commits:
* 60ff56f50372c1498718938ef504e744fe011ffb
banned.h: mark `strtok()` and `strtok_r()` as banned
* 52acddf36c8cb3778ab2098a0d95cc2e375a4069
string-list: multi-delimiter `string_list_split_in_place()`
* d850b7a545fcfbd97460a921c7f7c59d933eb0f7
cocci: apply the "cache.h" part of "the_repository.pending"
* cb338c23d6d518947bf6f7240bf30e2ec232bd3b
cocci: apply the "commit-reach.h" part of "the_repository.pending"
* ecb5091fd4301ac647db0bd2504112b38f7ee06d
cocci: apply the "commit.h" part of "the_repository.pending"
* 085390328f5fe1dfba67039b1fd6cc51546a4e41
cocci: apply the "diff.h" part of "the_repository.pending"
* bc726bd075929aab6b3e09d4dd5c2b0726fd5350
cocci: apply the "object-store.h" part of "the_repository.pending"
* bab821646a74c446370fa8d01ca851f247df5033
cocci: apply the "pretty.h" part of "the_repository.pending"
* afe27c889429438829bc8818ed17e4960bd3ef02
cocci: apply the "packfile.h" part of "the_repository.pending"
* 12cb1c10a64170a5d600dd1c6c8abfeec105fb6b
cocci: apply the "refs.h" part of "the_repository.pending"
* 035c7de9e9ea11d26df5f9e4bb117f91ed11a9fd
cocci: apply the "revision.h" part of "the_repository.pending"
... and some more I missed to list 😜 - for example the move and cleanup
of headers and includes (see changes in `cgit.h`) comes to mind...
Signed-off-by: Christian Hesse <mail@eworm.de>
|
| |
|
|
|
|
|
|
|
| |
Add links to symbolic link targets in tree listings, formatted like
"ls -l". Path normalization collapses any ".." components of the link.
Also fix up memory link on error path.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
| |
|
|
|
|
|
| |
This avoids piping binary blobs through the source-filter. Also prevent
robots from crawling it, since it's expensive.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
| |
|
|
|
|
|
|
|
|
| |
Update to git version v2.32.0, this requires changes for these
upstream commits:
* 47957485b3b731a7860e0554d2bd12c0dce1c75a
tree.h API: simplify read_tree_recursive() signature
Signed-off-by: Christian Hesse <mail@eworm.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
A previous commit changed ->tree to ->maybe_tree throughout, which may
have worked at the time, but wasn't safe, because maybe_tree is loaded
lazily. This manifested itself in crashes when using the "follow" log
feature. The proper fix is to use the correct contextual accessors
everytime we want access to maybe_tree. Thankfully, the commit.cocci
script takes care of creating mostly-correct patches that we could then
fix up, resulting in this commit here.
Fixes: 255b78f ("git: update to v2.18.0")
Reviewed-by: Christian Hesse <mail@eworm.de>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
| |
|
|
|
|
|
| |
The blame operation can cause high cost in terms of CPU load for huge
repositories. Let's add a per repository override for enable-blame.
Signed-off-by: Christian Hesse <mail@eworm.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
| |
Signed-off-by: Christian Hesse <mail@eworm.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
| |
Free up the buffer allocated in read_sha1_file()
Signed-off-by: Andy Green <andy@warmcat.com>
Signed-off-by: John Keeping <john@keeping.me.uk>
|
| |
|
|
|
|
|
| |
Create links to the blame page.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Reviewed-by: John Keeping <john@keeping.me.uk>
|
| |
|
|
|
|
|
|
| |
The ui-blame code will also need to call set_title_from_path, so go
ahead and move it to ui-shared.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Reviewed-by: John Keeping <john@keeping.me.uk>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
Upstream git is replacing 'unsigned char sha1[20]' with 'struct object_id
oid'. We have some code that can be changed independent from upstream. So
here we go...
|
| |
|
|
|
|
|
|
|
| |
As libgit.a moves away from using fixed size buffers, there is no
guarantee that PATH_MAX is sufficient for all of the paths in a Git
tree, so we should use a dynamically sized buffer here.
Coverity-Id: 141884
Signed-off-by: John Keeping <john@keeping.me.uk>
|
| |
|
|
|
|
|
|
|
| |
If we have only a single element in a directory (for example in Java
package paths), display multiple directories in one go so that it is
possible to navigate directly to the first directory that contains
either files or multiple directories.
Signed-off-by: John Keeping <john@keeping.me.uk>
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
| |
Coverity-id: 13938
Signed-off-by: Christian Hesse <mail@eworm.de>
|
| |
|
|
|
|
|
|
| |
This also allows us to return proper HTTP error codes when the requested
tree is not found and display an error message in one case (invalid path
inside valid commit) where we previously just displayed an empty page.
Signed-off-by: John Keeping <john@keeping.me.uk>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Git's git-compat-util.h defines a "sane ctype" that does not use locale
information and works with signed chars, but it does not include
isgraph() so we have included ctype.h ourselves.
However, this means we have to include a system header before
git-compat-util.h which may lead to the system defining some macros
(e.g. _FILE_OFFSET_BITS on Solaris) before git-compat-util.h redefines
them with a different value. We cannot include ctype.h after
git-compat-util.h because we have defined many of its functions as
macros which causes a stream of compilation errors.
Defining our own "sane" isgraph() using Git's sane isprint() and
isspace() avoids all of these problems.
Signed-off-by: John Keeping <john@keeping.me.uk>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
Sparse says things like:
warning: non-ANSI function declaration of function 'calc_ttl'
Signed-off-by: John Keeping <john@keeping.me.uk>
|
| |
|
|
|
|
|
|
|
| |
* 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>
|
| |
|
|
|
|
|
|
|
| |
This avoids poking into the filter data structure at various points in
the code. We rely on the fact that the number of arguments is fixed
based on the filter type (set in cgit_new_filter) and that the call
sites all know which filter type they're using.
Signed-off-by: John Keeping <john@keeping.me.uk>
|
| |
|
|
|
|
|
|
|
| |
* Name "cgit Development Team" as copyright holder to avoid listing
every single developer.
* Update copyright ranges.
Signed-off-by: Lukas Fleischer <cgit@crytocrack.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently line numbers look like (for blob view and sdiff respectively):
<a class='no' id='n68' name='n68' href='#n68'>68</a>
<td class='lineno'><a class='no' href='...#n1' id='n1' name='n1'>1</a></td>
name=".." is unnecessary if the id attribute is set (this even applies
to IE6), so drop it. (aside, in HTML5, the name attribute is gone.)
The line number links can be selected through their parent classes, no
need for another class "no", so drop it too.
For a file with 2000 lines, this yields a saving of 40% (29% gzipped).
While at it, fix the hover effect of line numbers: now the line number
get a black background as was intended.
Signed-off-by: Peter Wu <lekensteyn@gmail.com>
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
This removes many uses of "fmt" which uses a fixed size static pool of
fixed size buffers. Instead of relying on these, we now pass around
argument lists for as long as possible before using a strbuf to render
content of an arbitrary size.
Signed-off-by: John Keeping <john@keeping.me.uk>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes following memory leak seen with "PATH_INFO=/cgit/tree/":
==15715== 7 bytes in 1 blocks are definitely lost in loss record 4 of 51
==15715== at 0x4C2C04B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==15715== by 0x56F2DF1: strdup (in /usr/lib/libc-2.17.so)
==15715== by 0x46CAA8: xstrdup (wrapper.c:35)
==15715== by 0x418A4C: cgit_print_tree (ui-tree.c:274)
==15715== by 0x407D91: tree_fn (cmd.c:131)
==15715== by 0x405E16: process_request (cgit.c:574)
==15715== by 0x4074C8: cache_process (cache.c:322)
==15715== by 0x406C4F: main (cgit.c:872)
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
|
| |
|
|
|
|
|
|
|
|
| |
Use the context pointer to pass context information instead of misusing
global variables, as we already did in "ui-blob.c" and in "ui-plain.c".
In addition to the fixes to walk_tree(), pass the same structure to
ls_tree() and ls_item() which is read_tree_recursive()-based as well.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
|
| |
|
|
|
|
|
| |
Instead, use the value of the state variable to determine whether the
footer needs to be drawn.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
|
| |
|
|
|
|
|
|
|
|
|
| |
This allows for removing the header variable in a following patch. We
can use the state variable to check whether the tail needs to be printed
instead.
Note that the state variable will be moved into a context structure
later.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
|
| |
|
|
|
|
|
|
|
|
| |
No longer access the global curr_rev variable in print_object().
This will make it easier to squash the curr_rev variable into a context
structure without having to pass the context to the print_object()
function.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
|
| |
|
|
| |
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
| |
|
|
|
|
|
|
|
|
| |
* 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>
|
| |
|
|
|
|
| |
struct pathspec is now used in more places.
Signed-off-by: John Keeping <john@keeping.me.uk>
|
| |
|
|
|
|
|
|
|
|
|
| |
The current 'repo.module-link' option is sufficient when all gitlinks
in a repository can be converted to commit links in a uniform way, but
not when different submodules/paths needs different settings.
This patch adds support for 'repo.module-link.<path>', which will be
used for linking to submodules at paths matching one such entry.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When cgit learned to setup environment variables for certain repo
settings before invoking a filter process, the setup occurred inside
cgit_open_filter().
This patch moves the setup out of cgit_open_filter() and into
prepare_repo_cmd() to prepare for additional uses of these variables.
Reviewed-by: Ferry Huberts <mailings@hupie.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |\
| |
| |
| |
| | |
Conflicts:
cgit.c
|
| | |
| |
| |
| |
| |
| |
| |
| | |
To prepare for handing repo configuration to the
filter script that is executed.
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |/
|
|
|
| |
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The path breadcrumb navigation at the top of the 'tree' page has now been
duplicated in ui-shared, which leaves the ui-tree implementation unnecessary.
This patch removes the breadcrumb navigation from ui-tree, and moves the
"(plain)" link that followed the breadcrumb when displaying blobs to the
end of the next line, following the blob SHA1.
Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
| |
Suggested-by: Robert Weidlich <mail@robertweidlich.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |\ |
|
| | | |
|
| |/
|
|
|
|
|
|
|
| |
Sometimes it is not feasible to generate the HTML pretty-print for large
files, especially if a source-filter is involved or binary data is to be
displayed. The "max-blob-size" config var allows to disable HTML output
for blobs bigger than X KBytes. Plain downloads are not affected.
Signed-off-by: Georg Lukas <georg@op-co.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the name of the cgitrc option more descriptive and at the
same time changes the default from "0" to "1" in an attempt to stay
backwards compatible - prior to the introduction of "source-filter"
and "linenumbers", cgit always generated linenumber links in the
tree view, but now this feature can be turned off (one might want to
do this if the source-filter performs line-wrapping etc).
While at it, the documentation is updated to match the surrounding
descriptions.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
| |
Signed-off-by: Florian Pritz <bluewind@xssn.at>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
|
|
|
| |
When source-filter is enabled, cgit currently will not display
linenumbers in the tree view. This patch restores the linenumber
function.
Signed-off-by: Florian Pritz <bluewind@xssn.at>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |\
| |
| |
| |
| |
| | |
Conflicts:
cgit.c
cgit.h
|
| | |
| |
| |
| |
| |
| |
| | |
These options can be used to override the default commit- and source-
filter settings per repository.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This new option is used to specify an external command which will be
executed when displaying blob content in the tree view. Blob content
will be written to STDIN of the filter and STDOUT from the filter
will be included verbatim in the html output from cgit. The file name
of the blob will be passed as the only argument to the filter command.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |/
|
|
| |
Signed-off-by: Martin Szulecki <opensuse@sukimashita.com>
|
| |
|
|
|
|
|
|
| |
When size is zero, subtracting one from it turns it into
ULONG_MAX which causes an out-of-bounds access on buf.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
| |
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
|
| |
This teaches ui-tree to detect binary blobs and display them similar
to `hexdump -C` (only wider).
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |\
| |
| |
| | |
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| | | |
|
| |\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
cgit.c
cgit.css
cgit.h
ui-tree.c
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| | |
| |
| |
| | |
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |\ \ |
|
| | |/
| |
| |
| |
| |
| |
| | |
Also, fix a related bug in the test-suite.
Noticed-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
The urls for plain view makes it possible to download blobs without knowing
their SHA1, but the function needs to be promoted and the link from tree
view seems like a perfect fit.
PS: Although hidden, the blob view still is nice for direct blob access so
there's no point in removing it.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
|
|
| |
In GIT-1.6.0, read_tree_recursive takes an extra void pointer for callback
data. We might want to use this to avoid some global variables, but for now
lets just make sure that we can still compile.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
|
|
|
| |
When an object in the tree has GITLINK mode-bits we don't need to get any
more info about that particular object (and trying to get more info about
it will usually generate an annoying warning on stderr since the object
typically doesn't exist in the repo anyways).
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
|
|
| |
But be sure to specify correct filename. This way, the client can hopefully
guess a sensible mimetype based on the filename suffix, and cgit can ignore
the issue altogether.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
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 <hjemli@gmail.com>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
| |
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
| |
This makes the [prev] and [next] links work correctly on search results.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
| |
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
|
|
|
| |
The last line in a blob was never printed by ui-tree::print_object(), which
was particularly annoying when the blob missed a final newline. This fixes
the issue.
Noticed-by: <mkraai@beckman.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
|
|
| |
The GNU C library manual tells us that behavior is undefined if only
some formats has a specification for the parameter position.
Noticed-by: <mkraai@beckman.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* jo/dirlink:
Rename dirlink to gitlink.
Conflicts:
ui-tree.c
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| | |
| |
| |
| |
| |
| |
| | |
Git changed from dirlink to gitlink in
302b9282c9ddfcc704ca759bdc98c1d5f75eba2f.
Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us>
|
| | |
| |
| |
| |
| |
| |
| | |
With this change, urls like http://hjemli.net/git/cgit/tree/ui-tree.c#43 can
be used to jump directly to the specified line number.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| | |
| |
| |
| | |
Signed-off-by: Michael Krelin <hacker@klever.net>
|
| | |
| |
| |
| |
| |
| |
| | |
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 <hjemli@gmail.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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 <krh@bitplanet.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This adds a function to generate links to the commit page and extends said
page to use id from querystring as primary revision specified (fallback to
h).
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 <hjemli@gmail.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Various fixes to make html and css more "clean". The only visible change
is the link to file/directory log: it is now printed as "L" (for Log)
instead of "H" (for History).
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| | |
| |
| |
| |
| |
| |
| | |
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 <hjemli@gmail.com>
|
| | |
| |
| |
| |
| |
| |
| | |
A leftover '</td></tr>' made ui-tree generate invalid html for blob
content. Fix it.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |/
|
|
|
|
| |
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.
|
| |
|
|
| |
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
| |
At least those that were catched by tidy.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
| |
This makes the tree page benefit from repo.defbranch.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
|
| |
This enables path-filtering in log-view, and adds a link per entry in
tree-view to show the log for each file/directory.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
|
|
|
|
|
| |
When a submodule occurs in a tree, generate a link to show the
module/commit. The link is specified as a sprintf string in /etc/cgitrc,
using parameters 'module-link' and 'repo.module-link'. This should probably
be extended with repo.module-link.$path.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
| |
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| | |
|
| |
|
|
|
|
| |
Make the output for <table class='list'> a bit nicer
Signed-off-by: Lars Hjemli <larsh@slaptop.hjemli.net>
|
| | |
|
| |
|
|
|
|
| |
No reason to show "100644" when we can show "-rw-r--r--"
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
|
|
| |
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
|
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|