Commit graph

116 commits

Author SHA1 Message Date
Hiltjo Posthuma
edee68f398 add OpenBSD unveil support
The unveil() system call first appeared in OpenBSD 6.4.

For stagit it has the following properties now:

- stagit-index: only read-access to the file-system for the specified
  directories/repositories.
- stagit: read-access to the specified directory/repository.
  read-write and creation access to the current directory for the output files.
  read-write and creation access to the specified cache file.
2019-12-01 18:31:07 +01:00
Hiltjo Posthuma
028c7526ba escape HTML in paths
- escape paths in diff line.
- escape path in anchor href attribute in files.html
2019-03-16 13:07:58 +01:00
Hiltjo Posthuma
bb1d06eb20 pedantic snprintf() improvement
POSIX says:
"If an output error was encountered, these functions shall return a negative
value and set errno to indicate the error."
2019-03-09 12:39:10 +01:00
Hiltjo Posthuma
3fbef5c9b0 change order of commits in log from most recent to old to applied order 2019-02-16 21:17:45 +01:00
Hiltjo Posthuma
583c44395c fix compile: libgit2 0.28 changed giterr_last to git_error_last
libgit2 commit:
a27a4de6f8
2019-02-16 21:17:38 +01:00
Hiltjo Posthuma
3a151527e1 in the diffstat prefix the type of change, allow CSS styling 2018-11-18 18:08:20 +01:00
Hiltjo Posthuma
608593b0f8 don't use a heuristic for renames, the content must match exactly
this prevents showing files as renames when most (but not all) of the file was
changed.
2018-11-18 18:07:22 +01:00
Hiltjo Posthuma
c100c3cc30 detect filetype changes in diff (for example a normal file to symlink) 2018-11-18 18:06:41 +01:00
Hiltjo Posthuma
84bb2212e8 detect more names for README and LICENSE
- for license: LICENSE, LICENSE.md, COPYING.
- for readme: README, README.md.
2018-11-11 19:12:55 +01:00
Hiltjo Posthuma
8c45dfc58e detect copies and renames based on the threshold of changes 2018-11-11 18:54:40 +01:00
Hiltjo Posthuma
175094899d simplify range check 2018-08-22 18:30:00 +02:00
Hiltjo Posthuma
1f76a28422 stagit: log: indicate when using the -l option and there are more commits 2018-08-22 18:30:00 +02:00
Hiltjo Posthuma
187daac420 assume OpenBSD 5.9+, always try pledge(2) on OpenBSD 2018-05-25 18:43:36 +02:00
Quentin Rameau
c7f158c58c Clarify usage regarding -c and -l mutual exclusion 2018-05-09 18:57:31 +02:00
Hiltjo Posthuma
3c07e52f98 pledge after git_libgit2_init
this is because libgit uses curl which uses some initialization
checks, namely an IPv6 check which creates a socket.
2018-03-26 20:08:19 +02:00
Hiltjo Posthuma
f53f481b3f optimization: only diff the tree when it is needed for the diffstat...
... also clear all fields in the structure on failure.

This is not as big an optimization as stagit-gopher, because the diffstat is
displayed in the log, but the difference is still measurable.
2018-03-18 15:34:37 +01:00
Hiltjo Posthuma
31392c13cf stagit: add -l option: limit the amount of commits for the log.html file 2018-01-21 16:47:10 +01:00
Hiltjo Posthuma
2ff0c0d6c0 fix: add "fattr" pledge for chmod(2) for cachefile
improve checks for when head is NULL (empty repo)
2017-11-19 14:52:04 +01:00
Hiltjo Posthuma
26bd89f681 fix file permissions for cachefile and respect umask(2) 2017-11-10 20:55:20 +01:00
Hiltjo Posthuma
1bab6952c6 more verbose errors: show which file failed on open 2017-11-10 20:53:46 +01:00
Hiltjo Posthuma
d7e003a519 allow umask to handle permissions 2017-09-04 18:14:52 +02:00
Hiltjo Posthuma
f843248215 separate getstats from getbyoid: slightly faster 2017-06-23 13:53:46 +02:00
Hiltjo Posthuma
54a8a7c153 for the commit Date: header use the git format-patch format 2017-05-07 13:12:43 +02:00
Hiltjo Posthuma
7cb669f74f dont truncate summary length anymore
make sure not partial (invalid) utf-8 sequences are written. The old logic
truncated by bytelen was wrong. It is too complex to implement it in a
correct way with git: it is not assured a commit message is UTF-8 encoded.

