| Commit message (Collapse) | Author |
|
When parsing commits and tags cgit made too many assumptions about the
formatting of said objects. This patch tries to make the code be more
prepared to handle 'malformed' objects.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
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>
|
|
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
The callback from read_tree_recursive just needs to check the type of
each tree entry; if it's a dir we want to continue scanning, if it's a
regular file we'll assume it's the one we requested.
And while at it, remove some stray fprintfs.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
|
|
Signed-off-by: Lars Hjemli <hjemli@gmail>
|
|
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
Now that rc1 is released as a tarball `make get-git` should start working
again.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
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>
|
|
When `local-time` is set, commit, tag and patch timestamps will be printed
in the servers timezone. Also, regardless of the value of `local-time`,
these timestamps will now always show the timezone.
Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
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>
|
|
The default max-length used when printing commit messages and repo
descriptions can be increased due to the new layout (no sidebar).
Also, on the repo summary page I believe it makes sense to only show the
ten most recent branches and tags by default, just as it makes sense to
show the ten most recent commit messages for the active branch.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
Before this patch, cgit would segfault on repositories with no refs.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
If either repo.clone-url or clone-prefix is specified in cgitrc, all
space-separated values in the config option is printed as a possible
clone url on the repo summary page.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
The `distclean` was hardly useful while the `emptycache` was actively harmful.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
This option is used to specify a shortcut icon on all cgit pages.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
The new cgitrc option `footer` can be used to include a html-file which
replaces the standard 'generated by cgit' message at the bottom of each
page.
Suggested-by: Peter Danenberg <pcd@wikitex.org>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
|
|
Signed-off-by: Michael Krelin <hacker@klever.net>
|
|
If blob is invoked with no id=, it tries to look up h= and search for path= in
there. Once found, proceed as normal, otherwise, fail as normal.
Signed-off-by: Michael Krelin <hacker@klever.net>
|
|
Signed-off-by: Harley Laue <losinggeneration@gmail.com>
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>
|
|
The change to print_slot() in cdc6b2f8e7a8d43dcfe0475a9d3498333ea686b8 made
the function return correct errno for read errors while ignoring write errors,
which is not what was intended. This patch tries to rectify things.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
If print_slot() fails, the client will be served an inferior response.
This patch makes sure that such an error will be returned to main(), which
in turn will try to inform about the error in the response itself.
The error is also printed to the cache_log, i.e. stderr, which will make
the error message appear in error_log (atleast when httpd==apache).
Noticed-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
These functions handles EINTR/EAGAIN errors during read/write operations,
which is something cache.c didn't.
While at it, fix a bug in print_slot() where errors during reading from the
cache slot might go by unnoticed.
Noticed-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
We'll need proper return-values from these functions to make the cache
behave correctly (which includes giving proper error messages).
Noticed-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
Noticed-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
This fixes a regression created by fe1230dece81450004d02fa8a470f8dab8f7fdd9,
and modifies a test to avoid future regressions.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
Both cgit_print_diff() and cgit_diff_tree() handles root commits nicely,
but cgit_print_commit() forgot to check the case of 0 parents.
This fixes it, and adds tests to avoid future regressions.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
This makes it more obvious how to get back to the index, especially when the
config option `logo-link` is used. And the page name displayed in the header
provided no extra information. It only consumed space and deserved to die.
While at it, make sure that the different parts of the header doesn't wrap
when horizontal space is limited.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
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 <hjemli@gmail.com>
|
|
This function will be used to build a pager in ui-repolist.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
Normally when html_include cannot open the file it fails silently and
things can be a bit hard to figure out from just looking at apache's
log. This will be beneficial for those initially setting up their server
with cgit.
Signed-off-by: Harley Laue <losinggeneration@aim.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
This commit uses the options and changes from the last few commits to
implement a new 'about' command which works both with and without a
repo.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
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 <hjemli@gmail.com>
|
|
When cgit_cmd.want_repo was 0, we used to assume that the cmd would never
be invoked for a repo. But soon this will become untrue (the 'about' cmd
is rapidly approching), so from now on we will initialize any requested
repo even if want_repo==0 (and return an error if want_repo==1 but no repo
is specified).
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
The 'index-info' option got lost when the layout was converted from
sidebar to old-fashioned header (noticed by Harley Laue, thanks!), and
this commit re-enables it.
But there is now also an alternative in the 'root-desc' option; where
'index-info' specifies a file to include, 'root-desc' specifies the text
literally. This might be nicer for the one-liner descriptions which these
options typically provides.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|