| Age | Commit message (Collapse) | Author | Lines |
|
cgit falls back to SCRIPT_NAME for virtual_root whenever cgitrc leaves
it out, so the ?url= and ?r= forms only ever reached an error page
raised while cgitrc was still being read. The page argument of
cgit_add_hidden_formfields fed only the url field, so it is unused
until its callers stop passing it.
|
|
|
|
|
|
For a url of .git, or an empty one, repo_basename stepped its index to
the byte before its buffer, read it, and would have cleared it had it
held a slash. Git's strbuf trims take the same steps safely, and they
lift the 1024-byte cap that failed the page for a longer url.
|
|
|
|
|
|
The snapshots parser already answers all with INT_MAX, so cgit.c
needed no value of its own for the same mask.
|
|
|
|
build_snapshot_setting always returns a buffer, both commit-sort values
are tested on their own, authenticate_post ends the process, and the
filters are cleaned up by the atexit handler once cmd_main returns.
|
|
|
|
|
|
Every call converted into the page encoding and dropped what came back,
and a commit's encoding is always set by the time it runs.
|
|
It opens the repository and loads its notes, while
cgit_prepare_repo_env exports the CGIT_REPO_ variables, and the two
names were one prefix apart.
|
|
|
|
|
|
The description and cgitrc readers already return when the file will
not open, a repository's description is never NULL before it is read,
and the owner lookup never went round a second time.
|
|
|
|
|
|
|
|
A filter is only closed after an open has forked it, so its pid is a
child's, and every open writes its arguments into argv afresh.
|
|
|
|
|
|
The cache root always holds a default or a copy, the key comes from a
strbuf, and every string hashed is the same or a macro expansion.
|
|
Three callers wrote out the same choice, and the header already says a
scan visits only the listed paths when a project list is set.
|
|
--repo= only stored the name, so it never selected a repository, and
--query= already reaches what the other four set, with the offset
clamped the way a request's is.
|
|
A two entry table and a prefix measured by hand did what two prefix
tests do. A drive letter and an unknown prefix are read as before.
|
|
|
|
prepare_context zeroes the whole context first, and the repository list
is a global, so neither needs its zeros written out again.
|
|
substr was xmemdupz with a branch for an end before the start, and
both callers find the end by searching forward from the start.
|
|
The table already records what each page needs, and a second list of
page names in cgit.c had to be kept in step with it by hand.
|
|
|
|
The script name always holds a value, so the fallback after parsing
fired whenever cgitrc left virtual-root unset. The root is now set with
the other defaults, for cgitrc to replace. A die while cgitrc is read
is the one change, and its page now links the root with the trailing
slash every other page has. The environment's copy of the script name
only fed this.
|
|
The page guessed from the two settings cgit_add_clone_urls reads, so a
clone-url that expanded to nothing, or an empty one turning the global
off, still drew a Clone heading over no rows. The summary already waits
for a first url, and both now draw the heading the same way.
|
|
|
|
|
|
A ref whose object git cannot parse never joins the list, and a commit's
info is allocated even when its buffer cannot be read.
|
|
parse_object only hands back a tag it has parsed, and an ident is split
into a name and an address together or not at all, so a tagger always
has an address, if only <>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|