| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The virtual root is set from SCRIPT_NAME before cgitrc is read, so it
always holds a value and the ?url= and ?r= forms were never reached. 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 other string hashed comes from 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 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 <>.
|
|
|