Commit Graph

454 Commits (ae83752b418328a369d4a6658fc673458012e1f1)
 

Author SHA1 Message Date
Lars Hjemli ae83752b41 CGIT 0.8 16 years ago
Lars Hjemli 0071aa8612 ui-summary: use html_url_path()
This makes the clone urls be properly escaped.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli 24d4bb3058 ui-refs: use cgit_tag_link()
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli cf61ad411c ui-shared: add cgit_tag_link()
This function can be used to generate properly escaped links to the tag
page.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli 8b5fc6de03 ui-shared: generate proper links in cgit_object_link()
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli 2e884f3162 ui-shared: use html_url_path() to get properly escaped url in form action
When a repo uses an url with e.g. '#' or '?' characters this needs to be
properly escaped when used as action in a form tag.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli b7f33786ef Use GIT-1.6.0.2
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli b9aabf0b8f ui-shared: reword the standard page footer
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli 23ffba78b4 ui-shared: do not print repo name on the "summary" tab
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli df46123b0e Replace cgitrc with cgitrc.5.txt
The new file describes all cgitrc options in a more structured manner then
the cgitrc example file and it might also work as the source for a cgitrc
man page.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli c6bea0375a Merge branch 'lh/escape-urls'
* lh/escape-urls:
  ui-repolist + ui-shared: Use cgit_summary_link()
  ui-shared.c: add cgit_summary_link()
  ui-shared.c: use html_url_path() in repolink()
  html.c: add html_url_path
16 years ago
Lars Hjemli 49ecbbddf0 ui-repolist + ui-shared: Use cgit_summary_link()
This makes is possible to use cgit with repository urls containing special
url characters like '#' and '?'.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli e9d3bd544f ui-shared.c: add cgit_summary_link()
This function can be used to generate a link to the summary page for the
currently active repo.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli 44b208aa44 ui-shared.c: use html_url_path() in repolink()
This makes sure that reponames and paths are properly escaped when used
as urls.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli 22a597e56d html.c: add html_url_path
This function can be used to generate properly escaped path-components
for links.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli 20c895f688 Merge branch 'lh/escape-urls'
* lh/escape-urls:
  ui-shared.c: use html_url_arg()
  html.c: add html_url_arg
16 years ago
Lars Hjemli 204669ff4a ui-snapshot.c: specify archiver_args.baselen
The struct member was introduces in git commit d53fe8187c38, but the cgit
testsuite failed to detect that cgit always generated archives without
prefixes, i.e. the result from cgit_repobasename was ignored.

This fixes the bug and the testsuite.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli b575115d9d ui-shared.c: use html_url_arg()
The link-generating functions are updated to use the new html_url_arg
function, thereby fixing links to strange repos, branches and files.

Also, the test-suite is updated to verify some cases of strange urls.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli a36a0d9dec html.c: add html_url_arg
This function can be used to properly escape querystring parameter values.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli f82b19407d ui-diff: make diffstat header a link to the full diff
When printing a path-filtered diff it wasn't obvious how to get back to
the full diff (clicking the 'diff' tab would do this). Making the diffstat
heading into a link seems to improve the usability.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli 04619c9b85 ui-diff: fix links from diffstat
The links in the diffstat is supposed to work as a filter for the diff,
but this only worked when a single rev was supplied, i.e. the filtered
diff was always against the parent of the specified rev.

With this patch it is now possible to use the diffstat as a 'filter menu'
for urls like http://hjemli.net/git/cgit/diff/?id=v0.7.2&id2=v0.7.1

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Harley Laue 06e14dc61c Add LDFLAGS to makefile.
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>
16 years ago
Lars Hjemli dd80ef59e7 ui-repolist: enable filtering of repos by path
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 <hjemli@gmail.com>
16 years ago
Lars Hjemli 93397a765b Add support for --scan-tree=<path> option to cgit
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>
16 years ago
Lars Hjemli e154edd807 Teach cgit how to use PATH_INFO
This commit makes cgit use the cgi variables SCRIPT_NAME and PATH_INFO
when virtual-root is unspecified in cgitrc and no url-parameter is
specified on the querystring. This has two nice effects:

* Virtual urls works out of the box, no more need for rewrite-rules in httpd.
* Virtual urls with special querystring characters are handled correctly.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli a30453a5d3 Merge branch 'lh/parsing'
* lh/parsing:
  ui-tag: show the taggers email
  parsing.c: be prepared for unexpected content in commit/tag objects
16 years ago
Lars Hjemli a608ff7ba3 ui-tag: show the taggers email
If it's specified there's no point in hiding it.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli a8305a9543 parsing.c: be prepared for unexpected content in commit/tag objects
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>
16 years ago
Lars Hjemli 91fd1eca07 Merge branch 'ew/http_host'
* ew/http_host:
  use Host: header to generate cgit_hosturl
16 years ago
Lars Hjemli b28765135d Update Makefile to use GIT-1.6.0.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>
16 years ago
Eric Wong 9c931b1e6e use Host: header to generate cgit_hosturl
I run an instance of lighttpd for cgit behind nginx (nginx
doesn't execute CGI).  So the port (SERVER_PORT=33333) that
lighttpd runs on sends to cgit is different from the standard
port 80 that public clients connect to (via nginx).

This was causing the Atom feed URL to show the private port
number that lighttpd was running on.

Since the HTTP/1.1 "Host" header includes the port number if
running on a non-standard port, it allows non-client-facing HTTP
servers to transparently generate public URLs that clients can
see.

So use the "Host" header if it is available and fall back to
SERVER_NAME/SERVER_PORT for some clients that don't set
HTTP_HOST.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
16 years ago
Lars Hjemli 687fb6d833 Use GIT-1.6.0.1
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli 135b231160 ui-plain: handle subdirectories
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>
16 years ago
Lars Hjemli 04a6f3b0bf Use GIT-1.6.0 16 years ago
Lars Hjemli d532c4d161 Merge branch 'lh/plain'
* lh/plain:
  Supply status description to html_status()
  ui-tree: link to plain view instead of blob view
  Implement plain view
16 years ago
Lars Hjemli 288d502b3d Merge branch 'lh/clone'
* lh/clone:
  Add support for cloning over http

Conflicts:
	cmd.c
16 years ago
Lars Hjemli 2cecf839a0 cache.c: use %zd for off_t argument
Signed-off-by: Lars Hjemli <hjemli@gmail>
16 years ago
Lars Hjemli 885096c189 Supply status description to html_status()
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli 7fa088e99a Use GIT-1.6.0.rc1
Now that rc1 is released as a tarball `make get-git` should start working
again.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli 8c2a1367c4 Makefile: Git dependency, take 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>
16 years ago
Lars Hjemli 65b7b876aa ui-tree: link to plain view instead of blob view
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>
16 years ago
Lars Hjemli e5da4bca54 Implement plain view
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>
16 years ago
Lars Hjemli 02a545e634 Add support for cloning over http
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>
16 years ago
Lars Hjemli e352a013ae Merge branch 'lh/atom' 16 years ago
Stefan Naewe 3c71f597cc cgitrc: explain new local-time option
Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago
Lars Hjemli b2a3d31e88 Add atom-support
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>
16 years ago
Stefan Naewe 0f0ab148c6 Added `local-time` option to cgitrc
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>
16 years ago
Lars Hjemli a1266edfe6 Makefile: another take on git dependency rules
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>
16 years ago
Lars Hjemli 952f4ece29 Modify default value for a few cgitrc options
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>
16 years ago
Lars Hjemli 25c84326de Be prepared for empty repositories
Before this patch, cgit would segfault on repositories with no refs.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
16 years ago