Commit Graph

1613 Commits (master)
 

Author SHA1 Message Date
Lars Hjemli 447025f62c Enable building with debuginfo
Add -g to CFLAGS when running make with DEBUG=1

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 23734c5a2b Extend repo summary with tag list
Show all tags in the repo below the branch list.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli a69061fdb7 Add function cgit_parse_tag()
Teach cgit how to extract author info from a tag.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 06c81d6faa Add some more decls from git (cache.h, tag.h)
This is in preparation for extended tag support in cgit

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 66091f934a Handle empty/malformed commit messages
An empty commit message would trigger a segfault in the current
cgit_parse_commit().

Also, make sure that all char-pointers are properly initialized.
18 years ago
Lars Hjemli 5cd2bf7e7f WIP: add paths/backlinks to tree/blobview 18 years ago
Lars Hjemli 2c2047ff67 Remove troublesome chars from cachefile names
Add a funtion cache_safe_filename() which replaces possibly bad filename
characters with '_'.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 83a5f35a27 Move cache_prepare() to cgit
This moves some cgit-specific stuff away from cache.c

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli f98e72684b Use long instead of int when converting from TTL to seconds
Just to be really, really sure about embarrasing overflow settings

Signed-off-by: Lars Hjemli <larsh@hal-2004.(none)>
18 years ago
Lars Hjemli a6a1112528 Use TTL-settings even in nocache mode
In nocace mode an uninitialized ttl-setting was used to generate http-Expires
header. Fix it.

Signed-off-by: Lars Hjemli <larsh@hal-2004.(none)>
18 years ago
Lars Hjemli 52e605caf5 Handle %xx encoding in querystring
Convert valid %xx expressions in querystring to ascii, ignore invalid
expressions (i.e. eat the three characters %xx).

Signed-off-by: Lars Hjemli <larsh@hal-2004.(none)>
18 years ago
Lars Hjemli 05b13194b4 Handle '+' in querystring
Translate '+' to ' ' in querystring parser (still doesn't handle %xx)

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 732d68d240 Add basic log filtering
This enables case-insensitive grep on logentris using the new search box

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli e39d738c39 Add generic support for search box in page header
This adds the ability to show a search box in any pageheader with correct href and
hidden form data, but does not enable the box on any pages.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 27cd3b2a70 Test for NULL-pointers in html_txt() and friends
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli c43f1246cb Minor style fixes
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 2efee09abe Add missing diff-link in ui-commit.c
Gaah.

This should have been a part of 36aba00273

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 9d8d9b6123 Only show first 80 characters of commit subject in log and summary
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 378cae6398 Add missing ttl-options in config
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 8e495b075d cgit 0.1
With a working diff, it really has all the basics.

Next steps will be to make it more usable and less ugly :)

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 40dea5254a Let make know that ui-diff.c depends on xdiff.h
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 36aba00273 Add basic diff view
Finally, xdiff is used to show per-file diffs via commit view.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli a53042865a Use html_filemode in ui-tree.c
No reason to show "100644" when we can show "-rw-r--r--"

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli fb6e5869dc Don't show new and old filemode for added/removed files
It gives us no extra info whatsoever to show "----------" for either new
or old mode, it's just noise (especially since we now show the "old"
filemode for deleted files)

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 6cb326c83b Show list of modified files in ui-commit.c
Compare current commit with 1.parent, and for each affected file display
current filemode, old filemode if changed, current filename and source
filename if it was a copy/rename.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 9c5229ea39 Reformat code to avoid excessive line lengths
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli aaa24bdd30 Add cgit_free_commitinfo() and use where needed
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli fa82b03e05 Simplify ui-commit.c
Replace the call to lookup_commit() with a call to lookup_commit_reference,
since it handles reading and parsing of the commit object internally.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 8960d267ed Show emails and timestamps in ui-commit.c
Use the extra info found in commitinfo struct when generating commit
view.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 77078ba716 Teach commit parser about author/committer email + timestamp
We want all four of these when showing a commit, so save them in the
commitinfo struct.

Btw: There's probably no good reason to save committer timestamp since
it's already available in commit->date. But it doesn't hurt us either,
and it makes the parser look more complete, so we just do it.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 7c849d94ec Allow relative paths for cgit_cache_root
Make sure we chdir(2) back to the original getcwd(2) when a page
has been generated. Also, if the cgit_cache_root do not exist,
try to create it.

This is a feature intended to ease testing/debugging.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 61245ad185 Add cache-root option to /cgit/rc
Somehow, this option was forgotten when parsing the configfile.

Add it.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 521dc7a4bf Add argument parsing + switch for uncached operation
This adds support for the following options to cgit:
  --root=<path>
  --cache=<path>
  --nocache
  --query=<querystring>
  --repo=<reponame>
  --page=<pagename>
  --head=<branchname>
  --sha1=<sha1>
  --ofs=<number>

On startup, /etc/cgitrc is parsed, followed by argument parsing and
finally querystring parsing.

If --nocache is specified (or set in /etc/gitrc), caching is disabled and
cgit instead generates pages to stdout.

The combined effect of these two changes makes testing/debugging a lot
less painfull.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli a1a79998f2 Add head comment to shared.c
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 6c14f5e457 Add head comment to ui-commit.c
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli f516218d0d gitweb ripoff: set tr:hover to highligt current row
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 0de2055b75 Make repo header a link to summary page
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 148fb9622c Move cgit_print_date into ui-shared, reuse in ui-summary
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 9a8f88658d Add ui-commit.c + misc ui cleanups
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 2101e26fd6 Add a common commit parser
Make a better commit parser, replacing the ugly one in ui-log.c

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 420712ac25 Add simple pager to log page
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli c45b8178d0 Add separate makefile-rule to clear current cache
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli dcef257d4f Remove implementation details from README
Let README describe the "bigger picture" instead.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 9c2e863ec2 Small layout adjustments to summary and blob view
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 06fe0c2f47 Add display of tree content w/ui-tree.c
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 58d04f6523 cache_lock: do xstrdup/free on lockfile
Since fmt() uses 8 alternating static buffers, and cache_lock might call
cache_create_dirs() multiple times, which in turn might call fmt() twice,
after four iterations lockfile would be overwritten by a cachedirectory
path.

In worst case, this could cause the cachedirectory to be unlinked and replaced
by a cachefile.

Fix: use xstrdup() on the result from fmt() before assigning to lockfile, and
call free(lockfile) before exit.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli fbaf1171b4 Don't truncate valid cachefiles
An embarrassing thinko in cgit_check_cache() would truncate valid cachefiles
in the following situation:
  1) process A notices a missing/expired cachefile
  2) process B gets scheduled, locks, fills and unlocks the cachefile
  3) process A gets scheduled, locks the cachefile, notices that the cachefile
     now exist/is not expired anymore, and continues to overwrite it with an
     empty lockfile.

Thanks to Linus for noticing (again).

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli 44923f8953 Move global variables + callback functions into shared.c
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli df63119302 Move functions for generic object output into ui-view.c
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago
Lars Hjemli d14c5f6d3a Move log-functions into ui-log.c
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
18 years ago