When no branch is specified and the repository does not have a default branch,
use the first branch.
Also, print sensible errormessages when the repository does not contain any
branches and when invalid branchnames are specified.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
The new view mimics the output from `git format-patch`, making it possible
to cherry-pick directly from cgit with something like `curl $url | git am`.
Inspired by a patch to `git-apply` by Mike Hommey:
http://thread.gmane.org/gmane.comp.version-control.git/67611/focus=67610
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This adds support for two new parameters to cgitrc: clone-prefix and
repo.clone-url.
If clone-prefix is specified, all repos will get a clone url printed in the
sidebar; the url is generated by clone-prefix + repo.url.
Additionally, each repo can specify repo.clone-url which will override any
such auto-generated url.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
When a commit or tag lacks author/committer/tagger timestamp, do not skip
the next line in the commit/tag object.
Also, do not bother to print timestamps with value 0 as it is close to certain
to be bogus.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
With this change, cgit will start to generate the "robots" meta-tag, using
a default value of "index, nofollow".
The default value can be modified with a new cgitrc variable, "robots".
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
The testsuite revealed that cgit snapshots don't set any useful timestamp on
the files contained in the snapshot.
Cherry-picked-from: 2ff33a8a04
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
The testsuite revealed that cgit snapshots don't set any useful timestamp on
the files contained in the snapshot.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
The cache-cleaning is potentially dangerous, so lets move it away from the
install target. A special emptycache target can be used to run the rm -rf.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
When the virtual-root was a single "/", it would be normalized to NULL due
to removal of trailing slashes, which in turn would fool us to belive that
we shouldn't generate virtual urls.
This makes the "/" normalize to "", effectively allowing virtual urls like
http://example.com/projectname to be generated without specifying the
full domain name as the virtual root.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* 'iconv-rebased' of http://x2a.org/pub/git/cgit:
Use utf8::reencode_string from git
Convert subject and message with iconv_msg.
Add iconv_msg function.
Set msg_encoding according to the header.
Add commit->msg_encoding, allocate msg dynamicly.
This is way more informative than the total number of changed lines.
Suggested-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
A simple submit-button is all that's required to make the branch selector
drop-down work on any client, so lets add one.
Noticed-by: Olivier Ramonat <olivier@ramonat.fr>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
The search form didn't properly honor the current path, so this commit
fixes cgit_fileurl() and add_hidden_formfields() to make the issue go
away.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This modifies and hopefully improves the layout of all cgit pages:
* Remove the header from all pages and replace it with a sidebar;
most pages have sufficient width but many needs more height.
* Add a dropdown-box to switch between branches, using a one-liner
javascript to reload the current page in context of the selected branch.
* Include refs found below refs/archives in the sidebar, appearing as a
set of menuitems below a 'download' heading.
* Include the brand new cgit logo
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This makes random tag links more helpfull, e.g. when a branch head references
a tag object, link to the tag page.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
The master branch of stable/linux-2.6.20 currently references a tag
object, which makes print_branch() die with a segfault. This teaches
print_branch() to handle such cases more gracefully.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This makes the log searching more explicit, using a dropdown box to specify
the commit field to match against.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
It's rather silly to point into random memory-locations. Also, remove a
call to strdup() used on a literal char *.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* filter-refs:
Add links to the new refs page from summary page
Add support for refs view
Make cgit_print_branches()/cgit_print_tags() external
Add descriptions of summary-branches and summary-tags to cgitrc
Add support for config param summary-branches
Move logic for age comparision from cmp_tag_age into cmp_age()
Add support for config param summary-tags
Sort tags by age
Use reflist to print tag info
Use reflist to print branch info
Add functions and types for ref lists
If either branches or tags are filtered on the summary page, add a link to
refs/heads and/or refs/tags right below the last branch/tag.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This enables the new urls $repo/refs, $repo/refs/heads and $repo/refs/tags,
which can be used to print _all_ branches and/or tags.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>