remove showlinecount and summarylen variables.
2017-05-07 12:06:45 +02:00
Hiltjo Posthuma
8fa0effa98 improve commitinfo_getstats
- reorder: unnecessary allocation when git_patch_from_diff fails.
- no need to free patch object when git_patch_from_diff fails.
2017-05-07 12:05:47 +02:00
Hiltjo Posthuma
e9e7978381 align line numbers to 8 spaces
... now it is done.
2017-04-17 16:39:03 +02:00
Hiltjo Posthuma
8e4eb29210 writeblobhtml: minor style fix
using len instead of the loop 'i' is slightly more clear
2017-04-17 16:16:33 +02:00
Hiltjo Posthuma
394d90b7bb stagit: fix rendering of first TAB in file
else TABs wont render properly (interpreted as part of HTML whitespace)
at the first TAB of the line.
2017-04-17 13:39:05 +02:00
Hiltjo Posthuma
f9e7dc8070 writeblobhtml: fix possible uninitialized variable n when len == 0
... whoops
2017-04-16 20:59:23 +02:00
Hiltjo Posthuma
44b20f3414 writeblobhtml: improve file view for text-browsers
browsers such as lynx and w3m have some quirks displaying tables and pre
elements.

links is a bit better with this.
2017-04-16 20:37:42 +02:00
Hiltjo Posthuma
980fa8ea9b text-browser improvements
for links, lynx, w3m, dil[dl]o etc:

- set oldschool align attribute.
- apply bold markup to table header.
2017-04-16 20:36:17 +02:00
Hiltjo Posthuma
ab3fdd7043 browser compatibility: use numeric entity for '
' is a XHTML entity, browsers such as links, w3m, lynx and dillo
don't support it.
2017-04-15 12:56:29 +02:00
Hiltjo Posthuma
bba55b6bbc writeblobhtml, make fprintf format string const 2017-04-01 19:33:19 +02:00
Hiltjo Posthuma
1d91c79e3c fix potential leak, found by clang-analyzer 2017-03-12 21:30:43 +01:00
Hiltjo Posthuma
ae6461dc6f fix memory leak of commitinfo 2017-03-12 21:24:07 +01:00
Hiltjo Posthuma
543107cc36 atom.xml: add newline before EOF 2017-03-12 21:22:53 +01:00
Hiltjo Posthuma
0f05e4b4f0 fix memory leak of commitinfo->parent 2017-03-12 21:22:52 +01:00
Hiltjo Posthuma
7a515945dd fix memory leak of blob object 2017-03-12 21:22:52 +01:00
Hiltjo Posthuma
e862768a1f simplify/shorten pledge stub 2017-03-12 19:49:14 +01:00
Hiltjo Posthuma
6b48169fa5 reduce scope of repodir, remove unused branch parameter 2017-03-12 19:47:58 +01:00
Hiltjo Posthuma
92cee02f12 also remove language and text direction attribute from <html> 2016-11-09 18:28:46 +01:00
Hiltjo Posthuma
9e96062b62 remove Content-Language: en
thanks Aymeric Mansoux!
2016-11-09 17:49:38 +01:00
Hiltjo Posthuma
30116a4ef2 treat an empty repo (without a HEAD) as valid
and create the standard files. Disable caching if there is no HEAD.
2016-05-29 15:04:52 +02:00
Hiltjo Posthuma
837427b09e refs_cmp: simplify check, functionally the same 2016-05-21 18:37:53 +02:00
Hiltjo Posthuma
df3ea10eca check if LICENSE, README and .gitmodules is a file blob
don't link to directory trees, etc. Thanks 600360 for reporting it!
2016-05-08 20:37:37 +02:00
Hiltjo Posthuma
a7dd578de7 simplify, id is unused 2016-05-07 14:38:39 +02:00
Hiltjo Posthuma
f89c317dee simplify, no need for goto 2016-05-07 14:34:51 +02:00
Hiltjo Posthuma
2f8595e786 consistency for messages for special-case in diffstat 2016-05-07 14:34:45 +02:00
Hiltjo Posthuma
f63edd593d fix error in "code cleanup" commit 9328d2690e
... the loop was simplified, but forgot to remove p++ (double used) while
rebasing the change.
2016-05-07 13:52:42 +02:00
Hiltjo Posthuma
6e5e218b69 fix and simplify time offset 2016-05-06 12:01:57 +02:00